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
-
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.
-
Quote mutation
- Re-validates an option by referencing the
optionRefIdfrom search. - Returns live pricing, surcharges, updated cancellation windows, and warnings if conditions changed.
- Re-validates an option by referencing the
-
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.
-
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
- Point your GraphQL client at the Bundleport endpoint.
- Swap in Bundleport credentials (access IDs, API key) for the suppliers you want to activate.
- Run the search → quote → book sequence in a staging environment and confirm references, totals, and policies match expectations.
- 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.