Amadeus · Arazzo Workflow

Amadeus Flight Branded Fares Upsell

Version 1.0.0

Search flight offers, retrieve branded fare upsell options, then price the chosen upsell.

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

upsell-branded-fare
Search, expose branded fare upsell options, and price the upsold offer.
Searches flight offers, requests branded fare upsells for the first offer, then prices the first upsell returned.
3 steps inputs: adults, departureDate, destinationLocationCode, originLocationCode outputs: grandTotal, upsellCount
1
searchOffers
getFlightOffers
Run a flight offers search for the requested city pair and date.
2
upsellOffer
upsellAirOffers
Request branded fare upsell options for the first offer to expose upgraded fare brands with additional services.
3
priceUpsell
quoteAirOffers
Confirm the real-time price of the first upsold branded fare offer.

Source API Descriptions

Arazzo Workflow Specification

amadeus-flight-branded-fares-upsell-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Amadeus Flight Branded Fares Upsell
  summary: Search flight offers, retrieve branded fare upsell options, then price the chosen upsell.
  description: >-
    Helps surface richer fare families during shopping. The workflow searches
    flight offers for a city pair, feeds the cheapest offer into the branded
    fares upsell endpoint to expose upgraded fare brands (more baggage, refund
    or change flexibility), and then confirms the live price of the upsold
    offer. Each request is inlined so the upsell flow can be executed without
    opening the underlying OpenAPI descriptions.
  version: 1.0.0
sourceDescriptions:
- name: flightOffersSearch
  url: ../openapi/amadeus-flight-offers-search-openapi.yml
  type: openapi
- name: brandedFaresUpsell
  url: ../openapi/amadeus-branded-fares-upsell-openapi.yml
  type: openapi
- name: flightOffersPrice
  url: ../openapi/amadeus-flight-offers-price-openapi.yml
  type: openapi
workflows:
- workflowId: upsell-branded-fare
  summary: Search, expose branded fare upsell options, and price the upsold offer.
  description: >-
    Searches flight offers, requests branded fare upsells for the first offer,
    then prices the first upsell returned.
  inputs:
    type: object
    required:
    - originLocationCode
    - destinationLocationCode
    - departureDate
    - adults
    properties:
      originLocationCode:
        type: string
        description: IATA city/airport code the traveller departs from.
      destinationLocationCode:
        type: string
        description: IATA city/airport code the traveller is going to.
      departureDate:
        type: string
        description: Departure date in ISO 8601 YYYY-MM-DD format.
      adults:
        type: integer
        description: Number of adult travellers (1-9).
  steps:
  - stepId: searchOffers
    description: >-
      Run a flight offers search for the requested city pair and date.
    operationId: getFlightOffers
    parameters:
    - name: originLocationCode
      in: query
      value: $inputs.originLocationCode
    - name: destinationLocationCode
      in: query
      value: $inputs.destinationLocationCode
    - name: departureDate
      in: query
      value: $inputs.departureDate
    - name: adults
      in: query
      value: $inputs.adults
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      firstOffer: $response.body#/data/0
  - stepId: upsellOffer
    description: >-
      Request branded fare upsell options for the first offer to expose upgraded
      fare brands with additional services.
    operationId: upsellAirOffers
    requestBody:
      contentType: application/vnd.amadeus+json
      payload:
        data:
          type: flight-offers-upselling
          flightOffers:
          - $steps.searchOffers.outputs.firstOffer
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      upsoldOffer: $response.body#/data/0
      upsellCount: $response.body#/meta/count
  - stepId: priceUpsell
    description: >-
      Confirm the real-time price of the first upsold branded fare offer.
    operationId: quoteAirOffers
    requestBody:
      contentType: application/vnd.amadeus+json
      payload:
        data:
          type: flight-offers-pricing
          flightOffers:
          - $steps.upsellOffer.outputs.upsoldOffer
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      grandTotal: $response.body#/data/flightOffers/0/price/grandTotal
  outputs:
    upsellCount: $steps.upsellOffer.outputs.upsellCount
    grandTotal: $steps.priceUpsell.outputs.grandTotal