|string> */ public function rules(): array { return [ 'title' => [ 'required', 'string', 'max:255', ], 'summary' => [ 'required', 'string', ], 'descriptions' => [ 'required', 'string', ], 'origin' => [ 'required', 'string', 'max:255', ], 'destination' => [ 'required', 'string', 'max:255', ], 'duration' => [ 'required', 'integer', 'min:1', ], 'price' => [ 'required', 'numeric', 'min:0', ], 'status' => [ 'required', 'integer', Rule::in([ TourStatus::DISABLE->value, TourStatus::ENABLE->value, ]), ], 'image' => [ 'required', 'image', 'mimes:jpg,jpeg,png,webp', 'max:2048', ], 'start_date' => [ 'required', 'date', 'after_or_equal:today', ], 'end_date' => [ 'required', 'date', 'after_or_equal:start_date', ], 'tour_date_price' => [ 'required', 'numeric', 'min:0', ], 'capacity' => [ 'required', 'integer', 'min:1', ], 'tour_date_status' => [ 'required', 'integer', Rule::in([ TourDateStatus::DISABLE->value, TourDateStatus::ENABLE->value, ]), ], ]; } }