|string> */ public function rules(): array { return [ 'travel_type_id' => [ 'required', 'exists:travel_types,id' ], 'title' => [ 'required', 'string', 'max:200' ], 'slug' => ['required', 'string', 'max:200', 'regex:/^[a-z0-9-]+$/', 'unique:tours,slug,' . $this->tour ], 'description' => [ 'required', 'string' ], 'duration' => [ 'required', 'string', 'max:50' ], 'start_date' => [ 'required', 'date' ], 'end_date' => [ 'required', 'date', 'after_or_equal:start_date' ], 'price' => [ 'required', 'numeric', 'min:0' ], 'capacity' => [ 'required', 'integer', 'min:0'], 'images' => [ 'required', 'array' ], 'images.*' => [ 'image', 'mimes:jpeg,png,jpg,webp', 'max:2048' ], 'status' => [ 'nullable', 'in:0,1' ], ]; } }