Baskets

Add a package item to a Basket item

Adds a child item to a package line item. Packages bundle several offerings together (e.g. a "Spa Day" comprising a treatment, lunch, and pool access). The choice_id selects which slot within the package is being filled and option_id selects which offering fills it.

For scheduled package slots, pass item_configuration with time, duration, and (where relevant) session_id so the underlying availability check has the data it needs. Top-level time and duration parameters are accepted as a legacy alternative and will be merged into the configuration server-side.

post/shop/basket/{basketId}/items/{item}/package-items

Request body

choice_idstring required

ID of the choice within the parent package that this child item is filling. Each Package defines a list of choices (e.g. "Main treatment", "Lunch", "Add-on") and the customer picks one option_id for each.

option_idstring required

ID of the offering option fulfilling the choice. Must be one of the options defined against choice_id.

guest_idsstring[]

IDs of the guests this package item applies to. When omitted the item applies to the same guests as its parent basket item.

timestring

Legacy alternative to item_configuration.time. Prefer passing the value inside item_configuration.

durationinteger

Legacy alternative to item_configuration.duration. Prefer passing the value inside item_configuration.

Example request

{
  "choice_id": "5f1111111111111111111111",
  "option_id": "5f2222222222222222222222",
  "item_configuration": {
    "time": "11:00",
    "duration": 60,
    "session_id": "5f3333333333333333333333"
  },
  "time": "11:00",
  "duration": 60
}

Response

The updated Basket including the new package item.

Changes

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