Getting Started

Zentrum Booking Engine integration to go live can be achieved in the following steps:

1. API flow implementation

The API consumer can implement hotel search to book/cancel flow of the APIs by going through and integrating the Zentrum Autosuggest, Zentrum Static Content, and Zentrum Hotel Booking APIs as per their business flow. The parameters, along with the API description, are mentioned in the documentation. Any integration query can be raised by consumers on [email protected]

2. Certification

Once the API integration is completed, the integration team at ZentrumHub will share a bunch of scenarios for which the hotel search to book/cancel flow should be executed, and the information should be shared with the ZentrumHub integration team to verify the end-to-end integration.

3. Logs

For ease of understanding and transparency of integration, the integration team at Zentrumhub will onboard the API consumers onto the logging platform, where they will be able to see the logs, including:

  1. The request and response of the API calls being made to the Zentrumhub system
  2. The corresponding request and response made by Zentrumhub to the corresponding supplier(s)
  3. View errors/performance metrics that occurred in a given user journey.

4. Go Live and Support

Once certified and understood logs, the live credentials of the supplier(s) are configured by the Zentrumhub team against the live environment. The customer can raise any challenges/queries further post integrations by sending emails to [email protected]

Pre-requisites

To access the APIs, you need an accountId, channelId, and an apiKey. These values would be provided to API consumers once their account has been created.

accountId : Account identifier associated with each account. Separate accounts were created for testing and living environments.

apiKey : Required to authenticate an API request.

channelId : Point of Sale against which the API call is being made. There can be multiple channelIds created, each having different business configurations such as Revenue managemnt rules, Content preference, Supplier Configuration, Relevance rules.

Zentrum Autosuggest API

The autosuggest API helps its consumers to search for a location or hotel options as they type ahead. Zentrum has mapped the location data including cities, airports, point of interests, locality to their geo location co-ordinates including polygons/multi polygons as applicable.

This API can be used as part of the starting journey when an end user starts searching for hotels for a given location(city, airport code, locality, or point of interest) and returns the geo-location details for the searched inputs. The geo-location data can then be used to request hotel static content as well as hotel rates inventory from Zentrum Static Content and Zentrum Hotel APIs, respectively.

If a customer is already using Google Places API or has the location data themselves, they don't need to integrate this API, and they can use their existing setup to make calls to the Zentrum APIs.

Zentrum Static Content API

To reduce the latency during a live search call, ZentrumHub has static content APIs that can be used to display the static content data of a hotel, e.g., hotel name, description, geo-location, star rating, hero image, images, amenities, phone number, nearby attractions to name a few.

As part of the booking engine, this data can be queried by API consumer for a given search criteria or a given hotel. ZentrumHub stores the static content of all the hotel inventories as received from different suppliers in its enterprise database. As requested the relevant supplier's content is returned as part of the static content API.

Zentrum Hotel Booking APIs

The Booking APIs provides the consumers a way to search hotels for a given location, see rooms and rates of a given hotel, price different rates, book the rates and cancel them as applicable.

Zentrum Booking APIs combined with the static content APIs help its consumers to design an end to end hotel booking flow.

Booking Flow with Asynchronous Search API

The asynchronous search API helps its consumers show results for a given searched location in a non-blocking fashion. As part of the asynchronous search API flow, the booking engine makes a parallel call to all the configured supplier(s) and is able to return results as received from the supplier(s). The async or non-blocking search flow can be explained in the following steps:

  1. A search init and static content API calls are made for a given search criteria.
  2. The search init API returns a token as its response, while the static content API returns the static content for the given search criteria.
  3. The response received as part of static content API response can be used to start displaying the hotels while a call can be made to async search API with the token received as part of the search init API response.
  4. The async API returns a list of hotels as the rates of these hotels are received from supplier(s) along with the status of the API. The API should be polled with the same token every 500ms to keep receiving freshly processed results. The async API has the following two statuses in its response:
    1. InProgress: This means more results are to be processed.
    2. Completed: Engine has processed all the hotels as received from supplier(s).
  5. Once the status of async API is marked as completed, the API should not be polled further, as all rates would have been processed as received from supplier(s).

Booking flow with Blocking Search API

The Booking Flow with Blocking Search API is useful when the user's wait time for viewing the results is not a concern. Unlike the Asynchronous Search API, where a search request returns a token used to poll for results later, the Blocking Search API provides both the token and the result set in the same response.
The remaining steps after fetching the results from the search step remain the same as in the Booking Flow with Asynchronous Search API.

Cancel Flow

After the booking has been completed successfully using either the Booking Flow with Asynchronous Search API
or Booking flow with Blocking Search API, we can cancel the reservation by calling the Cancel API using the bookingId that we received in the Book API response.