How Booking Schedule Availability Is Calculated
Source: workshop-public-booking-api-gateway/routes/publicBookingScheduleHandler.js
- Two modes: Manual schedule hours vs Calculated from mechanic schedules
- Manual mode: hard cap at configured hours per day
- Calculated mode: percentage-based fullness (e.g., 80% of total mechanic hours)
- If no mechanics have schedules configured, day shows as unavailable (0 hours)
- Holidays block entire day — set via unavailable_times
- Default booking duration is 1 hour if no appointment type specified
Support scenarios
- "Why is Tuesday showing as unavailable?" → no mechanic schedules for that day, or holiday set
- "Customer says slots are full but we have capacity" → percentage cap reached before hard cap