After creating an order with POST /v1/booking/flight-orders, store the returned flightOrderId; note that orders created via the self-service API without a consolidator are held for a limited time before auto-cancellation.
Retrieve the order status via GET /v1/booking/flight-orders/{flightOrderId}; inspect the ticketingAgreement.dateTime field to identify the ticketing deadline — orders not ticketed by this deadline are automatically voided by the airline.
If the ticketing deadline is approaching and you cannot proceed to payment, cancel the order explicitly via DELETE /v1/booking/flight-orders/{flightOrderId} to release the hold and avoid a no-show fee.
On the DELETE response (HTTP 200 with an empty body or confirmation object), mark the order as cancelled in your system and release any inventory holds.
If the order was already auto-cancelled by the airline (the GET response shows state: CANCELLED), do not attempt to DELETE again — simply update your local record.
After cancellation, if a refund is due (partially ticketed itinerary), contact your Amadeus consolidator to process the EMD or ticket refund through BSP — the self-service API does not support direct refund issuance for ticketed documents.
Known gotchas
The Amadeus self-service Flight Orders API operates in a sandbox by default; in production, you must work through an Amadeus consolidator for actual ticketing — the self-service API alone does not issue live tickets for most routes.
Cancellation via DELETE only works while the order is in a held/unticketted state; once ticketed, the order cannot be cancelled via the self-service API and requires the consolidator or airline contact.
Order IDs (flightOrderId) are session-scoped in the test environment; ensure you persist them to your database immediately after order creation, as they cannot be recovered if the session expires.
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp