Amadeus · Arazzo Workflow

Amadeus Hotel Autocomplete, Ratings, and Offers

Version 1.0.0

Autocomplete a hotel by name, fetch its guest-sentiment rating, then pull its live offers.

1 workflow 3 source APIs 1 provider
View Spec View on GitHub TravelTravel TechnologyReservationsFlightsHotelsAirlinesHospitalityTours and ActivitiesCars and TransfersDestination ContentItinerary ManagementTrip PlanningArtificial IntelligenceMarket InsightsArazzoWorkflows

Provider

amadeus

Workflows

hotel-autocomplete-ratings-offers
Autocomplete a hotel, fetch its sentiment rating, and get live offers.
Resolves a hotel name keyword to a property code, fetches its sentiment rating, and requests live offers for the stay.
3 steps inputs: adults, checkInDate, checkOutDate, keyword outputs: hotelId, offerId, overallRating
1
autocompleteHotel
gethotels
Autocomplete the hotel name keyword to a single Amadeus property code, targeting GDS-bookable chains.
2
getRating
getSentimentsByHotelIds
Retrieve the aggregated guest sentiment rating for the matched property.
3
getOffers
getMultiHotelOffers
Fetch live priced offers for the matched hotel for the requested stay dates and occupancy.

Source API Descriptions

Arazzo Workflow Specification

amadeus-hotel-autocomplete-ratings-offers-workflow.yml Raw ↑
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