route('route')?->id; return [ 'name' => ['sometimes', 'required', 'string', 'max:191'], 'code' => [ 'sometimes', 'required', 'string', 'max:32', Rule::unique('routes', 'code')->whereNull('deleted_at')->ignore($id), ], 'area_id' => ['sometimes', 'nullable', 'integer', 'exists:service_areas,id'], 'default_dumpsite_id' => ['sometimes', 'nullable', 'integer', 'exists:dumpsites,id'], 'default_team_id' => ['sometimes', 'nullable', 'integer'], 'status' => ['sometimes', Rule::in([Route::STATUS_ACTIVE, Route::STATUS_INACTIVE])], 'notes' => ['sometimes', 'nullable', 'string', 'max:1000'], 'stops' => ['sometimes', 'array', 'min:1'], 'stops.*.drop_off_point_id' => ['required_with:stops', 'integer', 'exists:drop_off_points,id'], 'stops.*.estimated_duration_minutes' => ['nullable', 'integer', 'min:1', 'max:240'], ]; } }