Working hours
Set per-dentist or per-location schedules and block off non-working time.
Overview
Working hours tell the booking form when slots are available. Set per dentist (some work Mon-Fri, others Tue-Sat) or per location (different sites may open different hours).
Prerequisites
- Owner or Admin role
- A clear schedule for each dentist/location
Steps
Open Working Hours. Settings → Working Hours (also reachable via Availability).
Pick the entity. Dentist (specific user) or Location (whole site). Switcher at the top.
Set Monday's hours. Open and close times. Optional lunch break — split into two segments (9-13, 14-18).
Repeat for each weekday. Tue, Wed, Thu, Fri, Sat, Sun. Use Copy from Monday to duplicate.
Save. Future bookings respect these hours; existing bookings outside hours are unchanged but flagged.
Block off holidays / vacations. Switch to Time blocks tab → + New block. Date range, reason. Booking form blocks slots within.
Recurring blocks. Tick "Recurring" and pick frequency — every Tuesday afternoon for surgery days, last Friday of each month for staff training.
Test a booking attempt. Try to book outside hours — form should block with an error.
Expected outcome
- Booking form respects working hours and time blocks
- Patient public-booking widget also respects them
- Reports correctly distinguish working vs blocked time
Troubleshooting
| Symptom | Likely cause | Fix |
|---|---|---|
| Existing appointment shown outside new hours | Existing bookings preserved | Reschedule individually or accept |
| Booking allowed despite blocked time | Block created after the booking | Move the existing booking |
| Hours don't apply to walk-ins | Walk-ins bypass hours intentionally | Working as designed |
| Conflict between dentist and location hours | Dentist hours win | Dentist override is per-user |
| Want different schedule per week | Recurring patterns required | Set the most common; manually block exceptions |