1
Authenticate
accessToken. It’s valid for expiresIn seconds (normally 3600).2
Search
requestId and pick an offer’s offerId from offers. Carrier and airport names for the codes in each offer are in dictionaries.3
Check the offer
priceHasChanges is true, show the new offer.price.total to the customer before going on.4
Pick a fare family (optional)
Only when
offer.hasFareBrands is true. Call fare-brands, choose a brand, then apply its key with change-options. Create the order with the offerId that change-options returns. See Fare families.5
Create the order
status Submit and its price.total: confirm it with the customer, and keep the orderId. To hold the seats without paying yet, add "holdOnly": true when the offer’s supportsOnHold is true. See On-hold bookings.6
Issue
status: IssuedSucceeded means you have ticket numbers in tickets. On a 504, wait 10 to 30 seconds and call again with the same orderId; the wallet isn’t charged twice.Next
- Round trips come back in two shapes. Read Round trips before you build the results page.
- Run the same flow with the Postman collection.

