Amadeus · Arazzo Workflow

Amadeus City Points of Interest

Version 1.0.0

Resolve a city to its coordinates, list nearby points of interest, then fetch one in detail.

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

Provider

amadeus

Workflows

city-points-of-interest
Resolve a city's coordinates and discover points of interest there.
Looks up a city's coordinates, lists nearby points of interest, and fetches the first one in detail.
3 steps inputs: cityKeyword outputs: poiCount, poiName
1
resolveCity
getAirportCitySearch
Resolve the city keyword to coordinates via the locations reference data, matching on CITY subtype.
2
listPois
getPointsOfInterest
List the points of interest around the resolved city coordinates.
3
getPoiDetail
getPointOfInterest
Retrieve the first point of interest by its id for full detail.

Source API Descriptions

Arazzo Workflow Specification

amadeus-city-points-of-interest-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Amadeus City Points of Interest
  summary: Resolve a city to its coordinates, list nearby points of interest, then fetch one in detail.
  description: >-
    Powers a "things to do here" experience. The workflow resolves a city
    keyword to its geographic coordinates via the locations reference data,
    lists the points of interest around those coordinates, then retrieves the
    first point of interest by its id for full detail. Each request is inlined
    so the city-to-POI flow can be read and executed without opening the
    underlying OpenAPI descriptions.
  version: 1.0.0
sourceDescriptions:
- name: airportCitySearch
  url: ../openapi/amadeus-airport-city-search-openapi.yml
  type: openapi
- name: pointsOfInterest
  url: ../openapi/amadeus-points-of-interest-openapi.yml
  type: openapi
workflows:
- workflowId: city-points-of-interest
  summary: Resolve a city's coordinates and discover points of interest there.
  description: >-
    Looks up a city's coordinates, lists nearby points of interest, and fetches
    the first one in detail.
  inputs:
    type: object
    required:
    - cityKeyword
    properties:
      cityKeyword:
        type: string
        description: Free-text keyword for the city (e.g. Barcelona).
  steps:
  - stepId: resolveCity
    description: >-
      Resolve the city keyword to coordinates via the locations reference data,
      matching on CITY subtype.
    operationId: getAirportCitySearch
    parameters:
    - name: subType
      in: query
      value: CITY
    - name: keyword
      in: query
      value: $inputs.cityKeyword
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      latitude: $response.body#/data/0/geoCode/latitude
      longitude: $response.body#/data/0/geoCode/longitude
  - stepId: listPois
    description: >-
      List the points of interest around the resolved city coordinates.
    operationId: getPointsOfInterest
    parameters:
    - name: latitude
      in: query
      value: $steps.resolveCity.outputs.latitude
    - name: longitude
      in: query
      value: $steps.resolveCity.outputs.longitude
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      firstPoiId: $response.body#/data/0/id
      poiCount: $response.body#/meta/count
  - stepId: getPoiDetail
    description: >-
      Retrieve the first point of interest by its id for full detail.
    operationId: getPointOfInterest
    parameters:
    - name: poisId
      in: path
      value: $steps.listPois.outputs.firstPoiId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      poiName: $response.body#/data/name
      poiCategory: $response.body#/data/category
  outputs:
    poiCount: $steps.listPois.outputs.poiCount
    poiName: $steps.getPoiDetail.outputs.poiName