Links
Comment on page

Bookings

Booking Reservation

A reseller has to perform Availability Check to retrieve an availabilityId in order to make a Booking Reservation.
post
https://api.example.com/octo
/bookings
Booking Reservation

Reserving availability when making a booking. The steps to make a reservation are:

  1. 1.

    Check Availability: Check the availability on the /availability endpoint to retrieve an availabilityId

  2. 2.

    Booking Reservation (this step): Create a booking that reserves the availability while you collect payment and contact information from the customer. The booking will remain with status ON_HOLD until the booking is confirmed or the reservation hold expires.

The availability for the booking is held for the amount of time equal to theexpirationMinutes parameter (if provided), up to an internal limit set by either the supplier or the OCTo provider. The utc_expires_at parameter in the response object will indicate when a reservtion will expire. A reservation can be extended by calling the /bookings/{uuid}/extend endpoint.

A reserved booking can be confirmed after the customer finalizes their choice on the /bookings/{uuid}/confirm endpoint provided the reservation had not expired.

Parameters
Header
Content-Type
string
Required field on all POST requests
Body
Example
Schema
{
"uuid": "559aed3d-6d5b-4fe0-bfca-99f5e7218a56",
"productId": "6b903d44-dc24-4ca4-ae71-6bde6c4f4854",
"optionId": "DEFAULT",
"availabilityId": "2021-10-27T00:00:00-04:00",
"expirationMinutes": 30,
"notes": "Optional notes",
"unitItems": [
{
"uuid": "3b1bc2ee-3155-4738-9471-f49842a07327",
"unitId": "youth_f6446706-885a-437c-8461-efd6d7080910"
}
]
}
Responses
200: OK
OK
400: Bad Request
Example response

Booking Confirmation

post
https://api.example.com/octo
/bookings/{uuid}/confirm
Booking Confirmation

This endpoint confirms the booking so it's ready to be used.

Parameters
Path
uuid*
string
The UUID of the booking
Header
Content-Type
string
Required field on all POST requests
Body
Example
Schema
{
"emailReceipt": true,
"resellerReference": "4ec08a62-892c-48c1-a608-dc946531a33b",
"contact": {
"fullName": "John Doe",
"firstName": "John",
"lastName": "Doe",
"emailAddress": "[email protected]",
"phoneNumber": "string",
"locales": [
"[\"en\"]"
],
"postalCode": "string",
"country": "string",
"notes": "string"
},
"unitItems": [
{
"uuid": "string",
"unitId": "string",
"resellerReference": "string",
"contact": {
"fullName": "John Doe",
"firstName": "John",
"lastName": "Doe",
"emailAddress": "[email protected]",
"phoneNumber": "string",
"locales": [
"[\"en\"]"
],
"postalCode": "string",
"country": "string",
"notes": "string"
}
}
]
}
Responses
200: OK
OK
400: Bad Request
Example response

Booking Cancellation

post
https://api.example.com/octo
/bookings/{uuid}/cancel
Booking Cancellation

Get Bookings

get
https://api.example.com/octo
/bookings
Get Bookings

This endpoint will fetch the bookings you have made for the given filters.

When using this endpoint you must include one of the following query parameters:

  • resellerReference

  • supplierReference

  • localDate

  • localDateStart and localDateEnd

Parameters
Query
resellerReference
string
The reseller reference on the booking
supplierReference
string
The reference provided by the supplier
localDate
string
All bookings made for a specific date
localDateStart
string
First date of a date range search
localDateEnd
string
Last date of a date range search
productId
string
The product id to filter by
optionId
string
The option id to filter by
Responses
200: OK
OK
400: Bad Request
Example response

Get Booking

get
https://api.example.com/octo
/bookings/{uuid}
Get Booking

Fetch the status of an existing booking.

Parameters
Path
uuid*
string
The UUID of the booking
Responses
200: OK
OK
400: Bad Request
Example response

Booking Update

patch
https://api.example.com/octo
/bookings/{uuid}
Booking Update

Updates a booking before and after it has been confirmed as long as it hasn''t been redeemed or within the cancellation cutoff window. To know if the booking can be updated check the booking''s cancellable field. If the booking can be cancelled, it can also be updated. It''s generally preferred to update a booking rather than cancelling it and rebooking.

Parameters
Path
uuid*
string
The UUID of the booking
Header
Content-Type
string
Required field on all PATCH requests
Body
Example
Schema
{
"resellerReference": "ec08a62-892c-48c1-a608-dc946531a33b",
"productId": "6b903d44-dc24-4ca4-ae71-6bde6c4f4854",
"optionId": "DEFAULT",
"availabilityId": "string",
"expirationMinutes": "string",
"notes": "string",
"emailReceipt": true,
"unitItems": [
{
"uuid": "string",
"unitId": "string",
"resellerReference": "string",
"contact": {
"fullName": "John Doe",
"firstName": "John",
"lastName": "Doe",
"emailAddress": "[email protected]",
"phoneNumber": "string",
"locales": [
"[\"en\"]"
],
"postalCode": "string",
"country": "string",
"notes": "string"
}
}
],
"contact": {
"fullName": "John Doe",
"firstName": "John",
"lastName": "Doe",
"emailAddress": "[email protected]",
"phoneNumber": "string",
"locales": [
"[\"en\"]"
],
"postalCode": "string",
"country": "string",
"notes": "string"
}
}
Responses
200: OK
OK
400: Bad Request
Example response

Extend Reservation

post
https://api.example.com/octo
/bookings/{uuid}/extend
Extend Reservation

Use this endpoint to hold the availability for a booking longer if the status is ON_HOLD.

Parameters
Path
uuid*
string
The UUID of the booking
Header
Content-Type
string
Required field on all POST requests
Body
Example
Schema
{
"expirationMinutes": 15
}
Responses
200: OK
OK
400: Bad Request
Example response