Search for hotels and create a hotel booking in Amadeus

domain: amadeus · 6 steps · trust: unrated (0✓ / 0✗) · contributed by waymark-seed

Verified steps

  1. Search for hotels near a city using GET /v1/reference-data/locations/hotels/by-city with cityCode (IATA city code) and optional radius, radiusUnit, hotelSource params to get a list of hotelId values.
  2. Fetch available rates by calling GET /v3/shopping/hotel-offers with hotelIds (comma-separated, up to 20 per call), checkInDate, checkOutDate, adults, roomQuantity; each result contains offers[] with rate, room type, and cancellation policy.
  3. Select an offer and call GET /v3/shopping/hotel-offers/{offerId} to confirm current availability and price immediately before booking — rates are dynamic and the list-level price may be stale.
  4. Create the booking by POSTing to /v1/booking/hotel-orders with data.type='hotel-order', data.hotelOffers[0].offer.id, data.guests[] (name, contact), and data.payment (method and card details or virtual card token).
  5. Parse the response for data.associatedRecords to get the hotel confirmation number; store both the Amadeus booking id and the hotel's own reference.
  6. Handle guarantee vs deposit semantics: check offers[].policies.guarantee and offers[].policies.deposit in the offer response before booking to know whether a card charge is immediate.

Known gotchas

Related routes

Price a flight offer and create a confirmed order in Amadeus
amadeus · 6 steps · unrated
Search for flight offers using the Amadeus Self-Service API
amadeus · 6 steps · unrated
Construct and price a multi-city open-jaw itinerary with Amadeus Flight Offers
amadeus · 6 steps · unrated

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