'float', 'contract_start' => 'date', 'contract_end' => 'date', 'status' => PartnerAgreementStatusEnum::class, ]; } public function category(): BelongsTo { return $this->belongsTo(Category::class); } public function city(): BelongsTo { return $this->belongsTo(City::class); } public function state(): BelongsTo { return $this->belongsTo(State::class); } public function services(): HasMany { return $this->hasMany(PartnerAgreementService::class); } public function appointments(): HasMany { return $this->hasMany(Appointment::class); } public function logo(): HasOne { return $this->hasOne(Media::class, 'source_id')->where('source', 'partner_agreement_logo'); } public function media(): HasMany { return $this->hasMany(Media::class, 'source_id')->where('source', 'partner_agreement'); } }