githubEdit

Content

Adds extra content fields to products, options and units.

To use this capability, add octo/content to your Octo-Capabilities header.

This capability extends the Supplier, Destination, Category, Product, Option, Unit, Item, Availability and Booking schemas with additional content fields. When used with octo/cart it also extends Order responses.

circle-exclamation
  • itinerary.type: Enum with one of the following values:

    • START: The starting or meeting location.

    • POI: A point of interest visited en route.

    • EVENT: An event that happens, for example Lunch or Shopping Break.

    • END: The ending or final location.

  • itinerary.travelTime: The travel time required to get to this location.

  • itinerary.duration: How much time is spent on this itinerary item.

The following helper objects are also used by this capability:

  • notice: id, title, shortDescription, coverImageUrl

  • tourGroup: id, internalName, title, shortDescription, icon

  • fare: id, internalName, title, shortDescription, fareGroup

  • fareGroup: id, internalName, title, shortDescription

  • point: id, internalName, title, shortDescription, pointGroup

  • pointGroup: id, internalName, title, shortDescription

  • font: id, name, normalTtfUrl, boldTtfUrl, italicTtfUrl, boldItalicTtfUrl

When octo/extras is also enabled, each extra object includes:

  • title

  • shortDescription

  • coverImageUrl

  • duration

  • durationAmount

  • durationUnit

Products

This capability extends product routes documented in Products:

  • GET /products

  • GET /products/{productId}

This capability extends the GET /products endpoint with additional content filtering parameters.

Booking and Order Parameters

termsAccepted is supported by content capability as an input field and response field.

Booking Endpoints

termsAccepted can be sent in the request body for these routes:

  • POST /bookings

  • PATCH /bookings/{uuid}

  • POST /bookings/{uuid}/confirm

Base booking schema: Bookings. This page documents only the termsAccepted addition.

Order Endpoints (with octo/cart)

termsAccepted can be sent in the request body for these routes:

  • POST /orders

  • PATCH /orders/{orderId}

  • PATCH /orders/{orderId}/preview

  • POST /orders/{orderId}/confirm

It is accepted:

  • At the order root (termsAccepted) and applies to all standalone bookings in the order.

  • Inside nested booking payloads (bookings[].termsAccepted) when creating/updating bookings through order requests.

If both are supplied, the order-level termsAccepted value takes precedence.

Base order schema: Multi-Booking Cart.

Schema Additions (JSON)

These are additive fragments showing only fields introduced by this capability.

Booking

BookingWriteRequest

Gift

GiftCreateRequest

Option

Order

OrderCreateRequest

OrderUpdateRequest

Last updated