# How online booking works, end to end

> What happens between a customer opening your booking page and the appointment landing in your calendar — and what has to be true for a time to be offered at all.

_Last verified: 2026-09-10. Source: https://bookodile.com/docs/how-booking-works_

Every Bookodile business has a public booking page at `bookodile.com/your-shop`.
A customer opens it, picks what they want, picks a time, and confirms. No account,
no app, no password — for them or for you.

This page explains what happens at each step, and more usefully, **what has to be
true before a time is offered at all**. Most "the booking page looks broken"
questions are really questions about that.

## The five steps a customer takes

1. **Choose a service.** They see your services grouped by category, each with a
   price and a duration — and its photo, when you have added one to the service.
   Tapping the photo opens it larger without choosing the service; tapping the
   rest of the card chooses it.
2. **Choose who does it.** If you have more than one person who can do that
   service, the customer picks — or picks "anyone", and Bookodile decides.
3. **Choose a time.** The page shows a week at a time. Days with no available
   times are visibly empty rather than hidden.
4. **Enter their details.** Name is always required. Email and phone are each
   independently required or optional, and you control which — but at least one
   of the two must stay on. A phone number from any country is accepted: the
   field shows an example with your country's code, a number typed without one
   is read as your country's, and once the number is complete the page shows it
   back in international form. A number that does not exist in its country's
   numbering plan is refused, with the reason under the field.
5. **Confirm.** The booking is created, the customer gets an email, and it
   appears in your calendar.

### When a link has already chosen the service

A service's own **Book** button on your Bookodile website — beside its price in the
price list, on its card, or on a photo in a gallery category linked to it — names
the service. So does the
booking link in the review-request email (**Book again**) and in the win-back
email, with the service from the customer's last visit. Such a link skips
step 1: the page opens on the step that comes next for that service — how long
(for a service booked by the hour), who does it, the extras, or the time — with
the service already chosen. One line above the step names it, with its
duration, and **Change** goes back to the list of services.

The emails' link also names the team member from the last visit. If they can
still do that service, they are chosen too and the page opens on the time; if
they can't any more, or have left, the customer chooses as usual. A link to a
service your booking page doesn't list (archived, or offered only as an add-on)
opens the list of services instead.

A booking in progress is kept for two hours in the browser tab it was started
in. A phone that reloads the page — common when the customer switches apps —
brings them back to it with what they had chosen, never further than the time
step: the times are checked again there, and one taken in the meantime has to be
picked again. The page says it picked up where they left off, with **Start
over**. That holds when the page was opened by a link too, as long as the link
is for the same service. A link to a different service starts a new booking.

## What has to be true for a time to be offered

This is the part worth understanding properly, because a time is only offered
when **every** condition below holds at once. A slot is the *intersection* of
several separate constraints, not just your opening hours.

| Constraint | Where you set it |
|---|---|
| The business is open that day | Settings → Working hours |
| The team member is working that day | The team member's own hours |
| Nothing else is booked in that space | Your calendar |
| No time off or calendar block covers it | Calendar |
| It is far enough in the future | Booking settings → minimum notice |
| It is not too far in the future | Booking settings → maximum advance days |
| The whole service fits before closing | Automatic |
| A room or chair the service needs is free, and open to that person | Settings → Resources |

That last row catches people out. A 90-minute service will not be offered at
16:30 if you close at 17:00 — the *whole* appointment has to fit inside working
hours, not just its start.

Working hours also support more than one range per day, so a genuine split shift
(09:00–12:00 and 15:00–19:00) is expressed directly rather than faked with a
block.

## How slots are spaced

Slot times come from your **slot interval** setting, not from the service
duration. With a 15-minute interval, a 30-minute service is offered at 09:00,
09:15, 09:30 and so on — not only on the half hour.

A shorter interval means more choice for the customer and a more fragmented day
for you. There is no correct answer; 15 minutes is a reasonable default.

## What happens the moment they confirm

- The booking is written to your calendar.
- The customer receives a confirmation email.
- The status is either **confirmed** or **pending**, depending on your
  auto-confirm setting. With auto-confirm off, nothing is agreed until you
  accept it — but the confirmation email does not say so, so tell them in your
  own confirmation text.
- A reminder is scheduled, if you have reminders on. You can send the day
  before, two hours before, or both.

## What the customer can do afterwards

The confirmation email carries a link to manage the booking. What they can do
there depends on your **cancellation window** — the number of hours before the
appointment during which self-service cancellation stops being allowed. Inside
that window, they are directed to contact you instead of cancelling
unilaterally.

## Worked example

A barbershop open 09:00–17:00, one barber, 30-minute haircuts, 15-minute slot
interval, 2 hours minimum notice, auto-confirm on.

A customer opens the page at 14:00 on a Tuesday:

- Times before 16:00 are not offered — that is the 2-hour minimum notice.
- 16:00, 16:15 and 16:30 are offered.
- 16:45 is **not** offered: a 30-minute cut starting then would end at 17:15,
  past closing.
- They book 16:15. It is confirmed immediately, appears in the calendar, and the
  confirmation email goes out at once.

## Limits and things this does not do

- **Bookodile does not take the customer's money.** It is booking and scheduling
  software. The payments add-on records what you were paid; it is not a payment
  processor, and it does not hold funds or issue refunds.
- **A booking cannot be made without a name.** Email and phone are configurable;
  name is not.
- **Invoice details are enforced in the booking page, not in the API.** If you
  set invoice details to "required", the booking page will not submit without
  them — but a booking created directly through the API can still omit them.
- **Bookings are not designed to cross midnight**, except for services marked as
  full-day.
