Skip to main content

GraphQL API Introduction

Bundleport offers a GraphQL layer that behaves like the Travelgate Hotel-X Pull Buyers API. The goal is to let existing Hotel-X buyers point their apps to Bundleport without redesigning the booking journey. Behind the scenes, the GraphQL layer calls the same business services that power our REST/OpenAPI endpoints, so every feature, rule, and audit trail is shared.

Goals

  • Drop-in migration: Keep the familiar search → quote → book → cancel workflow, so switching from TGX mainly involves updating credentials and endpoint URLs.
  • One business model: Regardless of transport, Bundleport applies the same hotel mapping, pricing logic, business rules, and compliance requirements.
  • Uniform monitoring: Booking traces, warnings, and audit data look identical across REST and GraphQL, simplifying operations dashboards.

Architecture Overview

GraphQL Client

Hotel-X-compatible GraphQL schema

GraphQL adapters (internal/adapters/graphql)

Bundleport booking services

Provider integrations + services-aggregator
  • Adapters translate Hotel-X style requests into Bundleport’s internal booking services.
  • Mappers convert responses back into the field names and shapes Hotel-X clients expect (options, cancellation policies, totals, etc.).
  • Shared controllers keep pricing, policy, and observability logic consistent with the REST API.

Request Flow

  1. Search query

    • Clients supply destinations, dates, occupancies, and supplier accesses just like they do today.
    • Bundleport fans out to configured suppliers, applies business rules (cheapest per board, negotiated programs, etc.), and returns harmonized options complete with hotel content, rate plans, prices, and policies.
  2. Quote mutation

    • Re-validates an option by referencing the optionRefId from search.
    • Returns live pricing, surcharges, updated cancellation windows, and warnings if conditions changed.
  3. Book mutation

    • Uses the quoted option, traveller data, payment details, and any supplier parameters.
    • Confirms the stay and returns booking references (Bundleport, client, supplier), status (OK, On Request, etc.), room-level confirmations, remarks, and optional audit/debug payloads.
  4. Post-booking operations

    • Cancel follows TGX semantics: provide the booking identifiers and, when relevant, access metadata.
    • Additional queries (booking detail, booking list) let you reconcile, notify customers, or feed CRM records. Responses stay consistent with Hotel-X field names.

Why the Adapter Matters

  • Faster adoption: Your Hotel-X tooling continues to work; only endpoints and credentials change.
  • No feature gap: Enhancements or new supplier connections land simultaneously across REST and GraphQL.
  • Simplified operations: Alerts, dashboards, and reconciliation scripts see the same warning codes and tracing data regardless of transport.

Getting Started

  1. Point your GraphQL client at the Bundleport endpoint.
  2. Swap in Bundleport credentials (access IDs, API key) for the suppliers you want to activate.
  3. Run the search → quote → book sequence in a staging environment and confirm references, totals, and policies match expectations.
  4. Enable auditing/tracing when onboarding new suppliers to monitor downstream performance, then disable when you’re confident in the flow.

Once you’re live, you can gradually adopt Bundleport-only capabilities—such as custom business rules or content extensions—while keeping the familiar Hotel-X schema for your client applications.