Booking Object


An entity representing a scheduled appointment, class session, or course.

Properties
idstringRead-onlyformat GUID

Booking ID.


bookedEntityBookedEntity

An object describing the bookable entity - either a specific time slot or a recurring schedule.

The structure depends on the type of service being booked:

For appointment services:* Use slot to book a specific time slot with a service provider. Appointments are typically one-time sessions at a specific date and time.

For class services:* Use slot to book a specific class session. Classes are individual sessions that can have multiple participants.

For course services:* Use schedule to book an entire course consisting of multiple sessions over time. Courses are recurring, multi-session offerings.

Choose the appropriate field based on your service type and booking requirements.


contactDetailsContactDetails

Contact details of the site visitor or member (SDK | REST) making the booking.


additionalFieldsArray <CustomFormField>

Additional custom fields submitted with the booking form.


statusstring

Booking status. A booking is automatically confirmed if the service allows it and an eCommerce order is created. It is automatically declined if there is a double booking and the customer hasn't paid or is eligible for an automatic refund. Currently, only payments with pricing plans are automatically refundable.


paymentStatusstring

The payment status of the booking. This field automatically syncs with the paymentStatus of the corresponding eCommerce order (SDK| REST) when customers use Wix eCommerce checkout.

Integration patterns

When using Wix eCommerce checkout:* Wix Bookings automatically syncs the payment status based on the eCommerce order's payment status. Do not manually update this field.

When using custom payment flows:* You can manually update the payment status with Confirm Booking or Decline Booking (SDK | REST) to reflect the customer's payment state.

For membership/pricing plan payments:* Wix Bookings automatically manages the payment status when customers pay with an active pricing plan (SDK | REST) subscription.

All payment statuses are supported for every booking status.


selectedPaymentOptionstring

Payment option selected by the customer. If the customer hasn't completed their checkout, they may still change the payment method. Must be one of the payment options offered by the service (SDK | REST), unless skipSelectedPaymentOptionValidation is true.

When undefined during an eCommerce checkout (SDK | REST), Wix Bookings uses the service's default payment option


createdDatestringRead-onlyformat date-time

Date and time the booking was created in YYYY-MM-DDThh:mm:ss.sssZ format.


externalUserIdstring

External user ID that you can provide.


revisionstringformat int64

Revision number to be used when updating, rescheduling, or cancelling the booking. Increments by 1 each time the booking is updated, rescheduled, or canceled. To prevent conflicting changes, the current revision must be specified when updating the booking.


createdByCreatedByRead-only

ID of the creator of the booking. If appId and another ID are present, the other ID takes precedence.


startDatestringRead-onlyformat date-time

The start date of the booking in YYYY-MM-DDThh:mm:ss.sssZ format. For a slot, this is the start date of the slot. For a schedule, this is the start date of the first session.


endDatestringRead-onlyformat date-time

The end date of the booking in YYYY-MM-DDThh:mm:ss.sssZ format. For a slot, this is the end date of the slot. For a schedule, this is the end date of the last session.


updatedDatestringRead-onlyformat date-time

Date and time the booking was updated in YYYY-MM-DDThh:mm:ss.sssZ format.


extendedFieldsExtendedFields

Custom field data for this object. Extended fields must be configured in the app dashboard before they can be accessed with API calls.


doubleBookedbooleanRead-only

Whether this booking overlaps with another confirmed booking. Returned only if set to true.


One Of
Choose one of the following parameters

totalParticipantsintegerminimum 1

Total number of participants. When creating a booking, use this field only if the relevant service has fixed pricing and doesn't offer variants and options (SDK | REST).


participantsChoicesParticipantsChoices

Information about the booked service choices and participant count for each choice. When creating a booking, use this field only if the booking includes multiple service variants (SDK | REST).

For example, use this for a spa package booking that includes different service levels:

  • 2 participants chose "Standard Package".
  • 1 participant chose "VIP Package".
Did this help?