*/ use HasFactory; protected $fillable = [ 'user_id', 'workflow_id', 'status', 'reason_summary', 'event_type', 'general_type', 'needs_accommodation', 'needs_car_hire', 'vehicle_policy_acknowledged', 'business_days', 'private_days', 'additional_notes', 'submitted_at', ]; protected function casts(): array { return [ 'status' => TravelStatus::class, 'event_type' => EventType::class, 'general_type' => GeneralType::class, 'needs_accommodation' => 'boolean', 'needs_car_hire' => 'boolean', 'vehicle_policy_acknowledged' => 'boolean', 'submitted_at' => 'datetime', ]; } public function user(): BelongsTo { return $this->belongsTo(User::class); } public function workflow(): BelongsTo { return $this->belongsTo(ApprovalWorkflow::class, 'workflow_id'); } public function journeys(): HasMany { return $this->hasMany(TravelJourney::class); } public function costCodes(): HasMany { return $this->hasMany(TravelCostCode::class); } public function approvals(): HasMany { return $this->hasMany(TravelRequestApproval::class); } }