New Offers Flow Explained
We recognize that updating your integration takes time, so we designed this guide to ensure a seamless transition. This structural update simplifies your workflow by replacing repetitive parameter passing with a streamlined, persistent "Offer ID" element. This new foundation unblocks advanced features like segment-specific fares and improved ancillary handling and future-proofs your integration.
While we are excited to unlock these capabilities, your operational stability remains our top priority. This update is a fully backwards-compatible extension of the same API version and has been rigorously tested on our own internal frontends. These changes impact the search, vacancy and reservation creation steps, so booking finalization and post-booking endpoints remain entirely unchanged.
IMPORTANT: The new Offers flow is currently enabled on a per-account basis. Please reach out to your Partnership Manager to activate it for your API credentials.
Why are we implementing Offers?
We are introducing this new flow to simplify the implementation of the API for your general workflow. The previous API structure relied on an outdated and counter-intuitive method where every request required repeating the same set of parameters (like station codes, times, and carrier codes). This created limitations and blockers to developing new features.
The new flow aligns our API more closely with the industry standard of using persistent IDs. It provides a more flexible fare offering, ensures it is future-proof for upcoming certification requirements, and acts as a foundation for all new functionalities, including updated flows for ancillaries, seat map, and amendments.
How are we doing it?
This update is an extension of our existing API workflow and endpoints. We have intentionally designed this to be backwards compatible. Furthermore, this public release comes only after thorough internal implementation testing on our own frontends and selected partners to ensure stability and reliability.
Key Architectural Changes
- From GET to POST: The recommendation is to switch from the
GETmethod to thePOSTmethod for API requests to /connections/find and /connections/vacancy. WithPOST, all parameters are included in the body of the request, offering a cleaner and more standardized format. - The Offer ID Paradigm: Your initial search on /connections/find generates a unique
offer_id. This persistent ID is then reused for all subsequent requests, eliminating the need to repeat connection parameters. - Location Parameterization: Parameters are structured differently, using a single
departure_locationconcept instead of separate parameters likedeparture_stationordeparture_city. - Unified Passenger Tracking: Passengers are now assigned unique identifiers (e.g.,
pax-40-1) early in the search flow. These IDs are referenced across subsequent steps to accurately map distinct traveler details.
Endpoint-by-Endpoint Migration Guide
Step 1: Searching for Trips /connections/find
Method & Payload |
|
|
Locations | Separate arrays or fields like | Unified |
Trip Context | Flat departure dates and times in the query string. | Grouped within a |
Passengers | Flat array (e.g., | Structured passengers array in the JSON body that assigns unique IDs (e.g., |
Return Trips | Passing a | A two-step /connections/find process is recommended. Pass the selected outbound |
Output | Connection details. | Returns a unique |
Step 2: Checking Price & Vacancy /connections/vacancy
Method & Payload |
|
|
Trip Details | Required reconstructing the trip by re-sending | Completely removed. You now only pass the |
Passenger Mapping | Sent flat passenger counts and types again (e.g., | Mapped using the |
Step 3: Creating a Reservation /reservations/create
Method & Payload |
|
|
Trip Details | The payload root required multiple explicit trip details ( | Explicit trip details are gone. You only pass the verified |
Passenger Binding | Passed a completely new passengers array defining the type from scratch. | The passengers array binds actual traveler data ( |
Next Steps: Confirming the Reservation and Subsequent Steps
While the initial search and reservation creation steps have been significantly streamlined, we have intentionally preserved the stability of your high-risk booking finalization and post-booking workflows.
- Reservation Confirmation & Status: There are no changes to the /reservations/confirm or /reservations/{reservation_id} endpoints. You will continue to use the
reservation_idexactly as you do today to ensure backward compatibility and stability. - Post-Booking Operations: All retrieval and cancellation workflows remain entirely consistent. You will continue to use the
booking_idwith absolutely no changes required on your end. - Ancillaries & Seat Maps: Historically, these had complex, carrier-dependent implementations. Moving forward, ancillaries and seat maps will be integrated using a standardized flow.
On this page
- New Offers Flow Explained