Booking Flow
Customer journey
1. Customer opens the public booking page. 2. Customer selects location, category, service, optional extras, staff preference, date, and time. 3. Customer enters contact details and any custom form fields. 4. Plugin validates availability again before saving the booking. 5. If WooCommerce payment is enabled, the customer is sent through checkout. 6. Booking, payment, customer, logs, and notification records are created. 7. Staff and customer receive configured confirmations or reminders.
Availability
Availability is calculated from service duration, buffer time, staff assignment, location, working hours, breaks, blocked dates, capacity, existing bookings, and any plugin settings that limit lead time or future booking windows.
Booking statuses
Common booking states include pending, confirmed, completed, cancelled, no-show, and payment-related states when WooCommerce is enabled. Teams should define which statuses staff can change and which statuses trigger notifications.
Waitlists
Waitlists collect customers when a preferred time is not available. Staff can use waitlist records for cancellations, last-minute openings, or campaign follow-up.
Customer self-service
The [xbs_customer_dashboard] shortcode can expose customer booking history and self-service actions when enabled. Use clear cancellation and reschedule policies before enabling customer self-service on a live site.