# Book an appointment

Books the client for the chosen service, specialist and time. The client's details — name, phone, email, comment — are taken from the screen with the "Booking checkout" element. The block goes on the "Book" button of that screen.

![Book an appointment block: branch, service, specialist, time and variables](https://support.watbot.org/_media/en/02-mini-apps/20-blocks/30-booking/_images/booking-create.webp?v=1791781230)

## Settings

- **"Branch"** — the booking branch or "The client chooses the branch". In the latter case, specify the variable — usually `{{ branchId }}`, set by the "Booking branches" element.
- **"Service"** — usually `{{ serviceId }}`.
- **"Specialist"** — usually `{{ staffId }}`. Empty or `any` means any available specialist.
- **"Time"** — usually `{{ slot }}`.
- **"Appointment number into a variable"** — `bookingNumber` by default.
- **"Appointment id into a variable"** — `appointmentId` by default. The appointment card and the cancel and reschedule blocks expect it.
- **"Refusal reason into a variable"** — `bookingError` by default.

## Exits

- **"Booked"** — the appointment is created.
- **"Booking failed"** — the time is already taken, the branch or service is not chosen, the client exceeded the booking limit or did not fill in required fields.

## Specifics

- The time is checked again: if it was taken while the client was filling in the form, the appointment is not created.
- No more than 10 bookings per hour from one address: beyond that the block answers "Too many bookings in a row. Please try again later.".
- One appointment is for one service.
