Booking Object


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

Properties
additionalFieldsArray <CustomFormField>deprecated - use formSubmissionId instead

Additional custom fields submitted with the booking form. Deprecated due to Bookings integrating with Wix Forms. You can call Wix Forms' Get Submission specifying formSubmissionId as the id to get the submitted booking form data. Read more about the Bookings Forms integration.


appIdstringRead-onlyformat GUID

ID of the app that's associated with the booking. Inherited from the appId of the service associated with the booking. Bookings are displayed in Wix Bookings only if they are associated with the Wix Bookings app ID or have no associated app ID. For bookings from Wix apps, the following values apply:

  • Wix Bookings: "13d21c63-b5ec-5912-8397-c3a5ddb27a97"
  • Wix Services: "cc552162-24a4-45e0-9695-230c4931ef40"
  • Wix Meetings: "6646a75c-2027-4f49-976c-58f3d713ed0f" Full list of apps created by Wix.

bookedAddOnsArray <BookedAddOn>maxItems 21

List of add-ons associated with the booking.


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 making the booking.


createdByIdentificationDataRead-only

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


createdByAppIdstringRead-onlyformat GUID

ID of the app that created the booking. This field is used for analytics, auditing, and tracking creation sources. This read-only field is automatically populated during booking creation by checking these sources in order:

  1. The caller's App ID from the request identity context (external app or server identity).
  2. The booking's appId field (inherited from the service's appId).
  3. The Wix Bookings App ID (13d21c63-b5ec-5912-8397-c3a5ddb27a97) as the final fallback.

createdDatestringRead-onlyformat date-time

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


doubleBookedbooleanRead-only

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


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.


extendedFieldsExtendedFields

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


externalUserIdstring

External user ID that you can provide.


formIdstringRead-onlyformat GUID

ID of the form associated with this booking. The value depends on how the booking was created:

  • For bookings created with Create Booking or Bulk Create Booking, formId is identical to ID of the booking form that's associated with the relevant service.
  • For bookings created via Create Multi Service Booking, formId is set to 00000000-0000-0000-0000-000000000000 (the default booking form ID).

formSubmissionIdstringformat GUID

ID of the form submission associated with this booking.


idstringRead-onlyformat GUID

Booking ID.


One Of

participantsChoicesParticipantChoices

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.

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

  • 2 participants chose "Standard Package".
  • 1 participant chose "VIP Package".

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.


paymentStatusstring

The payment status of the booking. This field automatically syncs with the paymentStatus of the corresponding eCommerce order 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 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 subscription.

All payment statuses are supported for every booking status.


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.


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, unless skipSelectedPaymentOptionValidation is true.

When the customer pays with a Wix eCommerce checkout, this field is required. Otherwise, the Create Booking call fails. For custom checkouts, you don't have to specify this field.


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.


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.


updatedDatestringRead-onlyformat date-time

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

Did this help?