The primary customer-facing flow in Wix Bookings is the single-service bookings flow. The following diagram describes this flow:
- When the customer views the site’s list of services, the client calls Query Services and displays all available services.
- When the customer selects a specific service to view, the client:
- Calls Get Service (optional).
- Checks availability:
- For appointments and classes: Calls Query Availability.
- For courses: Checks the requested number of participants against the capacity (
defaultCapacity
in the Query Services or Get Service response).
- Displays details of the specific service and available time slots.
- When the customer selects a time slot to book, the client displays a booking form, based on the Query Services (or Get Service) response.
- Customer fills out the booking form.
- When the customer clicks “book now”:
- The client calls Query Availability again to validate that the time slot is still available.
- Then the client calls Create Booking to create a booking for the customer.
- If a site contributor configured manual approval for this service, they will receive a notification requesting review and approval (limited to free or offline payments).
- If online payment is required: the client leads the customer to the eCom checkout flow.
If a Pricing integration is implemented, Wix calls the implementor to calculate the price to charge.
- If the session is free or takes offline payments: the client skips checkout entirely.
- When the customer has completed the eCom checkout flow (or when the session is free or the customer is paying offline), an Order Approved webhook is triggered.
- Once the order is approved, Wix Bookings calls Confirm Or Decline Booking which triggers the following logic:
- If manual confirmation is enabled, Wix Bookings calls the internal Mark Booking as Pending endpoint to mark the booking as pending, and sends a notification to the site contributors to manually confirm the booking. When a site contributor confirms the booking, Wix Bookings calls the internal Confirm Booking endpoint to mark the booking as confirmed.
- If this booking causes an overbooking:
- If payment was made: Wix Bookings calls the internal Confirm Booking endpoint and a notification about the overbooking will be sent to the site contributors.
- If no payment was made: Wix Bookings calls Decline Booking.
- In all other cases, Wix Bookings calls the internal Confirm Booking endpoint to mark the booking as confirmed.
Once the booking is confirmed:
- A session is added to the business’s booking calendar, and to the schedules of any affected staff and resources.
- Any notifications that have been set up are triggered.
- Any automations set to be triggered by a session being booked are triggered, and any automations set to be triggered around a session start and session end are scheduled.
- The customer can view and manage their booking (cancel, reschedule, etc.) in the site’s members area.
- The site contributors can view and manage bookings in the site dashboard’s booking calendar.