Extras

Enable extras (addon products) by adding extras to the Octo-Capabilities header.

Extras are additional products that can be booked alongside the main product, such as equipment rentals, meal add-ons, or insurance.

ID Formats

Units and extras use different ID formats:

  • unitId format: {UnitType}_{PriceCategoryId} — example: ADULT_15

  • extraId format: {ProductId}_{UnitType}_{PriceCategoryId} — example: 123_ADULT_20

The extra ID includes the addon product ID to uniquely identify which addon product to book.

circle-info

The extraId incorporates the addon product's ID so the system knows which addon product and which unit/price combination the extra refers to.

Products Endpoint

When enabled, the product response includes a top-level extras array. Example response snippet:

products response (excerpt).json
{
  "id": "42",
  "options": [{
    "units": [{
      "id": "ADULT_15",
      "internalName": "Adult"
    }]
  }],
  "extras": [{
    "id": "123_ADULT_20",
    "internalName": "Helmet Rental",
    "restrictions": {
      "minQuantity": 0,
      "maxQuantity": 5
    },
    "pricingFrom": [...]
  }]
}

Availability Check

Include extras in your availability check request using the top-level extras array. Example request:

The availability response includes extraPricing with availability and pricing for each requested extra. Example response excerpt:

Booking with Extras

Include extras in your booking request using the top-level extraItems array. Example booking request:

The booking response includes the booked extras in the top-level extraItems array.

Last updated