Set your opening hours
Weekly hours, and the holiday and seasonal overrides that beat them.
Opening hours are set per branch, not per business. Each location has its own weekly pattern plus any number of dated exceptions — bank holidays, a training afternoon, summer hours. The weekly pattern is the everyday rule; the exceptions beat it on the dates they cover.
Where opening hours live
Go to Booked, open the Business group, choose Locations and click the branch. The Times tab holds two stacked sections: Opening hours for the normal week, and Special days for the exceptions.
A newly created branch has no hours at all — closed every day, no bookable times anywhere. Nothing flags this, so the Times tab is the first thing to fill in after adding a location.
Locations
Add more than one interval for a lunchtime close (e.g. 09:00–13:00 and 14:00–18:00).
The Times tab of a branch, with a lunchtime close on Wednesday.
- 1Save location — the whole editor is one form. Hours, special days and both assignment lists are written by this one button. Switching tabs saves nothing; Cancel discards everything.
- 2Times — holds Opening hours and Special days. Each branch has its own set.
- 3A second interval — Wednesday opens 09:00–13:00, then reopens 14:00–18:00. An appointment must fit inside one interval, so nothing books across the gap.
- 4+ Add interval and Apply to all days — this pair sits under each switched-on day's own times, not once for the week, so Apply to all days copies whichever day you click it on. Drawn here as one row to save space.
- 5Closed — the toggle is off. No times that weekday unless a special day says otherwise.
Setting the weekly pattern
Switching a day on gives it one interval of 09:00–17:00, which you then change. + Add interval adds a second window at 14:00–18:00 for a lunchtime close; once a day has two, a bin icon appears on each. The week always starts on Monday.
Apply to all days is blunt: it copies that day's intervals onto all seven, Saturday and Sunday included, overwriting what was there. Use it first, then correct the weekend — not the other way round.
Switch a day off and back on and it resets to a single 09:00–17:00 window — a split shift is not remembered. To close a day temporarily, use a special day.
- The end time must be later than the start. An interval like 18:00–09:00 saves and still shows in the editor, but the engine ignores it — the day looks open in the admin and offers customers nothing.
- Overnight opening cannot be expressed. A 22:00–02:00 shift vanishes for the same reason. Split it into 22:00–23:59 and 00:00–02:00 the next day.
Times are read in your website's timezone, the one set in the WordPress admin under Settings › General. The Timezone box at Booked › Settings › Region & currency is stored but never moves anyone's hours — set both to the same zone.
Special days: holidays, closures and seasonal hours
+ Add special day gives a row dated today to today and set to Closed. Change the dates to cover the period you mean — a single-day closure has the same date at both ends — then pick Closed or Custom hours.
Custom hours opens a Monday–Sunday grid that applies only inside that range. Every day starts switched off, so a custom-hours period saved without turning days on behaves exactly like a closure. The Note (optional) box is for your team; customers never see it.
Closures or different hours for specific dates (e.g. a training day) — these override the weekly hours above.
Set the hours for each day during this period. Leave a day off to close it.
Two special days: a Christmas closure, then a shorter week before New Year.
- 1The date range — from and to. Same date at both ends for a single-day closure such as a bank holiday.
- 2Closed or Custom hours — Closed means no times across the range; Custom hours swaps in a different pattern.
- 3Note (optional) — a label for your reference, up to 255 characters. Customers never see it.
- 4The custom-hours grid — the full Monday–Sunday week, matched by weekday inside the range. 29–31 December 2026 fall on Tuesday, Wednesday and Thursday, so those three rows are the ones that do any work; the days left off would be closed if the range reached them.
- 5+ Add special day — adds another row, dated today to today and Closed until you change it.
A special day replaces the weekly hours for the dates it covers — never merged. With Custom hours you must re-enter every day you want open, including ones normally open anyway.
Where two ranges overlap, the earlier-starting one wins and the other is ignored without a word — keep ranges end to end, as below. A range ending before it starts matches nothing.
Worked examples
| What you want | How to set it |
|---|---|
| A bank holiday | 31 Aug 2026 → 31 Aug 2026, Closed, note "August bank holiday". |
| Christmas and New Year | 25 Dec → 28 Dec on Closed, then 29 Dec → 31 Dec on Custom hours at 10:00–15:00 — two ranges that run end to end and never overlap. |
| Summer hours | 1 Jul → 31 Aug on Custom hours: Monday–Friday 08:00–19:00, Saturday 09:00–13:00, Sunday off. The normal week resumes on 1 September. |
| A training afternoon | A single-date range on Custom hours with only that weekday on, 09:00–13:00. |
Special days do not repeat annually, so next year's bank holidays must be entered again. Put a whole year in at once while you are here.
How opening hours meet staff hours
Opening hours are the outer boundary. Inside them, each member of staff has their own Working hours under Employees › Times. A time is bookable only where the branch is open and the person is working — the overlap, not the sum. (Video consultations are the exception: they have no branch, so a video service ignores opening hours and uses the staff member's own hours alone.)
Branch hours and staff hours are combined by overlap, not added together.
- 1Branch opening hours — 09:00 to 17:30 on this weekday.
- 2Staff working hours — Priya works 08:00 to 16:00. Her early hour and the branch's late hour and a half are both unusable.
- 3What customers can book — 09:00 to 16:00, the overlap. Where the two never overlap, that person produces nothing even though both records look open.
- 4The last usable start — the whole appointment must finish inside the window, so a 30-minute service ends its day at 15:30. Start times are offered every 15 minutes here, the default Time slot interval at Booked › Settings › Booking rules. A Buffer after (min) on the service pulls the last start earlier still.
Staff holidays are separate from branch closures. They sit on the employee's own Times tab under Time off & special days, where the closed option reads Off (time off). Booking a person off removes only that person — colleagues still show times. Close the location when nobody is in.
Plan around one limit: each person has a single weekly pattern covering every branch they work at. Someone doing Mondays at one shop and Tuesdays at another is open both days at both, narrowed only by each branch's hours. Where that matters, give them a record per branch.
When no times are showing
Customers see "No times available on this day. Please try another date." with no explanation. Work down this list at the branch first:
- The branch has no hours at all. Much the most common cause — a location added by hand starts closed.
- An interval is back to front. An end time not later than its start is ignored, so the day reads open but yields nothing.
- A special day covers the date. Look for a Closed range, or a Custom hours range with every day left off.
- Two special days overlap. Only the earlier-starting one takes effect; the other quietly does nothing.
- Staff hours sit outside opening hours. No overlap on that weekday means no slots.
- The links are missing. The service must be offered at the branch, the person must work there, perform it, and be Active. Miss one and the branch or service vanishes from the form silently.
The Dashboard checklist ticks "Locations & opening hours" as soon as one branch exists. It counts records, not whether the hours were filled in. Open the Times tab and look.