Customer Booking Process
The Appointment Form
After setting up your appointable product, appointment form is generated for the front-end, based on your product configuration. Here is an example for an Acupuncture appointment booking. Remaining time slots are listed:

If some of the time slots in a given day have been booked, a gray line on that day denotes that it is partially scheduled. Longer the line, more occupied the time slots on that day are. If you don't want the partially booked gray line, it's possible to hide this using CSS.

As options are chosen, the cost is updated dynamically – and once a valid appointment slot is selected, the "Book Now" button can be pressed to add the appointment to the cart. Appointment has an In Cart status that freezes the slot when added to the cart for 1 hour.
Selection Info Row

For time-based products (minute/hour duration), a selection info row appears between the calendar and the time slots. This row shows:
- Selected date with a clear button (×) to reset
- "Select time below" prompt after a date is chosen
- Selected time once a slot is picked, also with a clear button
- Timezone selector (right side) — displays the current timezone abbreviation (e.g.,
EST) as a clickable link that opens a full timezone dropdown
The timezone selector only appears when the product has Customer Timezones enabled. When the customer's timezone differs from the site timezone, times in the slot picker are automatically converted. See Timezones for details.
The Checkout Process
Once a customer selects an appointment slot and clicks "Book Now", the appointment is added to the cart. Appointment data is shown in the cart line item, including:
- Product name and appointment details
- Selected date and time
- Duration
- Staff member (if applicable)
- Price
The appointment has an In Cart status that freezes the slot for 1 hour to prevent double-booking.
The cart screenshot should show an appointment product with date/time details. If you see a search input instead, ensure an appointment has been added to the cart first.

If the appointment requires approval, payment is not taken during the checkout. This creates the appointment and the order, but requires payment after the appointment is confirmed.

Later, after you approve the appointment, the customer is emailed an Appointment Confirmed email as described in the Email Notifications section below. Alternately, the customer can log into their My Account page and make a payment there.

Appointments do not require a payment to behave like any other product in your store.
Email Notifications
Appointments have several email alerts that are handled automatically. You can edit all emails at WooCommerce → Settings → Emails:
Admin Emails:
- New Appointment — Sent when a new appointment is created and paid (or pending confirmation)
- Appointment Cancelled — Sent when an appointment is cancelled
- Appointment Rescheduled — Sent when an appointment date/time is changed
Customer Emails:
- Appointment Confirmed — Sent when the appointment status changes to confirmed
- Appointment Reminder — Sent before the appointment (configurable timing)
- Appointment Cancelled — Sent when the appointment is cancelled
- Appointment Follow-up — Sent after the appointment is completed (configurable timing)
For full details on each email, ICS attachments, placeholders, and customization, see Email Notifications.