{"version":3,"sources":["../../src/bookings-availability-v2-time-slot-event-time-slots.universal.ts","../../src/bookings-availability-v2-time-slot-event-time-slots.http.ts","../../src/bookings-availability-v2-time-slot-event-time-slots.public.ts","../../src/bookings-availability-v2-time-slot-event-time-slots.context.ts"],"sourcesContent":["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 ambassadorWixBookingsAvailabilityV2TimeSlot from './bookings-availability-v2-time-slot-event-time-slots.http.js';\n\n/**\n * A time slot represents a specific time period when a service is available for booking.\n * It provides all the information needed to display availability to customers, including whether customers can actually book it, the remaining capacity, and which staff members or resources are available.\n * Available time slots may not always be bookable due to service booking policies. When this occurs, the time slot includes information about the specific booking restrictions.\n *\n * For multi-service bookings, the top-level time slot acts as a container spanning the entire service sequence (from the start of the first service to the end of the last service). Individual service details are provided in nested time slots.\n */\nexport interface TimeSlot {\n  /**\n   * [Service ID] (https://dev.wix.com/docs/api-reference/business-solutions/bookings/services/services-v2/introduction).\n   *\n   * Available only for single-service bookings. For multi-service bookings, this field is empty and individual service IDs are provided in `nestedTimeSlots`.\n   * @format GUID\n   */\n  serviceId?: string | null;\n  /**\n   * Local start date of the time slot in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).\n   * For example, `2026-01-30T13:30:00`.\n   *\n   * For multi-service bookings, this represents the start time of the first service in the sequence.\n   *\n   * In `ListAvailabilityTimeSlotEndOptions`, this is identical on every entry and equals the request's `localStartDate`.\n   * @format LOCAL_DATE_TIME\n   */\n  localStartDate?: string | null;\n  /**\n   * Local end date of the time slot in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).\n   * For example, `2026-01-30T14:00:00`.\n   *\n   * For multi-service bookings, this represents the end time of the last service in the sequence.\n   * @format LOCAL_DATE_TIME\n   */\n  localEndDate?: string | null;\n  /**\n   * Whether customers can book the slot according to the service's [booking policies](https://dev.wix.com/docs/api-reference/business-solutions/bookings/policies/booking-policies/introduction).\n   *\n   * For multi-service bookings, this is `true` only when all services in the sequence comply with their respective booking policies.\n   */\n  bookable?: boolean | null;\n  /**\n   * Information about where the business provides the service to the customer.\n   *\n   * In `ListAvailabilityTimeSlotEndOptions`, this is the requested location, identical on every entry.\n   */\n  location?: Location;\n  /**\n   * Information about the [event](https://dev.wix.com/docs/api-reference/business-management/calendar/events-v3/introduction) related to the slot.\n   * Available only for classes. Not available for appointment-based services and courses.\n   */\n  eventInfo?: EventInfo;\n  /**\n   * Total number of spots for the slot.\n   *\n   * For multi-service bookings, this is always `1` because customers book the entire service sequence as a single unit.\n   *\n   * In `ListAvailabilityTimeSlotEndOptions`, capacity reflects whether at least one resource can cover `[localStartDate, localEndDate]`; the specific resource is selected later via `GetAvailabilityTimeSlot`.\n   * @min 1\n   * @max 1000\n   */\n  totalCapacity?: number | null;\n  /**\n   * Remaining number of spots for the slot.\n   * - For appointment bookings: Either `1` (available) or `0` (unavailable).\n   * - For classes: Total capacity minus booked spots. Doesn't account for waitlist reservations. For classes with waitlists, use `bookableCapacity` to get the actual number of spots customers can book.\n   * - For courses: Total capacity minus booked spots. Courses don't currently support waitlists.\n   *\n   * In `ListAvailabilityTimeSlotEndOptions`, capacity reflects whether at least one resource can cover `[localStartDate, localEndDate]`; the specific resource is selected later via `GetAvailabilityTimeSlot`.\n   * @max 1000\n   */\n  remainingCapacity?: number | null;\n  /**\n   * Number of spots that customers can book for the slot.\n   * Calculated as the remaining capacity minus the spots reserved for the waitlist.\n   * If the service has no waitlist, identical to `remainingCapacity`.\n   *\n   * For multi-service bookings, this is either `1` (sequence can be booked) or `0` (sequence can't be booked).\n   *\n   * In `ListAvailabilityTimeSlotEndOptions`, capacity reflects whether at least one resource can cover `[localStartDate, localEndDate]`; the specific resource is selected later via `GetAvailabilityTimeSlot`.\n   */\n  bookableCapacity?: number | null;\n  /**\n   * Information about booking policy violations for the slot.\n   *\n   * For multi-service bookings, this aggregates violations from all services in the sequence.\n   */\n  bookingPolicyViolations?: BookingPolicyViolations;\n  /**\n   * List of [resources](https://dev.wix.com/docs/api-reference/business-solutions/bookings/resources/resources-v2/introduction) available during the time slot.\n   *\n   * Available only for single-service bookings. For multi-service bookings, resource information is provided in `nestedTimeSlots`.\n   *\n   * __Note__: Behavior varies by method:\n   * - For [List Availability Time Slots](https://dev.wix.com/docs/api-reference/business-solutions/bookings/time-slots/time-slots-v2/list-availability-time-slots), this list is empty by default. To include resource details, specify `includeResourceTypeIds` or `resourceIds` in the request.\n   * - For [Get Availability Time Slot](https://dev.wix.com/docs/api-reference/business-solutions/bookings/time-slots/time-slots-v2/get-availability-time-slot), all resources are returned by default.\n   * - **End options** (`ListAvailabilityTimeSlotEndOptions`): Always empty. The response does not surface resource lists for end options. If the customer hasn't already picked a resource earlier in the flow, call `GetAvailabilityTimeSlot` with the picked `localEndDate` to retrieve candidate resources before booking; if a resource is already chosen, pass it through to booking directly.\n   */\n  availableResources?: AvailableResources[];\n  /**\n   * Nested time slots for multi-service bookings.\n   * Each nested slot represents 1 service in the sequence, ordered according to the service sequence specified in the request.\n   *\n   * Available only for multi-service bookings. Empty for single-service bookings.\n   * @maxSize 8\n   */\n  nestedTimeSlots?: NestedTimeSlot[];\n  /** Information about why customers can't book the time slot. */\n  nonBookableReasons?: NonBookableReasons;\n  /**\n   * Schedule ID associated with this time slot.\n   * Same as the service's schedule ID.\n   * @format GUID\n   */\n  scheduleId?: string | null;\n  /**\n   * Whether this time slot spans one or more full days.\n   * When `true`, `localStartDate` is `00:00:00` of the first day and `localEndDate` is `00:00:00` of the day after the last day (exclusive).\n   * Midnight boundaries are interpreted in the event's `timeZone`.\n   * The time component should be ignored for display purposes.\n   *\n   * Default: `false`\n   */\n  allDay?: boolean | null;\n}\n\nexport interface Location {\n  /**\n   * [Location ID](https://dev.wix.com/docs/api-reference/business-management/locations/introduction).\n   * Available only for business locations.\n   * @format GUID\n   */\n  _id?: string | null;\n  /** Location name. */\n  name?: string | null;\n  /** Formatted location address. */\n  formattedAddress?: string | null;\n  /** Location type. */\n  locationType?: LocationTypeWithLiterals;\n}\n\n/**\n * Location type.\n *\n * __Note__: These values differ from the `locationType` values used in the [Bookings Writer V2](https://dev.wix.com/docs/api-reference/business-solutions/bookings/bookings/bookings-writer-v2/introduction) API. When passing location data from a time slot to [Reschedule Booking](https://dev.wix.com/docs/api-reference/business-solutions/bookings/bookings/bookings-writer-v2/reschedule-booking) or [Create Booking](https://dev.wix.com/docs/api-reference/business-solutions/bookings/bookings/bookings-writer-v2/create-booking), map as follows: `BUSINESS` to `OWNER_BUSINESS`, `CUSTOM` to `OWNER_CUSTOM`.\n */\nexport enum LocationType {\n  /** A business location, either the default business address, or locations defined for the business by the Business Info. */\n  BUSINESS = 'BUSINESS',\n  /** The location is unique to this service and isn't defined as 1 of the business locations. */\n  CUSTOM = 'CUSTOM',\n  /** The location can be determined by the customer and isn't set up beforehand. */\n  CUSTOMER = 'CUSTOMER',\n}\n\n/** @enumType */\nexport type LocationTypeWithLiterals =\n  | LocationType\n  | 'BUSINESS'\n  | 'CUSTOM'\n  | 'CUSTOMER';\n\n/** Available for event based slots, and not for availability based slots */\nexport interface EventInfo {\n  /**\n   * Event ID.\n   * @minLength 36\n   * @maxLength 250\n   */\n  eventId?: string | null;\n  /** Information about the event's waitlist. Available only if the service has a waitlist. */\n  waitingList?: WaitingList;\n  /**\n   * Event title.\n   * @minLength 1\n   * @maxLength 200\n   */\n  eventTitle?: string | null;\n}\n\nexport interface WaitingList {\n  /**\n   * Total number of spots in the waitlist.\n   * @min 1\n   */\n  totalCapacity?: number | null;\n  /**\n   * Number of remaining spots in the waitlist.\n   * For example, an event with a waitlist for 10 people and 3 registrants, results in a remaining capacity of `7`.\n   */\n  remainingCapacity?: number | null;\n}\n\nexport interface BookingPolicyViolations {\n  /**\n   * Whether it's too early for customers to book the slot.\n   *\n   * By default, all slots are returned. Specifying `{\"tooEarlyToBook\": false}` returns only those that customers can already book, while specifying `{\"tooEarlyToBook\": true}` returns only those that can't be booked yet.\n   */\n  tooEarlyToBook?: boolean | null;\n  /**\n   * Earliest time for booking the slot in `YYYY-MM-DDThh:mm:ss.sssZ` format.\n   *\n   * *In responses**: Contains a value when `tooEarlyToBook` is `true`, indicating the earliest time customers can book the slot.\n   *\n   * *In requests**: Don't specify a value for this field. Use `tooEarlyToBook` to filter slots that can't be booked yet due to minimum advance booking time restrictions.\n   */\n  earliestBookingDate?: Date | null;\n  /**\n   * Whether it's too late for customers to book the slot.\n   *\n   * By default, all slots are returned. Specifying `{\"tooLateToBook\": false}` returns only those that customers can still book, while specifying `{\"tooLateToBook\": true}` returns only those that can no longer be booked.\n   */\n  tooLateToBook?: boolean | null;\n  /**\n   * Whether customers can book the service online.\n   *\n   * By default, both services with online booking enabled and disabled are returned. Providing the boolean set to `true` or `false` returns only matching slots.\n   */\n  bookOnlineDisabled?: boolean | null;\n}\n\nexport interface AvailableResources {\n  /**\n   * [Resource type ID](https://dev.wix.com/docs/api-reference/business-solutions/bookings/resources/resource-types-v2/introduction).\n   * @format GUID\n   */\n  resourceTypeId?: string | null;\n  /**\n   * Details about resources available during the time slot.\n   *\n   * Behavior varies by method:\n   *\n   * List methods (List Availability Time Slots and List Multi Service Availability Time Slots):\n   * - Empty by default.\n   * - Up to 10 resources when specifying `includeResourceTypeIds` or `resourceIds` in the request.\n   *\n   * Get methods (Get Availability Time Slots and Get Multi Service Availability Time Slots):\n   * - All resources by default.\n   * - Filtered resources when specifying `includeResourceTypeIds` or `resourceIds` in the request.\n   */\n  resources?: Resource[];\n  /**\n   * Whether there are more available resources for the slot than those listed in `resources`.\n   * @readonly\n   */\n  hasMoreAvailableResources?: boolean | null;\n}\n\nexport interface Resource {\n  /**\n   * Resource ID.\n   * @format GUID\n   */\n  _id?: string;\n  /**\n   * Resource name.\n   * @minLength 1\n   */\n  name?: string | null;\n}\n\nexport interface NestedTimeSlot {\n  /**\n   * Service ID of the nested time slot.\n   * @format GUID\n   */\n  serviceId?: string;\n  /**\n   * Local start date of the nested time slot in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).\n   * For example, `2026-01-30T13:30:00`.\n   * @format LOCAL_DATE_TIME\n   */\n  localStartDate?: string;\n  /**\n   * Local end date of the nested time slot in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).\n   * For example, `2026-01-30T13:30:00`.\n   * @format LOCAL_DATE_TIME\n   */\n  localEndDate?: string;\n  /**\n   * List of [resources](https://dev.wix.com/docs/api-reference/business-solutions/bookings/resources/resources-v2/introduction) available during the nested time slot.\n   * @maxSize 10\n   */\n  availableResources?: AvailableResources[];\n  /**\n   * The schedule ID associated with this nested time slot.\n   * Same as the service's schedule ID.\n   * @format GUID\n   */\n  scheduleId?: string | null;\n}\n\nexport interface NonBookableReasons {\n  /** Whether the slot is fully booked with no remaining capacity. */\n  noRemainingCapacity?: boolean | null;\n  /** Whether booking the slot violates any of the service's booking policies. */\n  violatesBookingPolicy?: boolean | null;\n  /** Whether the slot is reserved for the waitlist. A new customer can't book the reserved slot. */\n  reservedForWaitingList?: boolean | null;\n  /** Whether the related event is cancelled. */\n  eventCancelled?: boolean | null;\n}\n\nexport interface ListEventTimeSlotsRequest {\n  /**\n   * Lower boundary for `localStartDate` to include in the response.\n   * Each returned time slot has a `localStartDate` between `fromLocalDate` and `toLocalDate`.\n   * Required unless you specify `cursorPaging.cursor`.\n   *\n   * Local start date in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).\n   * For example, `2026-01-30T13:30:00`.\n   * @format LOCAL_DATE_TIME\n   */\n  fromLocalDate?: string | null;\n  /**\n   * Upper boundary for `localStartDate` to include in the response.\n   * Each returned time slot has a `localStartDate` between `fromLocalDate` and `toLocalDate`.\n   * Required unless you specify `cursorPaging.cursor`.\n   *\n   * Local end date in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).\n   * For example, `2026-01-30T13:30:00`.\n   * @format LOCAL_DATE_TIME\n   */\n  toLocalDate?: string | null;\n  /**\n   * Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database) for adjusting `fromLocalDate` and `toLocalDate` values.\n   * For example, `America/New_York` or `UTC`.\n   *\n   * Default: `timeZone` specified in the business [site properties](https://dev.wix.com/docs/api-reference/business-management/site-properties/properties/get-site-properties).\n   * @maxLength 100\n   */\n  timeZone?: string | null;\n  /**\n   * Optional service IDs to filter the response.\n   * If not provided, time slots for all services are returned.\n   * @format GUID\n   * @maxSize 100\n   */\n  serviceIds?: string[] | null;\n  /**\n   * Whether to include time slots that aren't bookable according to the service's booking policy or that are fully booked.\n   * - `true`: Both bookable and non-bookable time slots are returned.\n   * - `false`: Only bookable time slots are returned.\n   *\n   * Default: `true`\n   */\n  includeNonBookable?: boolean | null;\n  /**\n   * Minimum bookable capacity.\n   * Use to filter out sessions that can't accommodate the desired party size.\n   * @min 1\n   */\n  minBookableCapacity?: number | null;\n  /**\n   * Optional filter to apply to the events, for example resource or location.\n   * See [Query Events](https://dev.wix.com/docs/rest/business-management/calendar/events-v3/query-events) for a list of supported filters.\n   */\n  eventFilter?: Record<string, any> | null;\n  /**\n   * Maximum number of slots to return for each day in the specified time range.\n   * If both bookable and non-bookable slots exist on the same day, bookable slots are returned first.\n   *\n   * When you specify `maxSlotsPerDay`, you must also specify `toLocalDate`, and it must be no more than 1 month after `fromLocalDate`.\n   * @min 1\n   * @max 1000\n   */\n  maxSlotsPerDay?: number | null;\n  /**\n   * Cursor-based paging configuration.\n   * Enables fetching results in smaller chunks by setting a limit on the number of returned items.\n   */\n  cursorPaging?: CursorPaging;\n  /**\n   * Indicators for service's booking policy violations.\n   * Allows filtering for time slots with specific violation types based on [booking policies](https://dev.wix.com/docs/api-reference/business-solutions/bookings/policies/booking-policies/introduction). When you don't specify `bookingPolicyViolations` filters, all slots are returned regardless of their booking policy status.\n   */\n  bookingPolicyViolations?: BookingPolicyViolations;\n}\n\nexport interface CursorPaging {\n  /**\n   * Number of results to load.\n   *\n   * Default: `1000`.\n   * Max: `1000`.\n   * @max 1000\n   */\n  limit?: number | null;\n  /**\n   * Pointer to the next or previous page in the list of results.\n   *\n   * You can get the relevant cursor token\n   * from the `pagingMetadata` object in the previous call's response.\n   * Not relevant for the first request.\n   */\n  cursor?: string | null;\n}\n\nexport interface ListEventTimeSlotsResponse {\n  /** Retrieved time slots matching the specified filters. */\n  timeSlots?: TimeSlot[];\n  /**\n   * Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database) for adjusting `fromLocalDate` and `toLocalDate` values.\n   * For example, `America/New_York` or `UTC`.\n   *\n   * Default: `timeZone` specified in the business [site properties](https://dev.wix.com/docs/api-reference/business-management/site-properties/properties/get-site-properties).\n   * @minLength 1\n   * @maxLength 150\n   */\n  timeZone?: string | null;\n  /**\n   * Paging metadata for the next page of results.\n   * Contains a cursor if more data is available.\n   */\n  pagingMetadata?: CursorPagingMetadata;\n}\n\nexport interface CursorPagingMetadata {\n  /** Offset that was requested. */\n  cursors?: Cursors;\n  /**\n   * Indicates if there are more results after the current page.\n   * If `true`, another page of results can be retrieved.\n   * If `false`, this is the last page.\n   */\n  hasNext?: boolean | null;\n}\n\nexport interface Cursors {\n  /** Cursor pointing to next page in the list of results. */\n  next?: string | null;\n  /** Cursor pointing to previous page in the list of results. */\n  prev?: string | null;\n}\n\nexport interface GetEventTimeSlotRequest {\n  /**\n   * Event ID.\n   * @minLength 36\n   * @maxLength 250\n   */\n  eventId: string | null;\n  /**\n   * Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database) for adjusting `fromLocalDate` and `toLocalDate` values.\n   * For example, `America/New_York` or `UTC`.\n   *\n   * Default: `timeZone` specified in the business [site properties](https://dev.wix.com/docs/api-reference/business-management/site-properties/properties/get-site-properties).\n   * @maxLength 100\n   */\n  timeZone?: string | null;\n}\n\nexport interface GetEventTimeSlotResponse {\n  /** The time slot. */\n  timeSlot?: TimeSlot;\n  /**\n   * Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database) for adjusting `fromLocalDate` and `toLocalDate` values.\n   * For example, `America/New_York` or `UTC`.\n   *\n   * Default: `timeZone` specified in the business [site properties](https://dev.wix.com/docs/api-reference/business-management/site-properties/properties/get-site-properties).\n   * @minLength 1\n   * @maxLength 150\n   */\n  timeZone?: string | null;\n}\n\nexport interface ListAvailabilityTimeSlotsRequest {\n  /**\n   * Service ID for which to retrieve time slots. You must specify the ID of an appointment-based service.\n   * Required, unless you specify `cursorPaging.cursor`.\n   * @format GUID\n   */\n  serviceId?: string | null;\n  /**\n   * Lower boundary for `localStartDate` to include in response.\n   * Each returned time slot has a `localStartDate` within the provided `fromLocalDate` and `toLocalDate` exclusive.\n   * Required, unless you specify `cursorPaging.cursor`.\n   *\n   * Local start date in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).\n   * For example, `2026-01-30T13:30:00`.\n   * @format LOCAL_DATE_TIME\n   */\n  fromLocalDate?: string | null;\n  /**\n   * Upper boundary for `localStartDate` to include in response.\n   * Each returned time slot has a `localStartDate` within the provided `fromLocalDate` and `toLocalDate` exclusive.\n   * Required, unless you specify `cursorPaging.cursor`.\n   *\n   * Local end date in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).\n   * For example, `2026-01-30T13:30:00`.\n   * @format LOCAL_DATE_TIME\n   */\n  toLocalDate?: string | null;\n  /**\n   * Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database) for adjusting `fromLocalDate` and `toLocalDate`.\n   * For example, `America/New_York` or `UTC`.\n   *\n   * Default: `timeZone` specified in the business [site properties](https://dev.wix.com/docs/api-reference/business-management/site-properties/properties/get-site-properties).\n   * @minLength 1\n   * @maxLength 150\n   */\n  timeZone?: string | null;\n  /**\n   * Locations to include in response.\n   * If not specified, returns time slots for all locations where the service is available.\n   * @maxSize 5\n   */\n  locations?: Location[];\n  /**\n   * Resource type IDs to include in the response.\n   * If specified, returns up to 10 `availableResources` with matching `resourceTypeId`.\n   * This controls which resource details are included in the response but doesn't filter the time slots themselves.\n   * @format GUID\n   * @maxSize 100\n   */\n  includeResourceTypeIds?: string[];\n  /**\n   * Whether the time slot is bookable according to the service's booking policies.\n   * If not specified, returns both bookable and un-bookable time slots.\n   */\n  bookable?: boolean | null;\n  /**\n   * Indicators for service's booking policy violations.\n   * Allows filtering for time slots with specific violation types based on [booking policies](https://dev.wix.com/docs/api-reference/business-solutions/bookings/policies/booking-policies/introduction)). When you don't specify `bookingPolicyViolations` filters, all slots are returned regardless of their booking policy status.\n   */\n  bookingPolicyViolations?: BookingPolicyViolations;\n  /**\n   * Maximum number of slots to return for each day in the specified time range.\n   * If `bookable` filter isn't specified, bookable slots are returned first.\n   */\n  timeSlotsPerDay?: number | null;\n  /**\n   * Cursor-based paging configuration.\n   * Enables fetching results in smaller chunks by setting a limit on the number of results.\n   * For consistent pagination behavior, use the same `limit` value throughout a pagination sequence.\n   * When specifying a new `limit` in follow-up requests, the API respects the new value.\n   */\n  cursorPaging?: CursorPaging;\n  /**\n   * Selected customer choices for service configuration.\n   * If not specified, uses the service's default configuration.\n   *\n   * Not supported for services configured with a duration range (`availabilityConstraints.durationRange`).\n   *\n   * When using [add-ons](https://dev.wix.com/docs/api-reference/business-solutions/bookings/services/add-ons/introduction), we recommend passing only `addOnIds` and omitting `durationInMinutes`. Wix Bookings then calculates the total duration automatically. If you specify both `addOnIds` and `durationInMinutes`, `durationInMinutes` must equal the service duration plus all selected add-on durations.\n   */\n  customerChoices?: CustomerChoices;\n  /**\n   * Resource types to filter time slots.\n   * Only returns time slots that have these specific resource types available.\n   * This filters the time slots themselves, unlike `includeResourceTypeIds` which only controls response details.\n   * @maxSize 3\n   */\n  resourceTypes?: ResourceType[];\n}\n\n/** Customer's selected choices during the booking flow. Use these values to calculate service configuration properties such as duration. */\nexport interface CustomerChoices {\n  /**\n   * Duration selected by the customer in minutes. Based on the customer's selection from [service options and variants](https://dev.wix.com/docs/api-reference/business-solutions/bookings/services/service-options-and-variants/introduction).\n   * When using [add-ons](https://dev.wix.com/docs/api-reference/business-solutions/bookings/services/add-ons/introduction), we recommend passing only `addOnIds` instead of `durationInMinutes`. Wix Bookings then calculates the total duration automatically. If you specify both `addOnIds` and `durationInMinutes`, `durationInMinutes` must equal the service duration plus all selected add-on durations.\n   * @min 1\n   * @max 44639\n   */\n  durationInMinutes?: number | null;\n  /**\n   * IDs of [add-ons](https://dev.wix.com/docs/api-reference/business-solutions/bookings/services/add-ons/introduction) selected by the customer.\n   * When specifying this field, we recommend omitting `durationInMinutes`. Wix Bookings then calculates the total duration based on the service duration plus all selected add-on durations.\n   * @format GUID\n   * @maxSize 21\n   */\n  addOnIds?: string[] | null;\n  /**\n   * ID of the duration choice selected by the customer.\n   * @format GUID\n   */\n  durationChoiceId?: string | null;\n}\n\nexport interface ResourceType {\n  /**\n   * [Resource type ID](https://dev.wix.com/docs/api-reference/business-solutions/bookings/resources/resource-types-v2/introduction).\n   * @format GUID\n   */\n  resourceTypeId?: string | null;\n  /**\n   * Resource IDs.\n   * Available only if there is at least 1 resource available for the slot.\n   * @format GUID\n   * @maxSize 135\n   */\n  resourceIds?: string[] | null;\n  /**\n   * Whether to return resources of this type in a sorted order.\n   * + `true`: Resources are sorted using the relevant implementor of the [Resource Sorting service plugin](https://dev.wix.com/docs/api-reference/business-solutions/bookings/resources/resource-sorting-service-plugin/introduction).\n   * + `false`: Resources are returned in an unpredictable, but not entirely random, order.\n   * Sorting is not supported in the [List Availability Time Slots](https://dev.wix.com/docs/api-reference/business-solutions/bookings/time-slots/time-slots-v2/list-availability-time-slots) and [List Multi Service Availability Time Slots](https://dev.wix.com/docs/api-reference/business-solutions/bookings/time-slots/time-slots-v2/list-multi-service-availability-time-slots) methods.\n   *\n   * Default: `false`\n   * @internal\n   */\n  sorted?: boolean | null;\n}\n\nexport interface ListAvailabilityTimeSlotsResponse {\n  /**\n   * Retrieved time slots.\n   * Sorted by `localStartDate` in ascending order. When multiple slots have the same start time, no specific secondary sorting is guaranteed.\n   * @maxSize 1000\n   */\n  timeSlots?: TimeSlot[];\n  /**\n   * Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database) for adjusting `fromLocalDate` and `toLocalDate`.\n   * For example, `America/New_York` or `UTC`.\n   *\n   * Default: `timeZone` specified in the business [site properties](https://dev.wix.com/docs/api-reference/business-management/site-properties/properties/get-site-properties).\n   * @minLength 1\n   * @maxLength 150\n   */\n  timeZone?: string | null;\n  /**\n   * Paging metadata for the next page of results.\n   * Contains a cursor if there are more than 1000 results.\n   */\n  cursorPagingMetadata?: CursorPagingMetadata;\n}\n\nexport interface ListAvailabilityTimeSlotEndOptionsRequest {\n  /**\n   * [Service](https://dev.wix.com/docs/api-reference/business-solutions/bookings/services/services-v2/introduction) ID. Must be an appointment-based service configured with `availabilityConstraints.durationRange.hourConfig`.\n   * @format GUID\n   */\n  serviceId?: string;\n  /**\n   * Selected start time in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601). For example, `2026-03-23T10:00:00`.\n   * Each returned end option shares this start time.\n   * @format LOCAL_DATE_TIME\n   */\n  localStartDate?: string;\n  /**\n   * Latest end time to include in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601). For example, `2026-03-23T14:00:00`.\n   * The service's maximum duration always caps the result, even if a later value is specified.\n   *\n   * Default: `localStartDate` plus the service's maximum duration from `durationRange.hourConfig`.\n   * @format LOCAL_DATE_TIME\n   */\n  maxLocalEndDate?: string | null;\n  /**\n   * Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database). For example, `America/New_York` or `UTC`.\n   *\n   * Default: `timeZone` specified in the business [site properties](https://dev.wix.com/docs/api-reference/business-management/site-properties/properties/get-site-properties).\n   * @minLength 1\n   * @maxLength 150\n   */\n  timeZone?: string | null;\n  /** Location of the selected start time. Must match the location of the slot returned by [List Availability Time Slots](https://dev.wix.com/docs/api-reference/business-solutions/bookings/time-slots/time-slots-v2/list-availability-time-slots). */\n  location?: Location;\n  /**\n   * Resource types to constrain the end options.\n   * When the customer has already selected a resource before choosing an end time, pass that resource here so the response only includes end times the selected resource can cover.\n   *\n   * If no resource has been preselected, omit this field. End options then reflect the full resource pool. Select the resource later by calling [Get Availability Time Slot](https://dev.wix.com/docs/api-reference/business-solutions/bookings/time-slots/time-slots-v2/get-availability-time-slot) with the chosen `localEndDate`.\n   * @maxSize 3\n   */\n  resourceTypes?: ResourceType[];\n}\n\nexport interface ListAvailabilityTimeSlotEndOptionsResponse {\n  /**\n   * Available end options for the requested start.\n   * Each entry is a `TimeSlot` sharing `localStartDate` with the request and varying only in `localEndDate`.\n   * Sorted by `localEndDate` in ascending order (shortest duration first).\n   * @maxSize 1000\n   */\n  endOptions?: TimeSlot[];\n  /** Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database). For example, `America/New_York` or `UTC`. */\n  timeZone?: string | null;\n}\n\nexport interface GetAvailabilityTimeSlotRequest {\n  /**\n   * Service ID of the time slot.\n   * You must specify the ID of an appointment-based service.\n   * @format GUID\n   */\n  serviceId?: string;\n  /**\n   * Local start date of the time slot in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).\n   * For example, `2026-01-30T13:30:00`.\n   * @format LOCAL_DATE_TIME\n   */\n  localStartDate?: string;\n  /**\n   * Local end date of the time slot in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).\n   * For example, `2026-01-30T13:30:00`.\n   * @format LOCAL_DATE_TIME\n   */\n  localEndDate?: string;\n  /**\n   * Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database) for adjusting `fromLocalDate` and `toLocalDate`.\n   * For example, `America/New_York` or `UTC`.\n   *\n   * Default: `timeZone` specified in the business [site properties](https://dev.wix.com/docs/api-reference/business-management/site-properties/properties/get-site-properties).\n   * @minLength 1\n   * @maxLength 150\n   */\n  timeZone?: string | null;\n  /**\n   * Location to filter time slots by.\n   *\n   * For business locations, you must specify a location ID.\n   * When specifying a location ID, all other location field filters are ignored.\n   */\n  location?: Location;\n  /**\n   * IDs of the [resource types](https://dev.wix.com/docs/api-reference/business-solutions/bookings/resources/resource-types-v2/introduction) to check availability for.\n   * @format GUID\n   * @maxSize 100\n   */\n  includeResourceTypeIds?: string[];\n  /**\n   * Resource types to filter time slots.\n   * Only returns time slots that have these specific resource types available.\n   * This filters the time slots themselves, unlike `includeResourceTypeIds` which only controls response details.\n   * @maxSize 3\n   */\n  resourceTypes?: ResourceType[];\n}\n\nexport interface GetAvailabilityTimeSlotRequestCustomerChoices {\n  /**\n   * Selected add-on IDs.\n   * Max: Derived from max amount of Add-On groups * max amount of Add-Ons per group.\n   * @format GUID\n   * @maxSize 21\n   */\n  addOnIds?: string[] | null;\n  /**\n   * Selected duration choice ID.\n   * @format GUID\n   */\n  durationChoiceId?: string | null;\n}\n\nexport interface GetAvailabilityTimeSlotResponse {\n  /** Retrieved time slot. */\n  timeSlot?: TimeSlot;\n  /**\n   * Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database) for adjusting `fromLocalDate` and `toLocalDate`.\n   * For example, `America/New_York` or `UTC`.\n   *\n   * Default: `timeZone` specified in the business [site properties](https://dev.wix.com/docs/api-reference/business-management/site-properties/properties/get-site-properties).\n   * @minLength 1\n   * @maxLength 150\n   */\n  timeZone?: string | null;\n}\n\nexport interface DiagnoseAvailabilityRequest {\n  /**\n   * Service to diagnose; provide this or `resource_id`.\n   * @format GUID\n   */\n  serviceId?: string | null;\n  /**\n   * Staff member / resource to diagnose; provide this or `service_id`.\n   * @format GUID\n   */\n  resourceId?: string | null;\n  /**\n   * Lower boundary of the diagnosed range, `YYYY-MM-DDThh:mm:ss` (ISO-8601). Optional; defaults to the current time when omitted.\n   * @format LOCAL_DATE_TIME\n   */\n  fromLocalDate?: string | null;\n  /**\n   * Upper boundary of the diagnosed range, `YYYY-MM-DDThh:mm:ss` (ISO-8601). Optional; defaults to `fromLocalDate` + 90 days when omitted.\n   * @format LOCAL_DATE_TIME\n   */\n  toLocalDate?: string | null;\n  /**\n   * IANA tz database time zone for `fromLocalDate`/`toLocalDate`.\n   * @minLength 1\n   * @maxLength 150\n   */\n  timeZone?: string | null;\n  /**\n   * Locations to diagnose; all offered locations when empty.\n   * @maxSize 100\n   */\n  locations?: Location[];\n  /**\n   * Whether to run a deeper diagnosis. Optional; defaults to `false` — the fast, deterministic\n   * configuration/setup and resource-availability-window checks. Set `true` to learn *why* resources\n   * have no availability windows: when the fast checks find none, it samples resource availability to\n   * attribute the empty result to a working-hours gap (`RESOURCE_NOT_IN_WORKING_HOURS`) vs. blocked time\n   * (`RESOURCE_BLOCKED`), at extra latency, falling back to `NO_RESOURCE_AVAILABILITY_WINDOWS` when\n   * sampling is inconclusive. Requires `serviceId`; otherwise returns `MISSING_ARGUMENTS`.\n   */\n  deep?: boolean;\n}\n\nexport interface DiagnoseAvailabilityResponse {\n  /**\n   * Whether the service or resource has bookable availability in the diagnosed range. Set to `true` when\n   * the resource-availability-window check finds windows fitting the service duration and buffer at an\n   * offered location. It reflects resource availability (working hours minus busy time) and does not\n   * evaluate booking policy, so `true` is a strong signal rather than a guarantee that every slot is\n   * bookable. `false` with empty `reasons` remains undetermined (no blocking cause identified and\n   * availability not positively confirmed).\n   */\n  hasAvailability?: boolean;\n  /**\n   * Causes of unavailability, most-specific first. When empty, the diagnosis is undetermined: no\n   * blocking cause was identified (and availability was not positively confirmed).\n   * @maxSize 20\n   */\n  reasons?: DiagnosisReason[];\n  /** Resolved inputs used for the diagnosis, echoed for debugging. */\n  resolvedContext?: ResolvedContext;\n}\n\nexport interface DiagnosisReason {\n  /** Machine-readable reason code. */\n  code?: ReasonCodeWithLiterals;\n  /** Suggested owner-facing action key. Wording and localization are the client's responsibility. */\n  suggestedAction?: SuggestedActionWithLiterals;\n}\n\n/** Machine-readable cause for empty availability. */\nexport enum ReasonCode {\n  /** No staff or resources are assigned to the service. */\n  NO_ASSIGNED_STAFF_OR_RESOURCES = 'NO_ASSIGNED_STAFF_OR_RESOURCES',\n  /** The service's availability configuration is missing. */\n  SERVICE_AVAILABILITY_CONFIGURATION_MISSING = 'SERVICE_AVAILABILITY_CONFIGURATION_MISSING',\n  /** The requested location(s) are not offered by the service. */\n  REQUESTED_LOCATION_NOT_OFFERED_BY_SERVICE = 'REQUESTED_LOCATION_NOT_OFFERED_BY_SERVICE',\n  /** The service's resource types could not be resolved. */\n  RESOURCE_TYPE_RESOLUTION_FAILED = 'RESOURCE_TYPE_RESOLUTION_FAILED',\n  /** No resource-availability windows exist in the diagnosed range. */\n  NO_RESOURCE_AVAILABILITY_WINDOWS = 'NO_RESOURCE_AVAILABILITY_WINDOWS',\n  /** The service duration is longer than every available window. */\n  DURATION_TOO_LONG_FOR_AVAILABLE_WINDOWS = 'DURATION_TOO_LONG_FOR_AVAILABLE_WINDOWS',\n  /** Buffer time eliminates all otherwise-available windows. */\n  BUFFER_TIME_ELIMINATES_WINDOWS = 'BUFFER_TIME_ELIMINATES_WINDOWS',\n  /** Resources are not within working hours during the diagnosed range. Reported only at `DEEP` depth. */\n  RESOURCE_NOT_IN_WORKING_HOURS = 'RESOURCE_NOT_IN_WORKING_HOURS',\n  /** Resources are blocked by events or external calendars during the range. Reported only at `DEEP` depth. */\n  RESOURCE_BLOCKED = 'RESOURCE_BLOCKED',\n  /** The staff member / resource has no working-hours schedule configured. */\n  RESOURCE_HAS_NO_WORKING_HOURS = 'RESOURCE_HAS_NO_WORKING_HOURS',\n  /** The staff member / resource is not assigned to the service. */\n  RESOURCE_NOT_ASSIGNED_TO_SERVICE = 'RESOURCE_NOT_ASSIGNED_TO_SERVICE',\n  /**\n   * Assigned resources have working hours, but none at any location the service offers.\n   * @documentationMaturity preview\n   * @internal\n   */\n  RESOURCE_NOT_AVAILABLE_AT_SERVICE_LOCATION = 'RESOURCE_NOT_AVAILABLE_AT_SERVICE_LOCATION',\n}\n\n/** @enumType */\nexport type ReasonCodeWithLiterals =\n  | ReasonCode\n  | 'NO_ASSIGNED_STAFF_OR_RESOURCES'\n  | 'SERVICE_AVAILABILITY_CONFIGURATION_MISSING'\n  | 'REQUESTED_LOCATION_NOT_OFFERED_BY_SERVICE'\n  | 'RESOURCE_TYPE_RESOLUTION_FAILED'\n  | 'NO_RESOURCE_AVAILABILITY_WINDOWS'\n  | 'DURATION_TOO_LONG_FOR_AVAILABLE_WINDOWS'\n  | 'BUFFER_TIME_ELIMINATES_WINDOWS'\n  | 'RESOURCE_NOT_IN_WORKING_HOURS'\n  | 'RESOURCE_BLOCKED'\n  | 'RESOURCE_HAS_NO_WORKING_HOURS'\n  | 'RESOURCE_NOT_ASSIGNED_TO_SERVICE';\n\n/** Owner-facing action key suggested to resolve a diagnosed reason. */\nexport enum SuggestedAction {\n  /** Assign staff or resources to the service. */\n  ASSIGN_STAFF_OR_RESOURCES = 'ASSIGN_STAFF_OR_RESOURCES',\n  /** Review staff working hours. */\n  CHECK_STAFF_WORKING_HOURS = 'CHECK_STAFF_WORKING_HOURS',\n  /** Review staff work locations. */\n  CHECK_WORK_LOCATIONS = 'CHECK_WORK_LOCATIONS',\n  /** Review the service's offered locations. */\n  CHECK_SERVICE_LOCATIONS = 'CHECK_SERVICE_LOCATIONS',\n  /** Reduce the service duration or buffer time. */\n  REDUCE_DURATION_OR_BUFFER = 'REDUCE_DURATION_OR_BUFFER',\n  /** Review blocked time and calendar events. */\n  CHECK_BLOCKED_TIME = 'CHECK_BLOCKED_TIME',\n  /** Assign the staff member / resource to the service. */\n  ASSIGN_RESOURCE_TO_SERVICE = 'ASSIGN_RESOURCE_TO_SERVICE',\n}\n\n/** @enumType */\nexport type SuggestedActionWithLiterals =\n  | SuggestedAction\n  | 'ASSIGN_STAFF_OR_RESOURCES'\n  | 'CHECK_STAFF_WORKING_HOURS'\n  | 'CHECK_WORK_LOCATIONS'\n  | 'CHECK_SERVICE_LOCATIONS'\n  | 'REDUCE_DURATION_OR_BUFFER'\n  | 'CHECK_BLOCKED_TIME'\n  | 'ASSIGN_RESOURCE_TO_SERVICE';\n\nexport interface ResolvedContext {\n  /**\n   * Service ID that was diagnosed.\n   * @format GUID\n   */\n  serviceId?: string | null;\n  /**\n   * Staff member / resource ID that was diagnosed.\n   * @format GUID\n   */\n  resourceId?: string | null;\n  /**\n   * Locations resolved for the diagnosis (the service's offered locations, capped like the\n   * configuration provider's location list).\n   * @maxSize 100\n   */\n  resolvedLocations?: Location[];\n  /**\n   * Service duration in minutes used for the diagnosis. Set only when `serviceId` is provided\n   * (reflects service configuration); absent on the resource-only path.\n   */\n  durationInMinutes?: number | null;\n  /**\n   * Buffer time in minutes used for the diagnosis. Set only when `serviceId` is provided\n   * (reflects service configuration); absent on the resource-only path.\n   */\n  bufferTimeInMinutes?: number | null;\n  /**\n   * Lower boundary of the diagnosed range actually used (the request value, or the default).\n   * @format LOCAL_DATE_TIME\n   */\n  fromLocalDate?: string | null;\n  /**\n   * Upper boundary of the diagnosed range actually used (the request value, or the default).\n   * @format LOCAL_DATE_TIME\n   */\n  toLocalDate?: string | null;\n  /**\n   * Time zone used for the diagnosis, in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database).\n   * @minLength 1\n   * @maxLength 150\n   */\n  timeZone?: string | null;\n}\n\nexport interface BulkListAvailabilityTimeSlotsRequest {\n  /**\n   * IDs of the appointment-based services to retrieve time slots for.\n   * Non-appointment services and IDs that don't exist are returned as failed entries in `results`.\n   * @format GUID\n   * @minSize 1\n   * @maxSize 100\n   */\n  serviceIds?: string[];\n  /**\n   * Lower boundary for `localStartDate` to include, applied to every service.\n   * Each returned time slot has a `localStartDate` within the provided `fromLocalDate` and `toLocalDate` exclusive.\n   *\n   * Local start date in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).\n   * For example, `2026-01-30T13:30:00`.\n   * @format LOCAL_DATE_TIME\n   */\n  fromLocalDate?: string | null;\n  /**\n   * Upper boundary for `localStartDate` to include, applied to every service.\n   * Each returned time slot has a `localStartDate` within the provided `fromLocalDate` and `toLocalDate` exclusive.\n   *\n   * Local end date in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).\n   * For example, `2026-01-30T13:30:00`.\n   * @format LOCAL_DATE_TIME\n   */\n  toLocalDate?: string | null;\n  /**\n   * Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database) for adjusting `fromLocalDate` and `toLocalDate`.\n   * For example, `America/New_York` or `UTC`.\n   *\n   * Default: `timeZone` specified in the business [site properties](https://dev.wix.com/docs/api-reference/business-management/site-properties/properties/get-site-properties).\n   * @minLength 1\n   * @maxLength 150\n   */\n  timeZone?: string | null;\n  /**\n   * Whether the time slot is bookable according to each service's booking policies.\n   * If not specified, returns both bookable and un-bookable time slots.\n   */\n  bookable?: boolean | null;\n  /**\n   * Maximum number of slots to return per service for each day in the specified time range.\n   * If `bookable` filter isn't specified, bookable slots are returned first.\n   *\n   * Min: `1`.\n   * @min 1\n   */\n  timeSlotsPerDay?: number | null;\n  /**\n   * Maximum number of time slots to return per service.\n   *\n   * Min: `1`. Max: `1000`.\n   *\n   * Default: `1000`.\n   * @min 1\n   * @max 1000\n   */\n  limitPerService?: number | null;\n  /**\n   * Locations to include in response, applied to every service.\n   * If not specified, returns time slots for all locations where each service is available.\n   * @maxSize 5\n   */\n  locations?: Location[];\n  /**\n   * Resource type IDs to include in the response, applied to every service.\n   * If specified, returns up to 10 `availableResources` with matching `resourceTypeId`.\n   * This controls which resource details are included in the response but doesn't filter the time slots themselves.\n   * @format GUID\n   * @maxSize 100\n   */\n  includeResourceTypeIds?: string[];\n  /**\n   * Indicators for services' booking policy violations, applied to every service.\n   * Allows filtering for time slots with specific violation types based on [booking policies](https://dev.wix.com/docs/api-reference/business-solutions/bookings/policies/booking-policies/introduction). When you don't specify `bookingPolicyViolations` filters, all slots are returned regardless of their booking policy status.\n   */\n  bookingPolicyViolations?: BookingPolicyViolations;\n  /**\n   * Selected customer choices for service configuration, applied to every service.\n   * If not specified, uses each service's default configuration.\n   *\n   * Not supported for services configured with a duration range (`availabilityConstraints.durationRange`).\n   *\n   * When using [add-ons](https://dev.wix.com/docs/api-reference/business-solutions/bookings/services/add-ons/introduction), we recommend passing only `addOnIds` and omitting `durationInMinutes`. Wix Bookings then calculates the total duration automatically. If you specify both `addOnIds` and `durationInMinutes`, `durationInMinutes` must equal the service duration plus all selected add-on durations.\n   */\n  customerChoices?: CustomerChoices;\n  /**\n   * Resource types to filter time slots, applied to every service.\n   * Only returns time slots that have these specific resource types available.\n   * This filters the time slots themselves, unlike `includeResourceTypeIds` which only controls response details.\n   * @maxSize 3\n   */\n  resourceTypes?: ResourceType[];\n}\n\nexport interface BulkListAvailabilityTimeSlotsResponse {\n  /**\n   * Per-service results, one entry per requested `serviceId`.\n   * Each entry carries `itemMetadata` with the outcome, and `serviceTimeSlots` on success.\n   * Order isn't guaranteed to match the request; correlate via `itemMetadata.id` or `itemMetadata.originalIndex`.\n   * @maxSize 100\n   */\n  results?: BulkServiceTimeSlotsResult[];\n  /**\n   * Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database) used for all services.\n   * For example, `America/New_York` or `UTC`.\n   *\n   * Default: `timeZone` specified in the business [site properties](https://dev.wix.com/docs/api-reference/business-management/site-properties/properties/get-site-properties).\n   * @minLength 1\n   * @maxLength 150\n   */\n  timeZone?: string | null;\n  /** Success and failure totals across all requested services. */\n  bulkActionMetadata?: BulkActionMetadata;\n}\n\nexport interface BulkServiceTimeSlotsResult {\n  /**\n   * Outcome for a single requested service.\n   * `id` echoes the `serviceId`, `originalIndex` is the service's position in the request, and\n   * `success`/`error` describe whether availability could be computed.\n   */\n  itemMetadata?: ItemMetadata;\n  /** Time slots for the service. Populated only when `itemMetadata.success` is `true`. */\n  serviceTimeSlots?: ServiceTimeSlots;\n}\n\nexport interface ItemMetadata {\n  /**\n   * Item ID. Should always be available, unless it's impossible (for example, when failing to create an item).\n   * @format GUID\n   */\n  _id?: string | null;\n  /** Index of the item within the request array. Allows for correlation between request and response items. */\n  originalIndex?: number;\n  /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n  success?: boolean;\n  /** Details about the error in case of failure. */\n  error?: ApplicationError;\n}\n\nexport interface ApplicationError {\n  /** Error code. */\n  code?: string;\n  /** Description of the error. */\n  description?: string;\n  /** Data related to the error. */\n  data?: Record<string, any> | null;\n}\n\nexport interface ServiceTimeSlots {\n  /**\n   * Service the time slots belong to.\n   * @format GUID\n   */\n  serviceId?: string;\n  /**\n   * Retrieved time slots for the service.\n   * Sorted by `localStartDate` in ascending order. When multiple slots have the same start time, no specific secondary sorting is guaranteed.\n   * @maxSize 1000\n   */\n  timeSlots?: TimeSlot[];\n  /**\n   * Paging metadata for the service's remaining slots.\n   * To fetch more slots for this service, pass `cursors.next` to `ListAvailabilityTimeSlots`.\n   */\n  cursorPagingMetadata?: CursorPagingMetadata;\n}\n\nexport interface BulkActionMetadata {\n  /** Number of items that were successfully processed. */\n  totalSuccesses?: number;\n  /** Number of items that couldn't be processed. */\n  totalFailures?: number;\n  /** Number of failures without details because detailed failure threshold was exceeded. */\n  undetailedFailures?: number;\n}\n\nexport interface ListMultiServiceAvailabilityTimeSlotsRequest {\n  /**\n   * Services for which the multi-service time slots are returned.\n   * Each service can include its own resource filters.\n   *\n   * Required unless you specify `cursorPaging.cursor`.\n   *\n   * Min: 2 services\n   * Max: 8 services\n   * @maxSize 8\n   */\n  services?: Service[];\n  /**\n   * Lower boundary for `localStartDate` in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).\n   * For example, `2026-01-30T13:30:00`.\n   * Each returned time slot has a `localStartDate` between `fromLocalDate` and `toLocalDate`.\n   *\n   * Required unless you specify `cursorPaging.cursor`.\n   * @format LOCAL_DATE_TIME\n   */\n  fromLocalDate?: string | null;\n  /**\n   * Upper boundary for `localToDate` in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).\n   * For example, `2026-01-30T13:30:00`.\n   * Each returned time slot has a `localEndDate` between `fromLocalDate` and `toLocalDate`.\n   *\n   * Required unless you specify `cursorPaging.cursor`.\n   * @format LOCAL_DATE_TIME\n   */\n  toLocalDate?: string | null;\n  /**\n   * Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database) for adjusting `fromLocalDate` and `toLocalDate` values. For example, `America/New_York` or `UTC`.\n   *\n   * Required unless you specify `cursorPaging.cursor`.\n   *\n   * Default: `timeZone` specified in the business [site properties](https://dev.wix.com/docs/api-reference/business-management/site-properties/properties/get-site-properties).\n   * @minLength 1\n   * @maxLength 150\n   */\n  timeZone?: string | null;\n  /**\n   * Location for which the multi-service time slots are returned. If you filter by `{\"type\": \"BUSINESS\"}`, you must also specify a location ID. Filters for `location.name` and `location.formattedAddress` are ignored.\n   *\n   * Required unless you specify `cursorPaging.cursor`.\n   */\n  location?: Location;\n  /**\n   * Whether the time slot is bookable according to all services' booking policies.\n   * If not specified, returns both bookable and non-bookable time slots.\n   */\n  bookable?: boolean | null;\n  /**\n   * Indicators for service's booking policy violations.\n   * Allows filtering for time slots with specific violation types based on [booking policies](https://dev.wix.com/docs/api-reference/business-solutions/bookings/policies/booking-policies/introduction). When you don't specify `bookingPolicyViolations` filters, all slots are returned regardless of their booking policy status.\n   */\n  bookingPolicyViolations?: BookingPolicyViolations;\n  /**\n   * Maximum number of slots to return for each day in the specified time range.\n   * If `bookable` filter isn't specified, bookable slots are returned first.\n   */\n  timeSlotsPerDay?: number | null;\n  /**\n   * Cursor-based paging configuration.\n   * Enables fetching results in smaller chunks by setting a limit on the number of results.\n   * For consistent pagination behavior, use the same `limit` value throughout a pagination sequence.\n   * When specifying a new `limit` in follow-up requests, the API respects the new value.\n   */\n  cursorPaging?: CursorPaging;\n}\n\nexport interface Service {\n  /**\n   * Service ID.\n   * @format GUID\n   */\n  serviceId?: string;\n  /**\n   * Resource [type IDs](https://dev.wix.com/docs/rest/business-solutions/bookings/resources/resource-types-v2/introduction) to include in returned time slots.\n   * This is in addition to the specifically requested resources.\n   *\n   * <blockquote>\n   * Currently supported only for Staff Member resource type.\n   * Staff members belong to resource type ID `1cd44cf8-756f-41c3-bd90-3e2ffcaf1155`.\n   * </blockquote>\n   * @format GUID\n   * @maxSize 100\n   */\n  includeResourceTypeIds?: string[];\n  /**\n   * Selected customer choices.\n   * If specified, the selected choices are used to calculate service configuration.\n   * If not specified, the service default configuration is used.\n   * Enforcing this field is the responsibility of the service plugin implementer, and not the Time Slots V2 API.\n   *\n   * When using [add-ons](https://dev.wix.com/docs/api-reference/business-solutions/bookings/services/add-ons/introduction), we recommend passing only `addOnIds` and omitting `durationInMinutes`. Wix Bookings then calculates the total duration automatically. If you specify both `addOnIds` and `durationInMinutes`, `durationInMinutes` must equal the service duration plus all selected add-on durations.\n   */\n  customerChoices?: V2CustomerChoices;\n  /**\n   * Resource types to filter time slots.\n   * Only returns time slots that have these specific resource types available.\n   * This filters the time slots themselves, unlike `includeResourceTypeIds` which only controls response details.\n   * @maxSize 3\n   */\n  resourceTypes?: ResourceType[];\n}\n\n/**\n * Selected customer choices.\n *\n * These choices are selected by the customer during the book flow and used to calculate the service's availability configuration.\n */\nexport interface V2CustomerChoices {\n  /**\n   * Selected duration in minutes, based on a [service variant](https://dev.wix.com/docs/api-reference/business-solutions/bookings/services/service-options-and-variants/introduction) the customer chose.\n   * When using [add-ons](https://dev.wix.com/docs/api-reference/business-solutions/bookings/services/add-ons/introduction), we recommend passing only `addOnIds` instead of `durationInMinutes`. Wix Bookings then calculates the total duration automatically. If you specify both `addOnIds` and `durationInMinutes`, `durationInMinutes` must equal the service duration plus all selected add-on durations.\n   *\n   * Min: `1` minute\n   * Max: `44639` minutes (30 days, 23 hours, and 59 minutes)\n   * Default: `15` minutes\n   * @min 1\n   * @max 44639\n   */\n  durationInMinutes?: number | null;\n  /**\n   * Selected [add-on](https://dev.wix.com/docs/api-reference/business-solutions/bookings/services/add-ons/introduction) IDs.\n   * When specifying this field, we recommend omitting `durationInMinutes`. Wix Bookings then calculates the total duration based on the service duration plus all selected add-on durations.\n   *\n   * Max: 21 (3 add-on groups × 7 add-ons per group).\n   * @format GUID\n   * @maxSize 21\n   */\n  addOnIds?: string[] | null;\n  /**\n   * Selected duration choice ID.\n   * @format GUID\n   */\n  durationChoiceId?: string | null;\n}\n\nexport interface ListMultiServiceAvailabilityTimeSlotsResponse {\n  /**\n   * Retrieved time slots.\n   * Sorted by `localStartDate` in ascending order. When multiple slots have the same start time, no specific secondary sorting is guaranteed.\n   * @maxSize 1000\n   */\n  timeSlots?: TimeSlot[];\n  /**\n   * Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database) for adjusting `fromLocalDate` and `toLocalDate`.\n   * For example, `America/New_York` or `UTC`.\n   * Default: `timeZone` specified in the business [site properties](https://dev.wix.com/docs/api-reference/business-management/site-properties/properties/get-site-properties).\n   * @minLength 1\n   * @maxLength 150\n   */\n  timeZone?: string | null;\n  /**\n   * Paging metadata for the next page of results.\n   * Contains a cursor if there are more than 1000 results.\n   */\n  cursorPagingMetadata?: CursorPagingMetadata;\n}\n\nexport interface GetMultiServiceAvailabilityTimeSlotRequest {\n  /**\n   * Services for which the multi-service time slots are returned.\n   * You can specify resource filters for each service.\n   * @minSize 2\n   * @maxSize 8\n   */\n  services?: Service[];\n  /**\n   * Local start date of the time slot in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).\n   * For example, `2026-01-30T13:30:00`.\n   * @format LOCAL_DATE_TIME\n   */\n  localStartDate?: string;\n  /**\n   * Local end date of the time slot in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).\n   * For example, `2026-01-30T13:30:00`.\n   * @format LOCAL_DATE_TIME\n   */\n  localEndDate?: string;\n  /**\n   * Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database) for adjusting `fromLocalDate` and `toLocalDate` values.\n   * For example, `America/New_York` or `UTC`.\n   *\n   * Default: `timeZone` specified in the business [site properties](https://dev.wix.com/docs/api-reference/business-management/site-properties/properties/get-site-properties).\n   * @minLength 1\n   * @maxLength 150\n   */\n  timeZone?: string | null;\n  /**\n   * Location for which the multi-service time slots are returned. If you filter by `{\"type\": \"BUSINESS\"}`, you must also specify a location ID. A filter for `location.name` is ignored.\n   *\n   * Required unless you specify `cursorPaging.cursor`.\n   */\n  location?: Location;\n}\n\nexport interface GetMultiServiceAvailabilityTimeSlotResponse {\n  /** Retrieved time slot. */\n  timeSlot?: TimeSlot;\n  /**\n   * Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database) for adjusting `fromLocalDate` and `toLocalDate`.\n   * For example, `America/New_York` or `UTC`.\n   * Default: `timeZone` specified in the business [site properties](https://dev.wix.com/docs/api-reference/business-management/site-properties/properties/get-site-properties).\n   * @minLength 1\n   * @maxLength 150\n   */\n  timeZone?: string | null;\n}\n\n/**\n * Retrieves a list of class session time slots that match the provided filters.\n *\n * ### Defaults\n *\n * List Event Time Slots uses the following defaults:\n *\n * - `providerId` set to the Bookings app ID.\n * - `timeZone` set to the business time zone.\n * - `cursorPaging.limit` set to `50`.\n * - Returns both bookable and non-bookable time slots.\n *\n * Time slots are always sorted by their `localStartDate` in ascending order.\n *\n * ### Service type limitations\n *\n * To retrieve appointment availability, call [List Availability Time Slots](https://dev.wix.com/docs/api-reference/business-solutions/bookings/time-slots/time-slots-v2/list-availability-time-slots).\n *\n * To retrieve course availability, follow the [End-to-End Booking Flow for courses](https://dev.wix.com/docs/api-reference/business-solutions/bookings/end-to-end-booking-flows#book-a-course).\n *\n * ### Booking policy filtering\n *\n * Use `bookingPolicyViolations` to filter slots based on booking restrictions defined in your [booking policies](https://dev.wix.com/docs/api-reference/business-solutions/bookings/policies/booking-policies/introduction).\n *\n * *Default behavior**: When you don't specify any `bookingPolicyViolations` filters, all slots are returned regardless of their booking policy status.\n *\n * - Set `tooEarlyToBook` to `true` to retrieve slots that can't be booked yet due to minimum advance booking time restrictions.\n * Currently, you can't specify `earliestBookingDate` to further filter by when the slot becomes bookable.\n * - Set `tooLateToBook` to `true` to retrieve slots that can no longer be booked due to maximum advance booking time restrictions.\n * - Set `bookOnlineDisabled` to `true` or `false` to filter by online booking availability settings.\n * @public\n * @permissionId BOOKINGS.AVAILABILITY_READ\n * @applicableIdentity APP\n * @fqn com.wixpress.bookings.availability.v2.EventTimeSlots.ListEventTimeSlots\n */\nexport async function listEventTimeSlots(\n  options?: ListEventTimeSlotsOptions\n): Promise<\n  NonNullablePaths<\n    ListEventTimeSlotsResponse,\n    `timeSlots` | `timeSlots.${number}.location.locationType`,\n    5\n  >\n> {\n  // @ts-ignore\n  const { httpClient, sideEffects } = arguments[1] as {\n    httpClient: HttpClient;\n    sideEffects?: any;\n  };\n\n  const payload = renameKeysFromSDKRequestToRESTRequest({\n    fromLocalDate: options?.fromLocalDate,\n    toLocalDate: options?.toLocalDate,\n    timeZone: options?.timeZone,\n    serviceIds: options?.serviceIds,\n    includeNonBookable: options?.includeNonBookable,\n    minBookableCapacity: options?.minBookableCapacity,\n    eventFilter: options?.eventFilter,\n    maxSlotsPerDay: options?.maxSlotsPerDay,\n    cursorPaging: options?.cursorPaging,\n    bookingPolicyViolations: options?.bookingPolicyViolations,\n  });\n\n  const reqOpts =\n    ambassadorWixBookingsAvailabilityV2TimeSlot.listEventTimeSlots(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          fromLocalDate: '$[0].fromLocalDate',\n          toLocalDate: '$[0].toLocalDate',\n          timeZone: '$[0].timeZone',\n          serviceIds: '$[0].serviceIds',\n          includeNonBookable: '$[0].includeNonBookable',\n          minBookableCapacity: '$[0].minBookableCapacity',\n          eventFilter: '$[0].eventFilter',\n          maxSlotsPerDay: '$[0].maxSlotsPerDay',\n          cursorPaging: '$[0].cursorPaging',\n          bookingPolicyViolations: '$[0].bookingPolicyViolations',\n        },\n        singleArgumentUnchanged: false,\n      },\n      ['options']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\nexport interface ListEventTimeSlotsOptions {\n  /**\n   * Lower boundary for `localStartDate` to include in the response.\n   * Each returned time slot has a `localStartDate` between `fromLocalDate` and `toLocalDate`.\n   * Required unless you specify `cursorPaging.cursor`.\n   *\n   * Local start date in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).\n   * For example, `2026-01-30T13:30:00`.\n   * @format LOCAL_DATE_TIME\n   */\n  fromLocalDate?: string | null;\n  /**\n   * Upper boundary for `localStartDate` to include in the response.\n   * Each returned time slot has a `localStartDate` between `fromLocalDate` and `toLocalDate`.\n   * Required unless you specify `cursorPaging.cursor`.\n   *\n   * Local end date in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).\n   * For example, `2026-01-30T13:30:00`.\n   * @format LOCAL_DATE_TIME\n   */\n  toLocalDate?: string | null;\n  /**\n   * Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database) for adjusting `fromLocalDate` and `toLocalDate` values.\n   * For example, `America/New_York` or `UTC`.\n   *\n   * Default: `timeZone` specified in the business [site properties](https://dev.wix.com/docs/api-reference/business-management/site-properties/properties/get-site-properties).\n   * @maxLength 100\n   */\n  timeZone?: string | null;\n  /**\n   * Optional service IDs to filter the response.\n   * If not provided, time slots for all services are returned.\n   * @format GUID\n   * @maxSize 100\n   */\n  serviceIds?: string[] | null;\n  /**\n   * Whether to include time slots that aren't bookable according to the service's booking policy or that are fully booked.\n   * - `true`: Both bookable and non-bookable time slots are returned.\n   * - `false`: Only bookable time slots are returned.\n   *\n   * Default: `true`\n   */\n  includeNonBookable?: boolean | null;\n  /**\n   * Minimum bookable capacity.\n   * Use to filter out sessions that can't accommodate the desired party size.\n   * @min 1\n   */\n  minBookableCapacity?: number | null;\n  /**\n   * Optional filter to apply to the events, for example resource or location.\n   * See [Query Events](https://dev.wix.com/docs/rest/business-management/calendar/events-v3/query-events) for a list of supported filters.\n   */\n  eventFilter?: Record<string, any> | null;\n  /**\n   * Maximum number of slots to return for each day in the specified time range.\n   * If both bookable and non-bookable slots exist on the same day, bookable slots are returned first.\n   *\n   * When you specify `maxSlotsPerDay`, you must also specify `toLocalDate`, and it must be no more than 1 month after `fromLocalDate`.\n   * @min 1\n   * @max 1000\n   */\n  maxSlotsPerDay?: number | null;\n  /**\n   * Cursor-based paging configuration.\n   * Enables fetching results in smaller chunks by setting a limit on the number of returned items.\n   */\n  cursorPaging?: CursorPaging;\n  /**\n   * Indicators for service's booking policy violations.\n   * Allows filtering for time slots with specific violation types based on [booking policies](https://dev.wix.com/docs/api-reference/business-solutions/bookings/policies/booking-policies/introduction). When you don't specify `bookingPolicyViolations` filters, all slots are returned regardless of their booking policy status.\n   */\n  bookingPolicyViolations?: BookingPolicyViolations;\n}\n\n/**\n * Retrieves detailed information about a specific class session time slot.\n *\n *\n * Call this method after selecting a suitable slot with List Event Time Slots to obtain its full capacity and booking-policy status.\n *\n * ### Service type limitations\n *\n * To retrieve appointment availability, call [Get Availability Time Slot](https://dev.wix.com/docs/api-reference/business-solutions/bookings/time-slots/time-slots-v2/get-availability-time-slot).\n *\n * To retrieve course availability, follow the [End-to-End Booking Flow for courses](https://dev.wix.com/docs/api-reference/business-solutions/bookings/end-to-end-booking-flows#book-a-course).\n * @param eventId - Event ID.\n * @public\n * @requiredField eventId\n * @permissionId BOOKINGS.AVAILABILITY_READ\n * @applicableIdentity APP\n * @fqn com.wixpress.bookings.availability.v2.EventTimeSlots.GetEventTimeSlot\n */\nexport async function getEventTimeSlot(\n  eventId: string,\n  options?: GetEventTimeSlotOptions\n): Promise<\n  NonNullablePaths<\n    GetEventTimeSlotResponse,\n    | `timeSlot.location.locationType`\n    | `timeSlot.availableResources`\n    | `timeSlot.nestedTimeSlots`\n    | `timeSlot.nestedTimeSlots.${number}.serviceId`\n    | `timeSlot.nestedTimeSlots.${number}.localStartDate`\n    | `timeSlot.nestedTimeSlots.${number}.localEndDate`,\n    5\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    eventId: eventId,\n    timeZone: options?.timeZone,\n  });\n\n  const reqOpts =\n    ambassadorWixBookingsAvailabilityV2TimeSlot.getEventTimeSlot(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          eventId: '$[0]',\n          timeZone: '$[1].timeZone',\n        },\n        singleArgumentUnchanged: false,\n      },\n      ['eventId', 'options']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\nexport interface GetEventTimeSlotOptions {\n  /**\n   * Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database) for adjusting `fromLocalDate` and `toLocalDate` values.\n   * For example, `America/New_York` or `UTC`.\n   *\n   * Default: `timeZone` specified in the business [site properties](https://dev.wix.com/docs/api-reference/business-management/site-properties/properties/get-site-properties).\n   * @maxLength 100\n   */\n  timeZone?: string | null;\n}\n","import { toURLSearchParams } from '@wix/sdk-runtime/rest-modules';\nimport { transformSDKTimestampToRESTTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\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 resolveComWixpressBookingsAvailabilityV2EventTimeSlotsUrl(\n  opts: Omit<ResolveUrlOpts, 'domainToMappings'>\n) {\n  const domainToMappings = {\n    'www.wixapis.com': [\n      {\n        srcPath: '/_api/service-availability/v2/time-slots',\n        destPath: '/v2/time-slots',\n      },\n      {\n        srcPath: '/_api/service-availability/v2/multi-service-time-slots',\n        destPath: '/v2/multi-service-time-slots',\n      },\n      {\n        srcPath: '/service-availability/v2/time-slots',\n        destPath: '/v2/time-slots',\n      },\n      {\n        srcPath: '/service-availability/v2/multi-service-time-slots',\n        destPath: '/v2/multi-service-time-slots',\n      },\n    ],\n    '*.dev.wix-code.com': [\n      {\n        srcPath: '/_api/service-availability/v2/time-slots',\n        destPath: '/v2/time-slots',\n      },\n      {\n        srcPath: '/_api/service-availability/v2/multi-service-time-slots',\n        destPath: '/v2/multi-service-time-slots',\n      },\n      {\n        srcPath: '/service-availability/v2/time-slots',\n        destPath: '/v2/time-slots',\n      },\n      {\n        srcPath: '/service-availability/v2/multi-service-time-slots',\n        destPath: '/v2/multi-service-time-slots',\n      },\n    ],\n    'manage._base_domain_': [\n      {\n        srcPath: '/_api/service-availability/v2/time-slots',\n        destPath: '/v2/time-slots',\n      },\n      {\n        srcPath: '/_api/service-availability/v2/multi-service-time-slots',\n        destPath: '/v2/multi-service-time-slots',\n      },\n      {\n        srcPath: '/service-availability/v2/multi-service-time-slots',\n        destPath: '/v2/multi-service-time-slots',\n      },\n      {\n        srcPath: '/service-availability/v2/time-slots',\n        destPath: '/v2/time-slots',\n      },\n    ],\n    'www._base_domain_': [\n      {\n        srcPath: '/_api/service-availability/v2/time-slots',\n        destPath: '/v2/time-slots',\n      },\n      {\n        srcPath: '/_api/service-availability/v2/multi-service-time-slots',\n        destPath: '/v2/multi-service-time-slots',\n      },\n    ],\n    _: [\n      {\n        srcPath: '/_api/service-availability/v2/time-slots',\n        destPath: '/v2/time-slots',\n      },\n      {\n        srcPath: '/_api/service-availability/v2/multi-service-time-slots',\n        destPath: '/v2/multi-service-time-slots',\n      },\n      {\n        srcPath: '/_api/service-availability/v2/time-slots/event',\n        destPath: '/v2/time-slots/event',\n      },\n    ],\n    'editor._base_domain_': [\n      {\n        srcPath: '/_api/service-availability/v2/multi-service-time-slots',\n        destPath: '/v2/multi-service-time-slots',\n      },\n      {\n        srcPath: '/_api/service-availability/v2/time-slots',\n        destPath: '/v2/time-slots',\n      },\n      {\n        srcPath: '/_api/service-availability/v2/time-slots/event',\n        destPath: '/v2/time-slots/event',\n      },\n    ],\n    'blocks._base_domain_': [\n      {\n        srcPath: '/_api/service-availability/v2/multi-service-time-slots',\n        destPath: '/v2/multi-service-time-slots',\n      },\n      {\n        srcPath: '/_api/service-availability/v2/time-slots',\n        destPath: '/v2/time-slots',\n      },\n      {\n        srcPath: '/_api/service-availability/v2/time-slots/event',\n        destPath: '/v2/time-slots/event',\n      },\n    ],\n    'create.editorx': [\n      {\n        srcPath: '/_api/service-availability/v2/multi-service-time-slots',\n        destPath: '/v2/multi-service-time-slots',\n      },\n      {\n        srcPath: '/_api/service-availability/v2/time-slots',\n        destPath: '/v2/time-slots',\n      },\n      {\n        srcPath: '/_api/service-availability/v2/time-slots/event',\n        destPath: '/v2/time-slots/event',\n      },\n    ],\n    'editor.wixapps.net': [\n      {\n        srcPath: '/_api/service-availability/v2/time-slots/event',\n        destPath: '/v2/time-slots/event',\n      },\n    ],\n  };\n\n  return resolveUrl(Object.assign(opts, { domainToMappings }));\n}\n\nconst PACKAGE_NAME = '@wix/auto_sdk_bookings_event-time-slots';\n\n/**\n * Retrieves a list of class session time slots that match the provided filters.\n *\n * ### Defaults\n *\n * List Event Time Slots uses the following defaults:\n *\n * - `providerId` set to the Bookings app ID.\n * - `timeZone` set to the business time zone.\n * - `cursorPaging.limit` set to `50`.\n * - Returns both bookable and non-bookable time slots.\n *\n * Time slots are always sorted by their `localStartDate` in ascending order.\n *\n * ### Service type limitations\n *\n * To retrieve appointment availability, call [List Availability Time Slots](https://dev.wix.com/docs/api-reference/business-solutions/bookings/time-slots/time-slots-v2/list-availability-time-slots).\n *\n * To retrieve course availability, follow the [End-to-End Booking Flow for courses](https://dev.wix.com/docs/api-reference/business-solutions/bookings/end-to-end-booking-flows#book-a-course).\n *\n * ### Booking policy filtering\n *\n * Use `bookingPolicyViolations` to filter slots based on booking restrictions defined in your [booking policies](https://dev.wix.com/docs/api-reference/business-solutions/bookings/policies/booking-policies/introduction).\n *\n * *Default behavior**: When you don't specify any `bookingPolicyViolations` filters, all slots are returned regardless of their booking policy status.\n *\n * - Set `tooEarlyToBook` to `true` to retrieve slots that can't be booked yet due to minimum advance booking time restrictions.\n * Currently, you can't specify `earliestBookingDate` to further filter by when the slot becomes bookable.\n * - Set `tooLateToBook` to `true` to retrieve slots that can no longer be booked due to maximum advance booking time restrictions.\n * - Set `bookOnlineDisabled` to `true` or `false` to filter by online booking availability settings.\n */\nexport function listEventTimeSlots(\n  payload: object\n): RequestOptionsFactory<any> {\n  function __listEventTimeSlots({ host }: any) {\n    const serializedData = transformPaths(payload, [\n      {\n        transformFn: transformSDKTimestampToRESTTimestamp,\n        paths: [{ path: 'bookingPolicyViolations.earliestBookingDate' }],\n      },\n    ]);\n    const metadata = {\n      entityFqdn: 'wix.bookings.availability.v2.time_slot',\n      method: 'POST' as any,\n      methodFqn:\n        'com.wixpress.bookings.availability.v2.EventTimeSlots.ListEventTimeSlots',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveComWixpressBookingsAvailabilityV2EventTimeSlotsUrl({\n        protoPath: '/v2/time-slots/event',\n        data: serializedData,\n        host,\n      }),\n      data: serializedData,\n      transformResponse: (payload: any) =>\n        transformPaths(payload, [\n          {\n            transformFn: transformRESTTimestampToSDKTimestamp,\n            paths: [\n              { path: 'timeSlots.bookingPolicyViolations.earliestBookingDate' },\n            ],\n          },\n        ]),\n    };\n\n    return metadata;\n  }\n\n  return __listEventTimeSlots;\n}\n\n/**\n * Retrieves detailed information about a specific class session time slot.\n *\n *\n * Call this method after selecting a suitable slot with List Event Time Slots to obtain its full capacity and booking-policy status.\n *\n * ### Service type limitations\n *\n * To retrieve appointment availability, call [Get Availability Time Slot](https://dev.wix.com/docs/api-reference/business-solutions/bookings/time-slots/time-slots-v2/get-availability-time-slot).\n *\n * To retrieve course availability, follow the [End-to-End Booking Flow for courses](https://dev.wix.com/docs/api-reference/business-solutions/bookings/end-to-end-booking-flows#book-a-course).\n */\nexport function getEventTimeSlot(payload: object): RequestOptionsFactory<any> {\n  function __getEventTimeSlot({ host }: any) {\n    const metadata = {\n      entityFqdn: 'wix.bookings.availability.v2.time_slot',\n      method: 'GET' as any,\n      methodFqn:\n        'com.wixpress.bookings.availability.v2.EventTimeSlots.GetEventTimeSlot',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveComWixpressBookingsAvailabilityV2EventTimeSlotsUrl({\n        protoPath: '/v2/time-slots/event/{eventId}',\n        data: payload,\n        host,\n      }),\n      params: toURLSearchParams(payload),\n      transformResponse: (payload: any) =>\n        transformPaths(payload, [\n          {\n            transformFn: transformRESTTimestampToSDKTimestamp,\n            paths: [\n              { path: 'timeSlot.bookingPolicyViolations.earliestBookingDate' },\n            ],\n          },\n        ]),\n    };\n\n    return metadata;\n  }\n\n  return __getEventTimeSlot;\n}\n","import { HttpClient, NonNullablePaths } from '@wix/sdk-types';\nimport {\n  GetEventTimeSlotOptions,\n  GetEventTimeSlotResponse,\n  ListEventTimeSlotsOptions,\n  ListEventTimeSlotsResponse,\n  getEventTimeSlot as universalGetEventTimeSlot,\n  listEventTimeSlots as universalListEventTimeSlots,\n} from './bookings-availability-v2-time-slot-event-time-slots.universal.js';\n\nexport const __metadata = { PACKAGE_NAME: '@wix/bookings' };\n\nexport function listEventTimeSlots(\n  httpClient: HttpClient\n): ListEventTimeSlotsSignature {\n  return (options?: ListEventTimeSlotsOptions) =>\n    universalListEventTimeSlots(\n      options,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface ListEventTimeSlotsSignature {\n  /**\n   * Retrieves a list of class session time slots that match the provided filters.\n   *\n   * ### Defaults\n   *\n   * List Event Time Slots uses the following defaults:\n   *\n   * - `providerId` set to the Bookings app ID.\n   * - `timeZone` set to the business time zone.\n   * - `cursorPaging.limit` set to `50`.\n   * - Returns both bookable and non-bookable time slots.\n   *\n   * Time slots are always sorted by their `localStartDate` in ascending order.\n   *\n   * ### Service type limitations\n   *\n   * To retrieve appointment availability, call [List Availability Time Slots](https://dev.wix.com/docs/api-reference/business-solutions/bookings/time-slots/time-slots-v2/list-availability-time-slots).\n   *\n   * To retrieve course availability, follow the [End-to-End Booking Flow for courses](https://dev.wix.com/docs/api-reference/business-solutions/bookings/end-to-end-booking-flows#book-a-course).\n   *\n   * ### Booking policy filtering\n   *\n   * Use `bookingPolicyViolations` to filter slots based on booking restrictions defined in your [booking policies](https://dev.wix.com/docs/api-reference/business-solutions/bookings/policies/booking-policies/introduction).\n   *\n   * *Default behavior**: When you don't specify any `bookingPolicyViolations` filters, all slots are returned regardless of their booking policy status.\n   *\n   * - Set `tooEarlyToBook` to `true` to retrieve slots that can't be booked yet due to minimum advance booking time restrictions.\n   * Currently, you can't specify `earliestBookingDate` to further filter by when the slot becomes bookable.\n   * - Set `tooLateToBook` to `true` to retrieve slots that can no longer be booked due to maximum advance booking time restrictions.\n   * - Set `bookOnlineDisabled` to `true` or `false` to filter by online booking availability settings.\n   */\n  (options?: ListEventTimeSlotsOptions): Promise<\n    NonNullablePaths<\n      ListEventTimeSlotsResponse,\n      `timeSlots` | `timeSlots.${number}.location.locationType`,\n      5\n    >\n  >;\n}\n\nexport function getEventTimeSlot(\n  httpClient: HttpClient\n): GetEventTimeSlotSignature {\n  return (eventId: string, options?: GetEventTimeSlotOptions) =>\n    universalGetEventTimeSlot(\n      eventId,\n      options,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface GetEventTimeSlotSignature {\n  /**\n   * Retrieves detailed information about a specific class session time slot.\n   *\n   *\n   * Call this method after selecting a suitable slot with List Event Time Slots to obtain its full capacity and booking-policy status.\n   *\n   * ### Service type limitations\n   *\n   * To retrieve appointment availability, call [Get Availability Time Slot](https://dev.wix.com/docs/api-reference/business-solutions/bookings/time-slots/time-slots-v2/get-availability-time-slot).\n   *\n   * To retrieve course availability, follow the [End-to-End Booking Flow for courses](https://dev.wix.com/docs/api-reference/business-solutions/bookings/end-to-end-booking-flows#book-a-course).\n   * @param - Event ID.\n   */\n  (eventId: string, options?: GetEventTimeSlotOptions): Promise<\n    NonNullablePaths<\n      GetEventTimeSlotResponse,\n      | `timeSlot.location.locationType`\n      | `timeSlot.availableResources`\n      | `timeSlot.nestedTimeSlots`\n      | `timeSlot.nestedTimeSlots.${number}.serviceId`\n      | `timeSlot.nestedTimeSlots.${number}.localStartDate`\n      | `timeSlot.nestedTimeSlots.${number}.localEndDate`,\n      5\n    >\n  >;\n}\n\nexport {\n  ApplicationError,\n  AvailableResources,\n  BookingPolicyViolations,\n  BulkActionMetadata,\n  BulkListAvailabilityTimeSlotsRequest,\n  BulkListAvailabilityTimeSlotsResponse,\n  BulkServiceTimeSlotsResult,\n  CursorPaging,\n  CursorPagingMetadata,\n  Cursors,\n  CustomerChoices,\n  DiagnoseAvailabilityRequest,\n  DiagnoseAvailabilityResponse,\n  DiagnosisReason,\n  EventInfo,\n  GetAvailabilityTimeSlotRequest,\n  GetAvailabilityTimeSlotRequestCustomerChoices,\n  GetAvailabilityTimeSlotResponse,\n  GetEventTimeSlotOptions,\n  GetEventTimeSlotRequest,\n  GetEventTimeSlotResponse,\n  GetMultiServiceAvailabilityTimeSlotRequest,\n  GetMultiServiceAvailabilityTimeSlotResponse,\n  ItemMetadata,\n  ListAvailabilityTimeSlotEndOptionsRequest,\n  ListAvailabilityTimeSlotEndOptionsResponse,\n  ListAvailabilityTimeSlotsRequest,\n  ListAvailabilityTimeSlotsResponse,\n  ListEventTimeSlotsOptions,\n  ListEventTimeSlotsRequest,\n  ListEventTimeSlotsResponse,\n  ListMultiServiceAvailabilityTimeSlotsRequest,\n  ListMultiServiceAvailabilityTimeSlotsResponse,\n  Location,\n  LocationType,\n  NestedTimeSlot,\n  NonBookableReasons,\n  ReasonCode,\n  ResolvedContext,\n  Resource,\n  ResourceType,\n  Service,\n  ServiceTimeSlots,\n  SuggestedAction,\n  TimeSlot,\n  V2CustomerChoices,\n  WaitingList,\n} from './bookings-availability-v2-time-slot-event-time-slots.universal.js';\n","import {\n  listEventTimeSlots as publicListEventTimeSlots,\n  getEventTimeSlot as publicGetEventTimeSlot,\n} from './bookings-availability-v2-time-slot-event-time-slots.public.js';\nimport { createRESTModule } from '@wix/sdk-runtime/rest-modules';\nimport { BuildRESTFunction, MaybeContext } from '@wix/sdk-types';\n\nexport const listEventTimeSlots: MaybeContext<\n  BuildRESTFunction<typeof publicListEventTimeSlots> &\n    typeof publicListEventTimeSlots\n> = /*#__PURE__*/ createRESTModule(publicListEventTimeSlots);\nexport const getEventTimeSlot: MaybeContext<\n  BuildRESTFunction<typeof publicGetEventTimeSlot> &\n    typeof publicGetEventTimeSlot\n> = /*#__PURE__*/ createRESTModule(publicGetEventTimeSlot);\n\nexport {\n  LocationType,\n  ReasonCode,\n  SuggestedAction,\n} from './bookings-availability-v2-time-slot-event-time-slots.universal.js';\nexport {\n  TimeSlot,\n  Location,\n  EventInfo,\n  WaitingList,\n  BookingPolicyViolations,\n  AvailableResources,\n  Resource,\n  NestedTimeSlot,\n  NonBookableReasons,\n  ListEventTimeSlotsRequest,\n  CursorPaging,\n  ListEventTimeSlotsResponse,\n  CursorPagingMetadata,\n  Cursors,\n  GetEventTimeSlotRequest,\n  GetEventTimeSlotResponse,\n  ListAvailabilityTimeSlotsRequest,\n  CustomerChoices,\n  ResourceType,\n  ListAvailabilityTimeSlotsResponse,\n  ListAvailabilityTimeSlotEndOptionsRequest,\n  ListAvailabilityTimeSlotEndOptionsResponse,\n  GetAvailabilityTimeSlotRequest,\n  GetAvailabilityTimeSlotRequestCustomerChoices,\n  GetAvailabilityTimeSlotResponse,\n  DiagnoseAvailabilityRequest,\n  DiagnoseAvailabilityResponse,\n  DiagnosisReason,\n  ResolvedContext,\n  BulkListAvailabilityTimeSlotsRequest,\n  BulkListAvailabilityTimeSlotsResponse,\n  BulkServiceTimeSlotsResult,\n  ItemMetadata,\n  ApplicationError,\n  ServiceTimeSlots,\n  BulkActionMetadata,\n  ListMultiServiceAvailabilityTimeSlotsRequest,\n  Service,\n  V2CustomerChoices,\n  ListMultiServiceAvailabilityTimeSlotsResponse,\n  GetMultiServiceAvailabilityTimeSlotRequest,\n  GetMultiServiceAvailabilityTimeSlotResponse,\n  ListEventTimeSlotsOptions,\n  GetEventTimeSlotOptions,\n} from './bookings-availability-v2-time-slot-event-time-slots.universal.js';\nexport {\n  LocationTypeWithLiterals,\n  ReasonCodeWithLiterals,\n  SuggestedActionWithLiterals,\n} from './bookings-availability-v2-time-slot-event-time-slots.universal.js';\n"],"mappings":"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","names":["payload","LocationType","ReasonCode","SuggestedAction","listEventTimeSlots","getEventTimeSlot","listEventTimeSlots","getEventTimeSlot","listEventTimeSlots","getEventTimeSlot"]}