githubEdit

Multi-Booking Cart

Sell more than one booking together in a cart

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

This capability lets you create multiple bookings from the same supplier in a single cart. In Ventrata, a cart is called an order, and this document uses that term.

All order paths below are public /octo routes.

Reserve Booking in an Order

This capability extends booking write routes from Bookings so you can pass orderId to attach a booking to an existing order (or omit orderId to auto-create one).

Order Fields Returned on Booking and Gift Responses

When using octo/cart, the booking response (and gift response when using octo/gifts) includes additional order-level fields.

When using this capability, if you omit orderId from the initial request, Ventrata creates a new order automatically and returns orderId in the response. You can then reuse orderId in future booking requests to attach bookings to the same order.

You can also provide orderId on POST /gifts (when octo/gifts is enabled) to attach a gift voucher to an existing order.

Create Order

post

Accepts identityId on the order payload.

When creating/updating orders with nested bookings and gifts, each nested item can include identityId.

Body
currencystringOptional

ISO 4217 currency code.

Example: USD
orderIdstringOptional

Order identifier.

Example: ord_20260514_9f3c21
resellerReferencestringOptional

Reseller reference value.

Example: RES-BOOK-10045
termsAcceptedbooleanOptional

From capability octo/content.

Example: true
returnUrlstring · uriOptional

From capability octo/cardPayments.

Example: https://checkout.city-sightseeing.com/return
identityIdstring · nullableOptional

From capability octo/identities.

Example: identity_customer_001
Responses
post
/orders
200

Returns the standard Order response.

Get Order

get

Retrieve order data including offerCombinations[].

Path parameters
orderIdstringRequired

The order ID

Example: ord_20260514_9f3c21
Responses
get
/orders/{orderId}
200

Successful response

Field definitions are included in the operation schemas above.

Update Order

patch

Accepts identityId on the order payload.

When creating/updating orders with nested bookings and gifts, each nested item can include identityId.

Path parameters
orderIdstringRequired

Order ID.

Example: ord_20260514_9f3c21
Body
currencystringOptional

ISO 4217 currency code.

Example: USD
resellerReferencestringOptional

Reseller reference value.

Example: RES-BOOK-10045
termsAcceptedbooleanOptional

From capability octo/content.

Example: true
offersstring[]Optional

From capability octo/offers.

Example: ["offer-example"]
returnUrlstring · uriOptional

From capability octo/cardPayments.

Example: https://checkout.city-sightseeing.com/return
identityIdstring · nullableOptional

From capability octo/identities.

Example: identity_customer_001
Responses
patch
/orders/{orderId}
200

Returns the standard Order response.

Preview Order Update With identityId

patch

Accepts identityId on the order payload.

When creating/updating orders with nested bookings and gifts, each nested item can include identityId.

Path parameters
orderIdstringRequired

Order ID.

Example: ord_20260514_9f3c21
Body
currencystringOptional

ISO 4217 currency code.

Example: USD
resellerReferencestringOptional

Reseller reference value.

Example: RES-BOOK-10045
termsAcceptedbooleanOptional

From capability octo/content.

Example: true
offersstring[]Optional

From capability octo/offers.

Example: ["offer-example"]
returnUrlstring · uriOptional

From capability octo/cardPayments.

Example: https://checkout.city-sightseeing.com/return
identityIdstring · nullableOptional

From capability octo/identities.

Example: identity_customer_001
Responses
patch
/orders/{orderId}/preview
200

Returns the standard Order preview response.

Order Extend

post

Order responses include questionAnswers fields.

Path parameters
orderIdstringRequired

The order ID

Example: ord_20260514_9f3c21
Body
currencystringOptional

ISO 4217 currency code.

Example: USD
resellerReferencestringOptional

Reseller reference value.

Example: RES-BOOK-10045
termsAcceptedbooleanOptional

From capability octo/content.

Example: true
offersstring[]Optional

From capability octo/offers.

Example: ["offer-example"]
returnUrlstring · uriOptional

From capability octo/cardPayments.

Example: https://checkout.city-sightseeing.com/return
identityIdstring · nullableOptional

From capability octo/identities.

Example: identity_customer_001
Responses
post
/orders/{orderId}/extend
200

Successful response

Confirm Order With identityId

post

Accepts identityId on confirm-order request payloads.

Path parameters
orderIdstringRequired

Order ID.

Example: ord_20260514_9f3c21
Body
currencystringOptional

ISO 4217 currency code.

Example: USD
resellerReferencestringOptional

Reseller reference value.

Example: RES-BOOK-10045
termsAcceptedbooleanOptional

From capability octo/content.

Example: true
offersstring[]Optional

From capability octo/offers.

Example: ["offer-example"]
returnUrlstring · uriOptional

From capability octo/cardPayments.

Example: https://checkout.city-sightseeing.com/return
identityIdstring · nullableOptional

From capability octo/identities.

Example: identity_customer_001
Responses
post
/orders/{orderId}/confirm
200

Returns the standard Order response.

If you're using the cart capability and want to set a resellerReference you should do so as a booking update as there are no reseller references on the order level.

Once you call this method, each of the bookings and gifts contained within the order will be confirmed too.

Delete Order

delete

Order responses include questionAnswers fields.

Path parameters
orderIdstringRequired

The order ID

Example: ord_20260514_9f3c21
Body
reasonstringOptional

Reason for the requested action.

Example: Customer request
Responses
delete
/orders/{orderId}
200

Successful response

This endpoint performs order-level cancellation. Equivalent behavior is available via POST /orders/{orderId}/cancel.

Order Cancellation (POST)

post

Order responses include questionAnswers fields.

Path parameters
orderIdstringRequired

The order ID

Example: ord_20260514_9f3c21
Body
reasonstringOptional

Reason for the requested action.

Example: Customer request
Responses
post
/orders/{orderId}/cancel
200

Successful response

List Orders

get

Order responses include questionAnswers fields.

Query parameters
supplierReferencestringOptional

Filter by exact supplier order reference.

Example: SUP-BOOK-7782
utcCreatedAtStartstringOptional

Filter start time (ISO8601) for created-at range. Must be sent with utcCreatedAtEnd.

Example: 2026-05-14T13:00:00Z
utcCreatedAtEndstringOptional

Filter end time (ISO8601) for created-at range. Must be sent with utcCreatedAtStart.

Example: 2026-05-14T15:00:00Z
utcUpdatedAtStartstringOptional

Filter start time (ISO8601) for updated-at range. Must be sent with utcUpdatedAtEnd.

Example: 2026-05-14T13:00:00Z
utcUpdatedAtEndstringOptional

Filter end time (ISO8601) for updated-at range. Must be sent with utcUpdatedAtStart.

Example: 2026-05-14T15:00:00Z
contactEmailAddressstringOptional

Filter by contact email address.

Example: [email protected]
contactPhoneNumberstringOptional

Filter by contact phone number (must be a valid phone number).

Example: +12025550123
contactLastNamestringOptional

Filter by partial contact last name (minimum 3 characters).

Example: Morning City Tour
Responses
get
/orders
200

Successful response

At least one of the filter groups above is required for GET /orders.

Notify Order

post

Resend order confirmation notifications.

Path parameters
orderIdstringRequired

The order ID

Example: ord_20260514_9f3c21
Body
campaignIdstringOptional

From capability octo/campaigns.

Example: campaign_spring_2026
useContactLanguagebooleanOptional

Whether use contact language is enabled.

Example: true
Responses
post
/orders/{orderId}/notify
200

Successful response

POST /orders/{orderId}/notify returns 200 OK with an empty response body.

Order invoice and voucher delivery URLs are returned directly on serialized order/booking objects.

Schema Additions (JSON)

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

Booking

BookingWriteRequest

Error

Gift

GiftCreateRequest

Last updated