# Appointments

Booking clients with specialists right in the app: the client chooses a branch, a service, a specialist and a time, leaves a name and phone — and the appointment appears in the journal. The elements take services, specialists, the schedule and booking rules from the branch. How to set up a branch and build the booking path with the "Book an appointment", "Cancel appointment" and "Reschedule appointment" blocks is on the [Booking through a mini app](https://support.watbot.org/booking/mini-app) page.

How to add elements and what they have in common is on the [Screen elements](https://support.watbot.org/mini-apps/elements) page.

| Element | What it shows the client | Exit |
|---|---|---|
| ["Booking branches"](https://support.watbot.org/mini-apps/elements/booking#booking-branches) | A list of branches | "Branch N" |
| ["Booking services"](https://support.watbot.org/mini-apps/elements/booking#booking-services) | The branch's services with price and duration | "Service N" |
| ["Booking specialists"](https://support.watbot.org/mini-apps/elements/booking#booking-specialists) | Specialists for the chosen service | "Specialist N" |
| ["Booking time slots"](https://support.watbot.org/mini-apps/elements/booking#booking-time-slots) | Free time by day | "Time N" |
| ["Booking checkout"](https://support.watbot.org/mini-apps/elements/booking#booking-checkout) | A booking summary and client fields | The button label, "Book" by default |
| ["My appointments"](https://support.watbot.org/mini-apps/elements/booking#my-appointments) | The client's appointments | "Appointment N" |
| ["Appointment card"](https://support.watbot.org/mini-apps/elements/booking#appointment-card) | One appointment with buttons | "Cancel appointment", "Reschedule appointment", "Rate visit" |
| ["Visit rating"](https://support.watbot.org/mini-apps/elements/booking#visit-rating) | Stars and a comment after the visit | "After rating" |

## Branch

Most elements start with the **"Branch"** setting:

- **a specific branch** — the element works with it. You can set the branch in all screens of the version at once in the "Shop and branch" window;
- **"The client chooses the branch"** — the element takes the branch the client chose on the screen with "Booking branches". Usually it is `{{ branchId }}`. If the app has a branch selection screen, a hint with the "Use the branch the client chose" button appears under the field.

For "My appointments", "Appointment card" and "Visit rating", a branch is optional: with "All branches" they show the client's appointments in all branches of the project.

In the builder, the elements show the real services and specialists of the chosen branch; if the client chooses the branch — those of the first suitable one. The client's appointments in the builder are a sample.

The elements pass the choice to each other through variables: `branchId`, `serviceId`, `staffId`, `slot`, `appointmentId`. Suitable ones are already set in each element's settings — you only need to change them if you build your own scenario.

## Booking branches

A list of branches from which the client chooses theirs. Needed when there are several branches.

![The "Booking branches" element: two salons with addresses and phones and the element's settings](https://support.watbot.org/_media/en/02-mini-apps/15-elements/_images/booking-branches.webp?v=1791781230)

- **"Branches to show"** — if empty, all branches of the project that have services and specialists.
- **"Show branch icon"** — the icon is uploaded in the Appointments section, in the branch switcher. Without it, a pin icon is shown.
- **"Show address"**, **"Show phone"**.
- **"Chosen branch into a variable"** — `branchId` by default. Through it, services, specialists, time and the "Book an appointment" block work with the chosen branch — set "The client chooses the branch" in them.
- **"Text when there is nothing to show"** — if empty, "No branches yet".

## Booking services

The branch's services available for booking.

![The "Booking services" element: services with price and duration and the element's settings](https://support.watbot.org/_media/en/02-mini-apps/15-elements/_images/booking-services.webp?v=1791781230)

- **"Category"** — the services of one category or "All categories". When the client chooses the branch, there is no filtering by category: each branch has its own categories.
- **"View"** — "List" or "Cards".
- **"Group by category"**, **"Show photos"**, **"Show prices"**, **"Show duration"**.
- **"Chosen service into a variable"** — `serviceId` by default. Through it, the specialists screen and the time choice show what fits.
- **"Text when there is nothing to show"** — if empty, "No services yet".

## Booking specialists

The specialists who provide the chosen service.

![The "Booking specialists" element: the "Any specialist" row and the specialists, and the element's settings](https://support.watbot.org/_media/en/02-mini-apps/15-elements/_images/booking-staff.webp?v=1791781230)

- **"Service"** — usually `{{ serviceId }}`, set by the "Services" element.
- **"“Any specialist” row"** and "Row text". The appointment goes to a free specialist with fewer appointments that day.
- **"Show photos"**, **"Show rating"**.
- **"Chosen specialist into a variable"** — `staffId` by default. Through it, the time choice shows this specialist's free hours.
- **"Text when there is nothing to show"** — if empty, "Nobody provides this service right now".

## Booking time slots

Free time by day: a strip of days and the times of the chosen day.

![The "Booking time slots" element: a strip of days and free times and the element's settings](https://support.watbot.org/_media/en/02-mini-apps/15-elements/_images/booking-slots.webp?v=1791781230)

- **"Service"** and **"Specialist"** — usually `{{ serviceId }}` and `{{ staffId }}`. Empty or `any` in the specialist means any free specialist.
- **"Rescheduling"** — for a rescheduling screen: `{{ appointmentId }}`. The time is matched to the services and specialist of that appointment.
- **"Days to show"** — up to 31, but no further than booking is allowed in the branch settings.
- **"Chosen time into a variable"** — `slot` by default. Booking checkout and the "Reschedule appointment" block expect it.
- **"Text when there is nothing to show"** — if empty, "No free time".

## Booking checkout

A booking summary — service, specialist, date, duration and price — and fields for the name, phone, email and comment.

![The "Booking checkout" element: the booking summary, client fields and the "Book" button and the element's settings](https://support.watbot.org/_media/en/02-mini-apps/15-elements/_images/booking-checkout.webp?v=1791781230)

- **"Service"**, **"Specialist"**, **"Time"** — usually `{{ serviceId }}`, `{{ staffId }}` and `{{ slot }}`.
- Which fields to ask for — phone, email, comment — is decided by the [branch rules](https://support.watbot.org/booking/rules).
- **"Show booking summary"**.
- **"Button text"** ("Book" by default) and "Color". Lead the button to the "Book an appointment" block.

## My appointments

The client's appointments: upcoming ones and, optionally, past and canceled ones.

![The "My appointments" element: sample appointments and the element's settings](https://support.watbot.org/_media/en/02-mini-apps/15-elements/_images/booking-appointments.webp?v=1791781230)

- **"Appointments to show"** — up to 50.
- **"Show past and canceled"**.
- **"Chosen appointment into a variable"** — `appointmentId` by default. Through it, the "Appointment card" shows the details.
- **"Text when there is nothing to show"** — if empty, "No appointments yet".

## Appointment card

One appointment: number, status, services, specialist, date and price — and action buttons.

![The "Appointment card" element: an appointment with buttons and the element's settings](https://support.watbot.org/_media/en/02-mini-apps/15-elements/_images/booking-appointment.webp?v=1791781230)

- **"Appointment"** — usually `{{ appointmentId }}`, from "My appointments" or from a link sent by the bot.
- **"Cancel button"** and "Cancel button text" — before canceling, the app asks the client to confirm.
- **"Reschedule button"** and "Reschedule button text".
- **"“Rate the visit” button after the appointment"** and "Rating button text".
- **"“Add to calendar” button"** and "Calendar button label" — only for an upcoming appointment. An iPhone adds the event from a file, Android opens Google Calendar.
- **"Text when there is nothing to show"** — if empty, "Appointment not found".

Each button has its own exit: lead cancellation to the "Cancel appointment" block, rescheduling to the time selection screen, rating to a screen with the "Visit rating" element. The client can cancel or reschedule an appointment no later than the deadline in the branch rules.

## Visit rating

Stars from 1 to 5 and a comment field after the visit. The rating is saved at once — no separate block is needed. It can be changed during the first week.

![The "Visit rating" element: stars, a comment and the "Send rating" button and the element's settings](https://support.watbot.org/_media/en/02-mini-apps/15-elements/_images/booking-review.webp?v=1791781230)

- **"Appointment"** — usually `{{ appointmentId }}`.
- **"Title"** ("How was your visit?" by default) and **"Star color"**.
- **"Comment field"** and "Comment field placeholder".
- **"Button label"** ("Send rating" by default) and "Button color".
- **"Thank-you text"** — if empty, "Thank you for your rating!".
- **"Invite happy clients to leave a review"** and "Review link label" — those who gave 4 or 5 see a link to the branch's reviews. The link is set in the booking [notification settings](https://support.watbot.org/booking/notifications).

Before the visit, the element shows "You can rate the visit after the appointment." The "After rating" link leads further, for example to a thank-you screen.

## For specialists

The elements of the "For specialists" group are screens for specialists in the same app: a specialist signs in with the code from their specialist card and sees their appointments and schedule. They do not need an account. How to give a code and what a specialist can do is on the [Specialist access](https://support.watbot.org/booking/masters#specialist-in-the-mini-app) page.

"Specialist’s appointments", "Specialist’s appointment card" and "Specialist’s schedule" have a **"Branch"** setting — if empty, all branches where the person is listed as a specialist. A client who gets to a specialist screen will not see any appointments — only the **"Text for those who are not specialists"** (if empty, "This section is for specialists. Sign in with the code from your administrator.").

### Specialist sign-in

A code field and a sign-in button. Someone already signed in sees a button leading to their appointments instead of the field.

![The "Specialist sign-in" element: the code field and the "Sign in" button and the element's settings](https://support.watbot.org/_media/en/02-mini-apps/15-elements/_images/master-login.webp?v=1791781230)

- **"Title"** ("Specialist sign-in" by default) and **"Explanation"**.
- **"Button label"** ("Sign in" by default) and "Color".
- **"Button for a signed-in specialist"** — "My appointments" by default.
- **"Go on right away if the specialist is already signed in"** — a signed-in specialist does not see this screen: the app immediately opens what the element's link leads to. The link must be drawn.

The "After specialist sign-in" exit leads to the specialist's screen.

### Specialist’s appointments

A strip of days with the number of appointments and the appointments of the chosen day.

![The "Specialist’s appointments" element: a strip of days and the day's appointments and the element's settings](https://support.watbot.org/_media/en/02-mini-apps/15-elements/_images/master-appointments.webp?v=1791781230)

- **"Days in the strip"**.
- **"Chosen appointment into a variable"** — `masterAppointmentId` by default. Through it, the "Specialist’s appointment card" shows the appointment.

The "Specialist’s appointment N" exit fires on a tap on an appointment.

### Specialist’s appointment card

Services, time, the client's name and comment, mark buttons and the specialist's note.

![The "Specialist’s appointment card" element: a client's appointment, mark buttons and a note and the element's settings](https://support.watbot.org/_media/en/02-mini-apps/15-elements/_images/master-appointment.webp?v=1791781230)

- **"Appointment"** — usually `{{ masterAppointmentId }}`, set by the "Specialist’s appointments" element and by the link in the bot's message.
- **"“Client came” and “Did not come” buttons"** — available once the visit time has come. The specialist cannot cancel or reschedule an appointment.
- **"Specialist’s note"** — a note field for the appointment.

### Specialist’s schedule

The specialist's working hours and breaks for the coming days.

![The "Specialist’s schedule" element: working hours by day and the element's settings](https://support.watbot.org/_media/en/02-mini-apps/15-elements/_images/master-schedule.webp?v=1791781230)

- **"Days in the schedule"**.
- **"Text when there is nothing to show"** — if empty, "No schedule set".
