Skip to main content
A round-trip search sends exactly two segments: the outbound first, then the return with origin and destination swapped.
Results come back in one of two shapes. Your code has to handle both. Branch on returningRequestId: if it’s set and returningOffers isn’t empty, you have a split result.
offers holds complete round-trip offers with tripType = RoundTrip and two entries in journeys: outbound, then inbound. returningRequestId is null and returningOffers is empty.Create the order with one offer:
Some combined offers are packed from two one-way fares. After a details call they also carry leavingOfferId and returningOfferId. You can create the order for a packed offer with its own offerId or with the two halves.
Sending both offer shapes to create order, or only part of one, is a validation error.

Detecting the shape

An empty offers array with HTTP 200 means no availability. It isn’t an error.