# 4. Public booking page

The public page is your business's online "shop window": customers see your stores, services and menu and \*\*book themselves\*\*, with your branding and colors. Each business has its own address (e.g. `rezvy.app/p/my-business`).

# Introduction

The public page is your business's online "shop window": customers see your stores, services and menu
and **book themselves**, with your branding and colors. Each business has its own address (e.g.
`rezvy.app/p/my-business`).

---

# 4.1 Open the editor

Go to **Settings → Public Page** (owner only). The editor has two sides: fields on the left, a **live
preview** on the right (with a **mobile / desktop** toggle and store screens).

> 📸 **`04-page-editor.png`** — Public page editor with the themed live preview beside it.
![Public page editor](images/04-page-editor.png)

---

# 4.2 Brand and look

1. Page **title** and **subtitle**.
2. **Logo** and **cover image** — upload and **crop** the images in the editor (the logo also serves as
   the icon/favicon and the installable app).
3. **Color theme** — pick one of the ready-made themes (40 light + 10 dark). The whole page is colored
   from the chosen theme.
4. **Social links** and **footer message**.

> 📸 **`04-theme.png`** — Color theme grid + logo/cover upload with cropping.
![Theme](images/04-theme.png)

---

# 4.3 Address (slug), subdomain and QR

1. In the **Address** card, set the **slug** (2–40 chars, lowercase/hyphens). The page lives at
   `.../p/the-slug`. The editor shows **live availability** and validates the format.
2. **Custom subdomain** (**Pro+** plans): turn it on to also serve the page at `the-slug.rezvy.app`.
   (Needs DNS/TLS on the platform side.)
3. The slug can be changed **once a week** (the editor shows the next allowed date).
4. Each store has a **direct link** and a **QR code** (the **QR** button) with **Download** and
   **Print** options — ideal for the counter, window or cards.

> 📸 **`04-address-qr.png`** — Address card (slug + subdomain toggle) and the QR popup.
![Address and QR](images/04-address-qr.png)

---

# 4.4 Per-store options

For **each store**, in the editor:

- **Show reservations** — allow booking at that store.
- **Show menu** — show the menu on the store page.
- **Store cover** — its own image.
- **Auto-confirm** — incoming bookings become **Confirmed** right away (skips manual confirmation).
- **Reorder** — drag the stores to set the order on the page.

> 📸 **`04-stores-toggles.png`** — Stores list in the editor with the toggles and drag-to-reorder.
![Per-store options](images/04-stores-toggles.png)

---

# 4.5 Preview, publish and install (PWA)

- Use the **preview** (mobile/desktop) to check the look before sharing.
- When the page is **published**, it's reachable at the address. Share the link/QR.
- The public page is **installable as an app (PWA)** on the customer's (and your team's) phone — it
  opens full-screen from the icon.

---

# 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).

---

# 4.7 Tips & troubleshooting

- **"The link doesn't work":** check the page is **published** and the store has **Show reservations**
  on.
- **"I get no bookings":** check the booking window (2.2/2.10) and that there are available
  hours/staff.
- **Subdomain:** **Pro+** only; without the plan, the page still works at `.../p/slug`.

---
**Next:** [Customers](05-customers.md).