- Become a data supplier
- What you will need
- Workflow
- Open Data Interface (ODI) for Suppliers
- Overview
- Step 1: Providing core data
- Create the Index JSON
- Step 2: Real-time webservice for availability-search with price calculation
- Step 3: Bookings JSON file
Become a data supplier
Are you an OTA, DMS or Booking provider with your own or contracted accommodations? Read on to learn how to connect to OpenBooking and increase your distribution channels.
What you will need
OpenBooking uses open and easy standards to provide interfaces to connect your data to our API. To become a data supplier, you must meet the following requirements:
- Send accommodation core data whenever it gets updated or once a day. Currently, we support three types of accommodations: Hotels, Apartments, Packages/Offers
- Have a webservice running that can respond to real-time availability queries within a reasonable amount of time (<= 3 secs)
- Have a landing page where we can pass the user after they have decided which object they want to book, including query data (checkin, checkout, persons, object id etc.)
- Send the booking data back to OpenBooking if and after a booking took place
Interfaces are based on HTTP/JSON requests. We provide extensive code examples in our Developer Portal, so it'll be easy for you to get started.
Workflow
1. Sign our technical agreement
2. Obtain an access token
Depends if your data is client based or global.
3. Send your accommodation data
Use POST /acccommodations
to send your accommodations.
4. Provide Endpoint for availability queries
Provide a webservice to respond to ad-hoc availability queries.
5. Send actual bookings
Use POST /bookings
to send bookings.
Sign up now!
It's totally easy and completely free for you to become an OpenBooking data supplier. Be part of the community.
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:
- Core data of accommodations and offers including general availability information for apartments
- Real-time webservice for availability-search and price calculation
- 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:
- 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.
- Create one JSON file per accommodation/offer.
- Place the files on an HTTP/HTTPS accessible server where OpenBooking has access to.
- 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
}
]
}
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:
Schema: https://jsonschema.openbooking.ch/accommodation.json
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:
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.