@wix/auto_sdk_bookings_extended-bookings 1.0.76 → 1.0.78
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/cjs/index.js.map +1 -1
- package/build/cjs/index.typings.d.ts +5 -7
- package/build/cjs/index.typings.js.map +1 -1
- package/build/cjs/meta.d.ts +5 -7
- package/build/cjs/meta.js.map +1 -1
- package/build/es/index.mjs.map +1 -1
- package/build/es/index.typings.d.mts +5 -7
- package/build/es/index.typings.mjs.map +1 -1
- package/build/es/meta.d.mts +5 -7
- package/build/es/meta.mjs.map +1 -1
- package/build/internal/cjs/index.js.map +1 -1
- package/build/internal/cjs/index.typings.d.ts +5 -7
- package/build/internal/cjs/index.typings.js.map +1 -1
- package/build/internal/cjs/meta.d.ts +5 -7
- package/build/internal/cjs/meta.js.map +1 -1
- package/build/internal/es/index.mjs.map +1 -1
- package/build/internal/es/index.typings.d.mts +5 -7
- package/build/internal/es/index.typings.mjs.map +1 -1
- package/build/internal/es/meta.d.mts +5 -7
- package/build/internal/es/meta.mjs.map +1 -1
- package/package.json +3 -3
package/build/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../index.ts","../../src/bookings-reader-v2-extended-booking-extended-bookings.universal.ts","../../src/bookings-reader-v2-extended-booking-extended-bookings.http.ts","../../src/bookings-reader-v2-extended-booking-extended-bookings.public.ts","../../src/bookings-reader-v2-extended-booking-extended-bookings.context.ts"],"sourcesContent":["export * from './src/bookings-reader-v2-extended-booking-extended-bookings.context.js';\n","import { transformError as sdkTransformError } from '@wix/sdk-runtime/transform-error';\nimport {\n renameKeysFromSDKRequestToRESTRequest,\n renameKeysFromRESTResponseToSDKResponse,\n} from '@wix/sdk-runtime/rename-all-nested-keys';\nimport { HttpClient, NonNullablePaths } from '@wix/sdk-types';\nimport * as ambassadorWixBookingsReaderV2ExtendedBooking from './bookings-reader-v2-extended-booking-extended-bookings.http.js';\n\n/** Extended bookings. */\nexport interface ExtendedBooking {\n /** Booking. */\n booking?: Booking;\n /**\n * Information about the actions the customer can perform for the\n * booking. Available only when you've specified `withBookingAllowedActions` as\n * `true`.\n */\n allowedActions?: AllowedActions;\n /**\n * Information about the attendance. Available only when passing\n * `withBookingAttendanceInfo` as `true`.\n */\n attendance?: Attendance;\n /**\n * Information about the online conferencing details. Available only when passing\n * `withBookingConferencingDetails` as `true`.\n */\n conferencingDetails?: ConferencingDetails;\n /**\n * Information about the booking's policy settings according to the relevant\n * booking policy snapshot.\n *\n * Available only when you've specified `withBookingPolicySettings` as `true`.\n */\n bookingPolicySettings?: BookingPolicySettings;\n /**\n * Information about [booking fee](https://dev.wix.com/docs/api-reference/business-solutions/bookings/pricing/booking-fees/introduction)\n * statuses. Available only if you've specified\n * `withBookingFeeDetails` as `true`.\n *\n * Only details for fees that have already been applied to a booking are\n * returned. No details are provided for the following scenarios:\n * - Hypothetical fees related to a potential future cancellation by the customer.\n * - Scenarios where the booking has been canceled before the start of the earliest cancellation window that includes a penalty.\n *\n * To retrieve hypothetical booking fees, call [List Booking Fees By Booking Ids](https://dev.wix.com/docs/api-reference/business-solutions/bookings/pricing/booking-fees/list-booking-fees-by-booking-ids)\n * instead.\n */\n bookingFeeDetails?: BookingFeeDetails;\n /**\n * Information about the booking order.\n * Available only when specified `withEcomOrder` as `true`.\n */\n order?: Order;\n /**\n * Information about the booking waiver.\n * Available only when specified `withWaiver` as `true`.\n */\n waiver?: Waiver;\n /**\n * Information about the booking order transactions.\n * Available only when specified `withEcomTransactions` as `true`.\n */\n transactions?: OrderTransactions;\n /**\n * Information about the booking form submission.\n * Available only when specified `withFormSubmissions` as `true`.\n * @maxSize 100\n */\n formSubmissions?: FormSubmission[];\n}\n\nexport enum AttendanceStatus {\n /** There is no available attendance information. */\n NOT_SET = 'NOT_SET',\n /** At least a single participant attended the session. */\n ATTENDED = 'ATTENDED',\n /** No participants attended the session. */\n NOT_ATTENDED = 'NOT_ATTENDED',\n}\n\n/** @enumType */\nexport type AttendanceStatusWithLiterals =\n | AttendanceStatus\n | 'NOT_SET'\n | 'ATTENDED'\n | 'NOT_ATTENDED';\n\n/** An entity representing a scheduled appointment, class session, or course. */\nexport interface Booking extends BookingParticipantsInfoOneOf {\n /**\n * Total number of participants.\n * When creating a booking, use this field only if the relevant service has fixed pricing and doesn't offer [variants and options](https://dev.wix.com/docs/rest/business-solutions/bookings/services/service-options-and-variants/introduction).\n * @min 1\n */\n totalParticipants?: number;\n /**\n * Information about the booked service choices and participant count for each choice.\n * When creating a booking, use this field only if the booking includes multiple [service variants](https://dev.wix.com/docs/rest/business-solutions/bookings/services/service-options-and-variants/introduction).\n *\n * For example, use this for a spa package booking that includes different service levels:\n * - 2 participants chose \"Standard Package\".\n * - 1 participant chose \"VIP Package\".\n */\n participantsChoices?: ParticipantChoices;\n /**\n * Booking ID.\n * @format GUID\n * @readonly\n */\n _id?: string | null;\n /**\n * An object describing the bookable entity - either a specific time slot or a recurring schedule.\n *\n * The structure depends on the type of service being booked:\n *\n * __For appointment services__: Use `slot` to book a specific time slot with a\n * service provider. Appointments are typically one-time sessions at a specific date and time.\n *\n * __For class services__: Use `slot` to book a specific class session. Classes\n * are individual sessions that can have multiple participants.\n *\n * __For course services__: Use `schedule` to book an entire course consisting of\n * multiple sessions over time. Courses are recurring, multi-session offerings.\n *\n * Choose the appropriate field based on your service type and booking requirements.\n */\n bookedEntity?: BookedEntity;\n /**\n * Contact details of the site visitor or [member](https://dev.wix.com/docs/api-reference/crm/members-contacts/members/members/introduction))\n * making the booking.\n */\n contactDetails?: ContactDetails;\n /**\n * Additional custom fields submitted with the booking form.\n * Deprecated due to Bookings integrating with Wix Forms.\n * You can call Wix Forms' [Get Submission](https://dev.wix.com/docs/api-reference/crm/forms/form-submissions/get-submission) specifying `formSubmissionId` as the `id` to get the submitted booking form data.\n * Read more about the [Bookings Forms integration](https://dev.wix.com/docs/api-reference/business-solutions/bookings/wix-forms-integration).\n * @deprecated Additional custom fields submitted with the booking form.\n * Deprecated due to Bookings integrating with Wix Forms.\n * You can call Wix Forms' [Get Submission](https://dev.wix.com/docs/api-reference/crm/forms/form-submissions/get-submission) specifying `formSubmissionId` as the `id` to get the submitted booking form data.\n * Read more about the [Bookings Forms integration](https://dev.wix.com/docs/api-reference/business-solutions/bookings/wix-forms-integration).\n * @replacedBy form_submission_id\n * @targetRemovalDate 2026-03-31\n */\n additionalFields?: CustomFormField[];\n /**\n * Booking status. A booking is automatically confirmed if the service allows it\n * and an eCommerce order is created. It is automatically declined if there is a\n * double booking and the customer hasn't paid or is eligible for an automatic\n * refund. Currently, only payments with pricing plans are automatically refundable.\n */\n status?: BookingStatusWithLiterals;\n /**\n * The payment status of the booking. This field automatically syncs with the\n * `paymentStatus` of the corresponding [eCommerce order](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/orders/introduction)\n * when customers use Wix eCommerce checkout.\n *\n * ### Integration patterns\n *\n * __When using Wix eCommerce checkout__: Wix Bookings automatically syncs the payment status based on the eCommerce order's payment status.\n * Do not manually update this field.\n *\n * __When using custom payment flows__: You can manually update the payment status with [Confirm Booking or Decline Booking](https://dev.wix.com/docs/api-reference/business-solutions/bookings/bookings/bookings-writer-v2/confirm-or-decline-booking) to reflect the customer's payment state.\n *\n * __For membership/pricing plan payments__: Wix Bookings automatically manages the payment status when customers pay with an active [pricing plan](https://dev.wix.com/docs/api-reference/business-solutions/pricing-plans/pricing-plans/introduction) subscription.\n *\n * All payment statuses are supported for every booking `status`.\n */\n paymentStatus?: PaymentStatusWithLiterals;\n /**\n * 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](https://dev.wix.com/docs/api-reference/business-solutions/bookings/services/services-v2/introduction), unless `skipSelectedPaymentOptionValidation` is `true`.\n *\n * When the customer pays with a [Wix eCommerce checkout](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/checkout/introduction), this field is required.\n * Otherwise, the Create Booking call fails.\n * For custom checkouts, you don't have to specify this field.\n */\n selectedPaymentOption?: SelectedPaymentOptionWithLiterals;\n /**\n * Date and time the booking was created in `YYYY-MM-DDThh:mm:ss.sssZ` format.\n * @readonly\n */\n _createdDate?: Date | null;\n /** External user ID that you can provide. */\n externalUserId?: string | null;\n /**\n * Revision number to be used when updating, rescheduling, or cancelling the booking.\n * 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.\n */\n revision?: string | null;\n /**\n * ID of the creator of the booking.\n * If `appId` and another ID are present, the other ID takes precedence.\n * @readonly\n */\n createdBy?: IdentificationData;\n /**\n * The start date of the booking in `YYYY-MM-DDThh:mm:ss.sssZ` format.\n * For a slot, this is the start date of the slot. For a schedule, this is the start date of the first session.\n * @readonly\n */\n startDate?: Date | null;\n /**\n * The end date of the booking in `YYYY-MM-DDThh:mm:ss.sssZ` format.\n * For a slot, this is the end date of the slot. For a schedule, this is the end date of the last session.\n * @readonly\n */\n endDate?: Date | null;\n /**\n * Date and time the booking was updated in `YYYY-MM-DDThh:mm:ss.sssZ` format.\n * @readonly\n */\n _updatedDate?: Date | null;\n /**\n * Custom field data for this object.\n * Extended fields must be configured in the app dashboard before they can be accessed with API calls.\n */\n extendedFields?: ExtendedFields;\n /**\n * Whether this booking overlaps with another confirmed booking. Returned\n * only if set to `true`.\n * @readonly\n */\n doubleBooked?: boolean | null;\n /**\n * ID of the [form submission](https://dev.wix.com/docs/rest/crm/forms/form-submissions/introduction)\n * associated with this booking.\n * @format GUID\n */\n formSubmissionId?: string | null;\n /**\n * ID of the [form](https://dev.wix.com/docs/rest/crm/forms/form-schemas/form-object)\n * associated with this booking. The value depends on how the\n * booking was created:\n * - For bookings created with Create Booking or Bulk Create Booking, `formId`\n * is identical to ID of the booking form that's associated with the relevant\n * service.\n * - For bookings created via Create Multi Service Booking, `formId` is set to\n * `00000000-0000-0000-0000-000000000000` (the default booking form ID).\n * @format GUID\n * @readonly\n */\n formId?: string | null;\n /**\n * List of [add-ons](https://dev.wix.com/docs/api-reference/business-solutions/bookings/services/add-ons/introduction) associated with the booking.\n * @maxSize 21\n */\n bookedAddOns?: BookedAddOn[];\n}\n\n/** @oneof */\nexport interface BookingParticipantsInfoOneOf {\n /**\n * Total number of participants.\n * When creating a booking, use this field only if the relevant service has fixed pricing and doesn't offer [variants and options](https://dev.wix.com/docs/rest/business-solutions/bookings/services/service-options-and-variants/introduction).\n * @min 1\n */\n totalParticipants?: number;\n /**\n * Information about the booked service choices and participant count for each choice.\n * When creating a booking, use this field only if the booking includes multiple [service variants](https://dev.wix.com/docs/rest/business-solutions/bookings/services/service-options-and-variants/introduction).\n *\n * For example, use this for a spa package booking that includes different service levels:\n * - 2 participants chose \"Standard Package\".\n * - 1 participant chose \"VIP Package\".\n */\n participantsChoices?: ParticipantChoices;\n}\n\n/**\n * A multi-service booking is considered available if all single-service bookings are available as returned from List Multi Service Availability Time Slots.\n * Currently, `SEPARATE_BOOKINGS` and `PARALLEL_BOOKINGS` are not supported.\n * Multi-service booking is available if each of its bookings is available separately.\n * For `SEQUENTIAL_BOOKINGS`, see `List Multi Service Availability Time Slots` documentation.\n */\nexport enum MultiServiceBookingType {\n /** You must schedule single-service bookings back-to-back with each booking starting when the previous booking ends */\n SEQUENTIAL_BOOKINGS = 'SEQUENTIAL_BOOKINGS',\n /** Not currently supported. */\n SEPARATE_BOOKINGS = 'SEPARATE_BOOKINGS',\n /** Not currently supported. */\n PARALLEL_BOOKINGS = 'PARALLEL_BOOKINGS',\n}\n\n/** @enumType */\nexport type MultiServiceBookingTypeWithLiterals =\n | MultiServiceBookingType\n | 'SEQUENTIAL_BOOKINGS'\n | 'SEPARATE_BOOKINGS'\n | 'PARALLEL_BOOKINGS';\n\nexport interface BookedEntity extends BookedEntityItemOneOf {\n /**\n * [Booked slot](https://dev.wix.com/docs/rest/business-solutions/bookings/bookings-and-time-slots/time-slots/availability-calendar/query-availability).\n *\n * Specify `slot` when creating bookings for:\n * - __Appointment-based services__: Individual sessions with service providers (consultations, treatments).\n * Wix Bookings creates a new session when the booking is confirmed.\n * - __Class services__: Group sessions at specific times (fitness classes, workshops).\n * Wix Bookings links the booking to an existing scheduled session.\n *\n * For course services, specify `schedule` instead of `slot`.\n */\n slot?: BookedSlot;\n /**\n * [Booked schedule](https://dev.wix.com/docs/rest/business-management/calendar/schedules-v3/introduction).\n *\n * Specify `schedule` when creating bookings for:\n * - __Course services__: Multi-session offerings spanning weeks or months (educational courses, training programs).\n * Wix Bookings enrolls participants in all sessions defined by the course schedule.\n */\n schedule?: BookedSchedule;\n /**\n * Session title at the time of booking. If there is no pre-existing session,\n * for example for appointment-based services, Wix Bookings sets `title` to the service name.\n * @readonly\n * @maxLength 6000\n */\n title?: string | null;\n /**\n * List of tags for the booking.\n *\n * - \"INDIVIDUAL\": For bookings of appointment-based services. Including when the appointment is for a group of participants.\n * - \"GROUP\": For bookings of individual class sessions.\n * - \"COURSE\": For course bookings.\n */\n tags?: string[] | null;\n}\n\n/** @oneof */\nexport interface BookedEntityItemOneOf {\n /**\n * [Booked slot](https://dev.wix.com/docs/rest/business-solutions/bookings/bookings-and-time-slots/time-slots/availability-calendar/query-availability).\n *\n * Specify `slot` when creating bookings for:\n * - __Appointment-based services__: Individual sessions with service providers (consultations, treatments).\n * Wix Bookings creates a new session when the booking is confirmed.\n * - __Class services__: Group sessions at specific times (fitness classes, workshops).\n * Wix Bookings links the booking to an existing scheduled session.\n *\n * For course services, specify `schedule` instead of `slot`.\n */\n slot?: BookedSlot;\n /**\n * [Booked schedule](https://dev.wix.com/docs/rest/business-management/calendar/schedules-v3/introduction).\n *\n * Specify `schedule` when creating bookings for:\n * - __Course services__: Multi-session offerings spanning weeks or months (educational courses, training programs).\n * Wix Bookings enrolls participants in all sessions defined by the course schedule.\n */\n schedule?: BookedSchedule;\n}\n\nexport interface BookedSlot {\n /**\n * Session ID. For class bookings, this is the ID of the existing session.\n * For appointment bookings, this field is typically empty during booking creation and gets populated when the booking is confirmed.\n *\n * __Migration Guidance__: Replace usage of this field with `eventId` from the [Time Slots V2 API](https://dev.wix.com/docs/api-reference/business-solutions/bookings/time-slots/time-slots-v2/introduction).\n * You can follow [these sample flows](https://dev.wix.com/docs/api-reference/business-solutions/bookings/end-to-end-booking-flows) for step-by-step guidance about determining availability and creating bookings.\n * @deprecated Session ID. For class bookings, this is the ID of the existing session.\n * For appointment bookings, this field is typically empty during booking creation and gets populated when the booking is confirmed.\n *\n * __Migration Guidance__: Replace usage of this field with `eventId` from the [Time Slots V2 API](https://dev.wix.com/docs/api-reference/business-solutions/bookings/time-slots/time-slots-v2/introduction).\n * You can follow [these sample flows](https://dev.wix.com/docs/api-reference/business-solutions/bookings/end-to-end-booking-flows) for step-by-step guidance about determining availability and creating bookings.\n * @replacedBy event_id\n * @targetRemovalDate 2026-03-31\n */\n sessionId?: string | null;\n /** Service ID. */\n serviceId?: string;\n /** Schedule ID. */\n scheduleId?: string;\n /**\n * ID of the corresponding [event](https://dev.wix.com/docs/rest/business-management/calendar/events-v3/introduction).\n * Available for both appointment and class bookings, not available for course bookings.\n * For appointment-based services, Wix Bookings automatically populates `eventId` when the booking `status` changes to `CONFIRMED`.\n * For class bookings, Wix Bookings automatically populates `eventId` upon booking creation.\n * @minLength 36\n * @maxLength 250\n */\n eventId?: string | null;\n /** The start time of this slot in `YYYY-MM-DDThh:mm:ss`, `YYYY-MM-DDThh:mm:ss:SSS`, or `YYYY-MM-DDThh:mm:ss:SSSZZ` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601). For example, `2026-01-30T13:30:00`, `2026-01-30T13:30:00:000`, or `2026-01-30T13:30:00:000-05:00`. */\n startDate?: string | null;\n /** The end time of this slot in `YYYY-MM-DDThh:mm:ss`, `YYYY-MM-DDThh:mm:ss:SSS`, or `YYYY-MM-DDThh:mm:ss:SSSZZ` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601). For example, `2026-01-30T13:30:00`, `2026-01-30T13:30:00:000`, or `2026-01-30T13:30:00:000-05:00`. */\n endDate?: string | null;\n /**\n * Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database).\n * For example, `America/New_York` or `UTC`. This is the time zone in which the slot was shown to the customer at the time of booking. Wix Bookings ensures that the slot is always displayed in this same time zone to the customer, including when they view or edit their booking in the future.\n */\n timezone?: string | null;\n /**\n * [Primary resource](https://dev.wix.com/docs/rest/business-solutions/bookings/resources/resources-v2/introduction) for the booking.\n * For example, the [staff member](https://dev.wix.com/docs/rest/business-solutions/bookings/staff-members/introduction) providing the service.\n */\n resource?: BookedResource;\n /** Location where the session takes place. */\n location?: Location;\n /**\n * How the customer has selected resources for the booking. Each resource type may have a different selection method. Check `resource` for resource details.\n *\n * Supported values:\n * - `SPECIFIC_RESOURCE`: The customer explicitly chose a particular staff member or resource.\n * - `ANY_RESOURCE`: The customer chose any available resource of that type.\n * - `NO_SELECTION`: The customer made no selection for this resource type.\n * @internal\n * @maxSize 3\n */\n resourceSelections?: ResourceSelection[];\n}\n\nexport interface BookedResource {\n /**\n * ID of the booking's primary resource.\n * @format GUID\n */\n _id?: string;\n /**\n * Resource's name at the time of booking.\n * @maxLength 40\n */\n name?: string | null;\n /**\n * Resource's email at the time of booking.\n * @maxLength 500\n */\n email?: string | null;\n /**\n * ID of the schedule belonging to the booking's primary resource.\n * @format GUID\n */\n scheduleId?: string | null;\n}\n\nexport interface Location {\n /**\n * Business location ID. Available only for locations that are business locations,\n * meaning the `location_type` is `\"OWNER_BUSINESS\"`.\n * @format GUID\n */\n _id?: string | null;\n /** Location name. */\n name?: string | null;\n /** The full address of this location. */\n formattedAddress?: string | null;\n /**\n * The full translated address of this location.\n * @maxLength 512\n */\n formattedAddressTranslated?: string | null;\n /**\n * Location type.\n *\n * - `\"OWNER_BUSINESS\"`: The business address, as set in the site’s general settings.\n * - `\"OWNER_CUSTOM\"`: The address as set when creating the service.\n * - `\"CUSTOM\"`: The address as set for the individual session.\n */\n locationType?: LocationTypeWithLiterals;\n}\n\nexport enum LocationType {\n UNDEFINED = 'UNDEFINED',\n OWNER_BUSINESS = 'OWNER_BUSINESS',\n OWNER_CUSTOM = 'OWNER_CUSTOM',\n CUSTOM = 'CUSTOM',\n}\n\n/** @enumType */\nexport type LocationTypeWithLiterals =\n | LocationType\n | 'UNDEFINED'\n | 'OWNER_BUSINESS'\n | 'OWNER_CUSTOM'\n | 'CUSTOM';\n\n/** TODO: should we import it from services-2? */\nexport interface PhoneCall {\n /** Whether the service is delivered via phone call. */\n enabled?: boolean | null;\n}\n\nexport interface ResourceSelection {\n /**\n * Resource type.\n * @format GUID\n */\n resourceTypeId?: string | null;\n /** Selection method. */\n selectionMethod?: SelectionMethodWithLiterals;\n}\n\nexport enum SelectionMethod {\n UNKNOWN_SELECTION_METHOD = 'UNKNOWN_SELECTION_METHOD',\n /** client picked resource id */\n SPECIFIC_RESOURCE = 'SPECIFIC_RESOURCE',\n /** client explicitly asked for \"any\" */\n ANY_RESOURCE = 'ANY_RESOURCE',\n /** client provided nothing */\n NO_SELECTION = 'NO_SELECTION',\n}\n\n/** @enumType */\nexport type SelectionMethodWithLiterals =\n | SelectionMethod\n | 'UNKNOWN_SELECTION_METHOD'\n | 'SPECIFIC_RESOURCE'\n | 'ANY_RESOURCE'\n | 'NO_SELECTION';\n\nexport interface BookedSchedule {\n /** [Schedule ID](https://dev.wix.com/docs/rest/business-management/calendar/schedules-v3/introduction). */\n scheduleId?: string;\n /**\n * Booked service ID.\n * @format GUID\n */\n serviceId?: string | null;\n /**\n * [Location](https://dev.wix.com/docs/rest/business-management/locations/introduction) where the schedule's sessions take place.\n * @readonly\n */\n location?: Location;\n /**\n * Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database).\n * For example, `America/New_York` or `UTC`. This is the time zone in which the schedule was shown to the customer at the time of booking. Wix Bookings ensures that the schedule is always displayed in this same time zone to the customer, including when they view or edit their booking in the future.\n */\n timezone?: string | null;\n /**\n * Start time of the first session related to the booking in `YYYY-MM-DDThh:mm:ss`, `YYYY-MM-DDThh:mm:ss:SSS`, or `YYYY-MM-DDThh:mm:ss:SSSZZ` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601). For example, `2026-01-30T13:30:00`, `2026-01-30T13:30:00:000`, or `2026-01-30T13:30:00:000-05:00`.\n * @readonly\n */\n firstSessionStart?: string | null;\n /**\n * End time of the last session related to the booking in `YYYY-MM-DDThh:mm:ss`, `YYYY-MM-DDThh:mm:ss:SSS`, or `YYYY-MM-DDThh:mm:ss:SSSZZ` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601). For example, `2026-01-30T13:30:00`, `2026-01-30T13:30:00:000`, or `2026-01-30T13:30:00:000-05:00`.\n * @readonly\n */\n lastSessionEnd?: string | null;\n}\n\nexport interface ContactDetails {\n /**\n * Contact ID.\n * @format GUID\n */\n contactId?: string | null;\n /**\n * Contact's first name. When populated from a standard booking form, this\n * property corresponds to the `name` field.\n */\n firstName?: string | null;\n /** Contact's last name. */\n lastName?: string | null;\n /**\n * Contact's email. If no [contact](https://dev.wix.com/docs/rest/crm/members-contacts/contacts/contacts/contact-v4/contact-object)\n * with this email exist, a new contact is created.\n * Used to validate coupon usage limitations per contact. If not specified,\n * the coupon usage limitation will not be enforced. (Coupon usage limitation\n * validation is not supported yet).\n * @format EMAIL\n */\n email?: string | null;\n /** Contact's phone number. */\n phone?: string | null;\n /** Contact's full address. */\n fullAddress?: Address;\n /**\n * Contact's time zone.\n * @deprecated\n */\n timeZone?: string | null;\n /**\n * Contact's country in [ISO 3166-1 alpha-2 code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)\n * format.\n * @format COUNTRY\n */\n countryCode?: string | null;\n}\n\n/** Physical address */\nexport interface Address extends AddressStreetOneOf {\n /** Street name, number and apartment number. */\n streetAddress?: StreetAddress;\n /** Main address line, usually street and number, as free text. */\n addressLine?: string | null;\n /**\n * Country code.\n * @format COUNTRY\n */\n country?: string | null;\n /** Subdivision. Usually state, region, prefecture or province code, according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2). */\n subdivision?: string | null;\n /** City name. */\n city?: string | null;\n /** Zip/postal code. */\n postalCode?: string | null;\n /** Free text providing more detailed address info. Usually contains Apt, Suite, and Floor. */\n addressLine2?: string | null;\n /** A string containing the full address of this location. */\n formattedAddress?: string | null;\n /** Free text to help find the address. */\n hint?: string | null;\n /** Coordinates of the physical address. */\n geocode?: AddressLocation;\n /** Country full name. */\n countryFullname?: string | null;\n /** Multi-level subdivisions from top to bottom. */\n subdivisions?: Subdivision[];\n}\n\n/** @oneof */\nexport interface AddressStreetOneOf {\n /** Street name, number and apartment number. */\n streetAddress?: StreetAddress;\n /** Main address line, usually street and number, as free text. */\n addressLine?: string | null;\n}\n\nexport interface StreetAddress {\n /** Street number. */\n number?: string;\n /** Street name. */\n name?: string;\n /** Apartment number. */\n apt?: string;\n}\n\nexport interface AddressLocation {\n /** Address latitude. */\n latitude?: number | null;\n /** Address longitude. */\n longitude?: number | null;\n}\n\nexport interface Subdivision {\n /** Subdivision code. Usually state, region, prefecture or province code, according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2). */\n code?: string;\n /** Subdivision full name. */\n name?: string;\n}\n\nexport interface CustomFormField {\n /**\n * ID of the form field as defined in the form.\n * @format GUID\n */\n _id?: string;\n /** Value that was submitted for this field. */\n value?: string | null;\n /**\n * Form field's label at the time of submission.\n * @readonly\n */\n label?: string | null;\n valueType?: ValueTypeWithLiterals;\n}\n\nexport enum ValueType {\n /** Short text. This is the default value type. */\n SHORT_TEXT = 'SHORT_TEXT',\n /** Long text. */\n LONG_TEXT = 'LONG_TEXT',\n /** A text that represents the check box value. If selected the value is `true`, otherwise `false`. */\n CHECK_BOX = 'CHECK_BOX',\n}\n\n/** @enumType */\nexport type ValueTypeWithLiterals =\n | ValueType\n | 'SHORT_TEXT'\n | 'LONG_TEXT'\n | 'CHECK_BOX';\n\n/** Booking status. */\nexport enum BookingStatus {\n /** The booking was created, but the customer hasn't completed the related eCommerce order yet. */\n CREATED = 'CREATED',\n /** The merchant has confirmed the booking and it appears in the business calendar. Merchants can set up their [services](https://dev.wix.com/docs/rest/business-solutions/bookings/services/services-v2/introduction) to automatically confirm all `PENDING` bookings. */\n CONFIRMED = 'CONFIRMED',\n /**\n * The customer has canceled the booking. Depending on the relevant service's [policy snapshot](https://dev.wix.com/docs/rest/business-solutions/bookings/policies/booking-policy-snapshots/introduction)\n * they may have to pay a [cancellation fee](https://dev.wix.com/docs/rest/business-solutions/bookings/pricing/booking-fees/introduction).\n */\n CANCELED = 'CANCELED',\n /** The merchant must manually confirm the booking before it appears in the business calendar. */\n PENDING = 'PENDING',\n /** The merchant has declined the booking before the customer was charged. */\n DECLINED = 'DECLINED',\n /** Currently, you can't call [Register to Waitlist](https://dev.wix.com/docs/rest/business-solutions/bookings/bookings/waitlist/register-to-waitlist) for course or appointment bookings, even though this is supported in live sites. */\n WAITING_LIST = 'WAITING_LIST',\n}\n\n/** @enumType */\nexport type BookingStatusWithLiterals =\n | BookingStatus\n | 'CREATED'\n | 'CONFIRMED'\n | 'CANCELED'\n | 'PENDING'\n | 'DECLINED'\n | 'WAITING_LIST';\n\n/**\n * Payment status.\n * Automatically updated when using eCommerce checkout APIs.\n */\nexport enum PaymentStatus {\n /** Undefined payment status. */\n UNDEFINED = 'UNDEFINED',\n /** The booking isn't paid. */\n NOT_PAID = 'NOT_PAID',\n /** The booking is fully paid. */\n PAID = 'PAID',\n /** The booking is partially paid. */\n PARTIALLY_PAID = 'PARTIALLY_PAID',\n /** The booking is refunded. */\n REFUNDED = 'REFUNDED',\n /** The booking is free of charge. */\n EXEMPT = 'EXEMPT',\n}\n\n/** @enumType */\nexport type PaymentStatusWithLiterals =\n | PaymentStatus\n | 'UNDEFINED'\n | 'NOT_PAID'\n | 'PAID'\n | 'PARTIALLY_PAID'\n | 'REFUNDED'\n | 'EXEMPT';\n\n/**\n * Selected payment option.\n *\n * One of the payment options offered by the service.\n * This field is set when the user selects an option during booking.\n * If left undefined, the payment option is resolved by the service configuration on checkout.\n */\nexport enum SelectedPaymentOption {\n /** Undefined payment option. */\n UNDEFINED = 'UNDEFINED',\n /** Offline payment. */\n OFFLINE = 'OFFLINE',\n /** Online payment. */\n ONLINE = 'ONLINE',\n /** Payment using a Wix Pricing Plan. */\n MEMBERSHIP = 'MEMBERSHIP',\n /**\n * Customers can pay only in person with a Wix Pricing Plan, while the Wix user\n * must manually redeem the pricing plan in the dashboard.\n */\n MEMBERSHIP_OFFLINE = 'MEMBERSHIP_OFFLINE',\n}\n\n/** @enumType */\nexport type SelectedPaymentOptionWithLiterals =\n | SelectedPaymentOption\n | 'UNDEFINED'\n | 'OFFLINE'\n | 'ONLINE'\n | 'MEMBERSHIP'\n | 'MEMBERSHIP_OFFLINE';\n\nexport interface BookingSource {\n /** Platform from which a booking was created. */\n platform?: PlatformWithLiterals;\n /** Actor that created this booking. */\n actor?: ActorWithLiterals;\n /**\n * Wix site ID of the application that created the booking.\n * @format GUID\n * @readonly\n */\n appDefId?: string | null;\n /**\n * Name of the application that created the booking, as saved in Wix Developers Center at the time of booking.\n * @readonly\n */\n appName?: string | null;\n}\n\nexport enum Platform {\n UNDEFINED_PLATFORM = 'UNDEFINED_PLATFORM',\n WEB = 'WEB',\n MOBILE_APP = 'MOBILE_APP',\n}\n\n/** @enumType */\nexport type PlatformWithLiterals =\n | Platform\n | 'UNDEFINED_PLATFORM'\n | 'WEB'\n | 'MOBILE_APP';\n\nexport enum Actor {\n UNDEFINED_ACTOR = 'UNDEFINED_ACTOR',\n BUSINESS = 'BUSINESS',\n CUSTOMER = 'CUSTOMER',\n}\n\n/** @enumType */\nexport type ActorWithLiterals =\n | Actor\n | 'UNDEFINED_ACTOR'\n | 'BUSINESS'\n | 'CUSTOMER';\n\nexport interface ParticipantNotification {\n /**\n * Whether to send a message about the changes to the customer.\n *\n * Default: `false`\n */\n notifyParticipants?: boolean;\n /** Custom message to send to the participants about the changes to the booking. */\n message?: string | null;\n}\n\nexport interface IdentificationData extends IdentificationDataIdOneOf {\n /**\n * ID of a site visitor that has not logged in to the site.\n * @format GUID\n */\n anonymousVisitorId?: string;\n /**\n * ID of a site visitor that has logged in to the site.\n * @format GUID\n */\n memberId?: string;\n /**\n * ID of a Wix user (site owner, contributor, etc.).\n * @format GUID\n */\n wixUserId?: string;\n /**\n * ID of an app.\n * @format GUID\n */\n appId?: string;\n /**\n * ID of of a contact in the site's [CRM by Ascend](https://www.wix.com/ascend/crm) system.\n * @format GUID\n */\n contactId?: string | null;\n}\n\n/** @oneof */\nexport interface IdentificationDataIdOneOf {\n /**\n * ID of a site visitor that has not logged in to the site.\n * @format GUID\n */\n anonymousVisitorId?: string;\n /**\n * ID of a site visitor that has logged in to the site.\n * @format GUID\n */\n memberId?: string;\n /**\n * ID of a Wix user (site owner, contributor, etc.).\n * @format GUID\n */\n wixUserId?: string;\n /**\n * ID of an app.\n * @format GUID\n */\n appId?: string;\n}\n\nexport enum IdentityType {\n UNKNOWN = 'UNKNOWN',\n ANONYMOUS_VISITOR = 'ANONYMOUS_VISITOR',\n MEMBER = 'MEMBER',\n WIX_USER = 'WIX_USER',\n APP = 'APP',\n}\n\n/** @enumType */\nexport type IdentityTypeWithLiterals =\n | IdentityType\n | 'UNKNOWN'\n | 'ANONYMOUS_VISITOR'\n | 'MEMBER'\n | 'WIX_USER'\n | 'APP';\n\n/**\n * Settings that control booking flow behavior and override default business rules.\n *\n * These settings allow administrators to bypass standard validation checks\n * and policies when creating, confirming, rescheduling, or canceling bookings.\n * Most settings require elevated permissions to use.\n *\n * Use flow control settings to handle special scenarios like:\n * - Emergency bookings outside normal business hours\n * - Admin-initiated bookings that bypass availability checks\n * - Custom payment flows that don't use standard eCommerce checkout\n * - Overriding cancellation or rescheduling policies in exceptional cases\n */\nexport interface FlowControlSettings {\n /** Whether availability is checked when creating or confirming the booking. */\n skipAvailabilityValidation?: boolean;\n /**\n * Whether the booking's `status` is automatically updated to `CONFIRMED` when\n * the customer completes the [eCommerce checkout](https://dev.wix.com/docs/rest/business-solutions/e-commerce/checkout/introduction),\n * regardless of whether the relevant service requires manual business confirmation.\n */\n skipBusinessConfirmation?: boolean;\n /**\n * Whether the customer is allowed to pay with a payment method that isn't\n * supported for the relevant service.\n */\n skipSelectedPaymentOptionValidation?: boolean;\n /**\n * Whether the customer receives an automatic refund if there's a double booking\n * conflict. Only available if the customer has paid with a\n * pricing plan.\n */\n withRefund?: boolean | null;\n /**\n * Whether [add-on](https://dev.wix.com/docs/api-reference/business-solutions/bookings/services/add-ons/introduction) validations are skipped when creating a booking.\n * For example, customers can choose an add-on from an [add-on group](https://dev.wix.com/docs/api-reference/business-solutions/bookings/services/services-v2/about-add-on-groups) that's not associated with the service or choose more than the maximum number of different add-ons from a group.\n * The calling [identity](https://dev.wix.com/docs/build-apps/develop-your-app/access/about-identities) must have `BOOKINGS.MANAGE_ADDONS` permissions when specifying `true`.\n *\n * Default: `false`.\n */\n skipAddOnValidation?: boolean | null;\n}\n\nexport interface ExtendedFields {\n /**\n * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n * The value of each key is structured according to the schema defined when the extended fields were configured.\n *\n * You can only access fields for which you have the appropriate permissions.\n *\n * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n */\n namespaces?: Record<string, Record<string, any>>;\n}\n\nexport interface ParticipantChoices {\n /**\n * Information about the booked service choices. Includes the number of participants.\n * @minSize 1\n * @maxSize 20\n */\n serviceChoices?: ServiceChoices[];\n}\n\nexport interface ServiceChoices {\n /**\n * Number of participants for this [variant](https://dev.wix.com/docs/rest/business-solutions/bookings/services/service-options-and-variants/introduction).\n * @min 1\n */\n numberOfParticipants?: number | null;\n /**\n * Service choices for these participants.\n * @maxSize 5\n */\n choices?: ServiceChoice[];\n}\n\nexport interface ServiceChoice extends ServiceChoiceChoiceOneOf {\n /**\n * Value for one of the choices in the [`CustomServiceOption.choices`](https://example.com) list.\n * Choices are specific values for an option the customer can choose to book. For example,\n * the option `ageGroup` may have these choices: `child`, `student`, `adult`, and `senior`.\n * Each choice may have a different price.\n */\n custom?: string;\n duration?: Duration;\n /**\n * ID of the corresponding option for the choice. For example, the choice `child`\n * could correspond to the option `ageGroup`. In this case, `optionId` is the ID\n * for the `ageGroup` option.\n * @format GUID\n */\n optionId?: string;\n}\n\n/** @oneof */\nexport interface ServiceChoiceChoiceOneOf {\n /**\n * Value for one of the choices in the [`CustomServiceOption.choices`](https://example.com) list.\n * Choices are specific values for an option the customer can choose to book. For example,\n * the option `ageGroup` may have these choices: `child`, `student`, `adult`, and `senior`.\n * Each choice may have a different price.\n */\n custom?: string;\n duration?: Duration;\n}\n\nexport interface Duration {\n /**\n * Duration of the service in minutes.\n * Min: 1 minute, Max: 30 days, 23 hours, and 59 minutes\n * @min 1\n * @max 44639\n */\n minutes?: number;\n /**\n * Name of the duration option.\n * Defaults to the formatted duration e.g. \"1 hour, 30 minutes\".\n * @maxLength 255\n */\n name?: string | null;\n}\n\nexport interface MultiServiceBookingInfo {\n /**\n * Multi-service booking ID.\n * @format GUID\n * @readonly\n */\n _id?: string | null;\n /** Type of the multi-service booking. */\n type?: MultiServiceBookingTypeWithLiterals;\n}\n\nexport interface BookedAddOn {\n /**\n * The ID of the add-on.\n * @format GUID\n */\n _id?: string;\n /**\n * The ID of the add-on group.\n * @format GUID\n */\n groupId?: string;\n /**\n * The add-on duration in minutes at the time of booking.\n * @min 1\n * @max 1440\n * @readonly\n */\n durationInMinutes?: number | null;\n /**\n * The quantity of booked add-ons.\n * @min 1\n * @max 1000\n */\n quantity?: number | null;\n /**\n * Add-on `name` at the time of booking.\n * @maxLength 100\n * @readonly\n */\n name?: string | null;\n /**\n * Add-on name translated to the language the customer used during booking.\n * @maxLength 100\n * @readonly\n */\n nameTranslated?: string | null;\n}\n\n/** Possible allowed actions for a Booking */\nexport interface AllowedActions {\n /** Whether the customer is allowed to cancel the booking. */\n cancel?: boolean;\n /** Whether the customer is allowed to reschedule the booking. */\n reschedule?: boolean;\n /**\n * Deprecated.\n * Whether the customer is entitled to a refund when canceling the booking.\n * @deprecated\n */\n refund?: boolean | null;\n}\n\nexport interface Attendance {\n /**\n * ID of the attendance object.\n * @format GUID\n * @readonly\n */\n _id?: string | null;\n /** General information about the booking's attendance. */\n status?: AttendanceStatusWithLiterals;\n /**\n * Total number of participants who attended the session. Can\n * be greater than `1` for bookings with multiple participants.\n */\n numberOfAttendees?: number;\n}\n\nexport interface ConferencingDetails {\n /**\n * URL used by a guest to join the conference.\n * @minLength 1\n * @maxLength 2000\n */\n guestUrl?: string | null;\n /**\n * Conference password.\n * @minLength 1\n * @maxLength 100\n */\n password?: string | null;\n}\n\nexport interface BookingPolicySettings {\n /** Whether the booking has an active cancellation fee policy. */\n cancellationFeeEnabled?: boolean | null;\n}\n\nexport interface BookingFeeDetails {\n /** Cancellation fee status. */\n cancellationFeeStatus?: BookingFeeStatusWithLiterals;\n}\n\nexport enum BookingFeeStatus {\n /** There is no information about the booking fee status. */\n UNKNOWN_STATUS = 'UNKNOWN_STATUS',\n /** The booking fee hasn't been applied to the eCommerce order yet. */\n NOT_YET_APPLIED_TO_ORDER = 'NOT_YET_APPLIED_TO_ORDER',\n /** The booking fee has already been applied as an additional fee to the eCommerce order. */\n APPLIED_TO_ORDER = 'APPLIED_TO_ORDER',\n}\n\n/** @enumType */\nexport type BookingFeeStatusWithLiterals =\n | BookingFeeStatus\n | 'UNKNOWN_STATUS'\n | 'NOT_YET_APPLIED_TO_ORDER'\n | 'APPLIED_TO_ORDER';\n\nexport interface Order {\n /**\n * Order ID.\n * @format GUID\n */\n _id?: string | null;\n /** Order number displayed in the site owner's dashboard (auto-generated). */\n number?: string;\n /** Order status. */\n status?: OrderStatusWithLiterals;\n /** Order payment status. */\n paymentStatus?: PaymentStatusEnumPaymentStatusWithLiterals;\n /** Order’s total price after discounts and tax. */\n totalPrice?: Price;\n /** Line item price after line item discounts for display purposes. */\n bookingPrice?: Price;\n /** Line item price description. */\n bookingPriceDescription?: PriceDescription;\n /** Current amount left to pay. */\n balance?: Balance;\n /**\n * Currency used for the pricing of this order in [ISO-4217](https://en.wikipedia.org/wiki/ISO_4217#List_of_ISO_4217_currency_codes) format.\n * @format CURRENCY\n */\n currency?: string | null;\n}\n\nexport enum OrderStatus {\n /** Order created, but not yet approved or canceled. */\n INITIALIZED = 'INITIALIZED',\n /**\n * Order approved.\n *\n * This happens when either an online payment is received **or** when `order.priceSummary.total = 0` (a zero-total order).\n * Offline orders (cash payment) are automatically approved.\n */\n APPROVED = 'APPROVED',\n /** Order canceled by the user. */\n CANCELED = 'CANCELED',\n /**\n * Order pending.\n * @documentationMaturity preview\n */\n PENDING = 'PENDING',\n /**\n * Order rejected.\n *\n * This happens when pending payments fail.\n * @documentationMaturity preview\n */\n REJECTED = 'REJECTED',\n}\n\n/** @enumType */\nexport type OrderStatusWithLiterals =\n | OrderStatus\n | 'INITIALIZED'\n | 'APPROVED'\n | 'CANCELED'\n | 'PENDING'\n | 'REJECTED';\n\nexport enum PaymentStatusEnumPaymentStatus {\n UNSPECIFIED = 'UNSPECIFIED',\n /**\n * `NOT_PAID` can apply to an order made online, but not yet paid. In such cases `order.status` will be `INITIALIZED`.\n * This status also applies when an offline order needs to be manually marked as paid. In such cases `order.status` will be `APPROVED`.\n */\n NOT_PAID = 'NOT_PAID',\n /** All required payments associated with this order are paid. */\n PAID = 'PAID',\n /** Order partially refunded, but the refunded amount is less than the order's total price. See `order.balanceSummary` for more details. */\n PARTIALLY_REFUNDED = 'PARTIALLY_REFUNDED',\n /** Order fully refunded. Refund amount equals total price. See `order.balanceSummary` for more details. */\n FULLY_REFUNDED = 'FULLY_REFUNDED',\n /**\n * All payments pending.\n *\n * This can happen with two-step payments, when a payment requires manual review, or when a payment is in progress and will be concluded shortly.\n * Learn more about [pending orders](https://support.wix.com/en/article/pending-orders).\n */\n PENDING = 'PENDING',\n /** At least one payment received and approved, but it covers less than the order's total price. See `order.balanceSummary` for more details. */\n PARTIALLY_PAID = 'PARTIALLY_PAID',\n /**\n * Payment received, but not yet confirmed by the payment provider.\n *\n * In most cases, when a payment provider is holding payment it's because setup hasn't been successfully completed by the merchant/site owner.\n * To solve this, the merchant/site owner should log in to the payment provider's dashboard and make sure their account is set up correctly, or contact their support for further assistance.\n * @documentationMaturity preview\n */\n PENDING_MERCHANT = 'PENDING_MERCHANT',\n /**\n * One or more payments canceled.\n * @documentationMaturity preview\n */\n CANCELED = 'CANCELED',\n /**\n * One or more payments declined.\n * @documentationMaturity preview\n */\n DECLINED = 'DECLINED',\n}\n\n/** @enumType */\nexport type PaymentStatusEnumPaymentStatusWithLiterals =\n | PaymentStatusEnumPaymentStatus\n | 'UNSPECIFIED'\n | 'NOT_PAID'\n | 'PAID'\n | 'PARTIALLY_REFUNDED'\n | 'FULLY_REFUNDED'\n | 'PENDING'\n | 'PARTIALLY_PAID'\n | 'PENDING_MERCHANT'\n | 'CANCELED'\n | 'DECLINED';\n\nexport interface Price {\n /**\n * Amount.\n * @decimalValue options { gte:0, lte:1000000000000000, maxScale:2 }\n */\n amount?: string;\n /** Amount formatted with currency symbol. */\n formattedAmount?: string;\n}\n\nexport interface PriceDescription {\n /**\n * __Required.__ Price description in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\n * @minLength 1\n * @maxLength 100\n */\n original?: string;\n /**\n * Price description translated into the buyer's language.\n *\n * Default: Same as `original`.\n * @minLength 1\n * @maxLength 100\n */\n translated?: string | null;\n}\n\nexport interface Balance {\n /**\n * Balance amount.\n *\n * A negative `amount` represents the amount to be refunded. This can happen due to overcharging or the order being modified after a payment has been made.\n * @decimalValue options { gte:0, lte:1000000000000000, maxScale:2 }\n */\n amount?: string;\n /** Amount formatted with currency symbol. */\n formattedAmount?: string;\n}\n\nexport interface Waiver {\n /**\n * The ID of the waiver. This is a unique identifier for the waiver.\n * @format GUID\n */\n _id?: string | null;\n /**\n * The ID of the waiver template.\n * @format GUID\n */\n waiverTemplateId?: string | null;\n /**\n * The ID of the contact associated with the waiver.\n * @format GUID\n */\n contactId?: string | null;\n /** The status of the waiver. */\n status?: StatusWithLiterals;\n}\n\nexport enum Status {\n UNDEFINED = 'UNDEFINED',\n SIGNED = 'SIGNED',\n NOT_SIGNED = 'NOT_SIGNED',\n}\n\n/** @enumType */\nexport type StatusWithLiterals = Status | 'UNDEFINED' | 'SIGNED' | 'NOT_SIGNED';\n\nexport interface OrderTransactions {\n /** The charged not voided membership payment details of the booking line item made to the merchant. */\n chargedMembershipPaymentDetails?: MembershipPaymentDetails;\n /**\n * Sum of refund transactions amounts made to the buyer.\n * @decimalValue options { gte:0, lte:1000000000000000, maxScale:2 }\n */\n refundSumAmounts?: string | null;\n}\n\nexport interface MembershipPaymentDetails {\n /** Membership name. */\n name?: MembershipName;\n /** Membership expiration date. */\n expirationDate?: Date | null;\n /** Membership payment credits. */\n credits?: MembershipPaymentCredits;\n}\n\nexport interface MembershipName {\n /**\n * Membership name.\n * @maxLength 100\n */\n original?: string;\n /**\n * Translated membership name. Defaults to `original` when not provided.\n * @maxLength 100\n */\n translated?: string | null;\n}\n\nexport interface MembershipPaymentCredits {\n /**\n * Membership's total amount of credits.\n * @min 1\n */\n total?: number;\n /** Membership's remaining amount of credits. */\n remaining?: number;\n}\n\nexport interface FormSubmission {\n /**\n * Label of form field\n * @maxLength 500\n */\n label?: string | null;\n /**\n * Key of the submission, and target of a form field\n * @maxLength 200\n */\n key?: string;\n /**\n * Value of the submission, formatted as a string\n * @maxLength 500\n */\n value?: string;\n /**\n * Id of the form field\n * @format GUID\n */\n fieldId?: string;\n}\n\nexport interface QueryExtendedBookingRequest {\n /** Information about filters, paging, and sorting. */\n query: QueryV2;\n /** Whether information about which actions the customer can perform for the bookings is returned. */\n withBookingAllowedActions?: boolean;\n /** Whether information about the attendance for the bookings is returned. */\n withBookingAttendanceInfo?: boolean;\n /**\n * Filters the retrieved bookings by the booking ID that corresponds to the\n * specified `sessionId`.\n *\n * The `booking.id` is calculated by calling Get Session and saving the returned\n * values for `participants.Id`.\n *\n * These participant IDs are then used as `booking.id`.\n * This filter overrides the `booking.id` filter inside the query object.\n *\n * __Note__: Bookings for courses don't include a `sessionId`. For these\n * bookings, you must use this field to filter by session ID.\n */\n sessionId?: string | null;\n}\n\nexport interface QueryV2 extends QueryV2PagingMethodOneOf {\n /** Paging options to limit and skip the number of items. */\n paging?: Paging;\n /**\n * Cursor token pointing to a page of results. In the first request,\n * specify `cursorPaging.limit`. For following requests, specify the\n * retrieved `cursorPaging.cursor` token and not `query.filter` or\n * `query.sort`.\n */\n cursorPaging?: CursorPaging;\n /**\n * Filter object in the following format:\n * `\"filter\" : {\n * \"fieldName1\": \"value1\",\n * \"fieldName2\":{\"$operator\":\"value2\"}\n * }`\n * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n */\n filter?: Record<string, any> | null;\n /**\n * Sort object in the following format:\n * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n */\n sort?: Sorting[];\n /** Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned. */\n fields?: string[];\n /** Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned. */\n fieldsets?: string[];\n}\n\n/** @oneof */\nexport interface QueryV2PagingMethodOneOf {\n /** Paging options to limit and skip the number of items. */\n paging?: Paging;\n /**\n * Cursor token pointing to a page of results. In the first request,\n * specify `cursorPaging.limit`. For following requests, specify the\n * retrieved `cursorPaging.cursor` token and not `query.filter` or\n * `query.sort`.\n */\n cursorPaging?: CursorPaging;\n}\n\nexport interface Sorting {\n /**\n * Name of the field to sort by.\n * @maxLength 512\n */\n fieldName?: string;\n /** Sort order. */\n order?: SortOrderWithLiterals;\n}\n\nexport enum SortOrder {\n ASC = 'ASC',\n DESC = 'DESC',\n}\n\n/** @enumType */\nexport type SortOrderWithLiterals = SortOrder | 'ASC' | 'DESC';\n\nexport interface Paging {\n /** Number of items to load. */\n limit?: number | null;\n /** Number of items to skip in the current sort order. */\n offset?: number | null;\n}\n\nexport interface CursorPaging {\n /**\n * Maximum number of items to return in the results.\n * @max 100\n */\n limit?: number | null;\n /**\n * Pointer to the next or previous page in the list of results.\n *\n * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n * Not relevant for the first request.\n * @maxLength 16000\n */\n cursor?: string | null;\n}\n\nexport interface QueryExtendedBookingResponse {\n /**\n * Retrieved bookings and additional information about attendance or actions\n * the customer can perform\n */\n extendedBookings?: ExtendedBooking[];\n /** Paging metadata. */\n pagingMetadata?: PagingMetadataV2;\n}\n\nexport interface PagingMetadataV2 {\n /** Number of items returned in the response. */\n count?: number | null;\n /** Offset that was requested. */\n offset?: number | null;\n /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n total?: number | null;\n /** Flag that indicates the server failed to calculate the `total` field. */\n tooManyToCount?: boolean | null;\n /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n cursors?: Cursors;\n}\n\nexport interface Cursors {\n /**\n * Cursor string pointing to the next page in the list of results.\n * @maxLength 16000\n */\n next?: string | null;\n /**\n * Cursor pointing to the previous page in the list of results.\n * @maxLength 16000\n */\n prev?: string | null;\n}\n\nexport interface QueryExtendedBookingsRequest {\n /** Information about filters, paging, and sorting. */\n query: CommonQueryV2;\n /** Whether to return information about the actions the customer can perform for the bookings. */\n withBookingAllowedActions?: boolean;\n /** Whether to return information about the attendance for the bookings. */\n withBookingAttendanceInfo?: boolean;\n /** Whether to return information about the online conferencing details for the bookings. */\n withBookingConferencingDetails?: boolean;\n /**\n * Whether to retrieve information about booking policy settings.\n *\n * You must have the `BOOKINGS.BOOKING_POLICY_SNAPSHOT_READ` permission scope\n * when passing `true`.\n *\n * Default: `false`.\n */\n withBookingPolicySettings?: boolean;\n /**\n * Whether to retrieve information about [booking fee](https://dev.wix.com/docs/api-reference/business-solutions/bookings/pricing/booking-fees/introduction)\n * statuses.\n *\n * Information about booking fees with a status of `PREVIEW` isn't returned,\n * and only fees that have already been applied are included in the response.\n * If there are hypothetical fees for a booking that may be canceled in the\n * future, these fees aren't returned. To retrieve such fees, call\n * [List Booking Fees] By Booking Ids](https://dev.wix.com/docs/api-reference/business-solutions/bookings/pricing/booking-fees/list-booking-fees-by-booking-ids)\n * instead.\n *\n * You must have the `BOOKINGS.BOOKING_FEES_READ` permission scope when passing\n * `true`.\n *\n * Default: `false`\n */\n withBookingFeeDetails?: boolean;\n}\n\nexport interface CommonQueryV2 extends CommonQueryV2PagingMethodOneOf {\n /** Paging options to limit and skip the number of items. */\n paging?: CommonPaging;\n /**\n * Cursor token pointing to a page of results. In the first request,\n * specify `cursorPaging.limit`. For following requests, specify the\n * retrieved `cursorPaging.cursor` token and not `query.filter` or\n * `query.sort`.\n */\n cursorPaging?: CursorPaging;\n /**\n * Filter object in the following format:\n * `\"filter\" : {\n * \"fieldName1\": \"value1\",\n * \"fieldName2\":{\"$operator\":\"value2\"}\n * }`\n * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n *\n * See [Supported Filters](https://www.wix.com/velo/reference/wix-bookings-v2/extendedbookings/supported-filters)\n * for a full list.\n */\n filter?: Record<string, any> | null;\n /**\n * Sort object in the following format:\n * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n */\n sort?: Sorting[];\n}\n\n/** @oneof */\nexport interface CommonQueryV2PagingMethodOneOf {\n /** Paging options to limit and skip the number of items. */\n paging?: CommonPaging;\n /**\n * Cursor token pointing to a page of results. In the first request,\n * specify `cursorPaging.limit`. For following requests, specify the\n * retrieved `cursorPaging.cursor` token and not `query.filter` or\n * `query.sort`.\n */\n cursorPaging?: CursorPaging;\n}\n\nexport interface CommonPaging {\n /** Number of items to load. */\n limit?: number | null;\n /** Number of items to skip in the current sort order. */\n offset?: number | null;\n}\n\nexport interface QueryExtendedBookingsResponse {\n /**\n * Retrieved bookings and additional information, such as information about about the attendance or actions\n * the customer can perform.\n */\n extendedBookings?: ExtendedBooking[];\n /** Paging metadata. */\n pagingMetadata?: PagingMetadataV2;\n}\n\nexport interface CountExtendedBookingsRequest {\n /**\n * Filter object in the following format:\n * `\"filter\" : {\n * \"fieldName1\": \"value1\",\n * \"fieldName2\":{\"$operator\":\"value2\"}\n * }`\n * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n */\n filter?: Record<string, any> | null;\n}\n\nexport interface CountExtendedBookingsResponse {\n /** The number of bookings matching the specified filter. */\n count?: number;\n}\n\n/**\n * > **Deprecation Notice**\n * >\n * > **This endpoint has been replaced with [Query Extended Bookings](https://dev.wix.com/api/rest/wix-bookings/bookings-reader-v2/query-extended-bookings) and will be removed on May 31, 2025.**\n * > **If your app uses this endpoint, we recommend updating your code as soon as possible.**\n *\n *\n * Retrieves a list of bookings, given the provided paging, filtering, and sorting.\n *\n *\n * You can also retrieve information about which actions the customer can perform\n * for the bookings. To do so, pass `withBookingAllowedActions` as `true`.\n *\n * Query Bookings runs with these defaults:\n *\n * - `createdDate` sorted in `DESC` order\n * - `cursorPaging.limit` is `50`\n *\n * You can check the overview about all\n * [supported filters](https://dev.wix.com/docs/api-reference/business-solutions/bookings/bookings/bookings-reader-v2/supported-filters)\n * for more information.\n *\n * `query.fields` and `query.fieldsets` aren't supported for this endpoint.\n *\n * When using filters for dates, you must use [UTC time](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).\n *\n * Bookings belonging to a schedule don't have a `sessionId`. Therefore you\n * must use the `sessionId` filter that isn't part of the `query` object to\n * filter bookings for courses.\n *\n * To learn about working with _Query_ endpoints, see\n * [API Query Language](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-the-wix-api-query-language),\n * [Sorting and Paging](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-sorting-and-paging),\n * and [Field Projection](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-field-projection).\n *\n * When calling Query Bookings, the retrieved data may not contain your most recent changes. See\n * [Wix-data and Eventual Consistency](https://dev.wix.com/docs/api-reference/business-solutions/cms/eventual-consistency)\n * for more information.\n * @public\n * @documentationMaturity preview\n * @requiredField query\n * @param query - Information about filters, paging, and sorting.\n * @param options - Additional options for performing the query.\n * @permissionId BOOKINGS.BOOKING_READ\n * @applicableIdentity APP\n * @fqn com.wixpress.bookings.reader.v2.BookingsReader.Query\n * @deprecated\n */\nexport async function query(\n query: QueryV2,\n options?: QueryOptions\n): Promise<\n NonNullablePaths<\n QueryExtendedBookingResponse,\n | `extendedBookings`\n | `extendedBookings.${number}.booking.totalParticipants`\n | `extendedBookings.${number}.booking.status`\n | `extendedBookings.${number}.booking.paymentStatus`\n | `extendedBookings.${number}.booking.selectedPaymentOption`\n | `extendedBookings.${number}.booking.createdBy.anonymousVisitorId`\n | `extendedBookings.${number}.booking.createdBy.memberId`\n | `extendedBookings.${number}.booking.createdBy.wixUserId`\n | `extendedBookings.${number}.booking.createdBy.appId`\n | `extendedBookings.${number}.allowedActions.cancel`\n | `extendedBookings.${number}.allowedActions.reschedule`\n | `extendedBookings.${number}.attendance.status`\n | `extendedBookings.${number}.attendance.numberOfAttendees`\n | `extendedBookings.${number}.bookingFeeDetails.cancellationFeeStatus`\n | `extendedBookings.${number}.order.number`\n | `extendedBookings.${number}.order.status`\n | `extendedBookings.${number}.order.paymentStatus`\n | `extendedBookings.${number}.order.totalPrice.amount`\n | `extendedBookings.${number}.order.totalPrice.formattedAmount`\n | `extendedBookings.${number}.order.bookingPriceDescription.original`\n | `extendedBookings.${number}.order.balance.amount`\n | `extendedBookings.${number}.order.balance.formattedAmount`\n | `extendedBookings.${number}.waiver.status`,\n 6\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n query: query,\n withBookingAllowedActions: options?.withBookingAllowedActions,\n withBookingAttendanceInfo: options?.withBookingAttendanceInfo,\n sessionId: options?.sessionId,\n });\n\n const reqOpts = ambassadorWixBookingsReaderV2ExtendedBooking.query(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n query: '$[0]',\n withBookingAllowedActions: '$[1].withBookingAllowedActions',\n withBookingAttendanceInfo: '$[1].withBookingAttendanceInfo',\n sessionId: '$[1].sessionId',\n },\n singleArgumentUnchanged: false,\n },\n ['query', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface QueryOptions {\n /** Whether information about which actions the customer can perform for the bookings is returned. */\n withBookingAllowedActions?: boolean;\n /** Whether information about the attendance for the bookings is returned. */\n withBookingAttendanceInfo?: boolean;\n /**\n * Filters the retrieved bookings by the booking ID that corresponds to the\n * specified `sessionId`.\n *\n * The `booking.id` is calculated by calling Get Session and saving the returned\n * values for `participants.Id`.\n *\n * These participant IDs are then used as `booking.id`.\n * This filter overrides the `booking.id` filter inside the query object.\n *\n * __Note__: Bookings for courses don't include a `sessionId`. For these\n * bookings, you must use this field to filter by session ID.\n */\n sessionId?: string | null;\n}\n\n/**\n * Retrieves a list of bookings, including additional extended information, given the provided paging, filtering, and sorting.\n *\n * `queryExtendedBookings()` doesn't use a query builder, instead it uses [API query language](https://dev.wix.com/docs/sdk/articles/work-with-the-sdk/api-query-language#with-the-api-query-language).\n *\n * Up to 100 extended bookings can be returned per request.\n *\n * `queryExtendedBookings()` runs with these defaults, which you can override:\n *\n * - `createdDate` sorted in `DESC` order\n * - `cursorPaging.limit` is `50`\n *\n *\n * You can retrieve information about which actions the customer can perform\n * for the bookings. To do so, pass `withBookingAllowedActions` as `true`.\n *\n *\n * For field support, see\n * [supported filters](https://www.wix.com/velo/reference/wix-bookings-v2/extendedbookings/supported-filters)\n * for more information.\n *\n * You can specify a filter only once per query. If you specify a filter\n * more than once, only the first filter determines the extended bookings that are returned.\n *\n * When filtering by date, you must use [UTC time](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).\n * @public\n * @requiredField query\n * @param query - Information about filters, paging, and sorting.\n * @param options - Additional options for performing the query.\n * @permissionId BOOKINGS.BOOKING_READ\n * @permissionId BOOKINGS.MANAGE_BOOKINGS\n * @permissionId BOOKINGS.BOOKING_READ_ANY\n * @applicableIdentity APP\n * @fqn com.wixpress.bookings.reader.v2.BookingsReader.QueryExtendedBookings\n */\nexport async function queryExtendedBookings(\n query: CommonQueryV2,\n options?: QueryExtendedBookingsOptions\n): Promise<\n NonNullablePaths<\n QueryExtendedBookingsResponse,\n | `extendedBookings`\n | `extendedBookings.${number}.booking.totalParticipants`\n | `extendedBookings.${number}.booking.status`\n | `extendedBookings.${number}.booking.paymentStatus`\n | `extendedBookings.${number}.booking.selectedPaymentOption`\n | `extendedBookings.${number}.booking.createdBy.anonymousVisitorId`\n | `extendedBookings.${number}.booking.createdBy.memberId`\n | `extendedBookings.${number}.booking.createdBy.wixUserId`\n | `extendedBookings.${number}.booking.createdBy.appId`\n | `extendedBookings.${number}.allowedActions.cancel`\n | `extendedBookings.${number}.allowedActions.reschedule`\n | `extendedBookings.${number}.attendance.status`\n | `extendedBookings.${number}.attendance.numberOfAttendees`\n | `extendedBookings.${number}.bookingFeeDetails.cancellationFeeStatus`\n | `extendedBookings.${number}.order.number`\n | `extendedBookings.${number}.order.status`\n | `extendedBookings.${number}.order.paymentStatus`\n | `extendedBookings.${number}.order.totalPrice.amount`\n | `extendedBookings.${number}.order.totalPrice.formattedAmount`\n | `extendedBookings.${number}.order.bookingPriceDescription.original`\n | `extendedBookings.${number}.order.balance.amount`\n | `extendedBookings.${number}.order.balance.formattedAmount`\n | `extendedBookings.${number}.waiver.status`,\n 6\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n query: query,\n withBookingAllowedActions: options?.withBookingAllowedActions,\n withBookingAttendanceInfo: options?.withBookingAttendanceInfo,\n withBookingConferencingDetails: options?.withBookingConferencingDetails,\n withBookingPolicySettings: options?.withBookingPolicySettings,\n withBookingFeeDetails: options?.withBookingFeeDetails,\n });\n\n const reqOpts =\n ambassadorWixBookingsReaderV2ExtendedBooking.queryExtendedBookings(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n query: '$[0]',\n withBookingAllowedActions: '$[1].withBookingAllowedActions',\n withBookingAttendanceInfo: '$[1].withBookingAttendanceInfo',\n withBookingConferencingDetails: '$[1].withBookingConferencingDetails',\n withBookingPolicySettings: '$[1].withBookingPolicySettings',\n withBookingFeeDetails: '$[1].withBookingFeeDetails',\n },\n singleArgumentUnchanged: false,\n },\n ['query', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface QueryExtendedBookingsOptions {\n /** Whether to return information about the actions the customer can perform for the bookings. */\n withBookingAllowedActions?: boolean;\n /** Whether to return information about the attendance for the bookings. */\n withBookingAttendanceInfo?: boolean;\n /** Whether to return information about the online conferencing details for the bookings. */\n withBookingConferencingDetails?: boolean;\n /**\n * Whether to retrieve information about booking policy settings.\n *\n * You must have the `BOOKINGS.BOOKING_POLICY_SNAPSHOT_READ` permission scope\n * when passing `true`.\n *\n * Default: `false`.\n */\n withBookingPolicySettings?: boolean;\n /**\n * Whether to retrieve information about [booking fee](https://dev.wix.com/docs/api-reference/business-solutions/bookings/pricing/booking-fees/introduction)\n * statuses.\n *\n * Information about booking fees with a status of `PREVIEW` isn't returned,\n * and only fees that have already been applied are included in the response.\n * If there are hypothetical fees for a booking that may be canceled in the\n * future, these fees aren't returned. To retrieve such fees, call\n * [List Booking Fees] By Booking Ids](https://dev.wix.com/docs/api-reference/business-solutions/bookings/pricing/booking-fees/list-booking-fees-by-booking-ids)\n * instead.\n *\n * You must have the `BOOKINGS.BOOKING_FEES_READ` permission scope when passing\n * `true`.\n *\n * Default: `false`\n */\n withBookingFeeDetails?: boolean;\n}\n\n/**\n * Counts the number of bookings matching the specified filters.\n *\n *\n * For field support see\n * [supported filters](https://dev.wix.com/api/rest/wix-bookings/bookings-reader-v2/supported-filters)\n * for more information.\n * @public\n * @permissionId BOOKINGS.BOOKING_MANAGE\n * @permissionId BOOKINGS.MANAGE_BOOKINGS\n * @permissionId BOOKINGS.BOOKING_READ_ANY\n * @applicableIdentity APP\n * @fqn com.wixpress.bookings.reader.v2.BookingsReader.CountExtendedBookings\n */\nexport async function countExtendedBookings(\n options?: CountExtendedBookingsOptions\n): Promise<NonNullablePaths<CountExtendedBookingsResponse, `count`, 2>> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n filter: options?.filter,\n });\n\n const reqOpts =\n ambassadorWixBookingsReaderV2ExtendedBooking.countExtendedBookings(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { filter: '$[0].filter' },\n singleArgumentUnchanged: false,\n },\n ['options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface CountExtendedBookingsOptions {\n /**\n * Filter object in the following format:\n * `\"filter\" : {\n * \"fieldName1\": \"value1\",\n * \"fieldName2\":{\"$operator\":\"value2\"}\n * }`\n * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n */\n filter?: Record<string, any> | null;\n}\n","import { transformRESTFloatToSDKFloat } from '@wix/sdk-runtime/transformations/float';\nimport { transformRESTTimestampToSDKTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\nimport { resolveUrl } from '@wix/sdk-runtime/rest-modules';\nimport { ResolveUrlOpts } from '@wix/sdk-runtime/rest-modules';\nimport { RequestOptionsFactory } from '@wix/sdk-types';\n\nfunction resolveComWixpressBookingsReaderV2BookingsReaderUrl(\n opts: Omit<ResolveUrlOpts, 'domainToMappings'>\n) {\n const domainToMappings = {\n _: [\n {\n srcPath: '/_api/bookings-reader',\n destPath: '',\n },\n ],\n 'editor._base_domain': [\n {\n srcPath: '/_api/bookings-reader',\n destPath: '',\n },\n ],\n 'manage._base_domain_': [\n {\n srcPath: '/_api/bookings-reader',\n destPath: '',\n },\n ],\n 'www.wixapis.com': [\n {\n srcPath: '/_api/bookings-reader',\n destPath: '',\n },\n {\n srcPath: '/bookings/bookings-reader',\n destPath: '',\n },\n ],\n 'editor._base_domain_': [\n {\n srcPath: '/_api/bookings-reader',\n destPath: '',\n },\n ],\n 'blocks._base_domain_': [\n {\n srcPath: '/_api/bookings-reader',\n destPath: '',\n },\n ],\n 'create.editorx': [\n {\n srcPath: '/_api/bookings-reader',\n destPath: '',\n },\n ],\n };\n\n return resolveUrl(Object.assign(opts, { domainToMappings }));\n}\n\nconst PACKAGE_NAME = '@wix/auto_sdk_bookings_extended-bookings';\n\n/**\n * > **Deprecation Notice**\n * >\n * > **This endpoint has been replaced with [Query Extended Bookings](https://dev.wix.com/api/rest/wix-bookings/bookings-reader-v2/query-extended-bookings) and will be removed on May 31, 2025.**\n * > **If your app uses this endpoint, we recommend updating your code as soon as possible.**\n *\n *\n * Retrieves a list of bookings, given the provided paging, filtering, and sorting.\n *\n *\n * You can also retrieve information about which actions the customer can perform\n * for the bookings. To do so, pass `withBookingAllowedActions` as `true`.\n *\n * Query Bookings runs with these defaults:\n *\n * - `createdDate` sorted in `DESC` order\n * - `cursorPaging.limit` is `50`\n *\n * You can check the overview about all\n * [supported filters](https://dev.wix.com/docs/api-reference/business-solutions/bookings/bookings/bookings-reader-v2/supported-filters)\n * for more information.\n *\n * `query.fields` and `query.fieldsets` aren't supported for this endpoint.\n *\n * When using filters for dates, you must use [UTC time](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).\n *\n * Bookings belonging to a schedule don't have a `sessionId`. Therefore you\n * must use the `sessionId` filter that isn't part of the `query` object to\n * filter bookings for courses.\n *\n * To learn about working with _Query_ endpoints, see\n * [API Query Language](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-the-wix-api-query-language),\n * [Sorting and Paging](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-sorting-and-paging),\n * and [Field Projection](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-field-projection).\n *\n * When calling Query Bookings, the retrieved data may not contain your most recent changes. See\n * [Wix-data and Eventual Consistency](https://dev.wix.com/docs/api-reference/business-solutions/cms/eventual-consistency)\n * for more information.\n * @deprecated\n */\nexport function query(payload: object): RequestOptionsFactory<any> {\n function __query({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.bookings.reader.v2.extended_booking',\n method: 'POST' as any,\n methodFqn: 'com.wixpress.bookings.reader.v2.BookingsReader.Query',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveComWixpressBookingsReaderV2BookingsReaderUrl({\n protoPath: '/v2/extended-booking/query',\n data: payload,\n host,\n }),\n data: payload,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'extendedBookings.booking.createdDate' },\n { path: 'extendedBookings.booking.startDate' },\n { path: 'extendedBookings.booking.endDate' },\n { path: 'extendedBookings.booking.updatedDate' },\n { path: 'extendedBookings.booking.canceledDate' },\n {\n path: 'extendedBookings.transactions.chargedMembershipPaymentDetails.expirationDate',\n },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n {\n path: 'extendedBookings.booking.contactDetails.fullAddress.geocode.latitude',\n },\n {\n path: 'extendedBookings.booking.contactDetails.fullAddress.geocode.longitude',\n },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __query;\n}\n\n/**\n * Retrieves a list of bookings, including additional extended information, given the provided paging, filtering, and sorting.\n *\n * `queryExtendedBookings()` doesn't use a query builder, instead it uses [API query language](https://dev.wix.com/docs/sdk/articles/work-with-the-sdk/api-query-language#with-the-api-query-language).\n *\n * Up to 100 extended bookings can be returned per request.\n *\n * `queryExtendedBookings()` runs with these defaults, which you can override:\n *\n * - `createdDate` sorted in `DESC` order\n * - `cursorPaging.limit` is `50`\n *\n *\n * You can retrieve information about which actions the customer can perform\n * for the bookings. To do so, pass `withBookingAllowedActions` as `true`.\n *\n *\n * For field support, see\n * [supported filters](https://www.wix.com/velo/reference/wix-bookings-v2/extendedbookings/supported-filters)\n * for more information.\n *\n * You can specify a filter only once per query. If you specify a filter\n * more than once, only the first filter determines the extended bookings that are returned.\n *\n * When filtering by date, you must use [UTC time](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).\n */\nexport function queryExtendedBookings(\n payload: object\n): RequestOptionsFactory<any> {\n function __queryExtendedBookings({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.bookings.reader.v2.extended_booking',\n method: 'POST' as any,\n methodFqn:\n 'com.wixpress.bookings.reader.v2.BookingsReader.QueryExtendedBookings',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveComWixpressBookingsReaderV2BookingsReaderUrl({\n protoPath: '/v2/extended-bookings/query',\n data: payload,\n host,\n }),\n data: payload,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'extendedBookings.booking.createdDate' },\n { path: 'extendedBookings.booking.startDate' },\n { path: 'extendedBookings.booking.endDate' },\n { path: 'extendedBookings.booking.updatedDate' },\n { path: 'extendedBookings.booking.canceledDate' },\n {\n path: 'extendedBookings.transactions.chargedMembershipPaymentDetails.expirationDate',\n },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n {\n path: 'extendedBookings.booking.contactDetails.fullAddress.geocode.latitude',\n },\n {\n path: 'extendedBookings.booking.contactDetails.fullAddress.geocode.longitude',\n },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __queryExtendedBookings;\n}\n\n/**\n * Counts the number of bookings matching the specified filters.\n *\n *\n * For field support see\n * [supported filters](https://dev.wix.com/api/rest/wix-bookings/bookings-reader-v2/supported-filters)\n * for more information.\n */\nexport function countExtendedBookings(\n payload: object\n): RequestOptionsFactory<any> {\n function __countExtendedBookings({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.bookings.reader.v2.extended_booking',\n method: 'POST' as any,\n methodFqn:\n 'com.wixpress.bookings.reader.v2.BookingsReader.CountExtendedBookings',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveComWixpressBookingsReaderV2BookingsReaderUrl({\n protoPath: '/v2/extended-bookings/count',\n data: payload,\n host,\n }),\n data: payload,\n };\n\n return metadata;\n }\n\n return __countExtendedBookings;\n}\n","import { HttpClient, NonNullablePaths } from '@wix/sdk-types';\nimport {\n CommonQueryV2,\n CountExtendedBookingsOptions,\n CountExtendedBookingsResponse,\n QueryExtendedBookingResponse,\n QueryExtendedBookingsOptions,\n QueryExtendedBookingsResponse,\n QueryOptions,\n QueryV2,\n countExtendedBookings as universalCountExtendedBookings,\n query as universalQuery,\n queryExtendedBookings as universalQueryExtendedBookings,\n} from './bookings-reader-v2-extended-booking-extended-bookings.universal.js';\n\nexport const __metadata = { PACKAGE_NAME: '@wix/bookings' };\n\nexport function query(httpClient: HttpClient): QuerySignature {\n return (query: QueryV2, options?: QueryOptions) =>\n universalQuery(\n query,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface QuerySignature {\n /**\n * > **Deprecation Notice**\n * >\n * > **This endpoint has been replaced with [Query Extended Bookings](https://dev.wix.com/api/rest/wix-bookings/bookings-reader-v2/query-extended-bookings) and will be removed on May 31, 2025.**\n * > **If your app uses this endpoint, we recommend updating your code as soon as possible.**\n *\n *\n * Retrieves a list of bookings, given the provided paging, filtering, and sorting.\n *\n *\n * You can also retrieve information about which actions the customer can perform\n * for the bookings. To do so, pass `withBookingAllowedActions` as `true`.\n *\n * Query Bookings runs with these defaults:\n *\n * - `createdDate` sorted in `DESC` order\n * - `cursorPaging.limit` is `50`\n *\n * You can check the overview about all\n * [supported filters](https://dev.wix.com/docs/api-reference/business-solutions/bookings/bookings/bookings-reader-v2/supported-filters)\n * for more information.\n *\n * `query.fields` and `query.fieldsets` aren't supported for this endpoint.\n *\n * When using filters for dates, you must use [UTC time](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).\n *\n * Bookings belonging to a schedule don't have a `sessionId`. Therefore you\n * must use the `sessionId` filter that isn't part of the `query` object to\n * filter bookings for courses.\n *\n * To learn about working with _Query_ endpoints, see\n * [API Query Language](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-the-wix-api-query-language),\n * [Sorting and Paging](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-sorting-and-paging),\n * and [Field Projection](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-field-projection).\n *\n * When calling Query Bookings, the retrieved data may not contain your most recent changes. See\n * [Wix-data and Eventual Consistency](https://dev.wix.com/docs/api-reference/business-solutions/cms/eventual-consistency)\n * for more information.\n * @param - Information about filters, paging, and sorting.\n * @param - Additional options for performing the query.\n * @deprecated\n */\n (query: QueryV2, options?: QueryOptions): Promise<\n NonNullablePaths<\n QueryExtendedBookingResponse,\n | `extendedBookings`\n | `extendedBookings.${number}.booking.totalParticipants`\n | `extendedBookings.${number}.booking.status`\n | `extendedBookings.${number}.booking.paymentStatus`\n | `extendedBookings.${number}.booking.selectedPaymentOption`\n | `extendedBookings.${number}.booking.createdBy.anonymousVisitorId`\n | `extendedBookings.${number}.booking.createdBy.memberId`\n | `extendedBookings.${number}.booking.createdBy.wixUserId`\n | `extendedBookings.${number}.booking.createdBy.appId`\n | `extendedBookings.${number}.allowedActions.cancel`\n | `extendedBookings.${number}.allowedActions.reschedule`\n | `extendedBookings.${number}.attendance.status`\n | `extendedBookings.${number}.attendance.numberOfAttendees`\n | `extendedBookings.${number}.bookingFeeDetails.cancellationFeeStatus`\n | `extendedBookings.${number}.order.number`\n | `extendedBookings.${number}.order.status`\n | `extendedBookings.${number}.order.paymentStatus`\n | `extendedBookings.${number}.order.totalPrice.amount`\n | `extendedBookings.${number}.order.totalPrice.formattedAmount`\n | `extendedBookings.${number}.order.bookingPriceDescription.original`\n | `extendedBookings.${number}.order.balance.amount`\n | `extendedBookings.${number}.order.balance.formattedAmount`\n | `extendedBookings.${number}.waiver.status`,\n 6\n >\n >;\n}\n\nexport function queryExtendedBookings(\n httpClient: HttpClient\n): QueryExtendedBookingsSignature {\n return (query: CommonQueryV2, options?: QueryExtendedBookingsOptions) =>\n universalQueryExtendedBookings(\n query,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface QueryExtendedBookingsSignature {\n /**\n * Retrieves a list of bookings, including additional extended information, given the provided paging, filtering, and sorting.\n *\n * `queryExtendedBookings()` doesn't use a query builder, instead it uses [API query language](https://dev.wix.com/docs/sdk/articles/work-with-the-sdk/api-query-language#with-the-api-query-language).\n *\n * Up to 100 extended bookings can be returned per request.\n *\n * `queryExtendedBookings()` runs with these defaults, which you can override:\n *\n * - `createdDate` sorted in `DESC` order\n * - `cursorPaging.limit` is `50`\n *\n *\n * You can retrieve information about which actions the customer can perform\n * for the bookings. To do so, pass `withBookingAllowedActions` as `true`.\n *\n *\n * For field support, see\n * [supported filters](https://www.wix.com/velo/reference/wix-bookings-v2/extendedbookings/supported-filters)\n * for more information.\n *\n * You can specify a filter only once per query. If you specify a filter\n * more than once, only the first filter determines the extended bookings that are returned.\n *\n * When filtering by date, you must use [UTC time](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).\n * @param - Information about filters, paging, and sorting.\n * @param - Additional options for performing the query.\n */\n (query: CommonQueryV2, options?: QueryExtendedBookingsOptions): Promise<\n NonNullablePaths<\n QueryExtendedBookingsResponse,\n | `extendedBookings`\n | `extendedBookings.${number}.booking.totalParticipants`\n | `extendedBookings.${number}.booking.status`\n | `extendedBookings.${number}.booking.paymentStatus`\n | `extendedBookings.${number}.booking.selectedPaymentOption`\n | `extendedBookings.${number}.booking.createdBy.anonymousVisitorId`\n | `extendedBookings.${number}.booking.createdBy.memberId`\n | `extendedBookings.${number}.booking.createdBy.wixUserId`\n | `extendedBookings.${number}.booking.createdBy.appId`\n | `extendedBookings.${number}.allowedActions.cancel`\n | `extendedBookings.${number}.allowedActions.reschedule`\n | `extendedBookings.${number}.attendance.status`\n | `extendedBookings.${number}.attendance.numberOfAttendees`\n | `extendedBookings.${number}.bookingFeeDetails.cancellationFeeStatus`\n | `extendedBookings.${number}.order.number`\n | `extendedBookings.${number}.order.status`\n | `extendedBookings.${number}.order.paymentStatus`\n | `extendedBookings.${number}.order.totalPrice.amount`\n | `extendedBookings.${number}.order.totalPrice.formattedAmount`\n | `extendedBookings.${number}.order.bookingPriceDescription.original`\n | `extendedBookings.${number}.order.balance.amount`\n | `extendedBookings.${number}.order.balance.formattedAmount`\n | `extendedBookings.${number}.waiver.status`,\n 6\n >\n >;\n}\n\nexport function countExtendedBookings(\n httpClient: HttpClient\n): CountExtendedBookingsSignature {\n return (options?: CountExtendedBookingsOptions) =>\n universalCountExtendedBookings(\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface CountExtendedBookingsSignature {\n /**\n * Counts the number of bookings matching the specified filters.\n *\n *\n * For field support see\n * [supported filters](https://dev.wix.com/api/rest/wix-bookings/bookings-reader-v2/supported-filters)\n * for more information.\n */\n (options?: CountExtendedBookingsOptions): Promise<\n NonNullablePaths<CountExtendedBookingsResponse, `count`, 2>\n >;\n}\n\nexport {\n Actor,\n Address,\n AddressLocation,\n AddressStreetOneOf,\n AllowedActions,\n Attendance,\n AttendanceStatus,\n Balance,\n BookedAddOn,\n BookedEntity,\n BookedEntityItemOneOf,\n BookedResource,\n BookedSchedule,\n BookedSlot,\n Booking,\n BookingFeeDetails,\n BookingFeeStatus,\n BookingParticipantsInfoOneOf,\n BookingPolicySettings,\n BookingSource,\n BookingStatus,\n CommonPaging,\n CommonQueryV2,\n CommonQueryV2PagingMethodOneOf,\n ConferencingDetails,\n ContactDetails,\n CountExtendedBookingsOptions,\n CountExtendedBookingsRequest,\n CountExtendedBookingsResponse,\n CursorPaging,\n Cursors,\n CustomFormField,\n Duration,\n ExtendedBooking,\n ExtendedFields,\n FlowControlSettings,\n FormSubmission,\n IdentificationData,\n IdentificationDataIdOneOf,\n IdentityType,\n Location,\n LocationType,\n MembershipName,\n MembershipPaymentCredits,\n MembershipPaymentDetails,\n MultiServiceBookingInfo,\n MultiServiceBookingType,\n Order,\n OrderStatus,\n OrderTransactions,\n Paging,\n PagingMetadataV2,\n ParticipantChoices,\n ParticipantNotification,\n PaymentStatus,\n PaymentStatusEnumPaymentStatus,\n PhoneCall,\n Platform,\n Price,\n PriceDescription,\n QueryExtendedBookingRequest,\n QueryExtendedBookingResponse,\n QueryExtendedBookingsOptions,\n QueryExtendedBookingsRequest,\n QueryExtendedBookingsResponse,\n QueryOptions,\n QueryV2,\n QueryV2PagingMethodOneOf,\n ResourceSelection,\n SelectedPaymentOption,\n SelectionMethod,\n ServiceChoice,\n ServiceChoiceChoiceOneOf,\n ServiceChoices,\n SortOrder,\n Sorting,\n Status,\n StreetAddress,\n Subdivision,\n ValueType,\n Waiver,\n} from './bookings-reader-v2-extended-booking-extended-bookings.universal.js';\n","import {\n query as publicQuery,\n queryExtendedBookings as publicQueryExtendedBookings,\n countExtendedBookings as publicCountExtendedBookings,\n} from './bookings-reader-v2-extended-booking-extended-bookings.public.js';\nimport { createRESTModule } from '@wix/sdk-runtime/rest-modules';\nimport { BuildRESTFunction, MaybeContext } from '@wix/sdk-types';\n\nexport const query: MaybeContext<\n BuildRESTFunction<typeof publicQuery> & typeof publicQuery\n> = /*#__PURE__*/ createRESTModule(publicQuery);\nexport const queryExtendedBookings: MaybeContext<\n BuildRESTFunction<typeof publicQueryExtendedBookings> &\n typeof publicQueryExtendedBookings\n> = /*#__PURE__*/ createRESTModule(publicQueryExtendedBookings);\nexport const countExtendedBookings: MaybeContext<\n BuildRESTFunction<typeof publicCountExtendedBookings> &\n typeof publicCountExtendedBookings\n> = /*#__PURE__*/ createRESTModule(publicCountExtendedBookings);\n\nexport {\n AttendanceStatus,\n MultiServiceBookingType,\n LocationType,\n SelectionMethod,\n ValueType,\n BookingStatus,\n PaymentStatus,\n SelectedPaymentOption,\n Platform,\n Actor,\n IdentityType,\n BookingFeeStatus,\n OrderStatus,\n PaymentStatusEnumPaymentStatus,\n Status,\n SortOrder,\n} from './bookings-reader-v2-extended-booking-extended-bookings.universal.js';\nexport {\n ExtendedBooking,\n Booking,\n BookingParticipantsInfoOneOf,\n BookedEntity,\n BookedEntityItemOneOf,\n BookedSlot,\n BookedResource,\n Location,\n PhoneCall,\n ResourceSelection,\n BookedSchedule,\n ContactDetails,\n Address,\n AddressStreetOneOf,\n StreetAddress,\n AddressLocation,\n Subdivision,\n CustomFormField,\n BookingSource,\n ParticipantNotification,\n IdentificationData,\n IdentificationDataIdOneOf,\n FlowControlSettings,\n ExtendedFields,\n ParticipantChoices,\n ServiceChoices,\n ServiceChoice,\n ServiceChoiceChoiceOneOf,\n Duration,\n MultiServiceBookingInfo,\n BookedAddOn,\n AllowedActions,\n Attendance,\n ConferencingDetails,\n BookingPolicySettings,\n BookingFeeDetails,\n Order,\n Price,\n PriceDescription,\n Balance,\n Waiver,\n OrderTransactions,\n MembershipPaymentDetails,\n MembershipName,\n MembershipPaymentCredits,\n FormSubmission,\n QueryExtendedBookingRequest,\n QueryV2,\n QueryV2PagingMethodOneOf,\n Sorting,\n Paging,\n CursorPaging,\n QueryExtendedBookingResponse,\n PagingMetadataV2,\n Cursors,\n QueryExtendedBookingsRequest,\n CommonQueryV2,\n CommonQueryV2PagingMethodOneOf,\n CommonPaging,\n QueryExtendedBookingsResponse,\n CountExtendedBookingsRequest,\n CountExtendedBookingsResponse,\n QueryOptions,\n QueryExtendedBookingsOptions,\n CountExtendedBookingsOptions,\n} from './bookings-reader-v2-extended-booking-extended-bookings.universal.js';\nexport {\n AttendanceStatusWithLiterals,\n MultiServiceBookingTypeWithLiterals,\n LocationTypeWithLiterals,\n SelectionMethodWithLiterals,\n ValueTypeWithLiterals,\n BookingStatusWithLiterals,\n PaymentStatusWithLiterals,\n SelectedPaymentOptionWithLiterals,\n PlatformWithLiterals,\n ActorWithLiterals,\n IdentityTypeWithLiterals,\n BookingFeeStatusWithLiterals,\n OrderStatusWithLiterals,\n PaymentStatusEnumPaymentStatusWithLiterals,\n StatusWithLiterals,\n SortOrderWithLiterals,\n} from './bookings-reader-v2-extended-booking-extended-bookings.universal.js';\n"],"mappings":"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","names":["countExtendedBookings","query","queryExtendedBookings","payload","AttendanceStatus","MultiServiceBookingType","LocationType","SelectionMethod","ValueType","BookingStatus","PaymentStatus","SelectedPaymentOption","Platform","Actor","IdentityType","BookingFeeStatus","OrderStatus","PaymentStatusEnumPaymentStatus","Status","SortOrder","query","sdkTransformError","queryExtendedBookings","countExtendedBookings","query","queryExtendedBookings","countExtendedBookings","import_rest_modules","query","queryExtendedBookings","countExtendedBookings"]}
|
|
1
|
+
{"version":3,"sources":["../../index.ts","../../src/bookings-reader-v2-extended-booking-extended-bookings.universal.ts","../../src/bookings-reader-v2-extended-booking-extended-bookings.http.ts","../../src/bookings-reader-v2-extended-booking-extended-bookings.public.ts","../../src/bookings-reader-v2-extended-booking-extended-bookings.context.ts"],"sourcesContent":["export * from './src/bookings-reader-v2-extended-booking-extended-bookings.context.js';\n","import { transformError as sdkTransformError } from '@wix/sdk-runtime/transform-error';\nimport {\n renameKeysFromSDKRequestToRESTRequest,\n renameKeysFromRESTResponseToSDKResponse,\n} from '@wix/sdk-runtime/rename-all-nested-keys';\nimport { HttpClient, NonNullablePaths } from '@wix/sdk-types';\nimport * as ambassadorWixBookingsReaderV2ExtendedBooking from './bookings-reader-v2-extended-booking-extended-bookings.http.js';\n\n/** Extended bookings. */\nexport interface ExtendedBooking {\n /** Booking. */\n booking?: Booking;\n /**\n * Information about the actions the customer can perform for the\n * booking. Available only when you've specified `withBookingAllowedActions` as\n * `true`.\n */\n allowedActions?: AllowedActions;\n /**\n * Information about the attendance. Available only when passing\n * `withBookingAttendanceInfo` as `true`.\n */\n attendance?: Attendance;\n /**\n * Information about the online conferencing details. Available only when passing\n * `withBookingConferencingDetails` as `true`.\n */\n conferencingDetails?: ConferencingDetails;\n /**\n * Information about the booking's policy settings according to the relevant\n * booking policy snapshot.\n *\n * Available only when you've specified `withBookingPolicySettings` as `true`.\n */\n bookingPolicySettings?: BookingPolicySettings;\n /**\n * Information about [booking fee](https://dev.wix.com/docs/api-reference/business-solutions/bookings/pricing/booking-fees/introduction)\n * statuses. Available only if you've specified\n * `withBookingFeeDetails` as `true`.\n *\n * Only details for fees that have already been applied to a booking are\n * returned. No details are provided for the following scenarios:\n * - Hypothetical fees related to a potential future cancellation by the customer.\n * - Scenarios where the booking has been canceled before the start of the earliest cancellation window that includes a penalty.\n *\n * To retrieve hypothetical booking fees, call [List Booking Fees By Booking Ids](https://dev.wix.com/docs/api-reference/business-solutions/bookings/pricing/booking-fees/list-booking-fees-by-booking-ids)\n * instead.\n */\n bookingFeeDetails?: BookingFeeDetails;\n /**\n * Information about the booking order.\n * Available only when specified `withEcomOrder` as `true`.\n */\n order?: Order;\n /**\n * Information about the booking waiver.\n * Available only when specified `withWaiver` as `true`.\n */\n waiver?: Waiver;\n /**\n * Information about the booking order transactions.\n * Available only when specified `withEcomTransactions` as `true`.\n */\n transactions?: OrderTransactions;\n /**\n * Information about the booking form submission.\n * Available only when specified `withFormSubmissions` as `true`.\n * @maxSize 100\n */\n formSubmissions?: FormSubmission[];\n}\n\nexport enum AttendanceStatus {\n /** There is no available attendance information. */\n NOT_SET = 'NOT_SET',\n /** At least a single participant attended the session. */\n ATTENDED = 'ATTENDED',\n /** No participants attended the session. */\n NOT_ATTENDED = 'NOT_ATTENDED',\n}\n\n/** @enumType */\nexport type AttendanceStatusWithLiterals =\n | AttendanceStatus\n | 'NOT_SET'\n | 'ATTENDED'\n | 'NOT_ATTENDED';\n\n/** An entity representing a scheduled appointment, class session, or course. */\nexport interface Booking extends BookingParticipantsInfoOneOf {\n /**\n * Total number of participants.\n * When creating a booking, use this field only if the relevant service has fixed pricing and doesn't offer [variants and options](https://dev.wix.com/docs/rest/business-solutions/bookings/services/service-options-and-variants/introduction).\n * @min 1\n */\n totalParticipants?: number;\n /**\n * Information about the booked service choices and participant count for each choice.\n * When creating a booking, use this field only if the booking includes multiple [service variants](https://dev.wix.com/docs/rest/business-solutions/bookings/services/service-options-and-variants/introduction).\n *\n * For example, use this for a spa package booking that includes different service levels:\n * - 2 participants chose \"Standard Package\".\n * - 1 participant chose \"VIP Package\".\n */\n participantsChoices?: ParticipantChoices;\n /**\n * Booking ID.\n * @format GUID\n * @readonly\n */\n _id?: string | null;\n /**\n * An object describing the bookable entity - either a specific time slot or a recurring schedule.\n *\n * The structure depends on the type of service being booked:\n *\n * __For appointment services__: Use `slot` to book a specific time slot with a\n * service provider. Appointments are typically one-time sessions at a specific date and time.\n *\n * __For class services__: Use `slot` to book a specific class session. Classes\n * are individual sessions that can have multiple participants.\n *\n * __For course services__: Use `schedule` to book an entire course consisting of\n * multiple sessions over time. Courses are recurring, multi-session offerings.\n *\n * Choose the appropriate field based on your service type and booking requirements.\n */\n bookedEntity?: BookedEntity;\n /**\n * Contact details of the site visitor or [member](https://dev.wix.com/docs/api-reference/crm/members-contacts/members/members/introduction))\n * making the booking.\n */\n contactDetails?: ContactDetails;\n /**\n * Additional custom fields submitted with the booking form.\n * Deprecated due to Bookings integrating with Wix Forms.\n * You can call Wix Forms' [Get Submission](https://dev.wix.com/docs/api-reference/crm/forms/form-submissions/get-submission) specifying `formSubmissionId` as the `id` to get the submitted booking form data.\n * Read more about the [Bookings Forms integration](https://dev.wix.com/docs/api-reference/business-solutions/bookings/wix-forms-integration).\n * @deprecated Additional custom fields submitted with the booking form.\n * Deprecated due to Bookings integrating with Wix Forms.\n * You can call Wix Forms' [Get Submission](https://dev.wix.com/docs/api-reference/crm/forms/form-submissions/get-submission) specifying `formSubmissionId` as the `id` to get the submitted booking form data.\n * Read more about the [Bookings Forms integration](https://dev.wix.com/docs/api-reference/business-solutions/bookings/wix-forms-integration).\n * @replacedBy form_submission_id\n * @targetRemovalDate 2026-03-31\n */\n additionalFields?: CustomFormField[];\n /**\n * Booking status. A booking is automatically confirmed if the service allows it\n * and an eCommerce order is created. It is automatically declined if there is a\n * double booking and the customer hasn't paid or is eligible for an automatic\n * refund. Currently, only payments with pricing plans are automatically refundable.\n */\n status?: BookingStatusWithLiterals;\n /**\n * The payment status of the booking. This field automatically syncs with the\n * `paymentStatus` of the corresponding [eCommerce order](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/orders/introduction)\n * when customers use Wix eCommerce checkout.\n *\n * ### Integration patterns\n *\n * __When using Wix eCommerce checkout__: Wix Bookings automatically syncs the payment status based on the eCommerce order's payment status.\n * Do not manually update this field.\n *\n * __When using custom payment flows__: You can manually update the payment status with [Confirm Booking or Decline Booking](https://dev.wix.com/docs/api-reference/business-solutions/bookings/bookings/bookings-writer-v2/confirm-or-decline-booking) to reflect the customer's payment state.\n *\n * __For membership/pricing plan payments__: Wix Bookings automatically manages the payment status when customers pay with an active [pricing plan](https://dev.wix.com/docs/api-reference/business-solutions/pricing-plans/pricing-plans/introduction) subscription.\n *\n * All payment statuses are supported for every booking `status`.\n */\n paymentStatus?: PaymentStatusWithLiterals;\n /**\n * 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](https://dev.wix.com/docs/api-reference/business-solutions/bookings/services/services-v2/introduction), unless `skipSelectedPaymentOptionValidation` is `true`.\n *\n * When the customer pays with a [Wix eCommerce checkout](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/checkout/introduction), this field is required.\n * Otherwise, the Create Booking call fails.\n * For custom checkouts, you don't have to specify this field.\n */\n selectedPaymentOption?: SelectedPaymentOptionWithLiterals;\n /**\n * Date and time the booking was created in `YYYY-MM-DDThh:mm:ss.sssZ` format.\n * @readonly\n */\n _createdDate?: Date | null;\n /** External user ID that you can provide. */\n externalUserId?: string | null;\n /**\n * Revision number to be used when updating, rescheduling, or cancelling the booking.\n * 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.\n */\n revision?: string | null;\n /**\n * ID of the creator of the booking.\n * If `appId` and another ID are present, the other ID takes precedence.\n * @readonly\n */\n createdBy?: IdentificationData;\n /**\n * The start date of the booking in `YYYY-MM-DDThh:mm:ss.sssZ` format.\n * For a slot, this is the start date of the slot. For a schedule, this is the start date of the first session.\n * @readonly\n */\n startDate?: Date | null;\n /**\n * The end date of the booking in `YYYY-MM-DDThh:mm:ss.sssZ` format.\n * For a slot, this is the end date of the slot. For a schedule, this is the end date of the last session.\n * @readonly\n */\n endDate?: Date | null;\n /**\n * Date and time the booking was updated in `YYYY-MM-DDThh:mm:ss.sssZ` format.\n * @readonly\n */\n _updatedDate?: Date | null;\n /**\n * Custom field data for this object.\n * Extended fields must be configured in the app dashboard before they can be accessed with API calls.\n */\n extendedFields?: ExtendedFields;\n /**\n * Whether this booking overlaps with another confirmed booking. Returned\n * only if set to `true`.\n * @readonly\n */\n doubleBooked?: boolean | null;\n /**\n * ID of the [form submission](https://dev.wix.com/docs/rest/crm/forms/form-submissions/introduction)\n * associated with this booking.\n * @format GUID\n */\n formSubmissionId?: string | null;\n /**\n * ID of the [form](https://dev.wix.com/docs/rest/crm/forms/form-schemas/form-object)\n * associated with this booking. The value depends on how the\n * booking was created:\n * - For bookings created with Create Booking or Bulk Create Booking, `formId`\n * is identical to ID of the booking form that's associated with the relevant\n * service.\n * - For bookings created via Create Multi Service Booking, `formId` is set to\n * `00000000-0000-0000-0000-000000000000` (the default booking form ID).\n * @format GUID\n * @readonly\n */\n formId?: string | null;\n /**\n * List of [add-ons](https://dev.wix.com/docs/api-reference/business-solutions/bookings/services/add-ons/introduction) associated with the booking.\n * @maxSize 21\n */\n bookedAddOns?: BookedAddOn[];\n}\n\n/** @oneof */\nexport interface BookingParticipantsInfoOneOf {\n /**\n * Total number of participants.\n * When creating a booking, use this field only if the relevant service has fixed pricing and doesn't offer [variants and options](https://dev.wix.com/docs/rest/business-solutions/bookings/services/service-options-and-variants/introduction).\n * @min 1\n */\n totalParticipants?: number;\n /**\n * Information about the booked service choices and participant count for each choice.\n * When creating a booking, use this field only if the booking includes multiple [service variants](https://dev.wix.com/docs/rest/business-solutions/bookings/services/service-options-and-variants/introduction).\n *\n * For example, use this for a spa package booking that includes different service levels:\n * - 2 participants chose \"Standard Package\".\n * - 1 participant chose \"VIP Package\".\n */\n participantsChoices?: ParticipantChoices;\n}\n\n/**\n * A multi-service booking is considered available if all single-service bookings are available as returned from List Multi Service Availability Time Slots.\n * Currently, `SEPARATE_BOOKINGS` and `PARALLEL_BOOKINGS` are not supported.\n * Multi-service booking is available if each of its bookings is available separately.\n * For `SEQUENTIAL_BOOKINGS`, see `List Multi Service Availability Time Slots` documentation.\n */\nexport enum MultiServiceBookingType {\n /** You must schedule single-service bookings back-to-back with each booking starting when the previous booking ends */\n SEQUENTIAL_BOOKINGS = 'SEQUENTIAL_BOOKINGS',\n /** Not currently supported. */\n SEPARATE_BOOKINGS = 'SEPARATE_BOOKINGS',\n /** Not currently supported. */\n PARALLEL_BOOKINGS = 'PARALLEL_BOOKINGS',\n}\n\n/** @enumType */\nexport type MultiServiceBookingTypeWithLiterals =\n | MultiServiceBookingType\n | 'SEQUENTIAL_BOOKINGS'\n | 'SEPARATE_BOOKINGS'\n | 'PARALLEL_BOOKINGS';\n\nexport interface BookedEntity extends BookedEntityItemOneOf {\n /**\n * [Booked slot](https://dev.wix.com/docs/rest/business-solutions/bookings/bookings-and-time-slots/time-slots/availability-calendar/query-availability).\n *\n * Specify `slot` when creating bookings for:\n * - __Appointment-based services__: Individual sessions with service providers (consultations, treatments).\n * Wix Bookings creates a new session when the booking is confirmed.\n * - __Class services__: Group sessions at specific times (fitness classes, workshops).\n * Wix Bookings links the booking to an existing scheduled session.\n *\n * For course services, specify `schedule` instead of `slot`.\n */\n slot?: BookedSlot;\n /**\n * [Booked schedule](https://dev.wix.com/docs/rest/business-management/calendar/schedules-v3/introduction).\n *\n * Specify `schedule` when creating bookings for:\n * - __Course services__: Multi-session offerings spanning weeks or months (educational courses, training programs).\n * Wix Bookings enrolls participants in all sessions defined by the course schedule.\n */\n schedule?: BookedSchedule;\n /**\n * Session title at the time of booking. If there is no pre-existing session,\n * for example for appointment-based services, Wix Bookings sets `title` to the service name.\n * @readonly\n * @maxLength 6000\n */\n title?: string | null;\n /**\n * List of tags for the booking.\n *\n * - \"INDIVIDUAL\": For bookings of appointment-based services. Including when the appointment is for a group of participants.\n * - \"GROUP\": For bookings of individual class sessions.\n * - \"COURSE\": For course bookings.\n */\n tags?: string[] | null;\n}\n\n/** @oneof */\nexport interface BookedEntityItemOneOf {\n /**\n * [Booked slot](https://dev.wix.com/docs/rest/business-solutions/bookings/bookings-and-time-slots/time-slots/availability-calendar/query-availability).\n *\n * Specify `slot` when creating bookings for:\n * - __Appointment-based services__: Individual sessions with service providers (consultations, treatments).\n * Wix Bookings creates a new session when the booking is confirmed.\n * - __Class services__: Group sessions at specific times (fitness classes, workshops).\n * Wix Bookings links the booking to an existing scheduled session.\n *\n * For course services, specify `schedule` instead of `slot`.\n */\n slot?: BookedSlot;\n /**\n * [Booked schedule](https://dev.wix.com/docs/rest/business-management/calendar/schedules-v3/introduction).\n *\n * Specify `schedule` when creating bookings for:\n * - __Course services__: Multi-session offerings spanning weeks or months (educational courses, training programs).\n * Wix Bookings enrolls participants in all sessions defined by the course schedule.\n */\n schedule?: BookedSchedule;\n}\n\nexport interface BookedSlot {\n /**\n * Session ID. For class bookings, this is the ID of the existing session.\n * For appointment bookings, this field is typically empty during booking creation and gets populated when the booking is confirmed.\n *\n * __Migration Guidance__: Replace usage of this field with `eventId` from the [Time Slots V2 API](https://dev.wix.com/docs/api-reference/business-solutions/bookings/time-slots/time-slots-v2/introduction).\n * You can follow [these sample flows](https://dev.wix.com/docs/api-reference/business-solutions/bookings/end-to-end-booking-flows) for step-by-step guidance about determining availability and creating bookings.\n * @deprecated Session ID. For class bookings, this is the ID of the existing session.\n * For appointment bookings, this field is typically empty during booking creation and gets populated when the booking is confirmed.\n *\n * __Migration Guidance__: Replace usage of this field with `eventId` from the [Time Slots V2 API](https://dev.wix.com/docs/api-reference/business-solutions/bookings/time-slots/time-slots-v2/introduction).\n * You can follow [these sample flows](https://dev.wix.com/docs/api-reference/business-solutions/bookings/end-to-end-booking-flows) for step-by-step guidance about determining availability and creating bookings.\n * @replacedBy event_id\n * @targetRemovalDate 2026-03-31\n */\n sessionId?: string | null;\n /** Service ID. */\n serviceId?: string;\n /** Schedule ID. */\n scheduleId?: string;\n /**\n * ID of the corresponding [event](https://dev.wix.com/docs/rest/business-management/calendar/events-v3/introduction).\n * Available for both appointment and class bookings, not available for course bookings.\n * For appointment-based services, Wix Bookings automatically populates `eventId` when the booking `status` changes to `CONFIRMED`.\n * For class bookings, Wix Bookings automatically populates `eventId` upon booking creation.\n * @minLength 36\n * @maxLength 250\n */\n eventId?: string | null;\n /** The start time of this slot in `YYYY-MM-DDThh:mm:ss`, `YYYY-MM-DDThh:mm:ss:SSS`, or `YYYY-MM-DDThh:mm:ss:SSSZZ` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601). For example, `2026-01-30T13:30:00`, `2026-01-30T13:30:00:000`, or `2026-01-30T13:30:00:000-05:00`. */\n startDate?: string | null;\n /** The end time of this slot in `YYYY-MM-DDThh:mm:ss`, `YYYY-MM-DDThh:mm:ss:SSS`, or `YYYY-MM-DDThh:mm:ss:SSSZZ` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601). For example, `2026-01-30T13:30:00`, `2026-01-30T13:30:00:000`, or `2026-01-30T13:30:00:000-05:00`. */\n endDate?: string | null;\n /**\n * Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database).\n * For example, `America/New_York` or `UTC`. This is the time zone in which the slot was shown to the customer at the time of booking. Wix Bookings ensures that the slot is always displayed in this same time zone to the customer, including when they view or edit their booking in the future.\n */\n timezone?: string | null;\n /**\n * [Primary resource](https://dev.wix.com/docs/rest/business-solutions/bookings/resources/resources-v2/introduction) for the booking.\n * For example, the [staff member](https://dev.wix.com/docs/rest/business-solutions/bookings/staff-members/introduction) providing the service.\n */\n resource?: BookedResource;\n /** Location where the session takes place. */\n location?: Location;\n /**\n * How the customer has selected resources for the booking. Each resource type may have a different selection method. Check `resource` for resource details.\n *\n * Supported values:\n * - `SPECIFIC_RESOURCE`: The customer explicitly chose a particular staff member or resource.\n * - `ANY_RESOURCE`: The customer chose any available resource of that type.\n * - `NO_SELECTION`: The customer made no selection for this resource type.\n * @internal\n * @maxSize 3\n */\n resourceSelections?: ResourceSelection[];\n}\n\nexport interface BookedResource {\n /**\n * ID of the booking's primary resource.\n * @format GUID\n */\n _id?: string;\n /**\n * Resource's name at the time of booking.\n * @maxLength 40\n */\n name?: string | null;\n /**\n * Resource's email at the time of booking.\n * @maxLength 500\n */\n email?: string | null;\n /**\n * ID of the schedule belonging to the booking's primary resource.\n * @format GUID\n */\n scheduleId?: string | null;\n}\n\nexport interface Location {\n /**\n * Business location ID. Available only for locations that are business locations,\n * meaning the `location_type` is `\"OWNER_BUSINESS\"`.\n * @format GUID\n */\n _id?: string | null;\n /** Location name. */\n name?: string | null;\n /** The full address of this location. */\n formattedAddress?: string | null;\n /**\n * The full translated address of this location.\n * @maxLength 512\n */\n formattedAddressTranslated?: string | null;\n /** Location type. */\n locationType?: LocationTypeWithLiterals;\n}\n\nexport enum LocationType {\n /** Undefined location type. */\n UNDEFINED = 'UNDEFINED',\n /** The business address, as set in the site’s general settings. */\n OWNER_BUSINESS = 'OWNER_BUSINESS',\n /** The address as set when creating the service. */\n OWNER_CUSTOM = 'OWNER_CUSTOM',\n /** The address as set for the individual session. */\n CUSTOM = 'CUSTOM',\n}\n\n/** @enumType */\nexport type LocationTypeWithLiterals =\n | LocationType\n | 'UNDEFINED'\n | 'OWNER_BUSINESS'\n | 'OWNER_CUSTOM'\n | 'CUSTOM';\n\n/** TODO: should we import it from services-2? */\nexport interface PhoneCall {\n /** Whether the service is delivered via phone call. */\n enabled?: boolean | null;\n}\n\nexport interface ResourceSelection {\n /**\n * Resource type.\n * @format GUID\n */\n resourceTypeId?: string | null;\n /** Selection method. */\n selectionMethod?: SelectionMethodWithLiterals;\n}\n\nexport enum SelectionMethod {\n UNKNOWN_SELECTION_METHOD = 'UNKNOWN_SELECTION_METHOD',\n /** client picked resource id */\n SPECIFIC_RESOURCE = 'SPECIFIC_RESOURCE',\n /** client explicitly asked for \"any\" */\n ANY_RESOURCE = 'ANY_RESOURCE',\n /** client provided nothing */\n NO_SELECTION = 'NO_SELECTION',\n}\n\n/** @enumType */\nexport type SelectionMethodWithLiterals =\n | SelectionMethod\n | 'UNKNOWN_SELECTION_METHOD'\n | 'SPECIFIC_RESOURCE'\n | 'ANY_RESOURCE'\n | 'NO_SELECTION';\n\nexport interface BookedSchedule {\n /** [Schedule ID](https://dev.wix.com/docs/rest/business-management/calendar/schedules-v3/introduction). */\n scheduleId?: string;\n /**\n * Booked service ID.\n * @format GUID\n */\n serviceId?: string | null;\n /**\n * [Location](https://dev.wix.com/docs/rest/business-management/locations/introduction) where the schedule's sessions take place.\n * @readonly\n */\n location?: Location;\n /**\n * Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database).\n * For example, `America/New_York` or `UTC`. This is the time zone in which the schedule was shown to the customer at the time of booking. Wix Bookings ensures that the schedule is always displayed in this same time zone to the customer, including when they view or edit their booking in the future.\n */\n timezone?: string | null;\n /**\n * Start time of the first session related to the booking in `YYYY-MM-DDThh:mm:ss`, `YYYY-MM-DDThh:mm:ss:SSS`, or `YYYY-MM-DDThh:mm:ss:SSSZZ` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601). For example, `2026-01-30T13:30:00`, `2026-01-30T13:30:00:000`, or `2026-01-30T13:30:00:000-05:00`.\n * @readonly\n */\n firstSessionStart?: string | null;\n /**\n * End time of the last session related to the booking in `YYYY-MM-DDThh:mm:ss`, `YYYY-MM-DDThh:mm:ss:SSS`, or `YYYY-MM-DDThh:mm:ss:SSSZZ` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601). For example, `2026-01-30T13:30:00`, `2026-01-30T13:30:00:000`, or `2026-01-30T13:30:00:000-05:00`.\n * @readonly\n */\n lastSessionEnd?: string | null;\n}\n\nexport interface ContactDetails {\n /**\n * Contact ID.\n * @format GUID\n */\n contactId?: string | null;\n /**\n * Contact's first name. When populated from a standard booking form, this\n * property corresponds to the `name` field.\n */\n firstName?: string | null;\n /** Contact's last name. */\n lastName?: string | null;\n /**\n * Contact's email. If no [contact](https://dev.wix.com/docs/rest/crm/members-contacts/contacts/contacts/contact-v4/contact-object)\n * with this email exist, a new contact is created.\n * Used to validate coupon usage limitations per contact. If not specified,\n * the coupon usage limitation will not be enforced. (Coupon usage limitation\n * validation is not supported yet).\n * @format EMAIL\n */\n email?: string | null;\n /** Contact's phone number. */\n phone?: string | null;\n /** Contact's full address. */\n fullAddress?: Address;\n /**\n * Contact's time zone.\n * @deprecated\n */\n timeZone?: string | null;\n /**\n * Contact's country in [ISO 3166-1 alpha-2 code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)\n * format.\n * @format COUNTRY\n */\n countryCode?: string | null;\n}\n\n/** Physical address */\nexport interface Address extends AddressStreetOneOf {\n /** Street name, number and apartment number. */\n streetAddress?: StreetAddress;\n /** Main address line, usually street and number, as free text. */\n addressLine?: string | null;\n /**\n * Country code.\n * @format COUNTRY\n */\n country?: string | null;\n /** Subdivision. Usually state, region, prefecture or province code, according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2). */\n subdivision?: string | null;\n /** City name. */\n city?: string | null;\n /** Zip/postal code. */\n postalCode?: string | null;\n /** Free text providing more detailed address info. Usually contains Apt, Suite, and Floor. */\n addressLine2?: string | null;\n /** A string containing the full address of this location. */\n formattedAddress?: string | null;\n /** Free text to help find the address. */\n hint?: string | null;\n /** Coordinates of the physical address. */\n geocode?: AddressLocation;\n /** Country full name. */\n countryFullname?: string | null;\n /** Multi-level subdivisions from top to bottom. */\n subdivisions?: Subdivision[];\n}\n\n/** @oneof */\nexport interface AddressStreetOneOf {\n /** Street name, number and apartment number. */\n streetAddress?: StreetAddress;\n /** Main address line, usually street and number, as free text. */\n addressLine?: string | null;\n}\n\nexport interface StreetAddress {\n /** Street number. */\n number?: string;\n /** Street name. */\n name?: string;\n /** Apartment number. */\n apt?: string;\n}\n\nexport interface AddressLocation {\n /** Address latitude. */\n latitude?: number | null;\n /** Address longitude. */\n longitude?: number | null;\n}\n\nexport interface Subdivision {\n /** Subdivision code. Usually state, region, prefecture or province code, according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2). */\n code?: string;\n /** Subdivision full name. */\n name?: string;\n}\n\nexport interface CustomFormField {\n /**\n * ID of the form field as defined in the form.\n * @format GUID\n */\n _id?: string;\n /** Value that was submitted for this field. */\n value?: string | null;\n /**\n * Form field's label at the time of submission.\n * @readonly\n */\n label?: string | null;\n valueType?: ValueTypeWithLiterals;\n}\n\nexport enum ValueType {\n /** Short text. This is the default value type. */\n SHORT_TEXT = 'SHORT_TEXT',\n /** Long text. */\n LONG_TEXT = 'LONG_TEXT',\n /** A text that represents the check box value. If selected the value is `true`, otherwise `false`. */\n CHECK_BOX = 'CHECK_BOX',\n}\n\n/** @enumType */\nexport type ValueTypeWithLiterals =\n | ValueType\n | 'SHORT_TEXT'\n | 'LONG_TEXT'\n | 'CHECK_BOX';\n\n/** Booking status. */\nexport enum BookingStatus {\n /** The booking was created, but the customer hasn't completed the related eCommerce order yet. */\n CREATED = 'CREATED',\n /** The merchant has confirmed the booking and it appears in the business calendar. Merchants can set up their [services](https://dev.wix.com/docs/rest/business-solutions/bookings/services/services-v2/introduction) to automatically confirm all `PENDING` bookings. */\n CONFIRMED = 'CONFIRMED',\n /**\n * The customer has canceled the booking. Depending on the relevant service's [policy snapshot](https://dev.wix.com/docs/rest/business-solutions/bookings/policies/booking-policy-snapshots/introduction)\n * they may have to pay a [cancellation fee](https://dev.wix.com/docs/rest/business-solutions/bookings/pricing/booking-fees/introduction).\n */\n CANCELED = 'CANCELED',\n /** The merchant must manually confirm the booking before it appears in the business calendar. */\n PENDING = 'PENDING',\n /** The merchant has declined the booking before the customer was charged. */\n DECLINED = 'DECLINED',\n /** Currently, you can't call [Register to Waitlist](https://dev.wix.com/docs/rest/business-solutions/bookings/bookings/waitlist/register-to-waitlist) for course or appointment bookings, even though this is supported in live sites. */\n WAITING_LIST = 'WAITING_LIST',\n}\n\n/** @enumType */\nexport type BookingStatusWithLiterals =\n | BookingStatus\n | 'CREATED'\n | 'CONFIRMED'\n | 'CANCELED'\n | 'PENDING'\n | 'DECLINED'\n | 'WAITING_LIST';\n\n/**\n * Payment status.\n * Automatically updated when using eCommerce checkout APIs.\n */\nexport enum PaymentStatus {\n /** Undefined payment status. */\n UNDEFINED = 'UNDEFINED',\n /** The booking isn't paid. */\n NOT_PAID = 'NOT_PAID',\n /** The booking is fully paid. */\n PAID = 'PAID',\n /** The booking is partially paid. */\n PARTIALLY_PAID = 'PARTIALLY_PAID',\n /** The booking is refunded. */\n REFUNDED = 'REFUNDED',\n /** The booking is free of charge. */\n EXEMPT = 'EXEMPT',\n}\n\n/** @enumType */\nexport type PaymentStatusWithLiterals =\n | PaymentStatus\n | 'UNDEFINED'\n | 'NOT_PAID'\n | 'PAID'\n | 'PARTIALLY_PAID'\n | 'REFUNDED'\n | 'EXEMPT';\n\n/**\n * Selected payment option.\n *\n * One of the payment options offered by the service.\n * This field is set when the user selects an option during booking.\n * If left undefined, the payment option is resolved by the service configuration on checkout.\n */\nexport enum SelectedPaymentOption {\n /** Undefined payment option. */\n UNDEFINED = 'UNDEFINED',\n /** Offline payment. */\n OFFLINE = 'OFFLINE',\n /** Online payment. */\n ONLINE = 'ONLINE',\n /** Payment using a Wix Pricing Plan. */\n MEMBERSHIP = 'MEMBERSHIP',\n /**\n * Customers can pay only in person with a Wix Pricing Plan, while the Wix user\n * must manually redeem the pricing plan in the dashboard.\n */\n MEMBERSHIP_OFFLINE = 'MEMBERSHIP_OFFLINE',\n}\n\n/** @enumType */\nexport type SelectedPaymentOptionWithLiterals =\n | SelectedPaymentOption\n | 'UNDEFINED'\n | 'OFFLINE'\n | 'ONLINE'\n | 'MEMBERSHIP'\n | 'MEMBERSHIP_OFFLINE';\n\nexport interface BookingSource {\n /** Platform from which a booking was created. */\n platform?: PlatformWithLiterals;\n /** Actor that created this booking. */\n actor?: ActorWithLiterals;\n /**\n * Wix site ID of the application that created the booking.\n * @format GUID\n * @readonly\n */\n appDefId?: string | null;\n /**\n * Name of the application that created the booking, as saved in Wix Developers Center at the time of booking.\n * @readonly\n */\n appName?: string | null;\n}\n\nexport enum Platform {\n UNDEFINED_PLATFORM = 'UNDEFINED_PLATFORM',\n WEB = 'WEB',\n MOBILE_APP = 'MOBILE_APP',\n}\n\n/** @enumType */\nexport type PlatformWithLiterals =\n | Platform\n | 'UNDEFINED_PLATFORM'\n | 'WEB'\n | 'MOBILE_APP';\n\nexport enum Actor {\n UNDEFINED_ACTOR = 'UNDEFINED_ACTOR',\n BUSINESS = 'BUSINESS',\n CUSTOMER = 'CUSTOMER',\n}\n\n/** @enumType */\nexport type ActorWithLiterals =\n | Actor\n | 'UNDEFINED_ACTOR'\n | 'BUSINESS'\n | 'CUSTOMER';\n\nexport interface ParticipantNotification {\n /**\n * Whether to send a message about the changes to the customer.\n *\n * Default: `false`\n */\n notifyParticipants?: boolean;\n /** Custom message to send to the participants about the changes to the booking. */\n message?: string | null;\n}\n\nexport interface IdentificationData extends IdentificationDataIdOneOf {\n /**\n * ID of a site visitor that has not logged in to the site.\n * @format GUID\n */\n anonymousVisitorId?: string;\n /**\n * ID of a site visitor that has logged in to the site.\n * @format GUID\n */\n memberId?: string;\n /**\n * ID of a Wix user (site owner, contributor, etc.).\n * @format GUID\n */\n wixUserId?: string;\n /**\n * ID of an app.\n * @format GUID\n */\n appId?: string;\n /**\n * ID of of a contact in the site's [CRM by Ascend](https://www.wix.com/ascend/crm) system.\n * @format GUID\n */\n contactId?: string | null;\n}\n\n/** @oneof */\nexport interface IdentificationDataIdOneOf {\n /**\n * ID of a site visitor that has not logged in to the site.\n * @format GUID\n */\n anonymousVisitorId?: string;\n /**\n * ID of a site visitor that has logged in to the site.\n * @format GUID\n */\n memberId?: string;\n /**\n * ID of a Wix user (site owner, contributor, etc.).\n * @format GUID\n */\n wixUserId?: string;\n /**\n * ID of an app.\n * @format GUID\n */\n appId?: string;\n}\n\nexport enum IdentityType {\n UNKNOWN = 'UNKNOWN',\n ANONYMOUS_VISITOR = 'ANONYMOUS_VISITOR',\n MEMBER = 'MEMBER',\n WIX_USER = 'WIX_USER',\n APP = 'APP',\n}\n\n/** @enumType */\nexport type IdentityTypeWithLiterals =\n | IdentityType\n | 'UNKNOWN'\n | 'ANONYMOUS_VISITOR'\n | 'MEMBER'\n | 'WIX_USER'\n | 'APP';\n\n/**\n * Settings that control booking flow behavior and override default business rules.\n *\n * These settings allow administrators to bypass standard validation checks\n * and policies when creating, confirming, rescheduling, or canceling bookings.\n * Most settings require elevated permissions to use.\n *\n * Use flow control settings to handle special scenarios like:\n * - Emergency bookings outside normal business hours\n * - Admin-initiated bookings that bypass availability checks\n * - Custom payment flows that don't use standard eCommerce checkout\n * - Overriding cancellation or rescheduling policies in exceptional cases\n */\nexport interface FlowControlSettings {\n /** Whether availability is checked when creating or confirming the booking. */\n skipAvailabilityValidation?: boolean;\n /**\n * Whether the booking's `status` is automatically updated to `CONFIRMED` when\n * the customer completes the [eCommerce checkout](https://dev.wix.com/docs/rest/business-solutions/e-commerce/checkout/introduction),\n * regardless of whether the relevant service requires manual business confirmation.\n */\n skipBusinessConfirmation?: boolean;\n /**\n * Whether the customer is allowed to pay with a payment method that isn't\n * supported for the relevant service.\n */\n skipSelectedPaymentOptionValidation?: boolean;\n /**\n * Whether the customer receives an automatic refund if there's a double booking\n * conflict. Only available if the customer has paid with a\n * pricing plan.\n */\n withRefund?: boolean | null;\n /**\n * Whether [add-on](https://dev.wix.com/docs/api-reference/business-solutions/bookings/services/add-ons/introduction) validations are skipped when creating a booking.\n * For example, customers can choose an add-on from an [add-on group](https://dev.wix.com/docs/api-reference/business-solutions/bookings/services/services-v2/about-add-on-groups) that's not associated with the service or choose more than the maximum number of different add-ons from a group.\n * The calling [identity](https://dev.wix.com/docs/build-apps/develop-your-app/access/about-identities) must have `BOOKINGS.MANAGE_ADDONS` permissions when specifying `true`.\n *\n * Default: `false`.\n */\n skipAddOnValidation?: boolean | null;\n}\n\nexport interface ExtendedFields {\n /**\n * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n * The value of each key is structured according to the schema defined when the extended fields were configured.\n *\n * You can only access fields for which you have the appropriate permissions.\n *\n * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n */\n namespaces?: Record<string, Record<string, any>>;\n}\n\nexport interface ParticipantChoices {\n /**\n * Information about the booked service choices. Includes the number of participants.\n * @minSize 1\n * @maxSize 20\n */\n serviceChoices?: ServiceChoices[];\n}\n\nexport interface ServiceChoices {\n /**\n * Number of participants for this [variant](https://dev.wix.com/docs/rest/business-solutions/bookings/services/service-options-and-variants/introduction).\n * @min 1\n */\n numberOfParticipants?: number | null;\n /**\n * Service choices for these participants.\n * @maxSize 5\n */\n choices?: ServiceChoice[];\n}\n\nexport interface ServiceChoice extends ServiceChoiceChoiceOneOf {\n /**\n * Value for one of the choices in the [`CustomServiceOption.choices`](https://example.com) list.\n * Choices are specific values for an option the customer can choose to book. For example,\n * the option `ageGroup` may have these choices: `child`, `student`, `adult`, and `senior`.\n * Each choice may have a different price.\n */\n custom?: string;\n duration?: Duration;\n /**\n * ID of the corresponding option for the choice. For example, the choice `child`\n * could correspond to the option `ageGroup`. In this case, `optionId` is the ID\n * for the `ageGroup` option.\n * @format GUID\n */\n optionId?: string;\n}\n\n/** @oneof */\nexport interface ServiceChoiceChoiceOneOf {\n /**\n * Value for one of the choices in the [`CustomServiceOption.choices`](https://example.com) list.\n * Choices are specific values for an option the customer can choose to book. For example,\n * the option `ageGroup` may have these choices: `child`, `student`, `adult`, and `senior`.\n * Each choice may have a different price.\n */\n custom?: string;\n duration?: Duration;\n}\n\nexport interface Duration {\n /**\n * Duration of the service in minutes.\n * Min: 1 minute, Max: 30 days, 23 hours, and 59 minutes\n * @min 1\n * @max 44639\n */\n minutes?: number;\n /**\n * Name of the duration option.\n * Defaults to the formatted duration e.g. \"1 hour, 30 minutes\".\n * @maxLength 255\n */\n name?: string | null;\n}\n\nexport interface MultiServiceBookingInfo {\n /**\n * Multi-service booking ID.\n * @format GUID\n * @readonly\n */\n _id?: string | null;\n /** Type of the multi-service booking. */\n type?: MultiServiceBookingTypeWithLiterals;\n}\n\nexport interface BookedAddOn {\n /**\n * The ID of the add-on.\n * @format GUID\n */\n _id?: string;\n /**\n * The ID of the add-on group.\n * @format GUID\n */\n groupId?: string;\n /**\n * The add-on duration in minutes at the time of booking.\n * @min 1\n * @max 1440\n * @readonly\n */\n durationInMinutes?: number | null;\n /**\n * The quantity of booked add-ons.\n * @min 1\n * @max 1000\n */\n quantity?: number | null;\n /**\n * Add-on `name` at the time of booking.\n * @maxLength 100\n * @readonly\n */\n name?: string | null;\n /**\n * Add-on name translated to the language the customer used during booking.\n * @maxLength 100\n * @readonly\n */\n nameTranslated?: string | null;\n}\n\n/** Possible allowed actions for a Booking */\nexport interface AllowedActions {\n /** Whether the customer is allowed to cancel the booking. */\n cancel?: boolean;\n /** Whether the customer is allowed to reschedule the booking. */\n reschedule?: boolean;\n /**\n * Deprecated.\n * Whether the customer is entitled to a refund when canceling the booking.\n * @deprecated\n */\n refund?: boolean | null;\n}\n\nexport interface Attendance {\n /**\n * ID of the attendance object.\n * @format GUID\n * @readonly\n */\n _id?: string | null;\n /** General information about the booking's attendance. */\n status?: AttendanceStatusWithLiterals;\n /**\n * Total number of participants who attended the session. Can\n * be greater than `1` for bookings with multiple participants.\n */\n numberOfAttendees?: number;\n}\n\nexport interface ConferencingDetails {\n /**\n * URL used by a guest to join the conference.\n * @minLength 1\n * @maxLength 2000\n */\n guestUrl?: string | null;\n /**\n * Conference password.\n * @minLength 1\n * @maxLength 100\n */\n password?: string | null;\n}\n\nexport interface BookingPolicySettings {\n /** Whether the booking has an active cancellation fee policy. */\n cancellationFeeEnabled?: boolean | null;\n}\n\nexport interface BookingFeeDetails {\n /** Cancellation fee status. */\n cancellationFeeStatus?: BookingFeeStatusWithLiterals;\n}\n\nexport enum BookingFeeStatus {\n /** There is no information about the booking fee status. */\n UNKNOWN_STATUS = 'UNKNOWN_STATUS',\n /** The booking fee hasn't been applied to the eCommerce order yet. */\n NOT_YET_APPLIED_TO_ORDER = 'NOT_YET_APPLIED_TO_ORDER',\n /** The booking fee has already been applied as an additional fee to the eCommerce order. */\n APPLIED_TO_ORDER = 'APPLIED_TO_ORDER',\n}\n\n/** @enumType */\nexport type BookingFeeStatusWithLiterals =\n | BookingFeeStatus\n | 'UNKNOWN_STATUS'\n | 'NOT_YET_APPLIED_TO_ORDER'\n | 'APPLIED_TO_ORDER';\n\nexport interface Order {\n /**\n * Order ID.\n * @format GUID\n */\n _id?: string | null;\n /** Order number displayed in the site owner's dashboard (auto-generated). */\n number?: string;\n /** Order status. */\n status?: OrderStatusWithLiterals;\n /** Order payment status. */\n paymentStatus?: PaymentStatusEnumPaymentStatusWithLiterals;\n /** Order’s total price after discounts and tax. */\n totalPrice?: Price;\n /** Line item price after line item discounts for display purposes. */\n bookingPrice?: Price;\n /** Line item price description. */\n bookingPriceDescription?: PriceDescription;\n /** Current amount left to pay. */\n balance?: Balance;\n /**\n * Currency used for the pricing of this order in [ISO-4217](https://en.wikipedia.org/wiki/ISO_4217#List_of_ISO_4217_currency_codes) format.\n * @format CURRENCY\n */\n currency?: string | null;\n}\n\nexport enum OrderStatus {\n /** Order created, but not yet approved or canceled. */\n INITIALIZED = 'INITIALIZED',\n /**\n * Order approved.\n *\n * This happens when either an online payment is received **or** when `order.priceSummary.total = 0` (a zero-total order).\n * Offline orders (cash payment) are automatically approved.\n */\n APPROVED = 'APPROVED',\n /** Order canceled by the user. */\n CANCELED = 'CANCELED',\n /**\n * Order pending.\n * @documentationMaturity preview\n */\n PENDING = 'PENDING',\n /**\n * Order rejected.\n *\n * This happens when pending payments fail.\n * @documentationMaturity preview\n */\n REJECTED = 'REJECTED',\n}\n\n/** @enumType */\nexport type OrderStatusWithLiterals =\n | OrderStatus\n | 'INITIALIZED'\n | 'APPROVED'\n | 'CANCELED'\n | 'PENDING'\n | 'REJECTED';\n\nexport enum PaymentStatusEnumPaymentStatus {\n UNSPECIFIED = 'UNSPECIFIED',\n /**\n * `NOT_PAID` can apply to an order made online, but not yet paid. In such cases `order.status` will be `INITIALIZED`.\n * This status also applies when an offline order needs to be manually marked as paid. In such cases `order.status` will be `APPROVED`.\n */\n NOT_PAID = 'NOT_PAID',\n /** All required payments associated with this order are paid. */\n PAID = 'PAID',\n /** Order partially refunded, but the refunded amount is less than the order's total price. See `order.balanceSummary` for more details. */\n PARTIALLY_REFUNDED = 'PARTIALLY_REFUNDED',\n /** Order fully refunded. Refund amount equals total price. See `order.balanceSummary` for more details. */\n FULLY_REFUNDED = 'FULLY_REFUNDED',\n /**\n * All payments pending.\n *\n * This can happen with two-step payments, when a payment requires manual review, or when a payment is in progress and will be concluded shortly.\n * Learn more about [pending orders](https://support.wix.com/en/article/pending-orders).\n */\n PENDING = 'PENDING',\n /** At least one payment received and approved, but it covers less than the order's total price. See `order.balanceSummary` for more details. */\n PARTIALLY_PAID = 'PARTIALLY_PAID',\n /**\n * Payment received, but not yet confirmed by the payment provider.\n *\n * In most cases, when a payment provider is holding payment it's because setup hasn't been successfully completed by the merchant/site owner.\n * To solve this, the merchant/site owner should log in to the payment provider's dashboard and make sure their account is set up correctly, or contact their support for further assistance.\n * @documentationMaturity preview\n */\n PENDING_MERCHANT = 'PENDING_MERCHANT',\n /**\n * One or more payments canceled.\n * @documentationMaturity preview\n */\n CANCELED = 'CANCELED',\n /**\n * One or more payments declined.\n * @documentationMaturity preview\n */\n DECLINED = 'DECLINED',\n}\n\n/** @enumType */\nexport type PaymentStatusEnumPaymentStatusWithLiterals =\n | PaymentStatusEnumPaymentStatus\n | 'UNSPECIFIED'\n | 'NOT_PAID'\n | 'PAID'\n | 'PARTIALLY_REFUNDED'\n | 'FULLY_REFUNDED'\n | 'PENDING'\n | 'PARTIALLY_PAID'\n | 'PENDING_MERCHANT'\n | 'CANCELED'\n | 'DECLINED';\n\nexport interface Price {\n /**\n * Amount.\n * @decimalValue options { gte:0, lte:1000000000000000, maxScale:2 }\n */\n amount?: string;\n /** Amount formatted with currency symbol. */\n formattedAmount?: string;\n}\n\nexport interface PriceDescription {\n /**\n * __Required.__ Price description in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\n * @minLength 1\n * @maxLength 100\n */\n original?: string;\n /**\n * Price description translated into the buyer's language.\n *\n * Default: Same as `original`.\n * @minLength 1\n * @maxLength 100\n */\n translated?: string | null;\n}\n\nexport interface Balance {\n /**\n * Balance amount.\n *\n * A negative `amount` represents the amount to be refunded. This can happen due to overcharging or the order being modified after a payment has been made.\n * @decimalValue options { gte:0, lte:1000000000000000, maxScale:2 }\n */\n amount?: string;\n /** Amount formatted with currency symbol. */\n formattedAmount?: string;\n}\n\nexport interface Waiver {\n /**\n * The ID of the waiver. This is a unique identifier for the waiver.\n * @format GUID\n */\n _id?: string | null;\n /**\n * The ID of the waiver template.\n * @format GUID\n */\n waiverTemplateId?: string | null;\n /**\n * The ID of the contact associated with the waiver.\n * @format GUID\n */\n contactId?: string | null;\n /** The status of the waiver. */\n status?: StatusWithLiterals;\n}\n\nexport enum Status {\n UNDEFINED = 'UNDEFINED',\n SIGNED = 'SIGNED',\n NOT_SIGNED = 'NOT_SIGNED',\n}\n\n/** @enumType */\nexport type StatusWithLiterals = Status | 'UNDEFINED' | 'SIGNED' | 'NOT_SIGNED';\n\nexport interface OrderTransactions {\n /** The charged not voided membership payment details of the booking line item made to the merchant. */\n chargedMembershipPaymentDetails?: MembershipPaymentDetails;\n /**\n * Sum of refund transactions amounts made to the buyer.\n * @decimalValue options { gte:0, lte:1000000000000000, maxScale:2 }\n */\n refundSumAmounts?: string | null;\n}\n\nexport interface MembershipPaymentDetails {\n /** Membership name. */\n name?: MembershipName;\n /** Membership expiration date. */\n expirationDate?: Date | null;\n /** Membership payment credits. */\n credits?: MembershipPaymentCredits;\n}\n\nexport interface MembershipName {\n /**\n * Membership name.\n * @maxLength 100\n */\n original?: string;\n /**\n * Translated membership name. Defaults to `original` when not provided.\n * @maxLength 100\n */\n translated?: string | null;\n}\n\nexport interface MembershipPaymentCredits {\n /**\n * Membership's total amount of credits.\n * @min 1\n */\n total?: number;\n /** Membership's remaining amount of credits. */\n remaining?: number;\n}\n\nexport interface FormSubmission {\n /**\n * Label of form field\n * @maxLength 500\n */\n label?: string | null;\n /**\n * Key of the submission, and target of a form field\n * @maxLength 200\n */\n key?: string;\n /**\n * Value of the submission, formatted as a string\n * @maxLength 500\n */\n value?: string;\n /**\n * Id of the form field\n * @format GUID\n */\n fieldId?: string;\n}\n\nexport interface QueryExtendedBookingRequest {\n /** Information about filters, paging, and sorting. */\n query: QueryV2;\n /** Whether information about which actions the customer can perform for the bookings is returned. */\n withBookingAllowedActions?: boolean;\n /** Whether information about the attendance for the bookings is returned. */\n withBookingAttendanceInfo?: boolean;\n /**\n * Filters the retrieved bookings by the booking ID that corresponds to the\n * specified `sessionId`.\n *\n * The `booking.id` is calculated by calling Get Session and saving the returned\n * values for `participants.Id`.\n *\n * These participant IDs are then used as `booking.id`.\n * This filter overrides the `booking.id` filter inside the query object.\n *\n * __Note__: Bookings for courses don't include a `sessionId`. For these\n * bookings, you must use this field to filter by session ID.\n */\n sessionId?: string | null;\n}\n\nexport interface QueryV2 extends QueryV2PagingMethodOneOf {\n /** Paging options to limit and skip the number of items. */\n paging?: Paging;\n /**\n * Cursor token pointing to a page of results. In the first request,\n * specify `cursorPaging.limit`. For following requests, specify the\n * retrieved `cursorPaging.cursor` token and not `query.filter` or\n * `query.sort`.\n */\n cursorPaging?: CursorPaging;\n /**\n * Filter object in the following format:\n * `\"filter\" : {\n * \"fieldName1\": \"value1\",\n * \"fieldName2\":{\"$operator\":\"value2\"}\n * }`\n * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n */\n filter?: Record<string, any> | null;\n /**\n * Sort object in the following format:\n * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n */\n sort?: Sorting[];\n /** Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned. */\n fields?: string[];\n /** Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned. */\n fieldsets?: string[];\n}\n\n/** @oneof */\nexport interface QueryV2PagingMethodOneOf {\n /** Paging options to limit and skip the number of items. */\n paging?: Paging;\n /**\n * Cursor token pointing to a page of results. In the first request,\n * specify `cursorPaging.limit`. For following requests, specify the\n * retrieved `cursorPaging.cursor` token and not `query.filter` or\n * `query.sort`.\n */\n cursorPaging?: CursorPaging;\n}\n\nexport interface Sorting {\n /**\n * Name of the field to sort by.\n * @maxLength 512\n */\n fieldName?: string;\n /** Sort order. */\n order?: SortOrderWithLiterals;\n}\n\nexport enum SortOrder {\n ASC = 'ASC',\n DESC = 'DESC',\n}\n\n/** @enumType */\nexport type SortOrderWithLiterals = SortOrder | 'ASC' | 'DESC';\n\nexport interface Paging {\n /** Number of items to load. */\n limit?: number | null;\n /** Number of items to skip in the current sort order. */\n offset?: number | null;\n}\n\nexport interface CursorPaging {\n /**\n * Maximum number of items to return in the results.\n * @max 100\n */\n limit?: number | null;\n /**\n * Pointer to the next or previous page in the list of results.\n *\n * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n * Not relevant for the first request.\n * @maxLength 16000\n */\n cursor?: string | null;\n}\n\nexport interface QueryExtendedBookingResponse {\n /**\n * Retrieved bookings and additional information about attendance or actions\n * the customer can perform\n */\n extendedBookings?: ExtendedBooking[];\n /** Paging metadata. */\n pagingMetadata?: PagingMetadataV2;\n}\n\nexport interface PagingMetadataV2 {\n /** Number of items returned in the response. */\n count?: number | null;\n /** Offset that was requested. */\n offset?: number | null;\n /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */\n total?: number | null;\n /** Flag that indicates the server failed to calculate the `total` field. */\n tooManyToCount?: boolean | null;\n /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n cursors?: Cursors;\n}\n\nexport interface Cursors {\n /**\n * Cursor string pointing to the next page in the list of results.\n * @maxLength 16000\n */\n next?: string | null;\n /**\n * Cursor pointing to the previous page in the list of results.\n * @maxLength 16000\n */\n prev?: string | null;\n}\n\nexport interface QueryExtendedBookingsRequest {\n /** Information about filters, paging, and sorting. */\n query: CommonQueryV2;\n /** Whether to return information about the actions the customer can perform for the bookings. */\n withBookingAllowedActions?: boolean;\n /** Whether to return information about the attendance for the bookings. */\n withBookingAttendanceInfo?: boolean;\n /** Whether to return information about the online conferencing details for the bookings. */\n withBookingConferencingDetails?: boolean;\n /**\n * Whether to retrieve information about booking policy settings.\n *\n * You must have the `BOOKINGS.BOOKING_POLICY_SNAPSHOT_READ` permission scope\n * when passing `true`.\n *\n * Default: `false`.\n */\n withBookingPolicySettings?: boolean;\n /**\n * Whether to retrieve information about [booking fee](https://dev.wix.com/docs/api-reference/business-solutions/bookings/pricing/booking-fees/introduction)\n * statuses.\n *\n * Information about booking fees with a status of `PREVIEW` isn't returned,\n * and only fees that have already been applied are included in the response.\n * If there are hypothetical fees for a booking that may be canceled in the\n * future, these fees aren't returned. To retrieve such fees, call\n * [List Booking Fees] By Booking Ids](https://dev.wix.com/docs/api-reference/business-solutions/bookings/pricing/booking-fees/list-booking-fees-by-booking-ids)\n * instead.\n *\n * You must have the `BOOKINGS.BOOKING_FEES_READ` permission scope when passing\n * `true`.\n *\n * Default: `false`\n */\n withBookingFeeDetails?: boolean;\n}\n\nexport interface CommonQueryV2 extends CommonQueryV2PagingMethodOneOf {\n /** Paging options to limit and skip the number of items. */\n paging?: CommonPaging;\n /**\n * Cursor token pointing to a page of results. In the first request,\n * specify `cursorPaging.limit`. For following requests, specify the\n * retrieved `cursorPaging.cursor` token and not `query.filter` or\n * `query.sort`.\n */\n cursorPaging?: CursorPaging;\n /**\n * Filter object in the following format:\n * `\"filter\" : {\n * \"fieldName1\": \"value1\",\n * \"fieldName2\":{\"$operator\":\"value2\"}\n * }`\n * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n *\n * See [Supported Filters](https://www.wix.com/velo/reference/wix-bookings-v2/extendedbookings/supported-filters)\n * for a full list.\n */\n filter?: Record<string, any> | null;\n /**\n * Sort object in the following format:\n * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n */\n sort?: Sorting[];\n}\n\n/** @oneof */\nexport interface CommonQueryV2PagingMethodOneOf {\n /** Paging options to limit and skip the number of items. */\n paging?: CommonPaging;\n /**\n * Cursor token pointing to a page of results. In the first request,\n * specify `cursorPaging.limit`. For following requests, specify the\n * retrieved `cursorPaging.cursor` token and not `query.filter` or\n * `query.sort`.\n */\n cursorPaging?: CursorPaging;\n}\n\nexport interface CommonPaging {\n /** Number of items to load. */\n limit?: number | null;\n /** Number of items to skip in the current sort order. */\n offset?: number | null;\n}\n\nexport interface QueryExtendedBookingsResponse {\n /**\n * Retrieved bookings and additional information, such as information about about the attendance or actions\n * the customer can perform.\n */\n extendedBookings?: ExtendedBooking[];\n /** Paging metadata. */\n pagingMetadata?: PagingMetadataV2;\n}\n\nexport interface CountExtendedBookingsRequest {\n /**\n * Filter object in the following format:\n * `\"filter\" : {\n * \"fieldName1\": \"value1\",\n * \"fieldName2\":{\"$operator\":\"value2\"}\n * }`\n * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n */\n filter?: Record<string, any> | null;\n}\n\nexport interface CountExtendedBookingsResponse {\n /** The number of bookings matching the specified filter. */\n count?: number;\n}\n\n/**\n * > **Deprecation Notice**\n * >\n * > **This endpoint has been replaced with [Query Extended Bookings](https://dev.wix.com/api/rest/wix-bookings/bookings-reader-v2/query-extended-bookings) and will be removed on May 31, 2025.**\n * > **If your app uses this endpoint, we recommend updating your code as soon as possible.**\n *\n *\n * Retrieves a list of bookings, given the provided paging, filtering, and sorting.\n *\n *\n * You can also retrieve information about which actions the customer can perform\n * for the bookings. To do so, pass `withBookingAllowedActions` as `true`.\n *\n * Query Bookings runs with these defaults:\n *\n * - `createdDate` sorted in `DESC` order\n * - `cursorPaging.limit` is `50`\n *\n * You can check the overview about all\n * [supported filters](https://dev.wix.com/docs/api-reference/business-solutions/bookings/bookings/bookings-reader-v2/supported-filters)\n * for more information.\n *\n * `query.fields` and `query.fieldsets` aren't supported for this endpoint.\n *\n * When using filters for dates, you must use [UTC time](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).\n *\n * Bookings belonging to a schedule don't have a `sessionId`. Therefore you\n * must use the `sessionId` filter that isn't part of the `query` object to\n * filter bookings for courses.\n *\n * To learn about working with _Query_ endpoints, see\n * [API Query Language](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-the-wix-api-query-language),\n * [Sorting and Paging](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-sorting-and-paging),\n * and [Field Projection](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-field-projection).\n *\n * When calling Query Bookings, the retrieved data may not contain your most recent changes. See\n * [Wix-data and Eventual Consistency](https://dev.wix.com/docs/api-reference/business-solutions/cms/eventual-consistency)\n * for more information.\n * @public\n * @documentationMaturity preview\n * @requiredField query\n * @param query - Information about filters, paging, and sorting.\n * @param options - Additional options for performing the query.\n * @permissionId BOOKINGS.BOOKING_READ\n * @applicableIdentity APP\n * @fqn com.wixpress.bookings.reader.v2.BookingsReader.Query\n * @deprecated\n */\nexport async function query(\n query: QueryV2,\n options?: QueryOptions\n): Promise<\n NonNullablePaths<\n QueryExtendedBookingResponse,\n | `extendedBookings`\n | `extendedBookings.${number}.booking.totalParticipants`\n | `extendedBookings.${number}.booking.status`\n | `extendedBookings.${number}.booking.paymentStatus`\n | `extendedBookings.${number}.booking.selectedPaymentOption`\n | `extendedBookings.${number}.booking.createdBy.anonymousVisitorId`\n | `extendedBookings.${number}.booking.createdBy.memberId`\n | `extendedBookings.${number}.booking.createdBy.wixUserId`\n | `extendedBookings.${number}.booking.createdBy.appId`\n | `extendedBookings.${number}.allowedActions.cancel`\n | `extendedBookings.${number}.allowedActions.reschedule`\n | `extendedBookings.${number}.attendance.status`\n | `extendedBookings.${number}.attendance.numberOfAttendees`\n | `extendedBookings.${number}.bookingFeeDetails.cancellationFeeStatus`\n | `extendedBookings.${number}.order.number`\n | `extendedBookings.${number}.order.status`\n | `extendedBookings.${number}.order.paymentStatus`\n | `extendedBookings.${number}.order.totalPrice.amount`\n | `extendedBookings.${number}.order.totalPrice.formattedAmount`\n | `extendedBookings.${number}.order.bookingPriceDescription.original`\n | `extendedBookings.${number}.order.balance.amount`\n | `extendedBookings.${number}.order.balance.formattedAmount`\n | `extendedBookings.${number}.waiver.status`,\n 6\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n query: query,\n withBookingAllowedActions: options?.withBookingAllowedActions,\n withBookingAttendanceInfo: options?.withBookingAttendanceInfo,\n sessionId: options?.sessionId,\n });\n\n const reqOpts = ambassadorWixBookingsReaderV2ExtendedBooking.query(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n query: '$[0]',\n withBookingAllowedActions: '$[1].withBookingAllowedActions',\n withBookingAttendanceInfo: '$[1].withBookingAttendanceInfo',\n sessionId: '$[1].sessionId',\n },\n singleArgumentUnchanged: false,\n },\n ['query', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface QueryOptions {\n /** Whether information about which actions the customer can perform for the bookings is returned. */\n withBookingAllowedActions?: boolean;\n /** Whether information about the attendance for the bookings is returned. */\n withBookingAttendanceInfo?: boolean;\n /**\n * Filters the retrieved bookings by the booking ID that corresponds to the\n * specified `sessionId`.\n *\n * The `booking.id` is calculated by calling Get Session and saving the returned\n * values for `participants.Id`.\n *\n * These participant IDs are then used as `booking.id`.\n * This filter overrides the `booking.id` filter inside the query object.\n *\n * __Note__: Bookings for courses don't include a `sessionId`. For these\n * bookings, you must use this field to filter by session ID.\n */\n sessionId?: string | null;\n}\n\n/**\n * Retrieves a list of bookings, including additional extended information, given the provided paging, filtering, and sorting.\n *\n * `queryExtendedBookings()` doesn't use a query builder, instead it uses [API query language](https://dev.wix.com/docs/sdk/articles/work-with-the-sdk/api-query-language#with-the-api-query-language).\n *\n * Up to 100 extended bookings can be returned per request.\n *\n * `queryExtendedBookings()` runs with these defaults, which you can override:\n *\n * - `createdDate` sorted in `DESC` order\n * - `cursorPaging.limit` is `50`\n *\n *\n * You can retrieve information about which actions the customer can perform\n * for the bookings. To do so, pass `withBookingAllowedActions` as `true`.\n *\n *\n * For field support, see\n * [supported filters](https://www.wix.com/velo/reference/wix-bookings-v2/extendedbookings/supported-filters)\n * for more information.\n *\n * You can specify a filter only once per query. If you specify a filter\n * more than once, only the first filter determines the extended bookings that are returned.\n *\n * When filtering by date, you must use [UTC time](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).\n * @public\n * @requiredField query\n * @param query - Information about filters, paging, and sorting.\n * @param options - Additional options for performing the query.\n * @permissionId BOOKINGS.BOOKING_READ\n * @permissionId BOOKINGS.MANAGE_BOOKINGS\n * @permissionId BOOKINGS.BOOKING_READ_ANY\n * @applicableIdentity APP\n * @fqn com.wixpress.bookings.reader.v2.BookingsReader.QueryExtendedBookings\n */\nexport async function queryExtendedBookings(\n query: CommonQueryV2,\n options?: QueryExtendedBookingsOptions\n): Promise<\n NonNullablePaths<\n QueryExtendedBookingsResponse,\n | `extendedBookings`\n | `extendedBookings.${number}.booking.totalParticipants`\n | `extendedBookings.${number}.booking.status`\n | `extendedBookings.${number}.booking.paymentStatus`\n | `extendedBookings.${number}.booking.selectedPaymentOption`\n | `extendedBookings.${number}.booking.createdBy.anonymousVisitorId`\n | `extendedBookings.${number}.booking.createdBy.memberId`\n | `extendedBookings.${number}.booking.createdBy.wixUserId`\n | `extendedBookings.${number}.booking.createdBy.appId`\n | `extendedBookings.${number}.allowedActions.cancel`\n | `extendedBookings.${number}.allowedActions.reschedule`\n | `extendedBookings.${number}.attendance.status`\n | `extendedBookings.${number}.attendance.numberOfAttendees`\n | `extendedBookings.${number}.bookingFeeDetails.cancellationFeeStatus`\n | `extendedBookings.${number}.order.number`\n | `extendedBookings.${number}.order.status`\n | `extendedBookings.${number}.order.paymentStatus`\n | `extendedBookings.${number}.order.totalPrice.amount`\n | `extendedBookings.${number}.order.totalPrice.formattedAmount`\n | `extendedBookings.${number}.order.bookingPriceDescription.original`\n | `extendedBookings.${number}.order.balance.amount`\n | `extendedBookings.${number}.order.balance.formattedAmount`\n | `extendedBookings.${number}.waiver.status`,\n 6\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n query: query,\n withBookingAllowedActions: options?.withBookingAllowedActions,\n withBookingAttendanceInfo: options?.withBookingAttendanceInfo,\n withBookingConferencingDetails: options?.withBookingConferencingDetails,\n withBookingPolicySettings: options?.withBookingPolicySettings,\n withBookingFeeDetails: options?.withBookingFeeDetails,\n });\n\n const reqOpts =\n ambassadorWixBookingsReaderV2ExtendedBooking.queryExtendedBookings(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n query: '$[0]',\n withBookingAllowedActions: '$[1].withBookingAllowedActions',\n withBookingAttendanceInfo: '$[1].withBookingAttendanceInfo',\n withBookingConferencingDetails: '$[1].withBookingConferencingDetails',\n withBookingPolicySettings: '$[1].withBookingPolicySettings',\n withBookingFeeDetails: '$[1].withBookingFeeDetails',\n },\n singleArgumentUnchanged: false,\n },\n ['query', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface QueryExtendedBookingsOptions {\n /** Whether to return information about the actions the customer can perform for the bookings. */\n withBookingAllowedActions?: boolean;\n /** Whether to return information about the attendance for the bookings. */\n withBookingAttendanceInfo?: boolean;\n /** Whether to return information about the online conferencing details for the bookings. */\n withBookingConferencingDetails?: boolean;\n /**\n * Whether to retrieve information about booking policy settings.\n *\n * You must have the `BOOKINGS.BOOKING_POLICY_SNAPSHOT_READ` permission scope\n * when passing `true`.\n *\n * Default: `false`.\n */\n withBookingPolicySettings?: boolean;\n /**\n * Whether to retrieve information about [booking fee](https://dev.wix.com/docs/api-reference/business-solutions/bookings/pricing/booking-fees/introduction)\n * statuses.\n *\n * Information about booking fees with a status of `PREVIEW` isn't returned,\n * and only fees that have already been applied are included in the response.\n * If there are hypothetical fees for a booking that may be canceled in the\n * future, these fees aren't returned. To retrieve such fees, call\n * [List Booking Fees] By Booking Ids](https://dev.wix.com/docs/api-reference/business-solutions/bookings/pricing/booking-fees/list-booking-fees-by-booking-ids)\n * instead.\n *\n * You must have the `BOOKINGS.BOOKING_FEES_READ` permission scope when passing\n * `true`.\n *\n * Default: `false`\n */\n withBookingFeeDetails?: boolean;\n}\n\n/**\n * Counts the number of bookings matching the specified filters.\n *\n *\n * For field support see\n * [supported filters](https://dev.wix.com/api/rest/wix-bookings/bookings-reader-v2/supported-filters)\n * for more information.\n * @public\n * @permissionId BOOKINGS.BOOKING_MANAGE\n * @permissionId BOOKINGS.MANAGE_BOOKINGS\n * @permissionId BOOKINGS.BOOKING_READ_ANY\n * @applicableIdentity APP\n * @fqn com.wixpress.bookings.reader.v2.BookingsReader.CountExtendedBookings\n */\nexport async function countExtendedBookings(\n options?: CountExtendedBookingsOptions\n): Promise<NonNullablePaths<CountExtendedBookingsResponse, `count`, 2>> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n filter: options?.filter,\n });\n\n const reqOpts =\n ambassadorWixBookingsReaderV2ExtendedBooking.countExtendedBookings(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { filter: '$[0].filter' },\n singleArgumentUnchanged: false,\n },\n ['options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface CountExtendedBookingsOptions {\n /**\n * Filter object in the following format:\n * `\"filter\" : {\n * \"fieldName1\": \"value1\",\n * \"fieldName2\":{\"$operator\":\"value2\"}\n * }`\n * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n */\n filter?: Record<string, any> | null;\n}\n","import { transformRESTFloatToSDKFloat } from '@wix/sdk-runtime/transformations/float';\nimport { transformRESTTimestampToSDKTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\nimport { resolveUrl } from '@wix/sdk-runtime/rest-modules';\nimport { ResolveUrlOpts } from '@wix/sdk-runtime/rest-modules';\nimport { RequestOptionsFactory } from '@wix/sdk-types';\n\nfunction resolveComWixpressBookingsReaderV2BookingsReaderUrl(\n opts: Omit<ResolveUrlOpts, 'domainToMappings'>\n) {\n const domainToMappings = {\n _: [\n {\n srcPath: '/_api/bookings-reader',\n destPath: '',\n },\n ],\n 'editor._base_domain': [\n {\n srcPath: '/_api/bookings-reader',\n destPath: '',\n },\n ],\n 'manage._base_domain_': [\n {\n srcPath: '/_api/bookings-reader',\n destPath: '',\n },\n ],\n 'www.wixapis.com': [\n {\n srcPath: '/_api/bookings-reader',\n destPath: '',\n },\n {\n srcPath: '/bookings/bookings-reader',\n destPath: '',\n },\n ],\n 'editor._base_domain_': [\n {\n srcPath: '/_api/bookings-reader',\n destPath: '',\n },\n ],\n 'blocks._base_domain_': [\n {\n srcPath: '/_api/bookings-reader',\n destPath: '',\n },\n ],\n 'create.editorx': [\n {\n srcPath: '/_api/bookings-reader',\n destPath: '',\n },\n ],\n };\n\n return resolveUrl(Object.assign(opts, { domainToMappings }));\n}\n\nconst PACKAGE_NAME = '@wix/auto_sdk_bookings_extended-bookings';\n\n/**\n * > **Deprecation Notice**\n * >\n * > **This endpoint has been replaced with [Query Extended Bookings](https://dev.wix.com/api/rest/wix-bookings/bookings-reader-v2/query-extended-bookings) and will be removed on May 31, 2025.**\n * > **If your app uses this endpoint, we recommend updating your code as soon as possible.**\n *\n *\n * Retrieves a list of bookings, given the provided paging, filtering, and sorting.\n *\n *\n * You can also retrieve information about which actions the customer can perform\n * for the bookings. To do so, pass `withBookingAllowedActions` as `true`.\n *\n * Query Bookings runs with these defaults:\n *\n * - `createdDate` sorted in `DESC` order\n * - `cursorPaging.limit` is `50`\n *\n * You can check the overview about all\n * [supported filters](https://dev.wix.com/docs/api-reference/business-solutions/bookings/bookings/bookings-reader-v2/supported-filters)\n * for more information.\n *\n * `query.fields` and `query.fieldsets` aren't supported for this endpoint.\n *\n * When using filters for dates, you must use [UTC time](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).\n *\n * Bookings belonging to a schedule don't have a `sessionId`. Therefore you\n * must use the `sessionId` filter that isn't part of the `query` object to\n * filter bookings for courses.\n *\n * To learn about working with _Query_ endpoints, see\n * [API Query Language](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-the-wix-api-query-language),\n * [Sorting and Paging](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-sorting-and-paging),\n * and [Field Projection](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-field-projection).\n *\n * When calling Query Bookings, the retrieved data may not contain your most recent changes. See\n * [Wix-data and Eventual Consistency](https://dev.wix.com/docs/api-reference/business-solutions/cms/eventual-consistency)\n * for more information.\n * @deprecated\n */\nexport function query(payload: object): RequestOptionsFactory<any> {\n function __query({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.bookings.reader.v2.extended_booking',\n method: 'POST' as any,\n methodFqn: 'com.wixpress.bookings.reader.v2.BookingsReader.Query',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveComWixpressBookingsReaderV2BookingsReaderUrl({\n protoPath: '/v2/extended-booking/query',\n data: payload,\n host,\n }),\n data: payload,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'extendedBookings.booking.createdDate' },\n { path: 'extendedBookings.booking.startDate' },\n { path: 'extendedBookings.booking.endDate' },\n { path: 'extendedBookings.booking.updatedDate' },\n { path: 'extendedBookings.booking.canceledDate' },\n {\n path: 'extendedBookings.transactions.chargedMembershipPaymentDetails.expirationDate',\n },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n {\n path: 'extendedBookings.booking.contactDetails.fullAddress.geocode.latitude',\n },\n {\n path: 'extendedBookings.booking.contactDetails.fullAddress.geocode.longitude',\n },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __query;\n}\n\n/**\n * Retrieves a list of bookings, including additional extended information, given the provided paging, filtering, and sorting.\n *\n * `queryExtendedBookings()` doesn't use a query builder, instead it uses [API query language](https://dev.wix.com/docs/sdk/articles/work-with-the-sdk/api-query-language#with-the-api-query-language).\n *\n * Up to 100 extended bookings can be returned per request.\n *\n * `queryExtendedBookings()` runs with these defaults, which you can override:\n *\n * - `createdDate` sorted in `DESC` order\n * - `cursorPaging.limit` is `50`\n *\n *\n * You can retrieve information about which actions the customer can perform\n * for the bookings. To do so, pass `withBookingAllowedActions` as `true`.\n *\n *\n * For field support, see\n * [supported filters](https://www.wix.com/velo/reference/wix-bookings-v2/extendedbookings/supported-filters)\n * for more information.\n *\n * You can specify a filter only once per query. If you specify a filter\n * more than once, only the first filter determines the extended bookings that are returned.\n *\n * When filtering by date, you must use [UTC time](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).\n */\nexport function queryExtendedBookings(\n payload: object\n): RequestOptionsFactory<any> {\n function __queryExtendedBookings({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.bookings.reader.v2.extended_booking',\n method: 'POST' as any,\n methodFqn:\n 'com.wixpress.bookings.reader.v2.BookingsReader.QueryExtendedBookings',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveComWixpressBookingsReaderV2BookingsReaderUrl({\n protoPath: '/v2/extended-bookings/query',\n data: payload,\n host,\n }),\n data: payload,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'extendedBookings.booking.createdDate' },\n { path: 'extendedBookings.booking.startDate' },\n { path: 'extendedBookings.booking.endDate' },\n { path: 'extendedBookings.booking.updatedDate' },\n { path: 'extendedBookings.booking.canceledDate' },\n {\n path: 'extendedBookings.transactions.chargedMembershipPaymentDetails.expirationDate',\n },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n {\n path: 'extendedBookings.booking.contactDetails.fullAddress.geocode.latitude',\n },\n {\n path: 'extendedBookings.booking.contactDetails.fullAddress.geocode.longitude',\n },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __queryExtendedBookings;\n}\n\n/**\n * Counts the number of bookings matching the specified filters.\n *\n *\n * For field support see\n * [supported filters](https://dev.wix.com/api/rest/wix-bookings/bookings-reader-v2/supported-filters)\n * for more information.\n */\nexport function countExtendedBookings(\n payload: object\n): RequestOptionsFactory<any> {\n function __countExtendedBookings({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.bookings.reader.v2.extended_booking',\n method: 'POST' as any,\n methodFqn:\n 'com.wixpress.bookings.reader.v2.BookingsReader.CountExtendedBookings',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveComWixpressBookingsReaderV2BookingsReaderUrl({\n protoPath: '/v2/extended-bookings/count',\n data: payload,\n host,\n }),\n data: payload,\n };\n\n return metadata;\n }\n\n return __countExtendedBookings;\n}\n","import { HttpClient, NonNullablePaths } from '@wix/sdk-types';\nimport {\n CommonQueryV2,\n CountExtendedBookingsOptions,\n CountExtendedBookingsResponse,\n QueryExtendedBookingResponse,\n QueryExtendedBookingsOptions,\n QueryExtendedBookingsResponse,\n QueryOptions,\n QueryV2,\n countExtendedBookings as universalCountExtendedBookings,\n query as universalQuery,\n queryExtendedBookings as universalQueryExtendedBookings,\n} from './bookings-reader-v2-extended-booking-extended-bookings.universal.js';\n\nexport const __metadata = { PACKAGE_NAME: '@wix/bookings' };\n\nexport function query(httpClient: HttpClient): QuerySignature {\n return (query: QueryV2, options?: QueryOptions) =>\n universalQuery(\n query,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface QuerySignature {\n /**\n * > **Deprecation Notice**\n * >\n * > **This endpoint has been replaced with [Query Extended Bookings](https://dev.wix.com/api/rest/wix-bookings/bookings-reader-v2/query-extended-bookings) and will be removed on May 31, 2025.**\n * > **If your app uses this endpoint, we recommend updating your code as soon as possible.**\n *\n *\n * Retrieves a list of bookings, given the provided paging, filtering, and sorting.\n *\n *\n * You can also retrieve information about which actions the customer can perform\n * for the bookings. To do so, pass `withBookingAllowedActions` as `true`.\n *\n * Query Bookings runs with these defaults:\n *\n * - `createdDate` sorted in `DESC` order\n * - `cursorPaging.limit` is `50`\n *\n * You can check the overview about all\n * [supported filters](https://dev.wix.com/docs/api-reference/business-solutions/bookings/bookings/bookings-reader-v2/supported-filters)\n * for more information.\n *\n * `query.fields` and `query.fieldsets` aren't supported for this endpoint.\n *\n * When using filters for dates, you must use [UTC time](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).\n *\n * Bookings belonging to a schedule don't have a `sessionId`. Therefore you\n * must use the `sessionId` filter that isn't part of the `query` object to\n * filter bookings for courses.\n *\n * To learn about working with _Query_ endpoints, see\n * [API Query Language](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-the-wix-api-query-language),\n * [Sorting and Paging](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-sorting-and-paging),\n * and [Field Projection](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-field-projection).\n *\n * When calling Query Bookings, the retrieved data may not contain your most recent changes. See\n * [Wix-data and Eventual Consistency](https://dev.wix.com/docs/api-reference/business-solutions/cms/eventual-consistency)\n * for more information.\n * @param - Information about filters, paging, and sorting.\n * @param - Additional options for performing the query.\n * @deprecated\n */\n (query: QueryV2, options?: QueryOptions): Promise<\n NonNullablePaths<\n QueryExtendedBookingResponse,\n | `extendedBookings`\n | `extendedBookings.${number}.booking.totalParticipants`\n | `extendedBookings.${number}.booking.status`\n | `extendedBookings.${number}.booking.paymentStatus`\n | `extendedBookings.${number}.booking.selectedPaymentOption`\n | `extendedBookings.${number}.booking.createdBy.anonymousVisitorId`\n | `extendedBookings.${number}.booking.createdBy.memberId`\n | `extendedBookings.${number}.booking.createdBy.wixUserId`\n | `extendedBookings.${number}.booking.createdBy.appId`\n | `extendedBookings.${number}.allowedActions.cancel`\n | `extendedBookings.${number}.allowedActions.reschedule`\n | `extendedBookings.${number}.attendance.status`\n | `extendedBookings.${number}.attendance.numberOfAttendees`\n | `extendedBookings.${number}.bookingFeeDetails.cancellationFeeStatus`\n | `extendedBookings.${number}.order.number`\n | `extendedBookings.${number}.order.status`\n | `extendedBookings.${number}.order.paymentStatus`\n | `extendedBookings.${number}.order.totalPrice.amount`\n | `extendedBookings.${number}.order.totalPrice.formattedAmount`\n | `extendedBookings.${number}.order.bookingPriceDescription.original`\n | `extendedBookings.${number}.order.balance.amount`\n | `extendedBookings.${number}.order.balance.formattedAmount`\n | `extendedBookings.${number}.waiver.status`,\n 6\n >\n >;\n}\n\nexport function queryExtendedBookings(\n httpClient: HttpClient\n): QueryExtendedBookingsSignature {\n return (query: CommonQueryV2, options?: QueryExtendedBookingsOptions) =>\n universalQueryExtendedBookings(\n query,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface QueryExtendedBookingsSignature {\n /**\n * Retrieves a list of bookings, including additional extended information, given the provided paging, filtering, and sorting.\n *\n * `queryExtendedBookings()` doesn't use a query builder, instead it uses [API query language](https://dev.wix.com/docs/sdk/articles/work-with-the-sdk/api-query-language#with-the-api-query-language).\n *\n * Up to 100 extended bookings can be returned per request.\n *\n * `queryExtendedBookings()` runs with these defaults, which you can override:\n *\n * - `createdDate` sorted in `DESC` order\n * - `cursorPaging.limit` is `50`\n *\n *\n * You can retrieve information about which actions the customer can perform\n * for the bookings. To do so, pass `withBookingAllowedActions` as `true`.\n *\n *\n * For field support, see\n * [supported filters](https://www.wix.com/velo/reference/wix-bookings-v2/extendedbookings/supported-filters)\n * for more information.\n *\n * You can specify a filter only once per query. If you specify a filter\n * more than once, only the first filter determines the extended bookings that are returned.\n *\n * When filtering by date, you must use [UTC time](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).\n * @param - Information about filters, paging, and sorting.\n * @param - Additional options for performing the query.\n */\n (query: CommonQueryV2, options?: QueryExtendedBookingsOptions): Promise<\n NonNullablePaths<\n QueryExtendedBookingsResponse,\n | `extendedBookings`\n | `extendedBookings.${number}.booking.totalParticipants`\n | `extendedBookings.${number}.booking.status`\n | `extendedBookings.${number}.booking.paymentStatus`\n | `extendedBookings.${number}.booking.selectedPaymentOption`\n | `extendedBookings.${number}.booking.createdBy.anonymousVisitorId`\n | `extendedBookings.${number}.booking.createdBy.memberId`\n | `extendedBookings.${number}.booking.createdBy.wixUserId`\n | `extendedBookings.${number}.booking.createdBy.appId`\n | `extendedBookings.${number}.allowedActions.cancel`\n | `extendedBookings.${number}.allowedActions.reschedule`\n | `extendedBookings.${number}.attendance.status`\n | `extendedBookings.${number}.attendance.numberOfAttendees`\n | `extendedBookings.${number}.bookingFeeDetails.cancellationFeeStatus`\n | `extendedBookings.${number}.order.number`\n | `extendedBookings.${number}.order.status`\n | `extendedBookings.${number}.order.paymentStatus`\n | `extendedBookings.${number}.order.totalPrice.amount`\n | `extendedBookings.${number}.order.totalPrice.formattedAmount`\n | `extendedBookings.${number}.order.bookingPriceDescription.original`\n | `extendedBookings.${number}.order.balance.amount`\n | `extendedBookings.${number}.order.balance.formattedAmount`\n | `extendedBookings.${number}.waiver.status`,\n 6\n >\n >;\n}\n\nexport function countExtendedBookings(\n httpClient: HttpClient\n): CountExtendedBookingsSignature {\n return (options?: CountExtendedBookingsOptions) =>\n universalCountExtendedBookings(\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface CountExtendedBookingsSignature {\n /**\n * Counts the number of bookings matching the specified filters.\n *\n *\n * For field support see\n * [supported filters](https://dev.wix.com/api/rest/wix-bookings/bookings-reader-v2/supported-filters)\n * for more information.\n */\n (options?: CountExtendedBookingsOptions): Promise<\n NonNullablePaths<CountExtendedBookingsResponse, `count`, 2>\n >;\n}\n\nexport {\n Actor,\n Address,\n AddressLocation,\n AddressStreetOneOf,\n AllowedActions,\n Attendance,\n AttendanceStatus,\n Balance,\n BookedAddOn,\n BookedEntity,\n BookedEntityItemOneOf,\n BookedResource,\n BookedSchedule,\n BookedSlot,\n Booking,\n BookingFeeDetails,\n BookingFeeStatus,\n BookingParticipantsInfoOneOf,\n BookingPolicySettings,\n BookingSource,\n BookingStatus,\n CommonPaging,\n CommonQueryV2,\n CommonQueryV2PagingMethodOneOf,\n ConferencingDetails,\n ContactDetails,\n CountExtendedBookingsOptions,\n CountExtendedBookingsRequest,\n CountExtendedBookingsResponse,\n CursorPaging,\n Cursors,\n CustomFormField,\n Duration,\n ExtendedBooking,\n ExtendedFields,\n FlowControlSettings,\n FormSubmission,\n IdentificationData,\n IdentificationDataIdOneOf,\n IdentityType,\n Location,\n LocationType,\n MembershipName,\n MembershipPaymentCredits,\n MembershipPaymentDetails,\n MultiServiceBookingInfo,\n MultiServiceBookingType,\n Order,\n OrderStatus,\n OrderTransactions,\n Paging,\n PagingMetadataV2,\n ParticipantChoices,\n ParticipantNotification,\n PaymentStatus,\n PaymentStatusEnumPaymentStatus,\n PhoneCall,\n Platform,\n Price,\n PriceDescription,\n QueryExtendedBookingRequest,\n QueryExtendedBookingResponse,\n QueryExtendedBookingsOptions,\n QueryExtendedBookingsRequest,\n QueryExtendedBookingsResponse,\n QueryOptions,\n QueryV2,\n QueryV2PagingMethodOneOf,\n ResourceSelection,\n SelectedPaymentOption,\n SelectionMethod,\n ServiceChoice,\n ServiceChoiceChoiceOneOf,\n ServiceChoices,\n SortOrder,\n Sorting,\n Status,\n StreetAddress,\n Subdivision,\n ValueType,\n Waiver,\n} from './bookings-reader-v2-extended-booking-extended-bookings.universal.js';\n","import {\n query as publicQuery,\n queryExtendedBookings as publicQueryExtendedBookings,\n countExtendedBookings as publicCountExtendedBookings,\n} from './bookings-reader-v2-extended-booking-extended-bookings.public.js';\nimport { createRESTModule } from '@wix/sdk-runtime/rest-modules';\nimport { BuildRESTFunction, MaybeContext } from '@wix/sdk-types';\n\nexport const query: MaybeContext<\n BuildRESTFunction<typeof publicQuery> & typeof publicQuery\n> = /*#__PURE__*/ createRESTModule(publicQuery);\nexport const queryExtendedBookings: MaybeContext<\n BuildRESTFunction<typeof publicQueryExtendedBookings> &\n typeof publicQueryExtendedBookings\n> = /*#__PURE__*/ createRESTModule(publicQueryExtendedBookings);\nexport const countExtendedBookings: MaybeContext<\n BuildRESTFunction<typeof publicCountExtendedBookings> &\n typeof publicCountExtendedBookings\n> = /*#__PURE__*/ createRESTModule(publicCountExtendedBookings);\n\nexport {\n AttendanceStatus,\n MultiServiceBookingType,\n LocationType,\n SelectionMethod,\n ValueType,\n BookingStatus,\n PaymentStatus,\n SelectedPaymentOption,\n Platform,\n Actor,\n IdentityType,\n BookingFeeStatus,\n OrderStatus,\n PaymentStatusEnumPaymentStatus,\n Status,\n SortOrder,\n} from './bookings-reader-v2-extended-booking-extended-bookings.universal.js';\nexport {\n ExtendedBooking,\n Booking,\n BookingParticipantsInfoOneOf,\n BookedEntity,\n BookedEntityItemOneOf,\n BookedSlot,\n BookedResource,\n Location,\n PhoneCall,\n ResourceSelection,\n BookedSchedule,\n ContactDetails,\n Address,\n AddressStreetOneOf,\n StreetAddress,\n AddressLocation,\n Subdivision,\n CustomFormField,\n BookingSource,\n ParticipantNotification,\n IdentificationData,\n IdentificationDataIdOneOf,\n FlowControlSettings,\n ExtendedFields,\n ParticipantChoices,\n ServiceChoices,\n ServiceChoice,\n ServiceChoiceChoiceOneOf,\n Duration,\n MultiServiceBookingInfo,\n BookedAddOn,\n AllowedActions,\n Attendance,\n ConferencingDetails,\n BookingPolicySettings,\n BookingFeeDetails,\n Order,\n Price,\n PriceDescription,\n Balance,\n Waiver,\n OrderTransactions,\n MembershipPaymentDetails,\n MembershipName,\n MembershipPaymentCredits,\n FormSubmission,\n QueryExtendedBookingRequest,\n QueryV2,\n QueryV2PagingMethodOneOf,\n Sorting,\n Paging,\n CursorPaging,\n QueryExtendedBookingResponse,\n PagingMetadataV2,\n Cursors,\n QueryExtendedBookingsRequest,\n CommonQueryV2,\n CommonQueryV2PagingMethodOneOf,\n CommonPaging,\n QueryExtendedBookingsResponse,\n CountExtendedBookingsRequest,\n CountExtendedBookingsResponse,\n QueryOptions,\n QueryExtendedBookingsOptions,\n CountExtendedBookingsOptions,\n} from './bookings-reader-v2-extended-booking-extended-bookings.universal.js';\nexport {\n AttendanceStatusWithLiterals,\n MultiServiceBookingTypeWithLiterals,\n LocationTypeWithLiterals,\n SelectionMethodWithLiterals,\n ValueTypeWithLiterals,\n BookingStatusWithLiterals,\n PaymentStatusWithLiterals,\n SelectedPaymentOptionWithLiterals,\n PlatformWithLiterals,\n ActorWithLiterals,\n IdentityTypeWithLiterals,\n BookingFeeStatusWithLiterals,\n OrderStatusWithLiterals,\n PaymentStatusEnumPaymentStatusWithLiterals,\n StatusWithLiterals,\n SortOrderWithLiterals,\n} from './bookings-reader-v2-extended-booking-extended-bookings.universal.js';\n"],"mappings":"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","names":["countExtendedBookings","query","queryExtendedBookings","payload","AttendanceStatus","MultiServiceBookingType","LocationType","SelectionMethod","ValueType","BookingStatus","PaymentStatus","SelectedPaymentOption","Platform","Actor","IdentityType","BookingFeeStatus","OrderStatus","PaymentStatusEnumPaymentStatus","Status","SortOrder","query","sdkTransformError","queryExtendedBookings","countExtendedBookings","query","queryExtendedBookings","countExtendedBookings","import_rest_modules","query","queryExtendedBookings","countExtendedBookings"]}
|
|
@@ -412,19 +412,17 @@ interface Location {
|
|
|
412
412
|
* @maxLength 512
|
|
413
413
|
*/
|
|
414
414
|
formattedAddressTranslated?: string | null;
|
|
415
|
-
/**
|
|
416
|
-
* Location type.
|
|
417
|
-
*
|
|
418
|
-
* - `"OWNER_BUSINESS"`: The business address, as set in the site’s general settings.
|
|
419
|
-
* - `"OWNER_CUSTOM"`: The address as set when creating the service.
|
|
420
|
-
* - `"CUSTOM"`: The address as set for the individual session.
|
|
421
|
-
*/
|
|
415
|
+
/** Location type. */
|
|
422
416
|
locationType?: LocationTypeWithLiterals;
|
|
423
417
|
}
|
|
424
418
|
declare enum LocationType {
|
|
419
|
+
/** Undefined location type. */
|
|
425
420
|
UNDEFINED = "UNDEFINED",
|
|
421
|
+
/** The business address, as set in the site’s general settings. */
|
|
426
422
|
OWNER_BUSINESS = "OWNER_BUSINESS",
|
|
423
|
+
/** The address as set when creating the service. */
|
|
427
424
|
OWNER_CUSTOM = "OWNER_CUSTOM",
|
|
425
|
+
/** The address as set for the individual session. */
|
|
428
426
|
CUSTOM = "CUSTOM"
|
|
429
427
|
}
|
|
430
428
|
/** @enumType */
|