# Working hours, breaks and closures

> How opening hours, each person's own hours and time off combine to decide when customers can book — including split shifts and days that run past midnight.

_Last verified: 2026-09-10. Source: https://bookodile.com/docs/working-hours_

Bookodile never asks "when are you open?" just once. Availability is an
**intersection**: the business's hours, the specific person's hours, and
anything blocking the calendar all have to agree before a time is offered.

Understanding that one idea explains most availability surprises.

## The layers

| Layer | Where you set it | Effect |
|---|---|---|
| Business hours | Settings → Working hours | The outer bound. Nothing is bookable outside it. |
| Each person's hours | That team member's own hours | Narrows the business hours further, never widens them |
| Time off | Calendar | Removes specific dates |
| Calendar blocks | Calendar | Removes specific stretches of a day — once, or repeating |

A person cannot be booked outside business hours even if their own hours say
otherwise. The narrower of the two always wins.

## Split shifts are supported directly

A day can hold **up to four separate ranges**. A genuine split shift —
09:00–12:00 and 15:00–19:00 — is expressed as two ranges on the same day, not
faked with a calendar block.

This matters because a block and a closed period behave differently elsewhere:
a block is a thing on your calendar, a closed period is simply not open. For a
lunch break that is simply part of someone's day, every day, two ranges is the
simplest answer. A [repeating block](#repeating-blocks) suits a break you will
want to move on the odd day, one that ends on a date, or one you want to see
on the calendar.

## Days that run to midnight, and past it

A day can be marked as full-day, which makes it open for the whole 24 hours.
This is what venues and rentals use.

For anything that runs past midnight, bookings are not designed to cross the
day boundary unless the service is a full-day one. A late-night service ending
at 01:00 needs the day it *starts* on to be open until at least 01:00 — so a
closing time of `24:00` is meaningful and a closing time of `01:00` on the same
row is not.

## The whole appointment has to fit

A time is only offered if the entire service fits inside working hours, not just
its start.

Close at 17:00 and offer a 90-minute service, and the last bookable start is
15:30. Customers frequently read the empty 16:00 slot as a bug. It is the
service not fitting.

Buffer time is the exception: it is allowed to run past closing. A 30-minute
service at a shop closing at 17:00 can start at 16:30, and its 15-minute buffer
simply extends past close — it blocks nothing, because there is nothing after
it. Only the service itself has to fit.

## Changing hours does not move existing bookings

Narrowing your hours has no effect on bookings already in the calendar. They
stay exactly where they are — you will simply see them sitting outside the
shaded open period.

That is deliberate. Silently cancelling or moving a customer's appointment
because someone edited a settings page would be worse than showing you the
conflict. If a booking now falls outside your hours, move or cancel it yourself
so the customer is told.

## Worked example

A studio open Monday to Friday 09:00–18:00. One instructor works Monday,
Wednesday and Friday, 10:00–14:00.

- Tuesday: the studio is open, the instructor is not rostered. Their booking
  page says so by name rather than showing an empty week.
- Monday 09:30: the studio is open, the instructor is not. Not offered.
- Monday 13:30 for a 60-minute class: the instructor's day ends at 14:00, so the
  class does not fit. Not offered.
- Monday 13:00 for a 60-minute class: fits exactly. Offered.

## Repeating blocks

A block can repeat — lunch every weekday, an afternoon off every other week, a
stock-take on the same date each month. In the calendar, start a new booking
(or tap an empty time) and switch to **Blocker**, or open a block you already
have. Turn on **Repeat** and choose:

- **Every day**, **every week**, **every 2 weeks** or **every month**. A weekly
  block repeats on the days you tick — Monday to Friday is one block, not
  five. A monthly one falls on the same date each month, and a month without
  that date (the 31st) is skipped.
- **Ends**: never, or on a last day you pick.

The form shows the next few dates it will block before you save.

The time is the business's own clock: a 12:00–13:00 lunch stays at 12:00 on
either side of a clock change. Each repeat is an ordinary block on the
calendar, so the booking page leaves it out exactly as it does a single one.

Anyone can repeat a block for **their own** time. Repeating one for the whole
business, a resource or a colleague needs permission to manage bookings — the
same as blocking their time once.

Opening one repeat asks how far a change should reach: **only this one** (today
the lunch moves to 13:00) or **this and the following ones**. A change to how
it repeats — the days, how often, the end — always applies from that day on,
and the earlier ones stay as they were. Deleting asks the same question; from
the first repeat, "this and the following ones" removes the whole block.

Two examples. A barber who takes lunch from 12:00 to 13:00 on weekdays sets one
block, every week, Monday to Friday, ending never. A physiotherapist who does
paperwork every other Friday afternoon sets one block every 2 weeks on Friday,
ending on the last day of term.

## Limits

- **Four ranges per day** is the maximum.
- **A person's hours can only narrow the business's**, never extend them.
- **Time off and blocks look identical to a customer.** Both simply mean no
  times — the booking page never says which, and never says "fully booked",
  because from outside those are indistinguishable.
- **A repeating block must be shorter than a week** — longer, and it would
  run into its own next repeat.
- **Changing how a block repeats never rewrites the past.** Earlier repeats
  stay as they were; only that day and the ones after change.
- **Bookings already in a repeated time stay where they are**, as with a single
  block: the form warns about the first one, and nothing is moved or cancelled.
- **Each branch has its own hours.** A second location does not inherit changes
  made to the first after it was created.
