arazzo: 1.0.1 info: title: Amadeus Hotel Autocomplete, Ratings, and Offers summary: Autocomplete a hotel by name, fetch its guest-sentiment rating, then pull its live offers. description: >- Powers a "search a hotel by name" experience enriched with reputation data. The workflow autocompletes a hotel name to a property code, retrieves the aggregated guest sentiment rating for that property, then fetches live priced offers for the requested stay. Each request is inlined so the name-to-offers flow can be read and executed without opening the underlying OpenAPI descriptions. version: 1.0.0 sourceDescriptions: - name: hotelNameAutocomplete url: ../openapi/amadeus-hotel-name-autocomplete-openapi.yml type: openapi - name: hotelRatings url: ../openapi/amadeus-hotel-ratings-openapi.yml type: openapi - name: hotelSearch url: ../openapi/amadeus-hotel-search-openapi.yml type: openapi workflows: - workflowId: hotel-autocomplete-ratings-offers summary: Autocomplete a hotel, fetch its sentiment rating, and get live offers. description: >- Resolves a hotel name keyword to a property code, fetches its sentiment rating, and requests live offers for the stay. inputs: type: object required: - keyword - checkInDate - checkOutDate - adults properties: keyword: type: string description: Hotel name keyword to autocomplete (e.g. Hilton Paris). checkInDate: type: string description: Check-in date in YYYY-MM-DD format. checkOutDate: type: string description: Check-out date in YYYY-MM-DD format. adults: type: integer description: Number of adult guests per room (1-9). steps: - stepId: autocompleteHotel description: >- Autocomplete the hotel name keyword to a single Amadeus property code, targeting GDS-bookable chains. operationId: gethotels parameters: - name: keyword in: query value: $inputs.keyword - name: subType in: query value: HOTEL_GDS successCriteria: - condition: $statusCode == 200 outputs: hotelId: $response.body#/data/0/hotelId - stepId: getRating description: >- Retrieve the aggregated guest sentiment rating for the matched property. operationId: getSentimentsByHotelIds parameters: - name: hotelIds in: query value: $steps.autocompleteHotel.outputs.hotelId successCriteria: - condition: $statusCode == 200 outputs: overallRating: $response.body#/data/0/overallRating - stepId: getOffers description: >- Fetch live priced offers for the matched hotel for the requested stay dates and occupancy. operationId: getMultiHotelOffers parameters: - name: hotelIds in: query value: $steps.autocompleteHotel.outputs.hotelId - name: checkInDate in: query value: $inputs.checkInDate - name: checkOutDate in: query value: $inputs.checkOutDate - name: adults in: query value: $inputs.adults successCriteria: - condition: $statusCode == 200 outputs: offerId: $response.body#/data/0/offers/0/id outputs: hotelId: $steps.autocompleteHotel.outputs.hotelId overallRating: $steps.getRating.outputs.overallRating offerId: $steps.getOffers.outputs.offerId