Adds one or more extras (such as merchandise, drinks, or parking) to an existing cart in a single request. Pick each extra from the cart's `options.extras` list and send its inventory item ID with one of its price option IDs and a quantity. The request is held as a unit: either every item is added and the repriced cart comes back, or nothing changes and one error is returned. When one item is at fault, the error's `param` names it, for example `items[1].priceOptionId`; a refusal of the summed quantity (over a cap or the remaining availability) or by the venue's system names no item.
- Only `Extra` inventory items can be added to an existing cart
- Each item names the occurrence it is for — the cart's occurrence, or, for an extra with its own schedule (a guided tour, parking), the occurrence selected for it; items in one request may name different occurrences for that reason
- Two items naming the same extra and price option, or an item naming an extra already on the cart, merge into one line with the quantities summed; caps apply to that summed quantity
Request
This endpoint expects an object.
itemslist of objectsRequired
Response
Extras added to the cart.
expiresAtstring
UTC timestamp when the cart hold expires and inventory is released. Clients should display a countdown timer and warn users before expiration.
itemslist of objects
Items currently in the cart (held inventory). Each item’s priceOption carries the itemized fees[] disclosure. Protection and credits are NOT items — see receiptLines.
receiptLineslist of objects
Server-ordered display lines for receipt rendering. Iterate in sequence. Always includes SubtotalLine. Conditionally: VoucherLine, ProtectionLine, CreditLine. Fees are never a receipt line — they are disclosed per item on priceOption.fees.
totalobject
Monetary amount in minor units (cents for USD). Never uses floating point to avoid precision errors.
protectionobjectOptional
Protection covering all items. Null if not added.
optionsobjectOptional
Options that can be applied to this cart. Each key is present only when that option is available.
voucherobjectOptional
A promo code applied to a cart.
totalTaxesobjectOptional
Monetary amount in minor units (cents for USD). Never uses floating point to avoid precision errors.