Packages

List item choices on a package

Returns every PackageItemChoice configured on the given Package. Item choices are the building blocks of a package — each one defines a set of options the customer picks from (e.g. "Pick a 60-minute treatment", "Pick lunch or afternoon tea"). The package's overall price is the sum of the chosen options, with optional option_budget and price_change overrides per choice / option.

Order is preserved across reads — it reflects the customer-facing order in the booking flow, and can be modified through the reorder endpoint on the parent package.

get/shop/packages/{packageId}/item-choices

Response

A list of PackageItemChoices configured on a Package.

Example response

{
  "data": [
    {
      "id": "5dcb47800000000000000025",
      "allow_overlaps": true,
      "auto_select_timeslot": true,
      "description": "Choose your type of massage.",
      "hide_times": true,
      "name": "Massage",
      "max_options": 2,
      "min_options": 1,
      "option_budget": 2000,
      "optional": true,
      "options": [
        {
          "id": "5dcb47800000000000000026",
          "item_type": "appointment",
          "offering": {
            "id": "5e932c0901d210625e3a8766",
            "categories": [
              {
                "id": "5e932c0901d210625e3a8766",
                "name": "Massage"
              }
            ],
            "currency": "gbp",
            "description": "Choose from classic, deep tissue and Swedish massage",
            "discounted_price_from": 4500,
            "duration": 30,
            "durations": [
              30
            ],
            "has_availability": true,
            "image": {
              "file_name": "super-cool-photo.jpg",
              "mime_type": "image/jpeg",
              "original_url": "https://example.com/media/super-cool-photo.jpg",
              "size": 84256,
              "url": "https://example.com/media/super-cool-photo-thumbnail@2x.jpg"
            },
            "max_guests": 2,
            "min_guests": 2,
            "name": "60 minute massage",
            "price_from": 5000,
            "price_to": 6500,
            "type": "appointment"
          },
          "price_change": 2000
        }
      ],
      "start_time_rules": [
        {
          "absolute_time_from": "12:00",
          "absolute_time_to": "12:30",
          "relative_mins_to": 30
        }
      ],
      "visible": true
    }
  ]
}

Changes

No recorded changes to this endpoint across all 1 revision of this API.