Point::class, 'geofence' => \MatanYadaev\EloquentSpatial\Objects\Polygon::class, 'operating_hours' => 'array', 'accepted_waste_types' => 'array', 'capacity_kg' => 'integer', ]; } public function getRouteKeyName(): string { return 'uuid'; } protected static function booted(): void { static::creating(function (self $dop): void { if (empty($dop->uuid)) { $dop->uuid = (string) Str::uuid(); } }); } public function barangay(): BelongsTo { return $this->belongsTo(Barangay::class); } public function capacityLogs(): HasMany { return $this->hasMany(DropOffCapacityLog::class); } public function households(): HasMany { return $this->hasMany(Household::class, 'assigned_drop_off_point_id'); } }