FAQ

Terminology

  • OTA: Online travel agency (ex: booking.com, or competitor)
  • cid: Channel ID - a two to four character code used by Cloudbeds uniquely identify an OTA.
  • guid: Globally unique identifier, a unique 36 character code which identifies a request. Useful for seeing if a request is a retry and for debugging.

Requests

Cloudbeds will send requests to the OTA with content-type application/json, with the payload being in the body of the request. Gzip compression and keep-alives will be used if supported. HTTPS (SSL encryption) is required for the OTA's endpoint. If an endpoint with a port other than 443 is to be used Cloudbeds will need to allow-list this port first.

HTTP response codes from Cloudbeds should always be 200. They have the content-type application/json.

Required API calls

As a minimum these API calls need to be implemented on the OTA side:

  • HealthCheck
  • SetupProperty
  • GetRoomTypes
  • GetRatePlans
  • ARIUpdate
  • GetBookingList
  • GetBookingId

If the OTA has multiple properties under one user account these API calls are required in addition:

  • GetSubProperties

Credit/debit card data

If your channel transmits guest credit/debit card data to Cloudbeds, the following applies:

  • A PCI Attestation of Compliance (AoC) document must be provided to Cloudbeds and approved before card data can be enabled for your channel.
  • Cloudbeds must configure your channel for card handling on our side, so please let us know — during onboarding, or before you start sending card data — that your channel handles card data.
  • Card data is not accepted at the standard BookingCreate endpoint. Bookings containing card data must be sent to a dedicated, PCI-compliant endpoint that Cloudbeds provides for your channel. Requests to it are authenticated with the tx-proxy-key header issued by Cloudbeds, or from source IP addresses you supply for allow-listing. See the BookingCreate documentation for details.
  • For GetBookingId, card retrieval is handled over a secure path configured on the Cloudbeds side; your channel returns the Payments object as documented in the booking format.
  • Bookings containing card data are rejected when sent via BookingCreate, and silently dropped (not imported, since no error can be returned) when returned via GetBookingId, unless your channel has been enabled for card handling.

Channel Manager, CRS and Broker handling

If the OTA is a channel manager, a CRS (central reservation system) or otherwise a broker that relays bookings from other OTAs/sources then Cloudbeds need to be notified about this to mark the OTA as a "broker". Additionally, the booking format requires providing additional fields to ensure that properties can correctly map sources for reports, tax/fee handling and display purposes.

The following booking format fields are required for brokered bookings to work correctly:

  • OrderSource
  • OrderSourceId
  • ExternalReferences

Please check booking format on how to use these fields. We also recommend implementing the SourceTree field if multiple sources can be involved in a booking.

Following is an example of a booking that originally came through Expedia:

{
  "OrderSource": "Expedia",
  "OrderSourceId" : "exp",
  "ExternalReferences" : [
     {
        "Type" : "OTA",
        "Reference" : "2280949650"
     }
  ]
}