OpenBooking
Search
⌃K

Open Data Interface (ODI) for Suppliers

Overview

As a provider of accommodations services you can connect your system to OpenBooking via the OpenBooking Data Interface ODI. Based on open standards (JSON/REST) you provide your core and booking data to OpenBooking directly from your system.
There are 3 different parts of ODI you have to implement:
  1. 1.
    Core data of accommodations and offers including general availability information for apartments
  2. 2.
    Real-time webservice for availability-search and price calculation
  3. 3.
    Data of bookings that took place via OpenBooking leads
All data is exchanged in JSON format. We provide the appropriate JSON schema files which you can use to validate your JSON files against.
Before you can start integrating into OpenBooking, you must request an Import-Key. The Import-Key is a string token which indicates for which OpenBooking client you provide the data. You need one Import-Key per client you provide data for through OpenBooking.

Step 1: Providing core data

OpenBooking imports core data for accommodations and offers via JSON/HTTP on a daily basis. You provide the data in the following way:
  1. 1.
    Creating an Index JSON file per OpenBooking client/Import key. The Index JSON includes URL-based references to all the accommodation files for this client.
  2. 2.
    Create one JSON file per accommodation/offer.
  3. 3.
    Place the files on an HTTP/HTTPS accessible server where OpenBooking has access to.
  4. 4.
    Register the Index JSON for every client with OpenBooking incl. an escalation email address where our index process can send error reports to (currently you have to send us an email with the details. We’re working on a self-service dashboard solution).

Create the Index JSON

The Index JSON is like a sitemap.xml, but in JSON format. It contains an array with URLs to all the accommodation JSON files that OpenBooking should index/crawl for a specific client daily. It looks like this:
{
"_v": 1,
"importkey": “882a4ee419”,
"comment": “This is for Wallis Valais Promotion”,
"accommodations": [
{
"url": "https://www.mybookingsystem.ch/acco1.json",
"ts": 232321323
},
{
"url": "https://www.mybookingsystem.ch/acco2.json",
"ts": 242424242
}
]
}
The Index JSON can have any name, it doesn’t have to be “index.json”.
Schema:
Make sure your Index JSON validates against this JSON schema.
Fields descriptions:
Key
Data Type
Usage
_v
string
ODI format version specifier. Must be 1
importkey
string
Identifies the relation between the data provider (you) and the OpenBooking client. The import key is provided to you by OpenBooking.
comment
string
Free text, not used by OpenBooking
accommodations
array
.url
string
URL of the JSON for a single accommodation
.ts
integer
Unix Timestamp when this file was last updated. OpenBooking will only import/process files which where the timestamp changed since the last import

Create the accommodation JSON files

You have to create one JSON file per accommodation/offer you want to ingest into OpenBooking. Accommodation JSON files can be reused for different clients/import keys, if they do not contain any client specific data. Otherwise you must create different JSON files for every client. An accommodation JSON file looks like this:
Make sure your JSON validates against this JSON schema. The fields are documented in the JSON schema. Open the JSON Schema in a viewer.

Step 2: Real-time webservice for availability-search with price calculation

Whenever a user is searching for vacancies on one of the OpenBooking implementations, our backend system retrieves availabilities and prices from a number of different data sources in real-time. To connect to OpenBooking, you must provide a live web service.
The webservice gets search parameters like checkin, checkout date, number of persons, etc.
and must respond with free vacancies and the prices matching exactly the given search parameters.
This is how your API must look like:
odi_riae.yaml
4KB
Code
Swagger Specification (YAML) for real-time availability-search

Step 3: Bookings JSON file

OpenBooking provides its clients a multi-channel view for bookings and overall booking revenue. To accomplish this, you need to provide historical booking data for every booking that took place coming from OpenBooking leads.
Please contact OpenBooking if you're able to send bookings.