Holibob Docs

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:

ScalarDescription
DateCalendar date (ISO 8601 date string)
DateTimeTimestamp (ISO 8601 date-time string)
HashidsEncoded entity identifiers
JSONArbitrary JSON value
JSONObjectArbitrary JSON object
SecretSensitive string value
HbmlRawHBML markup content
ProductReviewRatingNumeric product review rating
AssetUrlInputAsset URL reference