# Every booking rule and booking-page setting

> The seventeen booking rules — notice, how far ahead, slot spacing, approval, cancellation windows, what customers must enter, consent, reminders and search listing — and the settings page each is on. What each changes, what happens when it is left alone, and which are enforced only on the booking page.

_Last verified: 2026-09-10. Source: https://bookodile.com/docs/reference-booking-rules_

These are the rules that decide whether a time is offered and whether a booking
is accepted. They apply to the whole business rather than per service or per
person, and there are seventeen of them. Most live at **Settings → Booking
settings**; three sit where they are used — search listing on **Settings →
Website & booking page**, reminders on **Settings → Customer notifications**, and your
confirmation email text on **Settings → Email Templates**. Each is saved on its
own, so changing one page never puts back a setting someone changed on another.

One thing worth knowing before the list. Most of these are enforced twice —
once on your booking page, and again when the booking is submitted — so they
hold however the booking arrives. **Three are enforced on the booking page
only**, and they are called out where they appear: slot spacing, billing
details, and requiring a state or province.

## When customers may book

### Minimum notice

`min_notice_hours`, in hours, default 2. A time closer than this is not
offered and is refused if submitted.

Set it to 24 and today disappears from your page. Set it to 0 and someone can
book the next slot; the past is still refused.

> **Worked example.** A barbershop sets 2 hours, so nobody books a cut that
> starts while the barber is mid-cut on someone else. A mobile physiotherapist
> who travels between visits sets 24, because tomorrow's route has to be
> planned tonight.

A day whose times have all fallen past the cutoff shows as having no times
rather than as closed — your page never tells a customer you are shut when you
are simply booked up or too late.

### How far ahead

`max_advance_days`, in days, default 60. Days beyond it are greyed out on your
booking page and refused if submitted.

Careful with this one: clearing the box saves a zero rather than "no limit",
and a zero makes your page effectively unbookable. If you want a long horizon,
type a large number.

A running promotion can *shorten* this horizon for the services it features,
never extend it.

### Slot spacing

`slot_duration`, in minutes, default 15. It is the spacing between offered
start times, and it has nothing to do with how long a service takes. At 15
minutes a 30-minute service is offered at 09:00, 09:15, 09:30. At 30 minutes
you get tidier blocks and the customer gets less choice.

**Enforced on your booking page only.** A booking submitted directly at an
off-grid time is accepted as long as it clears your hours, notice and
conflicts. In practice this only matters if something other than your booking
page is creating bookings.

**In the booking dialog it is a suggestion.** The start times your team is
offered when making or moving a booking follow the same spacing, but anyone can
choose another time — any day, to the minute — and sees what it clashes with,
and confirms it, before saving.

Clearing the box saves a zero here too, which produces a broken grid. Type a
number.

## Whether you approve bookings

`auto_confirm`, default on. With it on, a booking arrives **confirmed**. With
it off, it arrives **pending** and nothing is agreed until someone on your team
accepts it.

**The customer is not told the booking is pending.** They receive the standard
confirmation email, and your booking page thanks them the same way either way.
The word "pending" appears only if they open the manage-booking link. So if you
turn approval on, tell customers in your confirmation text
(`email_footer`, below) that you will be in touch to confirm — otherwise they
will believe they have an appointment.

Turning it off is right when you need to check you can actually do the job. It
is wrong if nobody is watching the dashboard, because a pending booking is a
customer waiting.

Bookings your own team creates, waiting-list acceptances and event
registrations are always confirmed; this setting governs your booking page.

## Cancellation

### The window

`cancellation_hours`, in hours, default 24. Outside it, a customer can
**cancel or reschedule** themselves — from the link in their confirmation
email, or from **My Bookings** — and a cancelled slot frees immediately. Inside
it, both are replaced by a line saying online changes have closed, with your
phone number and email address.

It is one number for the whole business — not per service, not per person —
and the same number for cancelling and rescheduling. A customer's new time
must still meet your **minimum notice**, **how far ahead** and **slot
spacing**, exactly as a new booking on your page does; the server checks all
three for a reschedule. See
[Cancellations, reschedules and no-shows](/docs/cancellations-and-no-shows#customers-reschedule-themselves).

### Late cancellation

`allow_late_cancellation`, default off. With it on, a customer inside the
window can still cancel, after a confirmation step warning them they may be
charged. The booking is recorded as a late cancellation. It never allows a
late **reschedule**: inside the window the customer can only cancel, or contact
you to move it.

**Nothing is charged.** Bookodile does not take payments, so this records what
happened and leaves the charging to you. The switch only appears when the
window is greater than zero, because at zero nothing is ever late.

The same step appears when a customer cancels from **My Bookings** (the
customer portal) as on the booking's own page.

## What customers must enter

These three are set **once for the whole business**, not per branch — a
customer shares their details with a business as a whole. With one branch you
change them here, in the **Customer contact fields** card. With several, the
business owner changes them in **Settings → Organization**, and each branch's
Booking settings shows them read-only.

`require_name`, default on. Every booking needs a name whatever this is set to.
With it on, a customer who confirms their email also cannot hide their name from
you ([Customer details a customer controls](/docs/customer-details)).

`require_email`, default on, and `require_phone`, default on. A required detail
must be entered to book, and a customer who confirms their email cannot hide it
from you. Each is independent, but **the settings screen will not let you turn
both off**, because you need some way to reach the customer.

A phone number, required or not, has to be a real one: the right length and a
real prefix for its country. A number typed without its country code is read as
one from your branch's country — `0908 687 123` at a Slovak branch, `608 123 456`
at a Czech one — and one with `+` or `00` is read as typed, so a visitor from
abroad gives their own number as usual. The booking page says so before the
customer can continue, rather than taking a number nobody can call.

Turning email off has consequences worth weighing: without an email address
that customer gets no confirmation, no reminder and no cancellation notice, and
the manage-booking link lives in the confirmation email. They also cannot be
matched to their previous visits, because returning customers are recognised by
email — every booking creates a new record instead.

### Billing details

`invoice_mode` is off, optional or required. Set to required, your booking page
asks for company name, street, city, postal code and country before it will
submit. `invoice_require_state` adds state or province to that list, and only
does anything in *required* mode.

Both are **enforced on your booking page only**. A booking submitted directly
can omit billing details even when the setting says required.

> **Worked example.** A physiotherapy clinic invoicing employers, and a
> photography studio invoicing companies for shoots, both set this to required
> so the details arrive with the booking instead of being chased afterwards. A
> hair salon leaves it off.

The country dropdown starts from your business's own country.

## Consent and privacy

`gdpr_consent_enabled`, default on, shows a consent checkbox on your booking
page and refuses the booking without it. On Booking settings it is the
**Privacy consent** card — **Privacy consent (GDPR)** for a business whose
country, in [Business profile](/docs/reference-business-profile#country), is in
the EU, the EEA or the UK. The name follows
the country, never the language the business writes in, and it is a label, not
a statement that anything is compliant.

`gdpr_text` replaces the default sentence beside that checkbox with your own
wording. You write it once, in your main language; when your business has other
languages, Bookodile translates it into each of them by itself, and a customer
reading the booking page in another language sees it in that language — or as
you wrote it, until its translation is written. **See translations** under the
field shows the translations to correct by hand
([Other languages your customers read](/docs/reference-business-profile#other-languages-your-customers-read)).

`privacy_policy_url` adds a link to your own privacy policy beside ours.

When a customer ticks the box, their customer card records that they agreed,
when, and which version of your wording and policy link they saw. With the
checkbox off, nothing is recorded as agreed — the card's consent reads "No".

One consequence to know: the privacy links live inside the consent block, so
switching consent off also removes your privacy-policy link from the page.

Whether you need any of this, and what it must say, depends on where you trade
and is yours to check. Bookodile gives you the switch and the wording; it does
not advise on the law.

## Reminders

`reminder_enabled`, default on, and `reminder_timing`, default the day before.
Both are on **Settings → Customer notifications**, beside the switch that pauses
everything, and a change there saves at once.

The timing choices are **the day before at 8am in your business's time zone**,
**two hours before**, or **both**. Nothing else — the hour is fixed and the
options are not arbitrary.

A reminder goes to the customer's email address, and by SMS as well when your
business sends SMS (see [Limits](#limits)); a customer with neither gets none.
It is skipped entirely while all customer messages are paused. A booking with
several parts sends one reminder, not one per part.

## Your confirmation email text

`email_footer` adds your own paragraph to the **confirmation** email, below the
booking details. Line breaks are kept. It is plain text: code such as HTML
shows exactly as typed rather than as formatting or a link. It is on **Settings → Email Templates**,
above the emails themselves, with a button that shows it in the confirmation.

It appears in the confirmation only — not in reminders and not in
cancellations. Email templates cannot otherwise be edited. When your business
has other languages, Bookodile translates the paragraph into each of them, and a
confirmation in another language carries it in that language; **See
translations** under it shows them to correct by hand.

## Being found in search

`search_indexable`, on unless you turn it off, on **Settings → Website &
booking page** next to your page's address, labelled *Show my business in
search results*. Your booking page is listed with
search engines so it can come up when somebody searches for your business by
name, and your own description is what appears underneath it.

Turning it off removes the page from our sitemap and asks search engines to
leave it out — and the same goes for your public reviews page, your events
pages and your [website](/docs/your-website), which this one switch covers too.
Your page keeps working and anyone with the link can still book. A
business with a private clientele — a members-only gym, a coach who works by
referral — turns it off and shares the link directly.

Bing and the other search engines that support IndexNow are told within minutes
whenever your page is listed, unlisted, or changes how it appears in results —
its name, description, address, language, phone, website or logo. Google does
not support IndexNow: it notices when it next reads the page or our sitemap, and
usually takes a few weeks to drop a page it has already listed. Whether and
where a page is shown is always the search engine's decision.

## When your team moves a visit

These rules are written for customers. When someone on your team moves a visit
with several services from the calendar (**Move visit**), the times it suggests
are the ones where every service fits — each team member's working hours, time
off, blocked time and other bookings, and the capacity and hours of any room or
equipment — laid out on your slot spacing. **Minimum notice and how far ahead do
not apply**; only times already in the past are left out. Your team can also type
any other start, and is shown what it clashes with before moving the visit
anyway. Dragging one of the visit's services in the calendar runs the same
checks, and asks before moving the visit onto a clash.

## Team member order

**Settings → Booking settings → Team member order** is the order your booking
page lists your team in when a customer chooses who serves them — the same
list you can drag in **Settings → Members**; both edit one order
(`employees.sort_order`). It is also the order "Anyone" goes through: the first
person in it who is free gets the booking. Only people who are active and take
bookings are listed; someone switched off keeps their place for when they are
back, and someone new joins at the end.

It is the default for every service. A service, or a whole service category,
can have a custom order instead — see
[who customers see first](/docs/reference-services#who-customers-see-first).
This is not one of the seventeen booking rules: it decides who is offered
first, never whether a time is offered.

## Worked examples

**A barbershop taking walk-ins as well as bookings.** Minimum notice 2 hours,
60 days ahead, 15-minute spacing, auto-confirm on, 12-hour cancellation window
with late cancellation off. Email required, phone required, billing off.

**A physiotherapy clinic.** Minimum notice 24 hours, 90 days ahead, 30-minute
spacing, auto-confirm **off** because each new patient is screened first — with
a confirmation text saying so. Cancellation window 24 hours with late
cancellation allowed. Billing details required, state not required.

**A nail studio.** Minimum notice 3 hours, 45 days ahead, 15-minute spacing,
auto-confirm on, 24-hour window. Reminders set to both, because no-shows cost a
whole appointment.

## Limits

- **Every rule here is business-wide.** None of them can differ per service,
  per team member or per location within a branch.
- **Three are enforced on your booking page only**: slot spacing, billing
  details and requiring a state. A customer's reschedule is the exception for
  slot spacing — the server holds the new time to it.
- **A pending booking looks confirmed to the customer.** Say so in your
  confirmation text if you turn auto-confirm off.
- **Late cancellation charges nothing.** It records the fact.
- **Reminder timing is one of three fixed choices**, and the day-before hour is
  not configurable.
- **Consent text is written once**, in your main language; its translations
  into your other languages are Bookodile's, and can be corrected by hand.
- **Clearing a number field saves a zero**, not "unlimited". This matters most
  for how far ahead and for slot spacing.
- **Reminders go by email; by SMS as well only with the SMS messages add-on on a
  paid plan**, to a customer whose number is in one of the 14 countries SMS reach
  (Czech numbers not yet) — see [SMS messages](/docs/sms-messages#which-sms-go-out).
  A demo workspace never texts.
- **Minimum notice and how far ahead bind customers only.** A team member moving
  a visit is offered times on your slot spacing and can choose any other.
