'date', 'requested_at' => 'datetime', 'status' => AppointmentStatusEnum::class, 'auto_approved' => 'boolean', 'service_price' => 'decimal:2', 'guide_issued_at' => 'datetime', 'guide_valid_until' => 'date', ]; } public function isForDependent(): bool { return $this->user_dependent_id !== null; } public function user(): BelongsTo { return $this->belongsTo(User::class); } public function userDependent(): BelongsTo { return $this->belongsTo(UserDependent::class)->withTrashed(); } public function guideIssuedByUser(): BelongsTo { return $this->belongsTo(User::class, 'guide_issued_by_user_id'); } public function approvedByUser(): BelongsTo { return $this->belongsTo(User::class, 'approved_by_user_id'); } public function partnerAgreement(): BelongsTo { return $this->belongsTo(PartnerAgreement::class)->withTrashed(); } public function partnerAgreementService(): BelongsTo { return $this->belongsTo(PartnerAgreementService::class)->withTrashed(); } }