Overview
Introduction to the Holibob GraphQL API.
What is the Holibob GraphQL API?
The Holibob GraphQL API is the primary interface for interacting with the Holibob platform. It exposes queries and mutations for managing bookings, products, consumer trips, payments, distribution channels, and more.
The API is built with Apollo Server v4 on top of graphql-js and is deployed as an Express application with AWS Lambda support.
Key capabilities
- Bookings — create, update, cancel, and query bookings across distribution channels.
- Products — browse the product catalogue, retrieve content, pricing, and availability.
- Consumer Trips — manage consumer trip itineraries and related entities.
- Payments — process payments and refunds.
- Search — full-text and filtered search across products and entities.
- Analytics — query usage and performance analytics.
- Translations — retrieve content in multiple languages.
Schema
The GraphQL schema is defined programmatically using graphql-js types (GraphQLObjectType, GraphQLSchema) and composed with the graphql-compose library. The full schema is exported from graphql-api/lib/schema/index.ts.
Introspection is enabled in all environments, so you can use tools like GraphQL Playground or the Apollo Studio Explorer to browse the schema interactively.
Custom scalars
The API defines the following custom scalar types:
| Scalar | Description |
|---|---|
Date | Calendar date (ISO 8601 date string) |
DateTime | Timestamp (ISO 8601 date-time string) |
Hashids | Encoded entity identifiers |
JSON | Arbitrary JSON value |
JSONObject | Arbitrary JSON object |
Secret | Sensitive string value |
HbmlRaw | HBML markup content |
ProductReviewRating | Numeric product review rating |
AssetUrlInput | Asset URL reference |