Endpoints & Capabilities

OCTO defines a number of Core Endpoints that are applicable to most use cases and are required for the implementation.

Since not all use cases can be fulfilled with just the core endpoints, OCTO provides a concept of Capabilities, allowing for enhancement to the integrations based on specific needs. Capabilities are optional for implementation and to enhance integration by, for example, adding additional information about pricing, content, pickups, etc.

OCTO API Core Endpoints

Name
Method
Description

GET

Returns a single Supplier and associated details for a given Supplier ID.

Get Products

GET

Returns a list of Products and associated details.

Get Product

GET

Returns a single Product and associated details for a given Product ID.

Availablity Calendar

POST

Returns availability for a given Product & Option as a single object per day. Optimized to be queried for large date ranges and to populate an availability calendar.

Availability Check

POST

Returns availability for a given Product & Option as a single object per start time (or day). You have to perform this step to retrieve an availabilityId required for Bookings.

Booking Reservation

POST

Creates a booking that reserves the availability (e.g. while you collect payment and contact information from the customer) for a given availabilityId. The booking will remain with the status ON_HOLD until Booking Confirmation or when the reservation hold expires.

Booking Confirmation

POST

Confirms previously placed Booking Reservation, finalizing the booking and making it ready to be used.

Booking Update

PATCH

Updates/changes your booking before and after it has been confirmed as long as it hasn't yet been redeemed or within the cancellation cutoff window.

Booking Cancellation

POST

Cancels your booking. You can only cancel a booking if booking.cancellable is TRUE, and is within the booking cancellation cut-off window.

Extend Reservation

POST

Extends the Booking Reservation availability hold if the booking status is ON_HOLD.

Get Booking

GET

Returns the status and details of your existing booking.

Get Bookings

GET

Returns the list of the bookings you made for the given filters.

Capabilities

Note the Capabilities listed on this page are NOT yet part of the official OCTO Specification and are provided for reference only.

Name
ID
Description

octo/pricing

Adds pricing to most endpoints giving you advanced static and dynamic pricing capabilities.

This is a draft / unofficial capability, proposed by Zaui, Peek Pro, and Ventrata currently supporting this in their OCTO implementations.

octo/content

Extends the core product, option, and unit schemas to provide rich content and images.

This is a draft / unofficial capability, proposed by Zaui and Ventrata currently supporting this in their OCTO implementations.

octo/pickups

Adds hotel pickup options to the booking allowing the guest to be picked up and set which pickup location they want to be picked up from.

This is a draft / unofficial capability, proposed by Zaui and Ventrata currently supporting this in their OCTO implementations.

octo/webhooks

Allows you to programmatically create webhooks in Supplier's Ventrata system in order to listen out for booking updates or availability updates. This is a draft / unofficial capability, proposed by Peek Pro and Ventrata currently supporting this in their OCTO implementations.

You control which capabilities you want to enable by using the Octo-Capabilities header. For example:

GET /availability HTTP/1.1
Host: {host}
Authorization: Bearer {your_API_key}
Octo-Capabilities: octo/content, octo/offers

It's also possible to use the _capabilities query parameter if you're unable to use headers:

GET /availability?_capabilities=octo/content,octo/pricing HTTP/1.1
Host: {host}
Authorization: Bearer {your_API_key}

You can list all the capabilities with a comma to separate each one.

Last updated