Links
Comment on page

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

Supplier

Name
Method
Description
GET
Returns a single Supplier and associated details for a given Supplier ID.

Products

GET
Returns a list of Products and associated details.
GET
Returns a single Product and associated details for a given Product ID.
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.
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.

Bookings

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.
POST
Confirms previously placed Booking Reservation, finalizing the booking and making it ready to be used.
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.
POST
Cancels your booking. You can only cancel a booking if booking.cancellable is TRUE, and is within the booking cancellation cut-off window.
POST
Extends the Booking Reservation availability hold if the booking status is ON_HOLD.
GET
Returns the status and details of your existing booking.
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.