# 4.6 How a customer books (the public flow)

The page guides the customer through a **wizard**:

1. **Choose** — service / space / party size (and, in barbershops, the **professional** or "no
   preference"). A **cart** sidebar shows the summary and total.
2. **Time** — pick the day (day strip) and the time; **only genuinely available times appear**
   (crossing store hours, professional hours and conflicts).
3. **Confirm** — fill in name/contact and confirm. If the store has **payments** on, it goes to Stripe
   checkout (chapter 7).

After booking, the customer gets the confirmation by **email/SMS** and can **confirm or cancel**
themselves via the `/c/{token}` link in the message.

> 📸 **`04-customer-flow.png`** — Public wizard at the Time step, with the cart sidebar.
![Customer flow](images/04-customer-flow.png)

> 📸 **`04-success.png`** — Booking confirmation screen (with the services summary/timeline).
![Success](images/04-success.png)

> 💡 **The public page appears in the business's language** (and the additional ones you offer), not
> the site's global language. Set the languages in Settings → Business (chapter 12).

---