Links
Comment on page

Endpoints & Capabilities

Ventrata supports all OCTO Core endpoints as well as 16 additional Ventrata capabilities.
Capabilities are mostly optional, but they will allow you to enhance your integration by adding functionality Ventrata provides (e.g. pricing, content, pickups, etc.) in addition to OCTO Core.

OCTO Core Endpoints

Suppliers

Name
Method
Description
GET
Returns a list of Suppliers and associated details for the API key.
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.
DELETE
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.

Additional Ventrata Capabilities

The below capabilities are offered by Ventrata, as well as adopted by a few other ticketing/booking platforms, however, they are not yet part of the official OCTO Specification.
Name
ID
Description
octo/pricing
Adds pricing to most endpoints giving you advanced static and dynamic pricing capabilities.
octo/content
Extends the core product, option, and unit schemas to provide rich content and images.
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.
octo/webhooks
Allows you to programmatically create webhooks in Supplier's Ventrata system in order to listen out for booking updates or availability updates.
octo/mappings
Send mapping sheets (your product listings) programmatically to Ventrata for Supplier to fill out with corresponding Ventrata products and submit back to you, dramatically reducing the burden of mapping on your team.
octo/offers
This depends on Pricing capability and gives you the ability to use offer codes to apply discounts to bookings and up-sell / cross-sell other products for a discount.
octo/questions
Allows you to retrieve Supplier-defined custom questions and ask them on booking.
octo/extras
Access and sell extra up-sell items that can be added to unit items.
octo/adjustments
Allows you to make price adjustments to the booking either positive (to increase the price) or negative (to give a discount).
octo/cart
Allows you to add more than one booking to a "Cart" which can be confirmed together.
octo/cardPayments
Exposes various payment gateways for card tokenization so that the supplier can be the merchant of record and collect the card payment directly.
octo/packages
This capability allows you to work with package products which may allow different sub-products to be selected with different travel dates.
octo/resources
This capability exposes underlying availability resources and allows the guest to pick during the checkout.
octo/checkin
Some products require further steps by the guest after booking, e.g. signing a waiver, filling out a questionnaire, or picking dates and times for components of a multi-part package. This capability provides a URL to give to the guest where they can complete these steps and check in before arrival.
octo/gifts
This capability allows you to sell and redeem gift vouchers.
octo/redemption
This capability is intended for supplier redemption of your tickets, it's not abled by default and isn't intended for resellers. Read the documentation here.
The support for each capability is defined per-product, which you can find on the Products. Each capability is defined like:
{
"id": "octo/offers",
"revision": 1,
"required": false,
"dependencies": ["octo/pricing"],
"docs": "https://docs.ventrata.com/capabilities/offers",
"default": true
}
Field
Description
id
The identifier of this capability. You'll need to include this in the request header or parameter. To use this capability.
revision
A auto-incrementing integer indicating the supported revision of this capability. Capability revisions will always be backward compatible.
required
Whether supporting this capability is required in order to sell this product.
dependencies
An array of other capabilities that this capability requires in order to be used.
docs
A URL to the online documentation for this capability.
default
Whether this is a default capability that's enabled.
By default, Ventrata will enable all allowed capabilities all the time. You can control which capabilities you want to enable by using the Octo-Capabilities header. For example:
GET /octo/availability HTTP/1.1
Host: api.ventrata.com
Authorization: Bearer 5bd1629a-323e-4edb-ac9b-327ef51e6136
Octo-Capabilities: octo/content, octo/offers
It's also possible to use the _capabilities query parameter if you're unable to use headers:
GET /octo/availability?_capabilities=octo/content,octo/offers HTTP/1.1
Host: api.ventrata.com
Authorization: Bearer 5bd1629a-323e-4edb-ac9b-327ef51e6136
You can list all the capabilities with a comma to separate each one. If a capability depends on another (for example octo/offers depends on octo/pricing) If you just include octo/offers we will automatically add the other dependent capabilities.
To know which capabilities you are using, the HTTP response will echo the Octo-Capabilities header including the list that was applied. For example:
HTTP/1.1 200 OK
Octo-Capabilities: octo/offers, octo/pricing

Required Capabilities

Some products cannot be sold without the use of a capability. If that is the case then the required: true will be put on the capability object within that product. If you have not implemented that capability then you cannot sell the product.

Capability Versioning

The capabilities defined on products include a revision number that will increment each time we update the capability. It's important to note that capabilities will NEVER introduce breaking changes, if they do then a new capability will be written entirely. For example: octo/pricing2
Last modified 2mo ago