Booking settings wiring audit

📄 General
← Back to Documentation
# Booking settings wiring audit The Company Admin Booking tab is persisted through `SettingsHelper` in the `booking` group and rendered from `config/company-settings-form.php`. ## Wired and active - `allowed_lead_time`, `allow_same_day_booking`, `working_days`, `working_hours_start`, `working_hours_end`, and `timezone` are enforced by `CompanyBookingPolicy` for public booking creation. - `max_bookings_per_user` is enforced by the same policy. - `auto_confirm_bookings` controls the initial booking status in `BookingController`. - Deposit percentage is consumed by booking payment setup where the legacy reservation setting namespace is used. - Working hours now also drive `ReservationService` defaults instead of hard-coded 09:00–18:30 values. ## Persisted but not fully consumed - `default_booking_duration` is saved but booking creation paths do not consistently calculate an end time from it. - `min_bookings_per_user` has no meaningful runtime enforcement (a minimum count cannot be enforced at creation). - `booking_approval_workflow` is saved, but only the automatic/pending behavior is currently represented by `auto_confirm_bookings`; manual and conditional workflows have no distinct process. - `terms_conditions_required` is saved but acceptance is not validated in booking creation. - `min_days_before_cancellation`, `max_days_before_cancellation`, and `deposit_refundable` are superseded by venue cancellation policy records and are not used by the active cancellation service. - `send_confirmation_email`, `send_reminder_email`, and `require_phone_verification` / `require_email_verification` are saved in the tab but notification and verification flows use the notification settings group or do not consult these booking keys. - `break_time_start` and `break_time_end` are not enforced by the company booking policy. Validation: PHP syntax checks passed for the changed service and controller.