> ## Documentation Index
> Fetch the complete documentation index at: https://docs.xpressbot.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Bookings

> See, create, approve, move, cancel, and complete bookings, and keep private visit notes.

## What is this?

The **Bookings** tab on each service lists every booking made for that service — from your booking page, added by your team, or made by an AI agent. This is where you run your day: approve requests, move a booking, mark who didn't show up, and record how a visit went.

\[SCREENSHOT: booking-studio-bookings-tab — A service's Bookings tab with the Today, Upcoming, Pending, and Completed tiles above the booking table]

## What can I do here?

* See bookings by **Today**, **Upcoming**, **Pending approval**, and **Completed**
* **Create a booking** for a customer yourself
* **Approve** a pending booking
* **Move** (reschedule) or **cancel** a booking
* Mark a customer as a **no-show**, or **complete** the visit with private notes

## How to use it

### Read the list

Open a service and go to **Bookings**. The tiles — **Today**, **Upcoming**, **Pending**, and **Completed** — filter the list. Each row shows **When** (in the service's time zone), the **customer** (with the group size if more than one, and their phone), the **person** taking it, and its **status**.

| Status | Meaning |
| - | - |
| **Pending** | Waiting for your approval |
| **Confirmed** | Booked |
| **Cancelled** | Cancelled by the customer or your team |
| **Completed** | The visit happened |
| **No-show** | The customer didn't come |

Each booking also records where it came from — **Booking page**, **Added by staff**, **AI agent**, or **API**.

### Create a booking

Click **New booking** to book a customer in yourself. It uses the same steps as the public page:

**1. Service**

Choose the service, the **person**, and how many **people**. This step is skipped when there's nothing to choose.

**2. Time**

Pick a day and a free time. Times are shown in a time zone you can change, and the business time zone is shown for reference.

**3. Customer**

Enter the customer's **full name**, **phone number** (with country), and an optional **email**. Click **Create booking**.

You see "Booking created." If the customer gave an email and delivery is on, they're emailed.

Bookings you create yourself are more flexible than customer ones:

* They're **confirmed straight away**, even if the service normally needs approval.
* The **minimum notice** doesn't apply, so you can book a time that's soon.
* The customer **doesn't have to sign a waiver**, and your extra questions aren't enforced.
* You can book a service that isn't published yet.

Free times still can't overlap another booking.

### Open a booking

Click a row to open it. The buttons depend on its status:

| Action | When it's available |
| - | - |
| **Approve** | On a **Pending** booking |
| **Move** | On a pending or confirmed booking |
| **Cancel booking** | On a pending or confirmed booking |
| **No-show** | On a confirmed booking **after it has started** |
| **Complete visit** | On a confirmed booking **after it has started** |

### Move a booking

Click **Move**. Pick a new time (**Time**), then check **Review**, which shows the **Current time** next to the **New time**. Click **Move to this time**. The customer is emailed about the change.

### Cancel a booking

Click **Cancel booking**, add an optional **Reason**, and confirm with **Cancel this booking**. The time becomes free for someone else. Your team can always cancel or move a booking, whatever the customer's own rules say.

### Complete a visit

After the booking has started, click **Complete visit**, add **Visit notes**, and confirm with **Mark as completed**. Notes are **private** — only your team sees them, never the customer. You can edit them later with **Save notes**.

> [!NOTE]
>
> **Complete visit** and **No-show** only become available once the booking's start time has passed.

## What happens behind the scenes

* **Customers become contacts.** Each booking creates the customer as a contact (source *appointment booking*), or updates their existing contact if the phone number matches. The service's **Labels for the customer** are added. See [Contacts](/workspace/contacts/overview.md).
* **No double bookings.** A time is checked again right before it's confirmed, so two people can't take the same spot. If someone gets there first, the customer is shown other free times that day.
* **Classes.** When a service has several seats, bookings for the same start share them until they run out.
* **Calendar.** Confirmed bookings are added to a person's linked Google Calendar, and removed if cancelled.

## Troubleshooting / Technical Notes

* **"Choose a service to see its free times."** In the New booking dialog, pick a service first.
* **Complete visit or No-show isn't shown.** The booking hasn't started yet, or it isn't confirmed.
* **I can't approve.** Approval is only for **Pending** bookings, and needs the edit permission.
* **A time I picked was just taken.** Pick another from the alternatives shown.
* **A cancelled booking can't be revived.** Cancelled, completed, and no-show bookings are final. Create a new booking instead.
* **The customer didn't get an email.** They left no email, or **Email the customer about their booking** is off for the service.

## Related docs

* [Booking Studio Overview](/workspace/booking-studio/overview.md)
* [Service Settings](/workspace/booking-studio/service-settings.md)
* [The Customer Booking Experience](/workspace/booking-studio/customer-experience.md)
* [Contacts](/workspace/contacts/overview.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.