Search API

The Search API queries all suppliers configured in your channel and aggregates the results into a single response. You pass your search criteria once; ZentrumHub handles all the individual supplier calls, deduplication, and markup logic in the background.

Four search types

Every search must include a geographic input. The type you use depends on the Autosuggest result the user selected.

Use when

Circular

A centre point (lat/long) and a radius in kilometres. Use for airport, pointOfInterest, and trainStation types from Autosuggest. Recommended radius: 2–5 km.

Use when

Polygon

A set of coordinates tracing the full boundary of a city or region. Use for city, region, or neighbourhood types. Get the boundary from Get Location Details first.

Use when

Multi-polygon

Like polygon, but for fragmented areas with multiple separate zones. Get Location Details will tell you when to use this — the response type will be multiPolygon.

Use when

Hotel ID

Bypasses location entirely. Pass a specific hotelId to get results for one property. Use for hotel type from Autosuggest, hotel detail pages, and promotions.

Two search modes

Both modes accept identical request structures. The difference is in how and when results are returned.

Recommended

Asynchronous Search

Returns a token immediately. Poll for results every 500 ms as suppliers respond. Users see hotels as they load — your UI stays responsive even when slower suppliers take longer. Token valid for 1 hour.

Simpler

Blocking Search

Waits for all suppliers to respond, then returns everything at once. Simpler to implement but slower — the user sees nothing until the slowest supplier replies.

channelId determines which suppliers are called. Every Search API call requires a channelId in the header. The channel defines which of your configured suppliers to query and which markup rules to apply. Using different channels for different business contexts (geography, customer tier, etc.) is one of the core ways to control results and margins.