GoHub Booking API
The GoHub Core Booking Engine aggregates ticket and service inventory from external suppliers, normalises it into one canonical model, and resells it to agents and partners.
You call GoHub, not the supplier. The engine holds the supplier contracts, credentials and wire formats. You never sign a supplier request, and you never send a price — prices come from the price-locked quote you booked against.
The universal flow
Every vertical is the same four steps:
discover → quote → POST /api/v1/bookings → GET /api/v1/bookings/{id}
Discovery differs per vertical (a search, or a catalog browse) and always returns a
quoteId with a frozen price. Booking is a single vertical-agnostic call that takes quote
ids plus an opaque per-vertical details bag. The response envelope is identical for every
supplier; only the per-item detail object varies, discriminated by its own type.
A round trip is not a special request shape — it is two items in one order, booked atomically.
Idempotency
Every booking carries an idempotencyKey you choose. Replaying the same key returns the
original order instead of booking again. That is your retry-safety net, and it matters here
more than usual: no supplier in the estate exposes an agent cancel, so a duplicate booking
cannot be undone by you or by us.
Quotes expire
A quote is bound to the channel it was minted for, is single-use, and has a per-vertical TTL —
airport transfer 15 minutes, express bus 10 minutes, iQIYI 24 hours. Read expiresAt; do not
hardcode a TTL. Booking an expired quote returns 409; booking another agent's quote returns
404.
Authentication
- API Key: ApiKeyAuth
Your partner API key. The key is the only source of identity — it resolves to your agent, and from there to your channel, your pricing and your entitlements. You never send a channel or an agent id; anything you did send would be ignored.
Nothing is defaulted or inferred, in any environment:
| Condition | Response |
|---|---|
| No header | 401 {"reason":"missing-api-key"} |
| Key resolves to nothing active | 401 {"reason":"invalid-api-key"} |
Key resolves, agent not ACTIVE | 403 {"reason":"agent-suspended"} |
Security Scheme Type: | apiKey |
|---|---|
Header parameter name: | X-API-KEY |
Contact
GoHub Engineering: engineering@zoltpay.com
License