Settings → Business hours is the global answer to "when is your shop open?" It feeds three separate systems: smart-slot booking uses it to know what hours are bookable, the daily digest email uses it to pick a delivery time outside your busy window, and quiet-hour enforcement reads it to downgrade after-hours alerts from SMS to email-only. You set it once; everything else reads it.
The Receptionist page (voice / Front Office tier) has its own on/off toggle for call answering. Business hours is the scheduling backbone that works for every tier — even if you don't have the AI receptionist, smart-slot scheduling needs to know when your techs are available.
The 4 modes
| Always answer | Receptionist is live 24/7. For scheduling, all hours are in-scope for booking. |
| After-hours only | Receptionist only takes over when you're off the clock. You answer business-hours calls yourself. Smart-slot still books during your open hours. |
| Custom schedule | You define per-day windows. Receptionist follows exactly; smart-slot only proposes slots inside those windows. |
| Off | Receptionist disabled — every call rings your cell directly. Smart-slot still runs but has no hours constraint to enforce. |
Click any mode card on the page to apply it. There's no Save button — changes apply on a 600ms debounce and a small "Saved" indicator confirms persistence. If you see "Saving…" for more than a few seconds, check your connection.
Custom schedule editor
When you pick "Custom schedule", a weekly grid appears with a row for each day. Each day has a checkbox (enabled/closed) and two 24-hour number inputs (start hour → end hour). For example: Mon–Fri 8 → 17 means 8 AM to 5 PM; Saturday 9 → 13 means 9 AM to 1 PM; Sunday unchecked means closed.
- Hours are in your workspace timezone (shown next to the grid header). Set your timezone in Settings → General before editing here.
- Fractional hours aren't supported — whole hours only. If you typically stop at 4:30pm, set 16 (4pm) to leave a buffer.
- A day set to [0, 0] or unchecked is treated as closed for scheduling purposes.
Where these hours get used
| Smart-slot booking | Candidate slots are only surfaced if they fall inside your business hours. This is the fallback when a tech has no per-day override set on /portal/team/scheduling. |
| Daily digest | The daily digest email is delivered outside your peak operating window — at the end of your last open day-slot — so it doesn't arrive mid-rush. |
| Quiet-hour enforcement | Settings → Notifications lets you set a quiet window. The enforcement gate reads your schedule: escalation SMSs are suppressed when you're outside your stated open hours AND inside the quiet window. |
Per-tech schedules (Workforce → Working hours on /portal/team/scheduling) win when set. Business hours here is the fallback for any tech whose per-day schedule is blank. The page footer links directly to /portal/team/scheduling so you can configure both in one session.
Common setup patterns
- Standard contractor: Mon-Fri 8-17, Saturday 9-13. "Custom schedule" mode with those exact windows.
- 24/7 emergency service: "Always answer" mode. Smart-slot can book any time; receptionist never sleeps.
- Vacation or slow period: Flip to "Off" temporarily. Calls ring your cell; you return to "Always answer" when you're back.
- Owner handles days, receptionist handles nights: "After-hours only" mode with Custom schedule showing your personal business hours — receptionist takes over outside that window.
If you pick "Custom schedule" but leave all days unchecked, or haven't set any schedule yet, smart-slot surfaces a "no business hours" diagnostic on the empty-state screen in the appointment composer. The fix is to come back here and add at least one open day.