---
title: "List bookable slots for a package choice"
method: GET
path: "/shop/item-availability/package-slots/{packageId}/choices/{choiceId}"
tags: ["Availability"]
---

# List bookable slots for a package choice

`GET /shop/item-availability/package-slots/{packageId}/choices/{choiceId}`

Returns every bookable slot for one of the items in a
`Package`'s choice list. Each entry includes the
`package_item_id` so the caller can attribute the slot back to
the right choice when adding to a basket.

The slot shape mirrors the per-offering availability endpoints
(`appointment-slots`, `area-booking-slots`, etc.) — the
underlying offering type drives which fields are populated.

## Query parameters

- `date_time_from` string, required
- `date_time_to` string, required
- `basket_id` string
- `guest_id` string

## Response `200`

Bookable slots for a single package choice, indexed by
`package_item_id`.

- object
  - `data` PackageChoiceSlot[], required
    - `package_item_id` string, required — ID of the package item this slot belongs to.
    - `start_time` string, date-time, required
    - `end_time` string, date-time, required
    - `duration` integer, required
    - `practitioner_ids` string[]
    - `quantity_available` integer
    - `is_valid` boolean

## Other responses

- `401` — The user is unauthenticated
- `404` — The resource couldn't be found
- `422` — The request didn't pass validation

---

[API](https://skmtc.dev/try/apis/trybe-api.md) · [All operations](https://skmtc.dev/try/apis/trybe-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/try/trybe-api/revisions/f37f92702da5/schema)
