@wix/auto_sdk_bookings_availability-time-slots 1.0.252 → 1.0.253

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.
Files changed (37) hide show
  1. package/build/cjs/index.d.ts +41 -4
  2. package/build/cjs/index.js.map +1 -1
  3. package/build/cjs/index.typings.d.ts +77 -57
  4. package/build/cjs/index.typings.js.map +1 -1
  5. package/build/cjs/meta.d.ts +18 -32
  6. package/build/cjs/meta.js.map +1 -1
  7. package/build/cjs/schemas.d.ts +89 -1
  8. package/build/cjs/schemas.js +211 -3
  9. package/build/cjs/schemas.js.map +1 -1
  10. package/build/es/index.d.mts +41 -4
  11. package/build/es/index.mjs.map +1 -1
  12. package/build/es/index.typings.d.mts +77 -57
  13. package/build/es/index.typings.mjs.map +1 -1
  14. package/build/es/meta.d.mts +18 -32
  15. package/build/es/meta.mjs.map +1 -1
  16. package/build/es/schemas.d.mts +89 -1
  17. package/build/es/schemas.mjs +209 -3
  18. package/build/es/schemas.mjs.map +1 -1
  19. package/build/internal/cjs/index.d.ts +24 -21
  20. package/build/internal/cjs/index.js.map +1 -1
  21. package/build/internal/cjs/index.typings.d.ts +59 -75
  22. package/build/internal/cjs/index.typings.js.map +1 -1
  23. package/build/internal/cjs/meta.d.ts +18 -32
  24. package/build/internal/cjs/meta.js.map +1 -1
  25. package/build/internal/cjs/schemas.d.ts +89 -1
  26. package/build/internal/cjs/schemas.js +211 -3
  27. package/build/internal/cjs/schemas.js.map +1 -1
  28. package/build/internal/es/index.d.mts +24 -21
  29. package/build/internal/es/index.mjs.map +1 -1
  30. package/build/internal/es/index.typings.d.mts +59 -75
  31. package/build/internal/es/index.typings.mjs.map +1 -1
  32. package/build/internal/es/meta.d.mts +18 -32
  33. package/build/internal/es/meta.mjs.map +1 -1
  34. package/build/internal/es/schemas.d.mts +89 -1
  35. package/build/internal/es/schemas.mjs +209 -3
  36. package/build/internal/es/schemas.mjs.map +1 -1
  37. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"sources":["../../schemas.ts","../../src/bookings-availability-v2-time-slot-availability-time-slots.schemas.ts"],"sourcesContent":["export * from './src/bookings-availability-v2-time-slot-availability-time-slots.schemas.js';\n","import * as z from 'zod';\n\nexport const ListAvailabilityTimeSlotsRequest = z.object({\n options: z\n .object({\n serviceId: z\n .string()\n .describe(\n 'Service ID for which to retrieve time slots. You must specify the ID of an appointment-based service.\\nRequired, unless you specify `cursorPaging.cursor`.'\n )\n .regex(\n /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n 'Must be a valid GUID'\n )\n .optional()\n .nullable(),\n fromLocalDate: z\n .string()\n .describe(\n 'Lower boundary for `localStartDate` to include in response.\\nEach returned time slot has a `localStartDate` within the provided `fromLocalDate` and `toLocalDate` exclusive.\\nRequired, unless you specify `cursorPaging.cursor`.\\n\\nLocal start date in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).\\nFor example, `2026-01-30T13:30:00`.'\n )\n .optional()\n .nullable(),\n toLocalDate: z\n .string()\n .describe(\n 'Upper boundary for `localStartDate` to include in response.\\nEach returned time slot has a `localStartDate` within the provided `fromLocalDate` and `toLocalDate` exclusive.\\nRequired, unless you specify `cursorPaging.cursor`.\\n\\nLocal end date in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).\\nFor example, `2026-01-30T13:30:00`.'\n )\n .optional()\n .nullable(),\n timeZone: z\n .string()\n .describe(\n 'Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database) for adjusting `fromLocalDate` and `toLocalDate`.\\nFor example, `America/New_York` or `UTC`.\\n\\nDefault: `timeZone` specified in the business [site properties](https://dev.wix.com/docs/api-reference/business-management/site-properties/properties/get-site-properties).'\n )\n .min(1)\n .max(150)\n .optional()\n .nullable(),\n locations: z\n .array(\n z.object({\n _id: z\n .string()\n .describe(\n '[Location ID](https://dev.wix.com/docs/api-reference/business-management/locations/introduction).\\nAvailable only for business locations.'\n )\n .regex(\n /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n 'Must be a valid GUID'\n )\n .optional()\n .nullable(),\n name: z.string().describe('Location name.').optional().nullable(),\n formattedAddress: z\n .string()\n .describe('Formatted location address.')\n .optional()\n .nullable(),\n locationType: z.enum(['BUSINESS', 'CUSTOM', 'CUSTOMER']).optional(),\n })\n )\n .min(0)\n .max(5)\n .optional(),\n includeResourceTypeIds: z.array(z.string()).max(100).optional(),\n bookable: z\n .boolean()\n .describe(\n \"Whether the time slot is bookable according to the service's booking policies.\\nIf not specified, returns both bookable and un-bookable time slots.\"\n )\n .optional()\n .nullable(),\n bookingPolicyViolations: z\n .object({\n tooEarlyToBook: z\n .boolean()\n .describe(\n 'Whether it\\'s too early for customers to book the slot.\\n\\nBy 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 .optional()\n .nullable(),\n earliestBookingDate: z\n .date()\n .describe(\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 .optional()\n .nullable(),\n tooLateToBook: z\n .boolean()\n .describe(\n 'Whether it\\'s too late for customers to book the slot.\\n\\nBy 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 .optional()\n .nullable(),\n bookOnlineDisabled: z\n .boolean()\n .describe(\n 'Whether customers can book the service online.\\n\\nBy 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 .optional()\n .nullable(),\n })\n .describe(\n \"Indicators for service's booking policy violations.\\nAllows 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 .optional(),\n timeSlotsPerDay: z\n .number()\n .int()\n .describe(\n \"Maximum number of slots to return for each day in the specified time range.\\nIf `bookable` filter isn't specified, bookable slots are returned first.\"\n )\n .optional()\n .nullable(),\n cursorPaging: z\n .object({\n limit: z\n .number()\n .int()\n .describe(\n 'Number of results to load.\\n\\nDefault: `1000`.\\nMax: `1000`.'\n )\n .min(0)\n .max(1000)\n .optional()\n .nullable(),\n cursor: z\n .string()\n .describe(\n \"Pointer to the next or previous page in the list of results.\\n\\nYou can get the relevant cursor token\\nfrom the `pagingMetadata` object in the previous call's response.\\nNot relevant for the first request.\"\n )\n .optional()\n .nullable(),\n })\n .describe(\n 'Cursor-based paging configuration.\\nEnables fetching results in smaller chunks by setting a limit on the number of results.\\nFor consistent pagination behavior, use the same `limit` value throughout a pagination sequence.\\nWhen specifying a new `limit` in follow-up requests, the API respects the new value.'\n )\n .optional(),\n customerChoices: z\n .object({\n durationInMinutes: z\n .number()\n .int()\n .describe(\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).\\nWhen 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)\n .max(44639)\n .optional()\n .nullable(),\n addOnIds: z.array(z.string()).max(21).optional(),\n })\n .describe(\n \"Selected customer choices for service configuration.\\nIf not specified, uses the service's default configuration.\\n\\nWhen 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 .optional(),\n resourceTypes: z\n .array(\n z.object({\n resourceTypeId: z\n .string()\n .describe(\n '[Resource type ID](https://dev.wix.com/docs/api-reference/business-solutions/bookings/resources/resource-types-v2/introduction).'\n )\n .regex(\n /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n 'Must be a valid GUID'\n )\n .optional()\n .nullable(),\n resourceIds: z.array(z.string()).max(135).optional(),\n })\n )\n .max(3)\n .optional(),\n })\n .optional(),\n});\nexport const ListAvailabilityTimeSlotsResponse = z.object({\n timeSlots: z\n .array(\n z.object({\n serviceId: z\n .string()\n .describe(\n '[Service ID] (https://dev.wix.com/docs/api-reference/business-solutions/bookings/services/services-v2/introduction).\\n\\nAvailable only for single-service bookings. For multi-service bookings, this field is empty and individual service IDs are provided in `nestedTimeSlots`.'\n )\n .regex(\n /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n 'Must be a valid GUID'\n )\n .optional()\n .nullable(),\n localStartDate: z\n .string()\n .describe(\n \"Local start date of the time slot in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).\\nFor example, `2026-01-30T13:30:00`.\\n\\nFor multi-service bookings, this represents the start time of the first service in the sequence.\\n\\nIn `ListAvailabilityTimeSlotEndOptions`, this is identical on every entry and equals the request's `localStartDate`.\"\n )\n .optional()\n .nullable(),\n localEndDate: z\n .string()\n .describe(\n 'Local end date of the time slot in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).\\nFor example, `2026-01-30T14:00:00`.\\n\\nFor multi-service bookings, this represents the end time of the last service in the sequence.'\n )\n .optional()\n .nullable(),\n bookable: z\n .boolean()\n .describe(\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\\nFor multi-service bookings, this is `true` only when all services in the sequence comply with their respective booking policies.\"\n )\n .optional()\n .nullable(),\n location: z\n .object({\n _id: z\n .string()\n .describe(\n '[Location ID](https://dev.wix.com/docs/api-reference/business-management/locations/introduction).\\nAvailable only for business locations.'\n )\n .regex(\n /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n 'Must be a valid GUID'\n )\n .optional()\n .nullable(),\n name: z.string().describe('Location name.').optional().nullable(),\n formattedAddress: z\n .string()\n .describe('Formatted location address.')\n .optional()\n .nullable(),\n locationType: z\n .enum(['BUSINESS', 'CUSTOM', 'CUSTOMER'])\n .describe('Location type.')\n .optional(),\n })\n .describe(\n 'Information about where the business provides the service to the customer.\\n\\nIn `ListAvailabilityTimeSlotEndOptions`, this is the requested location, identical on every entry.'\n )\n .optional(),\n eventInfo: z\n .object({\n eventId: z\n .string()\n .describe('Event ID.')\n .min(36)\n .max(250)\n .optional()\n .nullable(),\n waitingList: z\n .object({\n totalCapacity: z\n .number()\n .int()\n .describe('Total number of spots in the waitlist.')\n .min(1)\n .optional()\n .nullable(),\n remainingCapacity: z\n .number()\n .int()\n .describe(\n 'Number of remaining spots in the waitlist.\\nFor example, an event with a waitlist for 10 people and 3 registrants, results in a remaining capacity of `7`.'\n )\n .min(0)\n .optional()\n .nullable(),\n })\n .describe(\n \"Information about the event's waitlist. Available only if the service has a waitlist.\"\n )\n .optional(),\n eventTitle: z\n .string()\n .describe('Event title.')\n .min(1)\n .max(200)\n .optional()\n .nullable(),\n })\n .describe(\n 'Information about the [event](https://dev.wix.com/docs/api-reference/business-management/calendar/events-v3/introduction) related to the slot.\\nAvailable only for classes. Not available for appointment-based services and courses.'\n )\n .optional(),\n totalCapacity: z\n .number()\n .int()\n .describe(\n 'Total number of spots for the slot.\\n\\nFor multi-service bookings, this is always `1` because customers book the entire service sequence as a single unit.\\n\\nIn `ListAvailabilityTimeSlotEndOptions`, capacity reflects whether at least one resource can cover `[localStartDate, localEndDate]`; the specific resource is selected later via `GetAvailabilityTimeSlot`.'\n )\n .min(1)\n .max(1000)\n .optional()\n .nullable(),\n remainingCapacity: z\n .number()\n .int()\n .describe(\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\\nIn `ListAvailabilityTimeSlotEndOptions`, capacity reflects whether at least one resource can cover `[localStartDate, localEndDate]`; the specific resource is selected later via `GetAvailabilityTimeSlot`.\"\n )\n .min(0)\n .max(1000)\n .optional()\n .nullable(),\n bookableCapacity: z\n .number()\n .int()\n .describe(\n \"Number of spots that customers can book for the slot.\\nCalculated as the remaining capacity minus the spots reserved for the waitlist.\\nIf the service has no waitlist, identical to `remainingCapacity`.\\n\\nFor multi-service bookings, this is either `1` (sequence can be booked) or `0` (sequence can't be booked).\\n\\nIn `ListAvailabilityTimeSlotEndOptions`, capacity reflects whether at least one resource can cover `[localStartDate, localEndDate]`; the specific resource is selected later via `GetAvailabilityTimeSlot`.\"\n )\n .optional()\n .nullable(),\n bookingPolicyViolations: z\n .object({\n tooEarlyToBook: z\n .boolean()\n .describe(\n 'Whether it\\'s too early for customers to book the slot.\\n\\nBy 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 .optional()\n .nullable(),\n earliestBookingDate: z\n .date()\n .describe(\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 .optional()\n .nullable(),\n tooLateToBook: z\n .boolean()\n .describe(\n 'Whether it\\'s too late for customers to book the slot.\\n\\nBy 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 .optional()\n .nullable(),\n bookOnlineDisabled: z\n .boolean()\n .describe(\n 'Whether customers can book the service online.\\n\\nBy 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 .optional()\n .nullable(),\n })\n .describe(\n 'Information about booking policy violations for the slot.\\n\\nFor multi-service bookings, this aggregates violations from all services in the sequence.'\n )\n .optional(),\n availableResources: z\n .array(\n z.object({\n resourceTypeId: z\n .string()\n .describe(\n '[Resource type ID](https://dev.wix.com/docs/api-reference/business-solutions/bookings/resources/resource-types-v2/introduction).'\n )\n .regex(\n /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n 'Must be a valid GUID'\n )\n .optional()\n .nullable(),\n resources: z\n .array(\n z.object({\n _id: z\n .string()\n .describe('Resource ID.')\n .regex(\n /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n 'Must be a valid GUID'\n )\n .optional(),\n name: z\n .string()\n .describe('Resource name.')\n .min(1)\n .optional()\n .nullable(),\n })\n )\n .optional(),\n hasMoreAvailableResources: z\n .boolean()\n .describe(\n 'Whether there are more available resources for the slot than those listed in `resources`.'\n )\n .optional()\n .nullable(),\n })\n )\n .min(0)\n .optional(),\n nestedTimeSlots: z\n .array(\n z.object({\n serviceId: z\n .string()\n .describe('Service ID of the nested time slot.')\n .regex(\n /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n 'Must be a valid GUID'\n )\n .optional(),\n localStartDate: z\n .string()\n .describe(\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).\\nFor example, `2026-01-30T13:30:00`.'\n )\n .optional(),\n localEndDate: z\n .string()\n .describe(\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).\\nFor example, `2026-01-30T13:30:00`.'\n )\n .optional(),\n availableResources: z\n .array(\n z.object({\n resourceTypeId: z\n .string()\n .describe(\n '[Resource type ID](https://dev.wix.com/docs/api-reference/business-solutions/bookings/resources/resource-types-v2/introduction).'\n )\n .regex(\n /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n 'Must be a valid GUID'\n )\n .optional()\n .nullable(),\n resources: z\n .array(\n z.object({\n _id: z\n .string()\n .describe('Resource ID.')\n .regex(\n /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n 'Must be a valid GUID'\n )\n .optional(),\n name: z\n .string()\n .describe('Resource name.')\n .min(1)\n .optional()\n .nullable(),\n })\n )\n .optional(),\n hasMoreAvailableResources: z\n .boolean()\n .describe(\n 'Whether there are more available resources for the slot than those listed in `resources`.'\n )\n .optional()\n .nullable(),\n })\n )\n .max(10)\n .optional(),\n scheduleId: z\n .string()\n .describe(\n \"The schedule ID associated with this nested time slot.\\nSame as the service's schedule ID.\"\n )\n .regex(\n /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n 'Must be a valid GUID'\n )\n .optional()\n .nullable(),\n })\n )\n .max(8)\n .optional(),\n nonBookableReasons: z\n .object({\n noRemainingCapacity: z\n .boolean()\n .describe(\n 'Whether the slot is fully booked with no remaining capacity.'\n )\n .optional()\n .nullable(),\n violatesBookingPolicy: z\n .boolean()\n .describe(\n \"Whether booking the slot violates any of the service's booking policies.\"\n )\n .optional()\n .nullable(),\n reservedForWaitingList: z\n .boolean()\n .describe(\n \"Whether the slot is reserved for the waitlist. A new customer can't book the reserved slot.\"\n )\n .optional()\n .nullable(),\n eventCancelled: z\n .boolean()\n .describe('Whether the related event is cancelled.')\n .optional()\n .nullable(),\n })\n .describe(\"Information about why customers can't book the time slot.\")\n .optional(),\n scheduleId: z\n .string()\n .describe(\n \"Schedule ID associated with this time slot.\\nSame as the service's schedule ID.\"\n )\n .regex(\n /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n 'Must be a valid GUID'\n )\n .optional()\n .nullable(),\n allDay: z\n .boolean()\n .describe(\n \"Whether this time slot spans one or more full days.\\nPopulated only for class- and course-based services. Not populated for appointment-based services.\\nWhen `true`, `localStartDate` is `00:00:00` of the first day and `localEndDate` is `00:00:00` of the day after the last day (exclusive).\\nMidnight boundaries are interpreted in the event's `timeZone`.\\nThe time component should be ignored for display purposes.\\n\\nDefault: `false`\"\n )\n .optional()\n .nullable(),\n })\n )\n .max(1000)\n .optional(),\n timeZone: z\n .string()\n .describe(\n 'Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database) for adjusting `fromLocalDate` and `toLocalDate`.\\nFor example, `America/New_York` or `UTC`.\\n\\nDefault: `timeZone` specified in the business [site properties](https://dev.wix.com/docs/api-reference/business-management/site-properties/properties/get-site-properties).'\n )\n .min(1)\n .max(150)\n .optional()\n .nullable(),\n cursorPagingMetadata: z\n .object({\n cursors: z\n .object({\n next: z\n .string()\n .describe('Cursor pointing to next page in the list of results.')\n .optional()\n .nullable(),\n prev: z\n .string()\n .describe(\n 'Cursor pointing to previous page in the list of results.'\n )\n .optional()\n .nullable(),\n })\n .describe('Offset that was requested.')\n .optional(),\n hasNext: z\n .boolean()\n .describe(\n 'Indicates if there are more results after the current page.\\nIf `true`, another page of results can be retrieved.\\nIf `false`, this is the last page.'\n )\n .optional()\n .nullable(),\n })\n .describe(\n 'Paging metadata for the next page of results.\\nContains a cursor if there are more than 1000 results.'\n )\n .optional(),\n});\nexport const GetAvailabilityTimeSlotRequest = z.object({\n serviceId: z\n .string()\n .describe(\n 'Service ID of the time slot.\\nYou must specify the ID of an appointment-based service.'\n )\n .regex(\n /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n 'Must be a valid GUID'\n ),\n localStartDate: z\n .string()\n .describe(\n 'Local start date of the time slot in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).\\nFor example, `2026-01-30T13:30:00`.'\n ),\n localEndDate: z\n .string()\n .describe(\n 'Local end date of the time slot in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).\\nFor example, `2026-01-30T13:30:00`.'\n ),\n timeZone: z\n .string()\n .describe(\n 'Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database) for adjusting `fromLocalDate` and `toLocalDate`.\\nFor example, `America/New_York` or `UTC`.\\n\\nDefault: `timeZone` specified in the business [site properties](https://dev.wix.com/docs/api-reference/business-management/site-properties/properties/get-site-properties).'\n )\n .min(1)\n .max(150),\n location: z\n .object({\n _id: z\n .string()\n .describe(\n '[Location ID](https://dev.wix.com/docs/api-reference/business-management/locations/introduction).\\nAvailable only for business locations.'\n )\n .regex(\n /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n 'Must be a valid GUID'\n )\n .optional()\n .nullable(),\n name: z.string().describe('Location name.').optional().nullable(),\n formattedAddress: z\n .string()\n .describe('Formatted location address.')\n .optional()\n .nullable(),\n locationType: z.enum(['BUSINESS', 'CUSTOM', 'CUSTOMER']).optional(),\n })\n .describe(\n 'Location to filter time slots by.\\n\\nFor business locations, you must specify a location ID.\\nWhen specifying a location ID, all other location field filters are ignored.'\n ),\n options: z\n .object({\n includeResourceTypeIds: z.array(z.string()).max(100).optional(),\n resourceTypes: z\n .array(\n z.object({\n resourceTypeId: z\n .string()\n .describe(\n '[Resource type ID](https://dev.wix.com/docs/api-reference/business-solutions/bookings/resources/resource-types-v2/introduction).'\n )\n .regex(\n /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n 'Must be a valid GUID'\n )\n .optional()\n .nullable(),\n resourceIds: z.array(z.string()).max(135).optional(),\n })\n )\n .max(3)\n .optional(),\n })\n .optional(),\n});\nexport const GetAvailabilityTimeSlotResponse = z.object({\n timeSlot: z\n .object({\n serviceId: z\n .string()\n .describe(\n '[Service ID] (https://dev.wix.com/docs/api-reference/business-solutions/bookings/services/services-v2/introduction).\\n\\nAvailable only for single-service bookings. For multi-service bookings, this field is empty and individual service IDs are provided in `nestedTimeSlots`.'\n )\n .regex(\n /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n 'Must be a valid GUID'\n )\n .optional()\n .nullable(),\n localStartDate: z\n .string()\n .describe(\n \"Local start date of the time slot in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).\\nFor example, `2026-01-30T13:30:00`.\\n\\nFor multi-service bookings, this represents the start time of the first service in the sequence.\\n\\nIn `ListAvailabilityTimeSlotEndOptions`, this is identical on every entry and equals the request's `localStartDate`.\"\n )\n .optional()\n .nullable(),\n localEndDate: z\n .string()\n .describe(\n 'Local end date of the time slot in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).\\nFor example, `2026-01-30T14:00:00`.\\n\\nFor multi-service bookings, this represents the end time of the last service in the sequence.'\n )\n .optional()\n .nullable(),\n bookable: z\n .boolean()\n .describe(\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\\nFor multi-service bookings, this is `true` only when all services in the sequence comply with their respective booking policies.\"\n )\n .optional()\n .nullable(),\n location: z\n .object({\n _id: z\n .string()\n .describe(\n '[Location ID](https://dev.wix.com/docs/api-reference/business-management/locations/introduction).\\nAvailable only for business locations.'\n )\n .regex(\n /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n 'Must be a valid GUID'\n )\n .optional()\n .nullable(),\n name: z.string().describe('Location name.').optional().nullable(),\n formattedAddress: z\n .string()\n .describe('Formatted location address.')\n .optional()\n .nullable(),\n locationType: z\n .enum(['BUSINESS', 'CUSTOM', 'CUSTOMER'])\n .describe('Location type.')\n .optional(),\n })\n .describe(\n 'Information about where the business provides the service to the customer.\\n\\nIn `ListAvailabilityTimeSlotEndOptions`, this is the requested location, identical on every entry.'\n )\n .optional(),\n eventInfo: z\n .object({\n eventId: z\n .string()\n .describe('Event ID.')\n .min(36)\n .max(250)\n .optional()\n .nullable(),\n waitingList: z\n .object({\n totalCapacity: z\n .number()\n .int()\n .describe('Total number of spots in the waitlist.')\n .min(1)\n .optional()\n .nullable(),\n remainingCapacity: z\n .number()\n .int()\n .describe(\n 'Number of remaining spots in the waitlist.\\nFor example, an event with a waitlist for 10 people and 3 registrants, results in a remaining capacity of `7`.'\n )\n .min(0)\n .optional()\n .nullable(),\n })\n .describe(\n \"Information about the event's waitlist. Available only if the service has a waitlist.\"\n )\n .optional(),\n eventTitle: z\n .string()\n .describe('Event title.')\n .min(1)\n .max(200)\n .optional()\n .nullable(),\n })\n .describe(\n 'Information about the [event](https://dev.wix.com/docs/api-reference/business-management/calendar/events-v3/introduction) related to the slot.\\nAvailable only for classes. Not available for appointment-based services and courses.'\n )\n .optional(),\n totalCapacity: z\n .number()\n .int()\n .describe(\n 'Total number of spots for the slot.\\n\\nFor multi-service bookings, this is always `1` because customers book the entire service sequence as a single unit.\\n\\nIn `ListAvailabilityTimeSlotEndOptions`, capacity reflects whether at least one resource can cover `[localStartDate, localEndDate]`; the specific resource is selected later via `GetAvailabilityTimeSlot`.'\n )\n .min(1)\n .max(1000)\n .optional()\n .nullable(),\n remainingCapacity: z\n .number()\n .int()\n .describe(\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\\nIn `ListAvailabilityTimeSlotEndOptions`, capacity reflects whether at least one resource can cover `[localStartDate, localEndDate]`; the specific resource is selected later via `GetAvailabilityTimeSlot`.\"\n )\n .min(0)\n .max(1000)\n .optional()\n .nullable(),\n bookableCapacity: z\n .number()\n .int()\n .describe(\n \"Number of spots that customers can book for the slot.\\nCalculated as the remaining capacity minus the spots reserved for the waitlist.\\nIf the service has no waitlist, identical to `remainingCapacity`.\\n\\nFor multi-service bookings, this is either `1` (sequence can be booked) or `0` (sequence can't be booked).\\n\\nIn `ListAvailabilityTimeSlotEndOptions`, capacity reflects whether at least one resource can cover `[localStartDate, localEndDate]`; the specific resource is selected later via `GetAvailabilityTimeSlot`.\"\n )\n .optional()\n .nullable(),\n bookingPolicyViolations: z\n .object({\n tooEarlyToBook: z\n .boolean()\n .describe(\n 'Whether it\\'s too early for customers to book the slot.\\n\\nBy 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 .optional()\n .nullable(),\n earliestBookingDate: z\n .date()\n .describe(\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 .optional()\n .nullable(),\n tooLateToBook: z\n .boolean()\n .describe(\n 'Whether it\\'s too late for customers to book the slot.\\n\\nBy 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 .optional()\n .nullable(),\n bookOnlineDisabled: z\n .boolean()\n .describe(\n 'Whether customers can book the service online.\\n\\nBy 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 .optional()\n .nullable(),\n })\n .describe(\n 'Information about booking policy violations for the slot.\\n\\nFor multi-service bookings, this aggregates violations from all services in the sequence.'\n )\n .optional(),\n availableResources: z\n .array(\n z.object({\n resourceTypeId: z\n .string()\n .describe(\n '[Resource type ID](https://dev.wix.com/docs/api-reference/business-solutions/bookings/resources/resource-types-v2/introduction).'\n )\n .regex(\n /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n 'Must be a valid GUID'\n )\n .optional()\n .nullable(),\n resources: z\n .array(\n z.object({\n _id: z\n .string()\n .describe('Resource ID.')\n .regex(\n /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n 'Must be a valid GUID'\n )\n .optional(),\n name: z\n .string()\n .describe('Resource name.')\n .min(1)\n .optional()\n .nullable(),\n })\n )\n .optional(),\n hasMoreAvailableResources: z\n .boolean()\n .describe(\n 'Whether there are more available resources for the slot than those listed in `resources`.'\n )\n .optional()\n .nullable(),\n })\n )\n .min(0)\n .optional(),\n nestedTimeSlots: z\n .array(\n z.object({\n serviceId: z\n .string()\n .describe('Service ID of the nested time slot.')\n .regex(\n /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n 'Must be a valid GUID'\n )\n .optional(),\n localStartDate: z\n .string()\n .describe(\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).\\nFor example, `2026-01-30T13:30:00`.'\n )\n .optional(),\n localEndDate: z\n .string()\n .describe(\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).\\nFor example, `2026-01-30T13:30:00`.'\n )\n .optional(),\n availableResources: z\n .array(\n z.object({\n resourceTypeId: z\n .string()\n .describe(\n '[Resource type ID](https://dev.wix.com/docs/api-reference/business-solutions/bookings/resources/resource-types-v2/introduction).'\n )\n .regex(\n /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n 'Must be a valid GUID'\n )\n .optional()\n .nullable(),\n resources: z\n .array(\n z.object({\n _id: z\n .string()\n .describe('Resource ID.')\n .regex(\n /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n 'Must be a valid GUID'\n )\n .optional(),\n name: z\n .string()\n .describe('Resource name.')\n .min(1)\n .optional()\n .nullable(),\n })\n )\n .optional(),\n hasMoreAvailableResources: z\n .boolean()\n .describe(\n 'Whether there are more available resources for the slot than those listed in `resources`.'\n )\n .optional()\n .nullable(),\n })\n )\n .max(10)\n .optional(),\n scheduleId: z\n .string()\n .describe(\n \"The schedule ID associated with this nested time slot.\\nSame as the service's schedule ID.\"\n )\n .regex(\n /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n 'Must be a valid GUID'\n )\n .optional()\n .nullable(),\n })\n )\n .max(8)\n .optional(),\n nonBookableReasons: z\n .object({\n noRemainingCapacity: z\n .boolean()\n .describe(\n 'Whether the slot is fully booked with no remaining capacity.'\n )\n .optional()\n .nullable(),\n violatesBookingPolicy: z\n .boolean()\n .describe(\n \"Whether booking the slot violates any of the service's booking policies.\"\n )\n .optional()\n .nullable(),\n reservedForWaitingList: z\n .boolean()\n .describe(\n \"Whether the slot is reserved for the waitlist. A new customer can't book the reserved slot.\"\n )\n .optional()\n .nullable(),\n eventCancelled: z\n .boolean()\n .describe('Whether the related event is cancelled.')\n .optional()\n .nullable(),\n })\n .describe(\"Information about why customers can't book the time slot.\")\n .optional(),\n scheduleId: z\n .string()\n .describe(\n \"Schedule ID associated with this time slot.\\nSame as the service's schedule ID.\"\n )\n .regex(\n /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n 'Must be a valid GUID'\n )\n .optional()\n .nullable(),\n allDay: z\n .boolean()\n .describe(\n \"Whether this time slot spans one or more full days.\\nPopulated only for class- and course-based services. Not populated for appointment-based services.\\nWhen `true`, `localStartDate` is `00:00:00` of the first day and `localEndDate` is `00:00:00` of the day after the last day (exclusive).\\nMidnight boundaries are interpreted in the event's `timeZone`.\\nThe time component should be ignored for display purposes.\\n\\nDefault: `false`\"\n )\n .optional()\n .nullable(),\n })\n .describe('Retrieved time slot.')\n .optional(),\n timeZone: z\n .string()\n .describe(\n 'Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database) for adjusting `fromLocalDate` and `toLocalDate`.\\nFor example, `America/New_York` or `UTC`.\\n\\nDefault: `timeZone` specified in the business [site properties](https://dev.wix.com/docs/api-reference/business-management/site-properties/properties/get-site-properties).'\n )\n .min(1)\n .max(150)\n .optional()\n .nullable(),\n});\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../schemas.ts","../../src/bookings-availability-v2-time-slot-availability-time-slots.schemas.ts"],"sourcesContent":["export * from './src/bookings-availability-v2-time-slot-availability-time-slots.schemas.js';\n","import * as z from 'zod';\n\nexport const ListAvailabilityTimeSlotsRequest = z.object({\n options: z\n .object({\n serviceId: z\n .string()\n .describe(\n 'Service ID for which to retrieve time slots. You must specify the ID of an appointment-based service.\\nRequired, unless you specify `cursorPaging.cursor`.'\n )\n .regex(\n /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n 'Must be a valid GUID'\n )\n .optional()\n .nullable(),\n fromLocalDate: z\n .string()\n .describe(\n 'Lower boundary for `localStartDate` to include in response.\\nEach returned time slot has a `localStartDate` within the provided `fromLocalDate` and `toLocalDate` exclusive.\\nRequired, unless you specify `cursorPaging.cursor`.\\n\\nLocal start date in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).\\nFor example, `2026-01-30T13:30:00`.'\n )\n .optional()\n .nullable(),\n toLocalDate: z\n .string()\n .describe(\n 'Upper boundary for `localStartDate` to include in response.\\nEach returned time slot has a `localStartDate` within the provided `fromLocalDate` and `toLocalDate` exclusive.\\nRequired, unless you specify `cursorPaging.cursor`.\\n\\nLocal end date in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).\\nFor example, `2026-01-30T13:30:00`.'\n )\n .optional()\n .nullable(),\n timeZone: z\n .string()\n .describe(\n 'Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database) for adjusting `fromLocalDate` and `toLocalDate`.\\nFor example, `America/New_York` or `UTC`.\\n\\nDefault: `timeZone` specified in the business [site properties](https://dev.wix.com/docs/api-reference/business-management/site-properties/properties/get-site-properties).'\n )\n .min(1)\n .max(150)\n .optional()\n .nullable(),\n locations: z\n .array(\n z.object({\n _id: z\n .string()\n .describe(\n '[Location ID](https://dev.wix.com/docs/api-reference/business-management/locations/introduction).\\nAvailable only for business locations.'\n )\n .regex(\n /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n 'Must be a valid GUID'\n )\n .optional()\n .nullable(),\n name: z.string().describe('Location name.').optional().nullable(),\n formattedAddress: z\n .string()\n .describe('Formatted location address.')\n .optional()\n .nullable(),\n locationType: z.enum(['BUSINESS', 'CUSTOM', 'CUSTOMER']).optional(),\n })\n )\n .min(0)\n .max(5)\n .optional(),\n includeResourceTypeIds: z.array(z.string()).max(100).optional(),\n bookable: z\n .boolean()\n .describe(\n \"Whether the time slot is bookable according to the service's booking policies.\\nIf not specified, returns both bookable and un-bookable time slots.\"\n )\n .optional()\n .nullable(),\n bookingPolicyViolations: z\n .object({\n tooEarlyToBook: z\n .boolean()\n .describe(\n 'Whether it\\'s too early for customers to book the slot.\\n\\nBy 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 .optional()\n .nullable(),\n earliestBookingDate: z\n .date()\n .describe(\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 .optional()\n .nullable(),\n tooLateToBook: z\n .boolean()\n .describe(\n 'Whether it\\'s too late for customers to book the slot.\\n\\nBy 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 .optional()\n .nullable(),\n bookOnlineDisabled: z\n .boolean()\n .describe(\n 'Whether customers can book the service online.\\n\\nBy 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 .optional()\n .nullable(),\n })\n .describe(\n \"Indicators for service's booking policy violations.\\nAllows 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 .optional(),\n timeSlotsPerDay: z\n .number()\n .int()\n .describe(\n \"Maximum number of slots to return for each day in the specified time range.\\nIf `bookable` filter isn't specified, bookable slots are returned first.\"\n )\n .optional()\n .nullable(),\n cursorPaging: z\n .object({\n limit: z\n .number()\n .int()\n .describe(\n 'Number of results to load.\\n\\nDefault: `1000`.\\nMax: `1000`.'\n )\n .min(0)\n .max(1000)\n .optional()\n .nullable(),\n cursor: z\n .string()\n .describe(\n \"Pointer to the next or previous page in the list of results.\\n\\nYou can get the relevant cursor token\\nfrom the `pagingMetadata` object in the previous call's response.\\nNot relevant for the first request.\"\n )\n .optional()\n .nullable(),\n })\n .describe(\n 'Cursor-based paging configuration.\\nEnables fetching results in smaller chunks by setting a limit on the number of results.\\nFor consistent pagination behavior, use the same `limit` value throughout a pagination sequence.\\nWhen specifying a new `limit` in follow-up requests, the API respects the new value.'\n )\n .optional(),\n customerChoices: z\n .object({\n durationInMinutes: z\n .number()\n .int()\n .describe(\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).\\nWhen 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)\n .max(44639)\n .optional()\n .nullable(),\n addOnIds: z.array(z.string()).max(21).optional(),\n })\n .describe(\n \"Selected customer choices for service configuration.\\nIf not specified, uses the service's default configuration.\\n\\nNot supported for services configured with a duration range (`availabilityConstraints.durationRange`).\\n\\nWhen 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 .optional(),\n resourceTypes: z\n .array(\n z.object({\n resourceTypeId: z\n .string()\n .describe(\n '[Resource type ID](https://dev.wix.com/docs/api-reference/business-solutions/bookings/resources/resource-types-v2/introduction).'\n )\n .regex(\n /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n 'Must be a valid GUID'\n )\n .optional()\n .nullable(),\n resourceIds: z.array(z.string()).max(135).optional(),\n })\n )\n .max(3)\n .optional(),\n })\n .optional(),\n});\nexport const ListAvailabilityTimeSlotsResponse = z.object({\n timeSlots: z\n .array(\n z.object({\n serviceId: z\n .string()\n .describe(\n '[Service ID] (https://dev.wix.com/docs/api-reference/business-solutions/bookings/services/services-v2/introduction).\\n\\nAvailable only for single-service bookings. For multi-service bookings, this field is empty and individual service IDs are provided in `nestedTimeSlots`.'\n )\n .regex(\n /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n 'Must be a valid GUID'\n )\n .optional()\n .nullable(),\n localStartDate: z\n .string()\n .describe(\n \"Local start date of the time slot in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).\\nFor example, `2026-01-30T13:30:00`.\\n\\nFor multi-service bookings, this represents the start time of the first service in the sequence.\\n\\nIn `ListAvailabilityTimeSlotEndOptions`, this is identical on every entry and equals the request's `localStartDate`.\"\n )\n .optional()\n .nullable(),\n localEndDate: z\n .string()\n .describe(\n 'Local end date of the time slot in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).\\nFor example, `2026-01-30T14:00:00`.\\n\\nFor multi-service bookings, this represents the end time of the last service in the sequence.'\n )\n .optional()\n .nullable(),\n bookable: z\n .boolean()\n .describe(\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\\nFor multi-service bookings, this is `true` only when all services in the sequence comply with their respective booking policies.\"\n )\n .optional()\n .nullable(),\n location: z\n .object({\n _id: z\n .string()\n .describe(\n '[Location ID](https://dev.wix.com/docs/api-reference/business-management/locations/introduction).\\nAvailable only for business locations.'\n )\n .regex(\n /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n 'Must be a valid GUID'\n )\n .optional()\n .nullable(),\n name: z.string().describe('Location name.').optional().nullable(),\n formattedAddress: z\n .string()\n .describe('Formatted location address.')\n .optional()\n .nullable(),\n locationType: z\n .enum(['BUSINESS', 'CUSTOM', 'CUSTOMER'])\n .describe('Location type.')\n .optional(),\n })\n .describe(\n 'Information about where the business provides the service to the customer.\\n\\nIn `ListAvailabilityTimeSlotEndOptions`, this is the requested location, identical on every entry.'\n )\n .optional(),\n eventInfo: z\n .object({\n eventId: z\n .string()\n .describe('Event ID.')\n .min(36)\n .max(250)\n .optional()\n .nullable(),\n waitingList: z\n .object({\n totalCapacity: z\n .number()\n .int()\n .describe('Total number of spots in the waitlist.')\n .min(1)\n .optional()\n .nullable(),\n remainingCapacity: z\n .number()\n .int()\n .describe(\n 'Number of remaining spots in the waitlist.\\nFor example, an event with a waitlist for 10 people and 3 registrants, results in a remaining capacity of `7`.'\n )\n .min(0)\n .optional()\n .nullable(),\n })\n .describe(\n \"Information about the event's waitlist. Available only if the service has a waitlist.\"\n )\n .optional(),\n eventTitle: z\n .string()\n .describe('Event title.')\n .min(1)\n .max(200)\n .optional()\n .nullable(),\n })\n .describe(\n 'Information about the [event](https://dev.wix.com/docs/api-reference/business-management/calendar/events-v3/introduction) related to the slot.\\nAvailable only for classes. Not available for appointment-based services and courses.'\n )\n .optional(),\n totalCapacity: z\n .number()\n .int()\n .describe(\n 'Total number of spots for the slot.\\n\\nFor multi-service bookings, this is always `1` because customers book the entire service sequence as a single unit.\\n\\nIn `ListAvailabilityTimeSlotEndOptions`, capacity reflects whether at least one resource can cover `[localStartDate, localEndDate]`; the specific resource is selected later via `GetAvailabilityTimeSlot`.'\n )\n .min(1)\n .max(1000)\n .optional()\n .nullable(),\n remainingCapacity: z\n .number()\n .int()\n .describe(\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\\nIn `ListAvailabilityTimeSlotEndOptions`, capacity reflects whether at least one resource can cover `[localStartDate, localEndDate]`; the specific resource is selected later via `GetAvailabilityTimeSlot`.\"\n )\n .min(0)\n .max(1000)\n .optional()\n .nullable(),\n bookableCapacity: z\n .number()\n .int()\n .describe(\n \"Number of spots that customers can book for the slot.\\nCalculated as the remaining capacity minus the spots reserved for the waitlist.\\nIf the service has no waitlist, identical to `remainingCapacity`.\\n\\nFor multi-service bookings, this is either `1` (sequence can be booked) or `0` (sequence can't be booked).\\n\\nIn `ListAvailabilityTimeSlotEndOptions`, capacity reflects whether at least one resource can cover `[localStartDate, localEndDate]`; the specific resource is selected later via `GetAvailabilityTimeSlot`.\"\n )\n .optional()\n .nullable(),\n bookingPolicyViolations: z\n .object({\n tooEarlyToBook: z\n .boolean()\n .describe(\n 'Whether it\\'s too early for customers to book the slot.\\n\\nBy 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 .optional()\n .nullable(),\n earliestBookingDate: z\n .date()\n .describe(\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 .optional()\n .nullable(),\n tooLateToBook: z\n .boolean()\n .describe(\n 'Whether it\\'s too late for customers to book the slot.\\n\\nBy 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 .optional()\n .nullable(),\n bookOnlineDisabled: z\n .boolean()\n .describe(\n 'Whether customers can book the service online.\\n\\nBy 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 .optional()\n .nullable(),\n })\n .describe(\n 'Information about booking policy violations for the slot.\\n\\nFor multi-service bookings, this aggregates violations from all services in the sequence.'\n )\n .optional(),\n availableResources: z\n .array(\n z.object({\n resourceTypeId: z\n .string()\n .describe(\n '[Resource type ID](https://dev.wix.com/docs/api-reference/business-solutions/bookings/resources/resource-types-v2/introduction).'\n )\n .regex(\n /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n 'Must be a valid GUID'\n )\n .optional()\n .nullable(),\n resources: z\n .array(\n z.object({\n _id: z\n .string()\n .describe('Resource ID.')\n .regex(\n /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n 'Must be a valid GUID'\n )\n .optional(),\n name: z\n .string()\n .describe('Resource name.')\n .min(1)\n .optional()\n .nullable(),\n })\n )\n .optional(),\n hasMoreAvailableResources: z\n .boolean()\n .describe(\n 'Whether there are more available resources for the slot than those listed in `resources`.'\n )\n .optional()\n .nullable(),\n })\n )\n .min(0)\n .optional(),\n nestedTimeSlots: z\n .array(\n z.object({\n serviceId: z\n .string()\n .describe('Service ID of the nested time slot.')\n .regex(\n /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n 'Must be a valid GUID'\n )\n .optional(),\n localStartDate: z\n .string()\n .describe(\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).\\nFor example, `2026-01-30T13:30:00`.'\n )\n .optional(),\n localEndDate: z\n .string()\n .describe(\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).\\nFor example, `2026-01-30T13:30:00`.'\n )\n .optional(),\n availableResources: z\n .array(\n z.object({\n resourceTypeId: z\n .string()\n .describe(\n '[Resource type ID](https://dev.wix.com/docs/api-reference/business-solutions/bookings/resources/resource-types-v2/introduction).'\n )\n .regex(\n /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n 'Must be a valid GUID'\n )\n .optional()\n .nullable(),\n resources: z\n .array(\n z.object({\n _id: z\n .string()\n .describe('Resource ID.')\n .regex(\n /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n 'Must be a valid GUID'\n )\n .optional(),\n name: z\n .string()\n .describe('Resource name.')\n .min(1)\n .optional()\n .nullable(),\n })\n )\n .optional(),\n hasMoreAvailableResources: z\n .boolean()\n .describe(\n 'Whether there are more available resources for the slot than those listed in `resources`.'\n )\n .optional()\n .nullable(),\n })\n )\n .max(10)\n .optional(),\n scheduleId: z\n .string()\n .describe(\n \"The schedule ID associated with this nested time slot.\\nSame as the service's schedule ID.\"\n )\n .regex(\n /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n 'Must be a valid GUID'\n )\n .optional()\n .nullable(),\n })\n )\n .max(8)\n .optional(),\n nonBookableReasons: z\n .object({\n noRemainingCapacity: z\n .boolean()\n .describe(\n 'Whether the slot is fully booked with no remaining capacity.'\n )\n .optional()\n .nullable(),\n violatesBookingPolicy: z\n .boolean()\n .describe(\n \"Whether booking the slot violates any of the service's booking policies.\"\n )\n .optional()\n .nullable(),\n reservedForWaitingList: z\n .boolean()\n .describe(\n \"Whether the slot is reserved for the waitlist. A new customer can't book the reserved slot.\"\n )\n .optional()\n .nullable(),\n eventCancelled: z\n .boolean()\n .describe('Whether the related event is cancelled.')\n .optional()\n .nullable(),\n })\n .describe(\"Information about why customers can't book the time slot.\")\n .optional(),\n scheduleId: z\n .string()\n .describe(\n \"Schedule ID associated with this time slot.\\nSame as the service's schedule ID.\"\n )\n .regex(\n /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n 'Must be a valid GUID'\n )\n .optional()\n .nullable(),\n allDay: z\n .boolean()\n .describe(\n \"Whether this time slot spans one or more full days.\\nWhen `true`, `localStartDate` is `00:00:00` of the first day and `localEndDate` is `00:00:00` of the day after the last day (exclusive).\\nMidnight boundaries are interpreted in the event's `timeZone`.\\nThe time component should be ignored for display purposes.\\n\\nDefault: `false`\"\n )\n .optional()\n .nullable(),\n })\n )\n .max(1000)\n .optional(),\n timeZone: z\n .string()\n .describe(\n 'Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database) for adjusting `fromLocalDate` and `toLocalDate`.\\nFor example, `America/New_York` or `UTC`.\\n\\nDefault: `timeZone` specified in the business [site properties](https://dev.wix.com/docs/api-reference/business-management/site-properties/properties/get-site-properties).'\n )\n .min(1)\n .max(150)\n .optional()\n .nullable(),\n cursorPagingMetadata: z\n .object({\n cursors: z\n .object({\n next: z\n .string()\n .describe('Cursor pointing to next page in the list of results.')\n .optional()\n .nullable(),\n prev: z\n .string()\n .describe(\n 'Cursor pointing to previous page in the list of results.'\n )\n .optional()\n .nullable(),\n })\n .describe('Offset that was requested.')\n .optional(),\n hasNext: z\n .boolean()\n .describe(\n 'Indicates if there are more results after the current page.\\nIf `true`, another page of results can be retrieved.\\nIf `false`, this is the last page.'\n )\n .optional()\n .nullable(),\n })\n .describe(\n 'Paging metadata for the next page of results.\\nContains a cursor if there are more than 1000 results.'\n )\n .optional(),\n});\nexport const ListAvailabilityTimeSlotEndOptionsRequest = z.object({\n serviceId: z\n .string()\n .describe(\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 )\n .regex(\n /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n 'Must be a valid GUID'\n ),\n options: z.object({\n localStartDate: z\n .string()\n .describe(\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`.\\nEach returned end option shares this start time.'\n ),\n maxLocalEndDate: z\n .string()\n .describe(\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`.\\nThe service's maximum duration always caps the result, even if a later value is specified.\\n\\nDefault: `localStartDate` plus the service's maximum duration from `durationRange.hourConfig`.\"\n )\n .optional()\n .nullable(),\n timeZone: z\n .string()\n .describe(\n 'Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database). For example, `America/New_York` or `UTC`.\\n\\nDefault: `timeZone` specified in the business [site properties](https://dev.wix.com/docs/api-reference/business-management/site-properties/properties/get-site-properties).'\n )\n .min(1)\n .max(150)\n .optional()\n .nullable(),\n location: z\n .object({\n _id: z\n .string()\n .describe(\n '[Location ID](https://dev.wix.com/docs/api-reference/business-management/locations/introduction).\\nAvailable only for business locations.'\n )\n .regex(\n /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n 'Must be a valid GUID'\n )\n .optional()\n .nullable(),\n name: z.string().describe('Location name.').optional().nullable(),\n formattedAddress: z\n .string()\n .describe('Formatted location address.')\n .optional()\n .nullable(),\n locationType: z.enum(['BUSINESS', 'CUSTOM', 'CUSTOMER']).optional(),\n })\n .describe(\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 ),\n resourceTypes: z\n .array(\n z.object({\n resourceTypeId: z\n .string()\n .describe(\n '[Resource type ID](https://dev.wix.com/docs/api-reference/business-solutions/bookings/resources/resource-types-v2/introduction).'\n )\n .regex(\n /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n 'Must be a valid GUID'\n )\n .optional()\n .nullable(),\n resourceIds: z.array(z.string()).max(135).optional(),\n })\n )\n .max(3)\n .optional(),\n }),\n});\nexport const ListAvailabilityTimeSlotEndOptionsResponse = z.object({\n endOptions: z\n .array(\n z.object({\n serviceId: z\n .string()\n .describe(\n '[Service ID] (https://dev.wix.com/docs/api-reference/business-solutions/bookings/services/services-v2/introduction).\\n\\nAvailable only for single-service bookings. For multi-service bookings, this field is empty and individual service IDs are provided in `nestedTimeSlots`.'\n )\n .regex(\n /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n 'Must be a valid GUID'\n )\n .optional()\n .nullable(),\n localStartDate: z\n .string()\n .describe(\n \"Local start date of the time slot in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).\\nFor example, `2026-01-30T13:30:00`.\\n\\nFor multi-service bookings, this represents the start time of the first service in the sequence.\\n\\nIn `ListAvailabilityTimeSlotEndOptions`, this is identical on every entry and equals the request's `localStartDate`.\"\n )\n .optional()\n .nullable(),\n localEndDate: z\n .string()\n .describe(\n 'Local end date of the time slot in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).\\nFor example, `2026-01-30T14:00:00`.\\n\\nFor multi-service bookings, this represents the end time of the last service in the sequence.'\n )\n .optional()\n .nullable(),\n bookable: z\n .boolean()\n .describe(\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\\nFor multi-service bookings, this is `true` only when all services in the sequence comply with their respective booking policies.\"\n )\n .optional()\n .nullable(),\n location: z\n .object({\n _id: z\n .string()\n .describe(\n '[Location ID](https://dev.wix.com/docs/api-reference/business-management/locations/introduction).\\nAvailable only for business locations.'\n )\n .regex(\n /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n 'Must be a valid GUID'\n )\n .optional()\n .nullable(),\n name: z.string().describe('Location name.').optional().nullable(),\n formattedAddress: z\n .string()\n .describe('Formatted location address.')\n .optional()\n .nullable(),\n locationType: z\n .enum(['BUSINESS', 'CUSTOM', 'CUSTOMER'])\n .describe('Location type.')\n .optional(),\n })\n .describe(\n 'Information about where the business provides the service to the customer.\\n\\nIn `ListAvailabilityTimeSlotEndOptions`, this is the requested location, identical on every entry.'\n )\n .optional(),\n eventInfo: z\n .object({\n eventId: z\n .string()\n .describe('Event ID.')\n .min(36)\n .max(250)\n .optional()\n .nullable(),\n waitingList: z\n .object({\n totalCapacity: z\n .number()\n .int()\n .describe('Total number of spots in the waitlist.')\n .min(1)\n .optional()\n .nullable(),\n remainingCapacity: z\n .number()\n .int()\n .describe(\n 'Number of remaining spots in the waitlist.\\nFor example, an event with a waitlist for 10 people and 3 registrants, results in a remaining capacity of `7`.'\n )\n .min(0)\n .optional()\n .nullable(),\n })\n .describe(\n \"Information about the event's waitlist. Available only if the service has a waitlist.\"\n )\n .optional(),\n eventTitle: z\n .string()\n .describe('Event title.')\n .min(1)\n .max(200)\n .optional()\n .nullable(),\n })\n .describe(\n 'Information about the [event](https://dev.wix.com/docs/api-reference/business-management/calendar/events-v3/introduction) related to the slot.\\nAvailable only for classes. Not available for appointment-based services and courses.'\n )\n .optional(),\n totalCapacity: z\n .number()\n .int()\n .describe(\n 'Total number of spots for the slot.\\n\\nFor multi-service bookings, this is always `1` because customers book the entire service sequence as a single unit.\\n\\nIn `ListAvailabilityTimeSlotEndOptions`, capacity reflects whether at least one resource can cover `[localStartDate, localEndDate]`; the specific resource is selected later via `GetAvailabilityTimeSlot`.'\n )\n .min(1)\n .max(1000)\n .optional()\n .nullable(),\n remainingCapacity: z\n .number()\n .int()\n .describe(\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\\nIn `ListAvailabilityTimeSlotEndOptions`, capacity reflects whether at least one resource can cover `[localStartDate, localEndDate]`; the specific resource is selected later via `GetAvailabilityTimeSlot`.\"\n )\n .min(0)\n .max(1000)\n .optional()\n .nullable(),\n bookableCapacity: z\n .number()\n .int()\n .describe(\n \"Number of spots that customers can book for the slot.\\nCalculated as the remaining capacity minus the spots reserved for the waitlist.\\nIf the service has no waitlist, identical to `remainingCapacity`.\\n\\nFor multi-service bookings, this is either `1` (sequence can be booked) or `0` (sequence can't be booked).\\n\\nIn `ListAvailabilityTimeSlotEndOptions`, capacity reflects whether at least one resource can cover `[localStartDate, localEndDate]`; the specific resource is selected later via `GetAvailabilityTimeSlot`.\"\n )\n .optional()\n .nullable(),\n bookingPolicyViolations: z\n .object({\n tooEarlyToBook: z\n .boolean()\n .describe(\n 'Whether it\\'s too early for customers to book the slot.\\n\\nBy 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 .optional()\n .nullable(),\n earliestBookingDate: z\n .date()\n .describe(\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 .optional()\n .nullable(),\n tooLateToBook: z\n .boolean()\n .describe(\n 'Whether it\\'s too late for customers to book the slot.\\n\\nBy 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 .optional()\n .nullable(),\n bookOnlineDisabled: z\n .boolean()\n .describe(\n 'Whether customers can book the service online.\\n\\nBy 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 .optional()\n .nullable(),\n })\n .describe(\n 'Information about booking policy violations for the slot.\\n\\nFor multi-service bookings, this aggregates violations from all services in the sequence.'\n )\n .optional(),\n availableResources: z\n .array(\n z.object({\n resourceTypeId: z\n .string()\n .describe(\n '[Resource type ID](https://dev.wix.com/docs/api-reference/business-solutions/bookings/resources/resource-types-v2/introduction).'\n )\n .regex(\n /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n 'Must be a valid GUID'\n )\n .optional()\n .nullable(),\n resources: z\n .array(\n z.object({\n _id: z\n .string()\n .describe('Resource ID.')\n .regex(\n /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n 'Must be a valid GUID'\n )\n .optional(),\n name: z\n .string()\n .describe('Resource name.')\n .min(1)\n .optional()\n .nullable(),\n })\n )\n .optional(),\n hasMoreAvailableResources: z\n .boolean()\n .describe(\n 'Whether there are more available resources for the slot than those listed in `resources`.'\n )\n .optional()\n .nullable(),\n })\n )\n .min(0)\n .optional(),\n nestedTimeSlots: z\n .array(\n z.object({\n serviceId: z\n .string()\n .describe('Service ID of the nested time slot.')\n .regex(\n /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n 'Must be a valid GUID'\n )\n .optional(),\n localStartDate: z\n .string()\n .describe(\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).\\nFor example, `2026-01-30T13:30:00`.'\n )\n .optional(),\n localEndDate: z\n .string()\n .describe(\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).\\nFor example, `2026-01-30T13:30:00`.'\n )\n .optional(),\n availableResources: z\n .array(\n z.object({\n resourceTypeId: z\n .string()\n .describe(\n '[Resource type ID](https://dev.wix.com/docs/api-reference/business-solutions/bookings/resources/resource-types-v2/introduction).'\n )\n .regex(\n /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n 'Must be a valid GUID'\n )\n .optional()\n .nullable(),\n resources: z\n .array(\n z.object({\n _id: z\n .string()\n .describe('Resource ID.')\n .regex(\n /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n 'Must be a valid GUID'\n )\n .optional(),\n name: z\n .string()\n .describe('Resource name.')\n .min(1)\n .optional()\n .nullable(),\n })\n )\n .optional(),\n hasMoreAvailableResources: z\n .boolean()\n .describe(\n 'Whether there are more available resources for the slot than those listed in `resources`.'\n )\n .optional()\n .nullable(),\n })\n )\n .max(10)\n .optional(),\n scheduleId: z\n .string()\n .describe(\n \"The schedule ID associated with this nested time slot.\\nSame as the service's schedule ID.\"\n )\n .regex(\n /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n 'Must be a valid GUID'\n )\n .optional()\n .nullable(),\n })\n )\n .max(8)\n .optional(),\n nonBookableReasons: z\n .object({\n noRemainingCapacity: z\n .boolean()\n .describe(\n 'Whether the slot is fully booked with no remaining capacity.'\n )\n .optional()\n .nullable(),\n violatesBookingPolicy: z\n .boolean()\n .describe(\n \"Whether booking the slot violates any of the service's booking policies.\"\n )\n .optional()\n .nullable(),\n reservedForWaitingList: z\n .boolean()\n .describe(\n \"Whether the slot is reserved for the waitlist. A new customer can't book the reserved slot.\"\n )\n .optional()\n .nullable(),\n eventCancelled: z\n .boolean()\n .describe('Whether the related event is cancelled.')\n .optional()\n .nullable(),\n })\n .describe(\"Information about why customers can't book the time slot.\")\n .optional(),\n scheduleId: z\n .string()\n .describe(\n \"Schedule ID associated with this time slot.\\nSame as the service's schedule ID.\"\n )\n .regex(\n /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n 'Must be a valid GUID'\n )\n .optional()\n .nullable(),\n allDay: z\n .boolean()\n .describe(\n \"Whether this time slot spans one or more full days.\\nWhen `true`, `localStartDate` is `00:00:00` of the first day and `localEndDate` is `00:00:00` of the day after the last day (exclusive).\\nMidnight boundaries are interpreted in the event's `timeZone`.\\nThe time component should be ignored for display purposes.\\n\\nDefault: `false`\"\n )\n .optional()\n .nullable(),\n })\n )\n .max(1000)\n .optional(),\n timeZone: z\n .string()\n .describe(\n 'Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database). For example, `America/New_York` or `UTC`.'\n )\n .optional()\n .nullable(),\n});\nexport const GetAvailabilityTimeSlotRequest = z.object({\n serviceId: z\n .string()\n .describe(\n 'Service ID of the time slot.\\nYou must specify the ID of an appointment-based service.'\n )\n .regex(\n /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n 'Must be a valid GUID'\n ),\n localStartDate: z\n .string()\n .describe(\n 'Local start date of the time slot in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).\\nFor example, `2026-01-30T13:30:00`.'\n ),\n localEndDate: z\n .string()\n .describe(\n 'Local end date of the time slot in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).\\nFor example, `2026-01-30T13:30:00`.'\n ),\n timeZone: z\n .string()\n .describe(\n 'Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database) for adjusting `fromLocalDate` and `toLocalDate`.\\nFor example, `America/New_York` or `UTC`.\\n\\nDefault: `timeZone` specified in the business [site properties](https://dev.wix.com/docs/api-reference/business-management/site-properties/properties/get-site-properties).'\n )\n .min(1)\n .max(150),\n location: z\n .object({\n _id: z\n .string()\n .describe(\n '[Location ID](https://dev.wix.com/docs/api-reference/business-management/locations/introduction).\\nAvailable only for business locations.'\n )\n .regex(\n /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n 'Must be a valid GUID'\n )\n .optional()\n .nullable(),\n name: z.string().describe('Location name.').optional().nullable(),\n formattedAddress: z\n .string()\n .describe('Formatted location address.')\n .optional()\n .nullable(),\n locationType: z.enum(['BUSINESS', 'CUSTOM', 'CUSTOMER']).optional(),\n })\n .describe(\n 'Location to filter time slots by.\\n\\nFor business locations, you must specify a location ID.\\nWhen specifying a location ID, all other location field filters are ignored.'\n ),\n options: z\n .object({\n includeResourceTypeIds: z.array(z.string()).max(100).optional(),\n resourceTypes: z\n .array(\n z.object({\n resourceTypeId: z\n .string()\n .describe(\n '[Resource type ID](https://dev.wix.com/docs/api-reference/business-solutions/bookings/resources/resource-types-v2/introduction).'\n )\n .regex(\n /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n 'Must be a valid GUID'\n )\n .optional()\n .nullable(),\n resourceIds: z.array(z.string()).max(135).optional(),\n })\n )\n .max(3)\n .optional(),\n })\n .optional(),\n});\nexport const GetAvailabilityTimeSlotResponse = z.object({\n timeSlot: z\n .object({\n serviceId: z\n .string()\n .describe(\n '[Service ID] (https://dev.wix.com/docs/api-reference/business-solutions/bookings/services/services-v2/introduction).\\n\\nAvailable only for single-service bookings. For multi-service bookings, this field is empty and individual service IDs are provided in `nestedTimeSlots`.'\n )\n .regex(\n /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n 'Must be a valid GUID'\n )\n .optional()\n .nullable(),\n localStartDate: z\n .string()\n .describe(\n \"Local start date of the time slot in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).\\nFor example, `2026-01-30T13:30:00`.\\n\\nFor multi-service bookings, this represents the start time of the first service in the sequence.\\n\\nIn `ListAvailabilityTimeSlotEndOptions`, this is identical on every entry and equals the request's `localStartDate`.\"\n )\n .optional()\n .nullable(),\n localEndDate: z\n .string()\n .describe(\n 'Local end date of the time slot in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601).\\nFor example, `2026-01-30T14:00:00`.\\n\\nFor multi-service bookings, this represents the end time of the last service in the sequence.'\n )\n .optional()\n .nullable(),\n bookable: z\n .boolean()\n .describe(\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\\nFor multi-service bookings, this is `true` only when all services in the sequence comply with their respective booking policies.\"\n )\n .optional()\n .nullable(),\n location: z\n .object({\n _id: z\n .string()\n .describe(\n '[Location ID](https://dev.wix.com/docs/api-reference/business-management/locations/introduction).\\nAvailable only for business locations.'\n )\n .regex(\n /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n 'Must be a valid GUID'\n )\n .optional()\n .nullable(),\n name: z.string().describe('Location name.').optional().nullable(),\n formattedAddress: z\n .string()\n .describe('Formatted location address.')\n .optional()\n .nullable(),\n locationType: z\n .enum(['BUSINESS', 'CUSTOM', 'CUSTOMER'])\n .describe('Location type.')\n .optional(),\n })\n .describe(\n 'Information about where the business provides the service to the customer.\\n\\nIn `ListAvailabilityTimeSlotEndOptions`, this is the requested location, identical on every entry.'\n )\n .optional(),\n eventInfo: z\n .object({\n eventId: z\n .string()\n .describe('Event ID.')\n .min(36)\n .max(250)\n .optional()\n .nullable(),\n waitingList: z\n .object({\n totalCapacity: z\n .number()\n .int()\n .describe('Total number of spots in the waitlist.')\n .min(1)\n .optional()\n .nullable(),\n remainingCapacity: z\n .number()\n .int()\n .describe(\n 'Number of remaining spots in the waitlist.\\nFor example, an event with a waitlist for 10 people and 3 registrants, results in a remaining capacity of `7`.'\n )\n .min(0)\n .optional()\n .nullable(),\n })\n .describe(\n \"Information about the event's waitlist. Available only if the service has a waitlist.\"\n )\n .optional(),\n eventTitle: z\n .string()\n .describe('Event title.')\n .min(1)\n .max(200)\n .optional()\n .nullable(),\n })\n .describe(\n 'Information about the [event](https://dev.wix.com/docs/api-reference/business-management/calendar/events-v3/introduction) related to the slot.\\nAvailable only for classes. Not available for appointment-based services and courses.'\n )\n .optional(),\n totalCapacity: z\n .number()\n .int()\n .describe(\n 'Total number of spots for the slot.\\n\\nFor multi-service bookings, this is always `1` because customers book the entire service sequence as a single unit.\\n\\nIn `ListAvailabilityTimeSlotEndOptions`, capacity reflects whether at least one resource can cover `[localStartDate, localEndDate]`; the specific resource is selected later via `GetAvailabilityTimeSlot`.'\n )\n .min(1)\n .max(1000)\n .optional()\n .nullable(),\n remainingCapacity: z\n .number()\n .int()\n .describe(\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\\nIn `ListAvailabilityTimeSlotEndOptions`, capacity reflects whether at least one resource can cover `[localStartDate, localEndDate]`; the specific resource is selected later via `GetAvailabilityTimeSlot`.\"\n )\n .min(0)\n .max(1000)\n .optional()\n .nullable(),\n bookableCapacity: z\n .number()\n .int()\n .describe(\n \"Number of spots that customers can book for the slot.\\nCalculated as the remaining capacity minus the spots reserved for the waitlist.\\nIf the service has no waitlist, identical to `remainingCapacity`.\\n\\nFor multi-service bookings, this is either `1` (sequence can be booked) or `0` (sequence can't be booked).\\n\\nIn `ListAvailabilityTimeSlotEndOptions`, capacity reflects whether at least one resource can cover `[localStartDate, localEndDate]`; the specific resource is selected later via `GetAvailabilityTimeSlot`.\"\n )\n .optional()\n .nullable(),\n bookingPolicyViolations: z\n .object({\n tooEarlyToBook: z\n .boolean()\n .describe(\n 'Whether it\\'s too early for customers to book the slot.\\n\\nBy 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 .optional()\n .nullable(),\n earliestBookingDate: z\n .date()\n .describe(\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 .optional()\n .nullable(),\n tooLateToBook: z\n .boolean()\n .describe(\n 'Whether it\\'s too late for customers to book the slot.\\n\\nBy 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 .optional()\n .nullable(),\n bookOnlineDisabled: z\n .boolean()\n .describe(\n 'Whether customers can book the service online.\\n\\nBy 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 .optional()\n .nullable(),\n })\n .describe(\n 'Information about booking policy violations for the slot.\\n\\nFor multi-service bookings, this aggregates violations from all services in the sequence.'\n )\n .optional(),\n availableResources: z\n .array(\n z.object({\n resourceTypeId: z\n .string()\n .describe(\n '[Resource type ID](https://dev.wix.com/docs/api-reference/business-solutions/bookings/resources/resource-types-v2/introduction).'\n )\n .regex(\n /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n 'Must be a valid GUID'\n )\n .optional()\n .nullable(),\n resources: z\n .array(\n z.object({\n _id: z\n .string()\n .describe('Resource ID.')\n .regex(\n /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n 'Must be a valid GUID'\n )\n .optional(),\n name: z\n .string()\n .describe('Resource name.')\n .min(1)\n .optional()\n .nullable(),\n })\n )\n .optional(),\n hasMoreAvailableResources: z\n .boolean()\n .describe(\n 'Whether there are more available resources for the slot than those listed in `resources`.'\n )\n .optional()\n .nullable(),\n })\n )\n .min(0)\n .optional(),\n nestedTimeSlots: z\n .array(\n z.object({\n serviceId: z\n .string()\n .describe('Service ID of the nested time slot.')\n .regex(\n /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n 'Must be a valid GUID'\n )\n .optional(),\n localStartDate: z\n .string()\n .describe(\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).\\nFor example, `2026-01-30T13:30:00`.'\n )\n .optional(),\n localEndDate: z\n .string()\n .describe(\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).\\nFor example, `2026-01-30T13:30:00`.'\n )\n .optional(),\n availableResources: z\n .array(\n z.object({\n resourceTypeId: z\n .string()\n .describe(\n '[Resource type ID](https://dev.wix.com/docs/api-reference/business-solutions/bookings/resources/resource-types-v2/introduction).'\n )\n .regex(\n /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n 'Must be a valid GUID'\n )\n .optional()\n .nullable(),\n resources: z\n .array(\n z.object({\n _id: z\n .string()\n .describe('Resource ID.')\n .regex(\n /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n 'Must be a valid GUID'\n )\n .optional(),\n name: z\n .string()\n .describe('Resource name.')\n .min(1)\n .optional()\n .nullable(),\n })\n )\n .optional(),\n hasMoreAvailableResources: z\n .boolean()\n .describe(\n 'Whether there are more available resources for the slot than those listed in `resources`.'\n )\n .optional()\n .nullable(),\n })\n )\n .max(10)\n .optional(),\n scheduleId: z\n .string()\n .describe(\n \"The schedule ID associated with this nested time slot.\\nSame as the service's schedule ID.\"\n )\n .regex(\n /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n 'Must be a valid GUID'\n )\n .optional()\n .nullable(),\n })\n )\n .max(8)\n .optional(),\n nonBookableReasons: z\n .object({\n noRemainingCapacity: z\n .boolean()\n .describe(\n 'Whether the slot is fully booked with no remaining capacity.'\n )\n .optional()\n .nullable(),\n violatesBookingPolicy: z\n .boolean()\n .describe(\n \"Whether booking the slot violates any of the service's booking policies.\"\n )\n .optional()\n .nullable(),\n reservedForWaitingList: z\n .boolean()\n .describe(\n \"Whether the slot is reserved for the waitlist. A new customer can't book the reserved slot.\"\n )\n .optional()\n .nullable(),\n eventCancelled: z\n .boolean()\n .describe('Whether the related event is cancelled.')\n .optional()\n .nullable(),\n })\n .describe(\"Information about why customers can't book the time slot.\")\n .optional(),\n scheduleId: z\n .string()\n .describe(\n \"Schedule ID associated with this time slot.\\nSame as the service's schedule ID.\"\n )\n .regex(\n /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n 'Must be a valid GUID'\n )\n .optional()\n .nullable(),\n allDay: z\n .boolean()\n .describe(\n \"Whether this time slot spans one or more full days.\\nWhen `true`, `localStartDate` is `00:00:00` of the first day and `localEndDate` is `00:00:00` of the day after the last day (exclusive).\\nMidnight boundaries are interpreted in the event's `timeZone`.\\nThe time component should be ignored for display purposes.\\n\\nDefault: `false`\"\n )\n .optional()\n .nullable(),\n })\n .describe('Retrieved time slot.')\n .optional(),\n timeZone: z\n .string()\n .describe(\n 'Time zone in [IANA tz database format](https://en.wikipedia.org/wiki/Tz_database) for adjusting `fromLocalDate` and `toLocalDate`.\\nFor example, `America/New_York` or `UTC`.\\n\\nDefault: `timeZone` specified in the business [site properties](https://dev.wix.com/docs/api-reference/business-management/site-properties/properties/get-site-properties).'\n )\n .min(1)\n .max(150)\n .optional()\n .nullable(),\n});\n"],"mappings":"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","names":[]}
@@ -1,6 +1,6 @@
1
1
  import { HttpClient, NonNullablePaths, MaybeContext, BuildRESTFunction } from '@wix/sdk-types';
2
- import { ListAvailabilityTimeSlotsOptions, ListAvailabilityTimeSlotsResponse, ListAvailabilityTimeSlotsApplicationErrors, Location, GetAvailabilityTimeSlotOptions, GetAvailabilityTimeSlotResponse, GetAvailabilityTimeSlotApplicationErrors } from './index.typings.mjs';
3
- export { AvailableResources, BookingPolicyViolations, CursorPaging, CursorPagingMetadata, Cursors, CustomerChoices, DiagnoseAvailabilityRequest, DiagnoseAvailabilityResponse, DiagnosisReason, EventInfo, GetAvailabilityTimeSlotRequest, GetAvailabilityTimeSlotRequestCustomerChoices, GetEventTimeSlotRequest, GetEventTimeSlotResponse, GetMultiServiceAvailabilityTimeSlotRequest, GetMultiServiceAvailabilityTimeSlotResponse, ListAvailabilityTimeSlotEndOptions, ListAvailabilityTimeSlotEndOptionsApplicationErrors, ListAvailabilityTimeSlotEndOptionsRequest, ListAvailabilityTimeSlotEndOptionsResponse, ListAvailabilityTimeSlotsRequest, ListEventTimeSlotsRequest, ListEventTimeSlotsResponse, ListMultiServiceAvailabilityTimeSlotsRequest, ListMultiServiceAvailabilityTimeSlotsResponse, LocationType, LocationTypeWithLiterals, NestedTimeSlot, NonBookableReasons, ReasonCode, ReasonCodeWithLiterals, ResolvedContext, Resource, ResourceType, Service, SuggestedAction, SuggestedActionWithLiterals, TimeSlot, V2CustomerChoices, WaitingList } from './index.typings.mjs';
2
+ import { ListAvailabilityTimeSlotsOptions, ListAvailabilityTimeSlotsResponse, ListAvailabilityTimeSlotsApplicationErrors, ListAvailabilityTimeSlotEndOptions, ListAvailabilityTimeSlotEndOptionsResponse, ListAvailabilityTimeSlotEndOptionsApplicationErrors, Location, GetAvailabilityTimeSlotOptions, GetAvailabilityTimeSlotResponse, GetAvailabilityTimeSlotApplicationErrors } from './index.typings.mjs';
3
+ export { AvailableResources, BookingPolicyViolations, CursorPaging, CursorPagingMetadata, Cursors, CustomerChoices, DiagnoseAvailabilityRequest, DiagnoseAvailabilityResponse, DiagnosisReason, EventInfo, GetAvailabilityTimeSlotRequest, GetAvailabilityTimeSlotRequestCustomerChoices, GetEventTimeSlotRequest, GetEventTimeSlotResponse, GetMultiServiceAvailabilityTimeSlotRequest, GetMultiServiceAvailabilityTimeSlotResponse, ListAvailabilityTimeSlotEndOptionsRequest, ListAvailabilityTimeSlotsRequest, ListEventTimeSlotsRequest, ListEventTimeSlotsResponse, ListMultiServiceAvailabilityTimeSlotsRequest, ListMultiServiceAvailabilityTimeSlotsResponse, LocationType, LocationTypeWithLiterals, NestedTimeSlot, NonBookableReasons, ReasonCode, ReasonCodeWithLiterals, ResolvedContext, Resource, ResourceType, Service, SuggestedAction, SuggestedActionWithLiterals, TimeSlot, V2CustomerChoices, WaitingList } from './index.typings.mjs';
4
4
 
5
5
  declare function listAvailabilityTimeSlots$1(httpClient: HttpClient): ListAvailabilityTimeSlotsSignature;
6
6
  interface ListAvailabilityTimeSlotsSignature {
@@ -55,6 +55,8 @@ interface ListAvailabilityTimeSlotsSignature {
55
55
  *
56
56
  * Use `customerChoices` to calculate availability based on the customer's selected service duration or add-ons.
57
57
  *
58
+ * `customerChoices` is not supported for services configured with a duration range (`availabilityConstraints.durationRange`). For these services, availability is calculated based on the duration range configuration.
59
+ *
58
60
  * When using [add-ons](https://dev.wix.com/docs/api-reference/business-solutions/bookings/services/add-ons/introduction), we recommend passing only `addOnIds` in `customerChoices` 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.
59
61
  *
60
62
  * ### Business hours exception
@@ -72,6 +74,36 @@ interface ListAvailabilityTimeSlotsSignature {
72
74
  __applicationErrorsType?: ListAvailabilityTimeSlotsApplicationErrors;
73
75
  }>;
74
76
  }
77
+ declare function listAvailabilityTimeSlotEndOptions$1(httpClient: HttpClient): ListAvailabilityTimeSlotEndOptionsSignature;
78
+ interface ListAvailabilityTimeSlotEndOptionsSignature {
79
+ /**
80
+ * Retrieves the available end times for a selected start time of an appointment-based service configured with a duration range.
81
+ *
82
+ *
83
+ * Call this after the customer selects a start time with [List Availability Time Slots](https://dev.wix.com/docs/api-reference/business-solutions/bookings/time-slots/time-slots-v2/list-availability-time-slots). Each returned entry is a `TimeSlot` that shares the requested `localStartDate` and differs only in `localEndDate`. The response doesn't include resource lists.
84
+ *
85
+ * Only supported for hourly duration-range services (services with `availabilityConstraints.durationRange.hourConfig` configured in [Services V2](https://dev.wix.com/docs/api-reference/business-solutions/bookings/services/services-v2/introduction)). Calling this for a fixed-duration or daily duration-range service returns `END_OPTIONS_NOT_SUPPORTED`.
86
+ *
87
+ * ### Resource selection
88
+ *
89
+ * Resource selection depends on the booking flow:
90
+ * - If the customer hasn't selected a resource yet, call [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 selected `localEndDate` to retrieve candidate resources before booking.
91
+ * - If the customer selected a resource before the end time, pass that resource in `resourceTypes` so the response only includes end times that the selected resource can cover.
92
+ *
93
+ * ### Time slot shape
94
+ *
95
+ * The response uses the `TimeSlot` model with constrained semantics:
96
+ * - `localStartDate` and `location` are identical on every entry, echoing the request.
97
+ * - `localEndDate` varies across entries and represents each end option.
98
+ * - `availableResources` is always empty. Use [Get Availability Time Slot](https://dev.wix.com/docs/api-reference/business-solutions/bookings/time-slots/time-slots-v2/get-availability-time-slot) to retrieve resources for a selected end time.
99
+ * - `eventInfo`, `nestedTimeSlots`, and `allDay` are not populated.
100
+ * - `totalCapacity` is always `1`.
101
+ * @param - [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`.
102
+ */
103
+ (serviceId: string, options?: NonNullablePaths<ListAvailabilityTimeSlotEndOptions, `localStartDate` | `location`, 2>): Promise<NonNullablePaths<ListAvailabilityTimeSlotEndOptionsResponse, `endOptions` | `endOptions.${number}.location.locationType`, 5> & {
104
+ __applicationErrorsType?: ListAvailabilityTimeSlotEndOptionsApplicationErrors;
105
+ }>;
106
+ }
75
107
  declare function getAvailabilityTimeSlot$1(httpClient: HttpClient): GetAvailabilityTimeSlotSignature;
76
108
  interface GetAvailabilityTimeSlotSignature {
77
109
  /**
@@ -85,7 +117,7 @@ interface GetAvailabilityTimeSlotSignature {
85
117
  * Get Availability Time Slot uses the following defaults:
86
118
  *
87
119
  * - Returns all available resources unless filtered by `resourceIds` or `includeResourceTypeIds`.
88
- * - Includes full booking status and capacity details
120
+ * - Includes full booking status and capacity details.
89
121
  *
90
122
  * ### Service type limitations
91
123
  *
@@ -95,6 +127,10 @@ interface GetAvailabilityTimeSlotSignature {
95
127
  *
96
128
  * To retrieve course availability, you can 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).
97
129
  *
130
+ * ### Duration-range services
131
+ *
132
+ * For services configured with a duration range (`availabilityConstraints.durationRange`), `customerChoices` is not supported. The duration is derived from the `localStartDate` and `localEndDate` specified in the request.
133
+ *
98
134
  * ### Business hours exception
99
135
  *
100
136
  * Wix Bookings disregards business opening hours when all of the following conditions are met:
@@ -126,6 +162,7 @@ interface GetAvailabilityTimeSlotSignature {
126
162
  }
127
163
 
128
164
  declare const listAvailabilityTimeSlots: MaybeContext<BuildRESTFunction<typeof listAvailabilityTimeSlots$1> & typeof listAvailabilityTimeSlots$1>;
165
+ declare const listAvailabilityTimeSlotEndOptions: MaybeContext<BuildRESTFunction<typeof listAvailabilityTimeSlotEndOptions$1> & typeof listAvailabilityTimeSlotEndOptions$1>;
129
166
  declare const getAvailabilityTimeSlot: MaybeContext<BuildRESTFunction<typeof getAvailabilityTimeSlot$1> & typeof getAvailabilityTimeSlot$1>;
130
167
 
131
- export { GetAvailabilityTimeSlotApplicationErrors, GetAvailabilityTimeSlotOptions, GetAvailabilityTimeSlotResponse, ListAvailabilityTimeSlotsApplicationErrors, ListAvailabilityTimeSlotsOptions, ListAvailabilityTimeSlotsResponse, Location, getAvailabilityTimeSlot, listAvailabilityTimeSlots };
168
+ export { GetAvailabilityTimeSlotApplicationErrors, GetAvailabilityTimeSlotOptions, GetAvailabilityTimeSlotResponse, ListAvailabilityTimeSlotEndOptions, ListAvailabilityTimeSlotEndOptionsApplicationErrors, ListAvailabilityTimeSlotEndOptionsResponse, ListAvailabilityTimeSlotsApplicationErrors, ListAvailabilityTimeSlotsOptions, ListAvailabilityTimeSlotsResponse, Location, getAvailabilityTimeSlot, listAvailabilityTimeSlotEndOptions, listAvailabilityTimeSlots };