> Portal Navigation: > > - Append `.md` to any URL under `https://dev.wix.com/docs/` to get its markdown version. > - Pages are either content pages (article or reference text) or menu pages (a list of links to child pages). > - To get a menu page, truncate any URL to a parent path and append `.md` (e.g. `https://dev.wix.com/docs/sdk.md`, `https://dev.wix.com/docs/sdk/core-modules.md`). > - Top-level index of all portals: https://dev.wix.com/docs/llms.txt > - Full concatenated docs: https://dev.wix.com/docs/llms-full.txt # Resource: Time Slots V2 # Type: Time Slot Object # Link: https://dev.wix.com/docs/api-reference/business-solutions/bookings/time-slots/time-slots-v2/time-slot-object.md ## Description: A time slot represents a specific time period when a service is available for booking. It provides all the information needed to display availability to customers, including whether customers can actually book it, the remaining capacity, and which staff members or resources are available. Available time slots may not always be bookable due to service booking policies. When this occurs, the time slot includes information about the specific booking restrictions. For multi-service bookings, the top-level time slot acts as a container spanning the entire service sequence (from the start of the first service to the end of the last service). Individual service details are provided in nested time slots. ## Schema: ```json Type: Time Slot Object | type: TimeSlot Description: A time slot represents a specific time period when a service is available for booking. It provides all the information needed to display availability to customers, including whether customers can actually book it, the remaining capacity, and which staff members or resources are available. Available time slots may not always be bookable due to service booking policies. When this occurs, the time slot includes information about the specific booking restrictions. For multi-service bookings, the top-level time slot acts as a container spanning the entire service sequence (from the start of the first service to the end of the last service). Individual service details are provided in nested time slots. - name: serviceId | type: string | description: [Service ID] (https://dev.wix.com/docs/api-reference/business-solutions/bookings/services/services-v2/introduction.md). Available only for single-service bookings. For multi-service bookings, this field is empty and individual service IDs are provided in `nestedTimeSlots`. - name: value | type: string | description: - name: localStartDate | type: string | description: Local start date of the time slot in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601). For example, `2026-01-30T13:30:00`. For multi-service bookings, this represents the start time of the first service in the sequence. In `ListAvailabilityTimeSlotEndOptions`, this is identical on every entry and equals the request's `localStartDate`. - name: localEndDate | type: string | description: Local end date of the time slot in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601). For example, `2026-01-30T14:00:00`. For multi-service bookings, this represents the end time of the last service in the sequence. - name: bookable | type: boolean | description: 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.md). For multi-service bookings, this is `true` only when all services in the sequence comply with their respective booking policies. - name: value | type: boolean | description: - name: location | type: Location | description: Information about where the business provides the service to the customer. In `ListAvailabilityTimeSlotEndOptions`, this is the requested location, identical on every entry. - name: id | type: string | description: [Location ID](https://dev.wix.com/docs/api-reference/business-management/locations/introduction.md). Available only for business locations. - name: name | type: string | description: Location name. - name: formattedAddress | type: string | description: Formatted location address. - name: locationType | type: string | description: Location type. enum: BUSINESS, CUSTOM, CUSTOMER - name: eventInfo | type: EventInfo | description: Information about the [event](https://dev.wix.com/docs/api-reference/business-management/calendar/events-v3/introduction.md) related to the slot. Available only for classes. Not available for appointment-based services and courses. - name: eventId | type: string | description: Event ID. - name: waitingList | type: WaitingList | description: Information about the event's waitlist. Available only if the service has a waitlist. - name: totalCapacity | type: number | description: Total number of spots in the waitlist. - name: remainingCapacity | type: number | description: Number of remaining spots in the waitlist. For example, an event with a waitlist for 10 people and 3 registrants, results in a remaining capacity of `7`. - name: eventTitle | type: string | description: Event title. - name: totalCapacity | type: number | description: Total number of spots for the slot. For multi-service bookings, this is always `1` because customers book the entire service sequence as a single unit. In `ListAvailabilityTimeSlotEndOptions`, capacity reflects whether at least one resource can cover `[localStartDate, localEndDate]`; the specific resource is selected later via `GetAvailabilityTimeSlot`. - name: value | type: number | description: - name: remainingCapacity | type: number | description: Remaining number of spots for the slot. - For appointment bookings: Either `1` (available) or `0` (unavailable). - 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. - For courses: Total capacity minus booked spots. Courses don't currently support waitlists. In `ListAvailabilityTimeSlotEndOptions`, capacity reflects whether at least one resource can cover `[localStartDate, localEndDate]`; the specific resource is selected later via `GetAvailabilityTimeSlot`. - name: bookableCapacity | type: number | description: Number of spots that customers can book for the slot. Calculated as the remaining capacity minus the spots reserved for the waitlist. If the service has no waitlist, identical to `remainingCapacity`. For multi-service bookings, this is either `1` (sequence can be booked) or `0` (sequence can't be booked). In `ListAvailabilityTimeSlotEndOptions`, capacity reflects whether at least one resource can cover `[localStartDate, localEndDate]`; the specific resource is selected later via `GetAvailabilityTimeSlot`. - name: bookingPolicyViolations | type: BookingPolicyViolations | description: Information about booking policy violations for the slot. For multi-service bookings, this aggregates violations from all services in the sequence. - name: tooEarlyToBook | type: boolean | description: Whether it's too early for customers to book the slot. By default, all slots are returned. Specifying `{"tooEarlyToBook": false}` returns only those that customers can already book, while specifying `{"tooEarlyToBook": true}` returns only those that can't be booked yet. - name: earliestBookingDate | type: string | description: Earliest time for booking the slot in `YYYY-MM-DDThh:mm:ss.sssZ` format. *In responses**: Contains a value when `tooEarlyToBook` is `true`, indicating the earliest time customers can book the slot. *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. - name: seconds | type: string | description: - name: nanos | type: number | description: - name: tooLateToBook | type: boolean | description: Whether it's too late for customers to book the slot. By default, all slots are returned. Specifying `{"tooLateToBook": false}` returns only those that customers can still book, while specifying `{"tooLateToBook": true}` returns only those that can no longer be booked. - name: bookOnlineDisabled | type: boolean | description: Whether customers can book the service online. By default, both services with online booking enabled and disabled are returned. Providing the boolean set to `true` or `false` returns only matching slots. - name: availableResources | type: Array | description: List of [resources](https://dev.wix.com/docs/api-reference/business-solutions/bookings/resources/resources-v2/introduction.md) available during the time slot. Available only for single-service bookings. For multi-service bookings, resource information is provided in `nestedTimeSlots`. __Note__: Behavior varies by method: - For [List Availability Time Slots](https://dev.wix.com/docs/api-reference/business-solutions/bookings/time-slots/time-slots-v2/list-availability-time-slots.md), this list is empty by default. To include resource details, specify `includeResourceTypeIds` or `resourceIds` in the request. - For [Get Availability Time Slot](https://dev.wix.com/docs/api-reference/business-solutions/bookings/time-slots/time-slots-v2/get-availability-time-slot.md), all resources are returned by default. - **End options** (`ListAvailabilityTimeSlotEndOptions`): Always empty. The response does not surface resource lists for end options. If the customer hasn't already picked a resource earlier in the flow, call `GetAvailabilityTimeSlot` with the picked `localEndDate` to retrieve candidate resources before booking; if a resource is already chosen, pass it through to booking directly. - name: resourceTypeId | type: string | description: [Resource type ID](https://dev.wix.com/docs/api-reference/business-solutions/bookings/resources/resource-types-v2/introduction.md). - name: resources | type: Array | description: Details about resources available during the time slot. Behavior varies by method: List methods (List Availability Time Slots and List Multi Service Availability Time Slots): - Empty by default. - Up to 10 resources when specifying `includeResourceTypeIds` or `resourceIds` in the request. Get methods (Get Availability Time Slots and Get Multi Service Availability Time Slots): - All resources by default. - Filtered resources when specifying `includeResourceTypeIds` or `resourceIds` in the request. - name: id | type: string | description: Resource ID. - name: name | type: string | description: Resource name. - name: hasMoreAvailableResources | type: boolean | description: Whether there are more available resources for the slot than those listed in `resources`. - name: nestedTimeSlots | type: Array | description: Nested time slots for multi-service bookings. Each nested slot represents 1 service in the sequence, ordered according to the service sequence specified in the request. Available only for multi-service bookings. Empty for single-service bookings. - name: serviceId | type: string | description: Service ID of the nested time slot. - name: localStartDate | type: string | description: Local start date of the nested time slot in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601). For example, `2026-01-30T13:30:00`. - name: localEndDate | type: string | description: Local end date of the nested time slot in `YYYY-MM-DDThh:mm:ss` [ISO-8601 format](https://en.wikipedia.org/wiki/ISO_8601). For example, `2026-01-30T13:30:00`. - name: availableResources | type: Array | description: List of [resources](https://dev.wix.com/docs/api-reference/business-solutions/bookings/resources/resources-v2/introduction.md) available during the nested time slot. - name: scheduleId | type: string | description: The schedule ID associated with this nested time slot. Same as the service's schedule ID. - name: nonBookableReasons | type: NonBookableReasons | description: Information about why customers can't book the time slot. - name: noRemainingCapacity | type: boolean | description: Whether the slot is fully booked with no remaining capacity. - name: violatesBookingPolicy | type: boolean | description: Whether booking the slot violates any of the service's booking policies. - name: reservedForWaitingList | type: boolean | description: Whether the slot is reserved for the waitlist. A new customer can't book the reserved slot. - name: eventCancelled | type: boolean | description: Whether the related event is cancelled. - name: scheduleId | type: string | description: Schedule ID associated with this time slot. Same as the service's schedule ID. - name: allDay | type: boolean | description: Whether this time slot spans one or more full days. Populated only for class- and course-based services. Not populated for appointment-based services. When `true`, `localStartDate` is `00:00:00` of the first day and `localEndDate` is `00:00:00` of the day after the last day (exclusive). Midnight boundaries are interpreted in the event's `timeZone`. The time component should be ignored for display purposes. Default: `false` ```