About Wix Bookings Architecture

Wix Bookings comprises multiple interconnected components that enable booking flows for customers and management capabilities for business owners. This architecture is flexible: you can extend, customize, or replace elements of the business solution to meet your needs.

This article describes the main components of the Wix Bookings architecture, available customizations, and the standard single-service booking flow.

Services

The Services V2 API manages each business's offerings and all the information that customers need when deciding whether to book.

Wix Bookings supports 3 service types:

  • Appointments: 1-on-1 or group sessions scheduled at available time slots based on staff and resource availability.
  • Classes: Recurring group sessions with a set schedule and capacity. Customers book individual class sessions.
  • Courses: Multi-session programs with a fixed schedule. Customers book the entire course as a single unit.

Booking policies control when customers can book, limit the maximum number of participants, and manage cancellation and rescheduling rules. You can create and manage these policies using the Booking Policies API. Services are associated with booking forms that customers fill out when making a booking. Learn about how Wix Bookings integrates with Wix Forms.

Customizations

You can extend and customize services in the following ways:

Staff and resources

The Staff Members API manages staff members who provide services and their working hour schedules. Staff availability is a key factor in determining which time slots are available for appointment bookings.

The Resources V2 API manages physical assets like meeting rooms or equipment that services require. You must link resources to resource types to make them bookable and prevent double bookings. Customers can book a service only if all required resources are available during the selected time.

Important: Wix Bookings automatically creates and manages a resource for each staff member. Use the Staff Members API to manage staff because using the Resources V2 API for staff can lead to data conflicts.

Customizations

You can extend and customize staff and resource management in the following ways:

Time slots

The Time Slots V2 API determines which time slots are available for booking based on service type and relevant constraints:

  • For appointments, Wix Bookings determines available time slots based on:
    • Session duration.
    • Staff member working hours and blocked time.
    • Resource blocked time.
    • Time buffer between sessions.
    • Service policies.
  • For classes, Wix Bookings determines available time slots based on the class schedule, capacity, and service policies, including waitlist functionality.
  • For courses, Wix Bookings determines availability based on the course's capacity and service policies.

Wix Bookings validates all these factors at multiple points in the booking flow:

  • When displaying a service's available time slots to customers.
  • Before creating the booking (before payment is made).
  • Before confirming the booking (after payment is made).

Bookings

The Bookings Writer V2 API handles the creation and management of both single-service and multi-service bookings.

After the session takes place, you can track and manage customer attendance using the Attendance API.

Forms integration

Wix Bookings integrates with Wix Forms to collect customer information during the booking process. Each service has an associated booking form that customers complete when making a booking.

When a customer completes a booking form, Wix Forms creates a form submission that contains the customer's responses. The system automatically links this submission data to the booking, and you can access it through the Form Submissions API. Learn more about how Wix Bookings integrates with Wix Forms.

Booking creation

The system creates a booking once the customer selects 1 or more services with specific time slots and completes the booking form. The booking then moves through the payment and checkout flow. After payment completes, the system either confirms the booking automatically or sends it to the business for manual approval, depending on the service configuration.

Customizations

You can extend and customize the booking experience in the following ways:

  • Customize booking forms: By default, all services use a standard booking form, but you can create custom forms by adding fields, removing fields, or marking fields as required.
  • Build custom booking flows: Use the Bookings Writer V2 API to create bookings programmatically from your own interfaces, 3-party platforms, or automated systems.
  • React to booking events: Listen to booking lifecycle events to trigger custom workflows when bookings are created, confirmed, canceled, or rescheduled.

Checkout and payments

Wix Bookings integrates with the Wix eCommerce platform to handle payments and order management.

The Wix eCommerce system automatically uses the booking ID as a catalog item reference and handles pricing calculations, tax, and payment processing. Add-ons appear as additional fees in the eCommerce checkout.

By default, the system creates a checkout using the Checkout API and redirects customers to complete payment. Once payment processes, Wix eCommerce creates an order and updates the booking status based on the service configuration (for example, CONFIRMED for automatic approval or PENDING for manual approval).

Learn more about payment handling with a custom checkout.

Customizations

You can customize the checkout and payment experience in the following ways:

  • Implement your own checkout: For custom payment flows, you can implement your own checkout experience to collect payment. After the customer completes your custom checkout, call Confirm Or Decline Booking with options.paymentStatus set to PAID to update the booking status to CONFIRMED. Then, create an order using the Orders API to record the transaction with your custom payment details. This ensures the booking is properly tracked in both the Bookings and eCommerce systems.
  • Customize pricing calculations: Use the Pricing Integration service plugin to manage the price of a booking externally. Wix Bookings calls the integration whenever a customer enters the booking flow to get the price to charge.

Calendar

Wix Bookings integrates with Wix Calendar to manage schedules and events. Once the booking is confirmed, Wix Bookings adds the session to the business's booking calendar and to the schedules of the relevant staff members, rooms, and other resources. The booking calendar displays all scheduled sessions and can be filtered by service, staff, and other criteria to help manage daily operations. Learn more about how Wix Bookings integrates with Wix Calendar.

Customizations

You can connect and sync external calendars with Wix Bookings using the External Calendars API. This allows staff members to sync their Wix Bookings calendar with Google Calendar, Microsoft Outlook, or Apple Calendar for bidirectional synchronization.

Important: The Calendar V3 APIs are standalone services and aren't part of the Bookings APIs. However, the External Calendars API is part of Bookings.

Notifications

Wix Bookings automatically sends notifications to keep Wix users and customers informed about booking events.

Wix users receive notifications for events such as:

  • New bookings.
  • Rescheduling requests.
  • Cancellations.

Customers receive notifications for events such as:

  • Booking confirmations.
  • Automatic reminders before a booking begins.
  • Changes to their bookings.

Customizations

You can extend the notification system by providing pre-installed automations that trigger custom notifications (or other actions) when specific conditions are met.

See also

Did this help?