"Flight Create Orders API skill. Use when working with Flight Create Orders for booking. Covers 1 endpoint."
Resources
1Install
npx skillscat add lap-platform/claude-marketplace/flight-create-orders Install via the SkillsCat registry.
SKILL.md
Flight Create Orders
API version: 1.10.0
Auth
No authentication required.
Base URL
https://test.api.amadeus.com/v1
Setup
- No auth setup needed
- POST /booking/flight-orders -- create first flight-orders
Endpoints
1 endpoints across 1 groups. See references/api-spec.lap for full details.
booking
| Method | Path | Description |
|---|---|---|
| POST | /booking/flight-orders | Create Order associated to the Flight offers. |
Enhanced Skill Content
Question Mapping
- "How do I book a flight?" -> POST /booking/flight-orders
- "How do I create a flight order?" -> POST /booking/flight-orders
- "Can I book multiple passengers on one reservation?" -> POST /booking/flight-orders (include multiple traveler objects in body)
- "How do I add contact information to a booking?" -> POST /booking/flight-orders (include contact in traveler remarks)
- "How do I book a round-trip flight?" -> POST /booking/flight-orders (include outbound and return flight offers in body)
- "How do I specify payment for a flight booking?" -> POST /booking/flight-orders (include payment object in body)
- "Can I add special service requests like wheelchair or meal preference?" -> POST /booking/flight-orders (include SSR in remarks)
- "How do I book using a flight offer from the search results?" -> POST /booking/flight-orders (pass flightOffers array from Flight Offers Search response)
- "What happens if the price changed since I searched?" -> POST /booking/flight-orders (API validates pricing; returns 400 if offer expired)
- "How do I add frequent flyer numbers to a booking?" -> POST /booking/flight-orders (include loyaltyProgram in traveler object)
- "Can I book a one-way multi-city itinerary?" -> POST /booking/flight-orders (include multiple flight offers in the request body)
- "What fields are required to create a flight order?" -> POST /booking/flight-orders (body with flightOffers and travelers at minimum)
Response Tips
- 201 Created: Response contains the full flight order with
id,associatedRecords(PNR locators),travelers, andflightOfferswith confirmed pricing. Extractdata.idfor future reference anddata.associatedRecords[].referencefor airline confirmation codes. - 400 Bad Request: Check
errors[]array -- each entry hasdetail,code, andsource.pointerindicating which field failed. Common causes: expired offer, missing traveler info, invalid payment, or price mismatch since search.
Anomaly Flags
- Expired flight offers: If a 400 error mentions offer validity or pricing, surface that the user should re-run Flight Offers Search before retrying.
- Price discrepancies: Compare
flightOffers[].price.grandTotalin the response against the original search result; flag if the confirmed price differs. - Missing PNR references: If
associatedRecordsis empty or missing in a 201 response, warn that the booking may not have been fully ticketed by the airline. - Partial traveler failures: If the response includes
warnings[], surface them immediately -- they may indicate issues with specific passengers or segments. - Rate limiting (429): Although not declared in the spec, Amadeus test/production APIs enforce rate limits. Surface any 429 responses with retry-after guidance.
Playbook
1. Book a Simple One-Way Flight
- Obtain a valid OAuth token for the Amadeus API.
- Search for flights using the Flight Offers Search endpoint to get available
flightOffers. - Optionally price the selected offer using Flight Offers Price to confirm current pricing.
- Call
POST /booking/flight-orderswith a body containing the selectedflightOffersarray,travelers(name, dateOfBirth, gender, contact), andremarks. - Extract
data.idanddata.associatedRecords[].referencefrom the 201 response for confirmation.
2. Book a Round-Trip for Multiple Passengers
- Search for outbound and return flights, collecting the paired
flightOffers. - Build the request body with both offers in the
flightOffersarray. - Add each passenger as a separate entry in the
travelersarray, each with uniqueid, full name, documents (passport), and contact info. - Call
POST /booking/flight-orderswith the assembled body. - Verify each traveler appears in the response and note individual PNR references if airlines differ per segment.
3. Handle a Failed Booking Gracefully
- Attempt
POST /booking/flight-orderswith the desired flight offer and traveler data. - If a 400 error is returned, parse
errors[].detailanderrors[].source.pointerto identify the failing field. - If the error indicates an expired or repriced offer, re-run Flight Offers Search and Flight Offers Price.
- Correct any traveler data issues (missing documents, invalid date formats, incomplete contact).
- Retry the booking with the updated payload.
4. Add Loyalty Programs and Special Requests
- Build the standard booking request with
flightOffersandtravelers. - For each traveler, include a
loyaltyProgramsarray withprogramOwner(airline code) andid(membership number). - Add special service requests under
remarks.generalwithsubType: "GENERAL_MISCELLANEOUS"and the request text. - Call
POST /booking/flight-ordersand confirm the loyalty and SSR details appear in the response.
Response Tips
- Check response schemas in references/api-spec.lap for field details
- Create/update endpoints typically return the created/updated object
References
- Full spec: See references/api-spec.lap for complete endpoint details, parameter tables, and response schemas
Generated from the official API spec by LAP