['required', 'string', 'max:50'], 'discount_type' => ['required', 'in:percent,fixed'], 'discount_value' => ['required', 'numeric', 'min:0'], 'max_uses' => ['nullable', 'integer', 'min:0'], 'valid_from' => ['nullable', 'date_format:Y-m-d'], 'valid_until' => ['nullable', 'date_format:Y-m-d', 'after_or_equal:valid_from'], 'is_active' => ['nullable', 'boolean'], 'description' => ['nullable', 'string'], 'school_year' => ['nullable', 'string'], 'semester' => ['nullable', 'string'], ]; } }