# Online Booking

> Publish scoped booking links and control client availability, booking form fields, banners, emails, approval, and self-service changes.

Online Booking gives clients a public, mobile-friendly flow for choosing services, professionals, and available times. It creates ordinary [Appointments](https://workstation.repzo.com/docs/engagement/appointments) marked as booked online.

Open **Settings → Appointments → Online booking**, or use the Online booking shortcut in the appointment calendar toolbar.

## Prerequisites

Before enabling the booking page:

1. Create at least one active location.
2. Add bookable services with duration and pricing.
3. Assign services to the team members who can perform them.
4. Configure team shifts and business hours.
5. Configure required resources and their availability.
6. Confirm the appointment statuses used for Booked and Confirmed.

Public availability is calculated from services, staff, shifts, existing appointments, block time, time off, closing periods, resources, booking limits, and the selected link scope. When a required resource is fully booked, that time is not offered online, even though staff can still overbook it from the calendar.

## Enabling the booking page

Turn on **Your booking page** to allow online booking.

The booking page is not discoverable on its own. Clients can only enter through a booking link you create and share.

The **Booking page address** sets the `/book/<address>` part of every link. Changing it breaks links and QR codes you have already shared.

The page header uses the workspace logo.

## Booking rules

| Setting | Purpose |
|---|---|
| **Require approval for bookings** | Creates the booking as Booked instead of Confirmed; the client sees it as pending approval |
| **Clients can book** | Minimum lead time before the appointment |
| **And no more than** | Maximum number of days into the future |
| **Clients can cancel or reschedule** | How long before the appointment clients can still cancel |

### Schedule optimization

Choose how the public flow offers time slots in **Time slots**:

- **Show all slots (max availability)** offers every available time.
- **Reduce calendar gaps** hides slots that would leave a gap shorter than **Allow gaps of at least (minutes)**.
- **Eliminate calendar gaps** offers only slots next to existing appointments, plus the edges of the day chosen in **Allow bookings at**: start and end of day, start only, or end only.

Optimization changes what clients can select; it does not change staff-created appointments.

## Booking form fields

**Booking form fields** controls the contact details clients enter. The built-in fields are First name, Last name, Email, and Phone. Use **Choose CRM fields** to add Contact properties, arrange all fields with the arrows, and mark each one **Required** as needed. The order applies to every booking link.

## Notifications and automated emails

**Staff notifications** decide who hears about online bookings, reschedules, and cancellations:

- **Notify the booked team member**
- **Also notify these team members**
- **Also notify these emails (comma-separated)**, for people outside the workspace (email only)

**Automated emails** to the client:

- **Confirmation**
- **Rescheduled**
- **Cancelled**
- **Reminder**, sent **Reminder lead time (hours)** before the appointment
- **Show service prices in emails**
- **Email language**: English or Arabic

Booking emails include a calendar invite and a **Manage your booking** link. The reminder check runs every 15 minutes and looks up to about a week ahead, so keep the reminder lead time under seven days.

These client reminders are separate from [Activity Reminders](https://workstation.repzo.com/docs/engagement/reminders).

## Creating booking links

### Link to everything

Create one link for everything the client can book. In a multi-location workspace, choose a location or **All locations**. With a single location, the link is created straight away.

### Link to services

Create a narrower link by choosing:

- **All services** or selected services, picked by category with search
- **All team members** or selected team members
- a location, when the workspace has more than one

A link with all services, all team members, and no location would be the same as Link to everything, so choose a location or specific team members instead.

Use a descriptive **Link name** such as “Haircuts with Wael” so the team can identify it later.

## Managing links

Each link row shows its type, location, views, and bookings. From a row you can:

- copy the URL
- show the QR code and **Download** it
- edit the link (its address and QR code stay the same)
- switch the link off, so it stops taking bookings without turning off the whole booking page
- delete the link

## Bundles online

[Service bundles](https://workstation.repzo.com/docs/engagement/appointments#service-bundles) appear on the booking page when **Allow clients to book this bundle online** is on and every service in the bundle can be booked online. Clients see what the bundle includes and book it like a single service.

## Banners

**Banners** show a slider of up to six images at the top of your booking links, for example to promote a new service or a seasonal bundle. The Banners card appears once the booking page is on.

Select **Add banner** and set:

- **Image** — a 16:9 landscape image (PNG, JPEG, or WebP, up to 5 MB). Put any text in the image itself.
- **Title (optional)** — used as alt text
- **When tapped** — **Nothing (image only)**, **Open a service**, or **Open a bundle**
- **Show from (optional)** and **Show until (optional)** — to schedule the banner

New banners are saved as drafts. **Publish** a banner to show it; its status then reads **Published**, **Scheduled**, or **Ended**. Drag rows to change the order, and use the row menu to unpublish, edit, duplicate as a draft, or delete. Each banner counts its clicks.

A banner that opens a service or bundle only shows on links that include it. Turn **Show banners** off on a link to hide banners there.

Select **Preview** to create a private preview link for one booking link that expires after 24 hours or 7 days. The preview shows drafts and scheduled banners, and booking is turned off in it.

## Client booking flow

Depending on the link scope, the client moves through:

1. **Select services** — services and bundles.
2. **Select professional** — **No preference** for maximum availability, or a professional per service.
3. **Select date and time**.
4. **Review and confirm** — contact details, optional comments, and your cancellation policy and important information. The client selects **Confirm**.

The result screen says **Booking confirmed**, or **Booking requested** when approval is required.

The booking matches an existing Contact by email, then phone, or creates a new one. The appointment stores the booking link, client comment, and confirmation token, and shows a globe icon on the calendar.

## Client cancellation and rescheduling

The **Manage your booking** link opens a page where the client can **Reschedule** or **Cancel booking** an upcoming appointment, or **Book again** after a completed one.

Cancelling is allowed until the cutoff set in **Clients can cancel or reschedule**. Rescheduling keeps the same services and professionals and requires a newly available time. Both trigger the matching client email, staff notifications, and appointment automation.

## Related documentation

- [Appointments](https://workstation.repzo.com/docs/engagement/appointments)
- [Appointment Checkout](https://workstation.repzo.com/docs/engagement/appointment-checkout)
- [Reviews](https://workstation.repzo.com/docs/engagement/reviews)
- [Client Loyalty](https://workstation.repzo.com/docs/operations/client-loyalty)
- [Settings](https://workstation.repzo.com/docs/administration/settings)
