{
  "swagger": "2.0",
  "info": {
    "version": "2.2.0",
    "title": "Flight Offers Search",
    "x-tags": [
      "#online-retail",
      "#mobile-services",
      "#ama-for-dev"
    ],
    "x-status": "validated",
    "x-release-note": {
      "2.2.0": [
        "Add maxPrice filtering"
      ],
      "2.1.0": [
        "Add currencies, aircraft and carriers dictionary"
      ],
      "2.0.0": [
        "Initial Version",
        "Includes search and price flight offer"
      ]
    },
    "description": "\nBefore using this API, we recommend you read our **[Authorization Guide](https://developers.amadeus.com/self-service/apis-docs/guides/authorization)** for more information on how to generate an access token. \n\nPlease also be aware that our test environment is based on a subset of the production, if you are not returning any results try with big cities/airports like LON (London) or NYC (New-York)."
  },
  "host": "test.api.amadeus.com",
  "basePath": "/v2",
  "schemes": [
    "https"
  ],
  "consumes": [
    "application/vnd.amadeus+json"
  ],
  "produces": [
    "application/vnd.amadeus+json"
  ],
  "paths": {
    "/shopping/flight-offers": {
      "post": {
        "tags": [
          "Shopping"
        ],
        "operationId": "searchFlightOffers",
        "summary": "Return list of Flight Offers based on posted searching criteria.",
        "parameters": [
          {
            "$ref": "#/parameters/getOverride"
          },
          {
            "name": "getFlightOffersBody",
            "description": "list of criteria to retrieve a list of flight offers",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/GetFlightOffersQuery"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/returnAirOffers"
          },
          "400": {
            "$ref": "#/responses/400_Search"
          },
          "default": {
            "$ref": "#/responses/500"
          }
        },
        "description": ""
      },
      "get": {
        "tags": [
          "Shopping"
        ],
        "operationId": "getFlightOffers",
        "summary": "Return list of Flight Offers based on searching criteria.",
        "parameters": [
          {
            "name": "originLocationCode",
            "in": "query",
            "description": "city/airport [IATA code](http://www.iata.org/publications/Pages/code-search.aspx) from which the traveler will depart, e.g. BOS for Boston",
            "required": true,
            "type": "string",
            "pattern": "[A-Z]{3}",
            "x-example": "SYD"
          },
          {
            "name": "destinationLocationCode",
            "in": "query",
            "description": "city/airport [IATA code](http://www.iata.org/publications/Pages/code-search.aspx) to which the traveler is going, e.g. PAR for Paris",
            "required": true,
            "type": "string",
            "pattern": "[A-Z]{3}",
            "x-example": "BKK"
          },
          {
            "name": "departureDate",
            "in": "query",
            "description": "the date on which the traveler will depart from the origin to go to the destination. Dates are specified in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) YYYY-MM-DD format, e.g. 2017-12-25",
            "required": true,
            "type": "string",
            "format": "date",
            "x-example": "2021-02-01"
          },
          {
            "name": "returnDate",
            "in": "query",
            "description": "the date on which the traveler will depart from the destination to return to the origin. If this parameter is not specified, only one-way itineraries are found. If this parameter is specified, only round-trip itineraries are found. Dates are specified in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) YYYY-MM-DD format, e.g. 2018-02-28",
            "required": false,
            "type": "string",
            "format": "date"
          },
          {
            "name": "adults",
            "in": "query",
            "description": "the number of adult travelers (age 12 or older on date of departure).",
            "required": true,
            "type": "integer",
            "minimum": 1,
            "maximum": 9,
            "default": 1
          },
          {
            "name": "children",
            "in": "query",
            "description": "the number of child travelers (older than age 2 and younger than age 12 on date of departure) who will each have their own separate seat. If specified, this number should be greater than or equal to 0",
            "required": false,
            "type": "integer",
            "minimum": 0,
            "maximum": 9
          },
          {
            "name": "infants",
            "in": "query",
            "description": "the number of infant travelers (whose age is less or equal to 2 on date of departure). Infants travel on the lap of an adult traveler, and thus the number of infants must not exceed the number of adults. If specified, this number should be greater than or equal to 0",
            "required": false,
            "type": "integer",
            "minimum": 0,
            "maximum": 9
          },
          {
            "name": "travelClass",
            "in": "query",
            "description": "most of the flight time should be spent in a cabin of this quality or higher. The accepted travel class is economy, premium economy, business or first class. If no travel class is specified, the search considers any travel class",
            "required": false,
            "type": "string",
            "enum": [
              "ECONOMY",
              "PREMIUM_ECONOMY",
              "BUSINESS",
              "FIRST"
            ]
          },
          {
            "name": "includedAirlineCodes",
            "in": "query",
            "description": "This option ensures that the system will only consider these airlines. This can not be cumulated with parameter excludedAirlineCodes.\n\nAirlines are specified as [IATA airline codes](http://www.iata.org/publications/Pages/code-search.aspx) and are comma-separated, e.g. 6X,7X,8X\n",
            "required": false,
            "type": "string",
            "collectionFormat": "csv",
            "pattern": "[0-9A-Z]{2}"
          },
          {
            "name": "excludedAirlineCodes",
            "in": "query",
            "description": "This option ensures that the system will ignore these airlines. This can not be cumulated with parameter includedAirlineCodes.\n\nAirlines are specified as [IATA airline codes](http://www.iata.org/publications/Pages/code-search.aspx) and are comma-separated, e.g. 6X,7X,8X\n",
            "required": false,
            "type": "string",
            "collectionFormat": "csv",
            "pattern": "[0-9A-Z]{2}"
          },
          {
            "name": "nonStop",
            "in": "query",
            "description": "if set to true, the search will find only flights going from the origin to the destination with no stop in between",
            "required": false,
            "type": "boolean",
            "default": false
          },
          {
            "name": "currencyCode",
            "in": "query",
            "description": "the preferred currency for the flight offers. Currency is specified in the [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) format, e.g. EUR for Euro",
            "required": false,
            "type": "string",
            "pattern": "[A-Z]{3}"
          },
          {
            "name": "maxPrice",
            "in": "query",
            "description": "maximum price per traveler. By default, no limit is applied. If specified, the value should be a positive number with no decimals",
            "required": false,
            "type": "integer",
            "minimum": 1
          },
          {
            "name": "max",
            "in": "query",
            "description": "maximum number of flight offers to return. If specified, the value should be greater than or equal to 1",
            "required": false,
            "type": "integer",
            "minimum": 1,
            "default": 250
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/GETAirOffersReply"
          },
          "400": {
            "$ref": "#/responses/400_Search"
          },
          "default": {
            "$ref": "#/responses/500"
          }
        },
        "description": ""
      }
    }
  },
  "definitions": {
    "Error_400": {
      "properties": {
        "errors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Issue"
          }
        }
      },
      "required": [
        "errors"
      ],
      "example": {
        "errors": [
          {
            "status": 400,
            "code": 477,
            "title": "INVALID FORMAT",
            "detail": "invalid query parameter format",
            "source": {
              "parameter": "airport",
              "example": "CDG"
            }
          }
        ]
      }
    },
    "Error_500": {
      "properties": {
        "errors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Issue"
          }
        }
      },
      "required": [
        "errors"
      ],
      "example": {
        "errors": [
          {
            "status": 500,
            "code": 141,
            "title": "SYSTEM ERROR HAS OCCURRED"
          }
        ]
      }
    },
    "Issue": {
      "properties": {
        "status": {
          "description": "the HTTP status code applicable to this error",
          "type": "integer"
        },
        "code": {
          "description": "an application-specific error code",
          "type": "integer",
          "format": "int64"
        },
        "title": {
          "description": "a short summary of the error",
          "type": "string"
        },
        "detail": {
          "description": "explanation of the error",
          "type": "string"
        },
        "source": {
          "type": "object",
          "title": "Issue_Source",
          "description": "an object containing references to the source of the error",
          "maxProperties": 1,
          "properties": {
            "pointer": {
              "description": "a JSON Pointer [RFC6901] to the associated entity in the request document",
              "type": "string"
            },
            "parameter": {
              "description": "a string indicating which URI query parameter caused the issue",
              "type": "string"
            },
            "example": {
              "description": "a string indicating an example of the right value",
              "type": "string"
            }
          }
        }
      }
    },
    "Collection_Meta": {
      "title": "Collection_Meta",
      "properties": {
        "count": {
          "type": "integer",
          "example": 1
        },
        "oneWayCombinations": {
          "type": "array",
          "items": {
            "title": "oneWayCombinations",
            "properties": {
              "originDestinationId": {
                "type": "string"
              },
              "flightOfferIds": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "Collection_Meta_Link": {
      "title": "Collection_Meta",
      "properties": {
        "count": {
          "type": "integer",
          "example": 1
        },
        "links": {
          "title": "CollectionLinks",
          "properties": {
            "self": {
              "type": "string",
              "format": "uri",
              "example": "https://test.api.amadeus.com/v1/area/resources?..."
            },
            "next": {
              "type": "string",
              "format": "uri",
              "example": "https://test.api.amadeus.com/v1/area/resources?..."
            },
            "previous": {
              "type": "string",
              "format": "uri",
              "example": "https://test.api.amadeus.com/v1/area/resources?..."
            },
            "last": {
              "type": "string",
              "format": "uri",
              "example": "https://test.api.amadeus.com/v1/area/resources?..."
            },
            "first": {
              "type": "string",
              "format": "uri",
              "example": "https://test.api.amadeus.com/v1/area/resources?..."
            },
            "up": {
              "type": "string",
              "format": "uri",
              "example": "https://test.api.amadeus.com/v1/area/resources?..."
            }
          },
          "example": {
            "self": "https://test.api.amadeus.com/v1/area/resources?param=value"
          }
        }
      }
    },
    "LocationEntry": {
      "required": [
        "key"
      ],
      "properties": {
        "key": {
          "type": "string"
        }
      },
      "additionalProperties": {
        "$ref": "#/definitions/LocationValue"
      }
    },
    "AircraftEntry": {
      "type": "object",
      "properties": {
        "key": {
          "type": "string"
        }
      },
      "additionalProperties": {
        "description": "the manufacturer/model of aircraft",
        "type": "string"
      }
    },
    "CurrencyEntry": {
      "required": [
        "key"
      ],
      "properties": {
        "key": {
          "type": "string",
          "example": "Euro"
        }
      },
      "additionalProperties": {
        "type": "string",
        "example": "EUR"
      }
    },
    "CarrierEntry": {
      "type": "object",
      "properties": {
        "key": {
          "type": "string"
        }
      },
      "additionalProperties": {
        "description": "the carrier name",
        "type": "string"
      }
    },
    "FlightSegment": {
      "type": "object",
      "description": "defining a flight segment; including both operating and marketing details when applicable",
      "properties": {
        "departure": {
          "$ref": "#/definitions/FlightEndPoint"
        },
        "arrival": {
          "$ref": "#/definitions/FlightEndPoint"
        },
        "carrierCode": {
          "type": "string",
          "description": "providing the airline / carrier code",
          "minLength": 1,
          "maxLength": 2,
          "example": "DL"
        },
        "number": {
          "type": "string",
          "description": "the flight number as assigned by the carrier",
          "minLength": 1,
          "maxLength": 4,
          "example": "212"
        },
        "aircraft": {
          "$ref": "#/definitions/AircraftEquipment"
        },
        "operating": {
          "$ref": "#/definitions/OperatingFlight"
        },
        "duration": {
          "type": "string",
          "description": "stop duration in [ISO8601](https://en.wikipedia.org/wiki/ISO_8601) PnYnMnDTnHnMnS format, e.g. PT2H10M",
          "example": "PT2H10M"
        },
        "stops": {
          "type": "array",
          "description": "information regarding the different stops composing the flight segment. E.g. technical stop, change of gauge...",
          "items": {
            "$ref": "#/definitions/FlightStop"
          }
        }
      }
    },
    "OriginalFlightEndPoint": {
      "type": "object",
      "description": "departure or arrival information",
      "properties": {
        "iataCode": {
          "description": "[IATA airline codes](http://www.iata.org/publications/Pages/code-search.aspx)",
          "type": "string",
          "example": "JFK"
        },
        "terminal": {
          "description": "terminal name / number",
          "type": "string",
          "example": "T2"
        }
      }
    },
    "FlightEndPoint": {
      "title": "FlightEndPoint",
      "description": "departure or arrival information",
      "allOf": [
        {
          "$ref": "#/definitions/OriginalFlightEndPoint"
        },
        {
          "type": "object",
          "properties": {
            "at": {
              "description": "local date and time in [ISO8601](https://en.wikipedia.org/wiki/ISO_8601) YYYY-MM-ddThh:mm:ss format, e.g. 2017-02-10T20:40:00",
              "type": "string",
              "format": "date-time",
              "example": "2017-10-23T20:00:00"
            }
          }
        }
      ]
    },
    "OriginalFlightStop": {
      "description": "details of stops for direct or change of gauge flights",
      "type": "object",
      "properties": {
        "iataCode": {
          "description": "[IATA airline codes](http://www.iata.org/publications/Pages/code-search.aspx)",
          "type": "string",
          "example": "JFK"
        },
        "duration": {
          "type": "string",
          "description": "stop duration in [ISO8601](https://en.wikipedia.org/wiki/ISO_8601) PnYnMnDTnHnMnS format, e.g. PT2H10M",
          "example": "PT2H10M"
        }
      }
    },
    "FlightStop": {
      "title": "FlightStop",
      "description": "details of stops for direct or change of gauge flights",
      "allOf": [
        {
          "$ref": "#/definitions/OriginalFlightStop"
        },
        {
          "type": "object",
          "properties": {
            "arrivalAt": {
              "description": "arrival at the stop in [ISO8601](https://en.wikipedia.org/wiki/ISO_8601) YYYY-MM-ddThh:mm:ss format, e.g. 2017-02-10T20:40:00",
              "type": "string",
              "format": "date-time",
              "example": "2017-10-23T20:00:00"
            },
            "departureAt": {
              "description": "departure from the stop in [ISO8601](https://en.wikipedia.org/wiki/ISO_8601) YYYY-MM-ddThh:mm:ss format, e.g. 2017-02-10T20:40:00",
              "type": "string",
              "format": "date-time",
              "example": "2017-10-23T20:00:00"
            }
          }
        }
      ]
    },
    "AircraftEquipment": {
      "description": "information related to the aircraft",
      "properties": {
        "code": {
          "type": "string",
          "description": "IATA aircraft code (http://www.flugzeuginfo.net/table_accodes_iata_en.php)\n",
          "pattern": "[a-zA-Z0-9]{3}",
          "example": "318"
        }
      }
    },
    "OperatingFlight": {
      "type": "object",
      "description": "information about the operating flight",
      "properties": {
        "carrierCode": {
          "type": "string",
          "description": "providing the airline / carrier code",
          "minLength": 1,
          "maxLength": 2,
          "example": "DL"
        }
      }
    },
    "Price": {
      "properties": {
        "currency": {
          "type": "string",
          "example": "USD"
        },
        "total": {
          "description": "Total amount paid by the user",
          "type": "string",
          "example": "932.70"
        },
        "base": {
          "description": "Amount without taxes",
          "type": "string",
          "example": "632.70"
        },
        "fees": {
          "description": "List of applicable fees",
          "type": "array",
          "items": {
            "$ref": "#/definitions/Fee"
          }
        },
        "taxes": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Tax"
          }
        },
        "refundableTaxes": {
          "description": "The amount of taxes which are refundable",
          "type": "string",
          "example": "200.00"
        }
      }
    },
    "Extended_Price": {
      "type": "object",
      "title": "Price",
      "description": "price information",
      "allOf": [
        {
          "type": "object",
          "properties": {
            "margin": {
              "description": "BOOK step ONLY - The price margin percentage (plus or minus) that the booking can tolerate. When set to 0, then no price magin is tolerated.",
              "type": "string",
              "example": "1.00"
            },
            "grandTotal": {
              "description": "Total amount paid by the user (including fees and selected additional services).",
              "type": "string",
              "example": "987.00"
            },
            "billingCurrency": {
              "description": "Currency of the payment. It may be different than the requested currency",
              "type": "string",
              "example": "EUR"
            },
            "additionalServices": {
              "type": "array",
              "title": "AdditionalServices",
              "items": {
                "title": "AdditionalService",
                "type": "object",
                "properties": {
                  "amount": {
                    "type": "string",
                    "example": "332.70"
                  },
                  "type": {
                    "$ref": "#/definitions/AdditionalServiceType"
                  }
                }
              }
            }
          }
        },
        {
          "$ref": "#/definitions/Price"
        }
      ]
    },
    "Fee": {
      "description": "a fee",
      "properties": {
        "amount": {
          "type": "string",
          "example": "332.70"
        },
        "type": {
          "$ref": "#/definitions/FeeType"
        }
      }
    },
    "FeeType": {
      "type": "string",
      "description": "type of fee",
      "enum": [
        "TICKETING",
        "FORM_OF_PAYMENT",
        "SUPPLIER"
      ],
      "example": "TICKETING"
    },
    "Tax": {
      "description": "a tax",
      "type": "object",
      "properties": {
        "amount": {
          "type": "string",
          "example": "332.70"
        },
        "code": {
          "type": "string",
          "example": "MX"
        }
      }
    },
    "TravelClass": {
      "description": "quality of service offered in the cabin where the seat is located in this flight. Economy, premium economy, business or first class",
      "type": "string",
      "enum": [
        "ECONOMY",
        "PREMIUM_ECONOMY",
        "BUSINESS",
        "FIRST"
      ],
      "example": "PREMIUM_ECONOMY"
    },
    "Co2Emission": {
      "type": "object",
      "properties": {
        "weight": {
          "description": "Weight of Co2 emitted for the concerned segment",
          "type": "integer",
          "example": 90
        },
        "weightUnit": {
          "description": "Code to qualify unit as pounds or kilos",
          "type": "string",
          "example": "KG"
        },
        "cabin": {
          "$ref": "#/definitions/TravelClass"
        }
      }
    },
    "OriginDestination": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "example": 1
        },
        "originLocationCode": {
          "description": "Origin location, such as a city or an airport. Currently, only the locations defined in [IATA](http://www.iata.org/publications/Pages/code-search.aspx) are supported.",
          "type": "string",
          "example": "PAR"
        },
        "originRadius": {
          "description": "Include other possible locations around the point, located less than this distance in kilometers away. Max:300\n\nCan not be combined with \"dateWindow\" or \"timeWindow\".\n",
          "type": "number",
          "example": 200
        },
        "alternativeOriginsCodes": {
          "type": "array",
          "description": "Set of alternative origin location, such as a city or an airport. Currently, only the locations defined in [IATA](http://www.iata.org/publications/Pages/code-search.aspx) are supported.",
          "minItems": 1,
          "maxItems": 2,
          "items": {
            "title": "code",
            "type": "string"
          },
          "example": [
            "LON",
            "MUC"
          ]
        },
        "destinationLocationCode": {
          "description": "Destination location, such as a city or an airport. Currently, only the locations defined in [IATA](http://www.iata.org/publications/Pages/code-search.aspx) are supported.",
          "type": "string",
          "example": "NYC"
        },
        "destinationRadius": {
          "description": "Include other possible locations around the point, located less than this distance in kilometers away. Max:300\n\nCan not be combined with \"dateWindow\" or \"timeWindow\".\n",
          "type": "number",
          "example": 200
        },
        "alternativeDestinationsCodes": {
          "type": "array",
          "description": "Set of alternative destination location, such as a city or an airport. Currently, only the locations defined in [IATA](http://www.iata.org/publications/Pages/code-search.aspx) are supported.",
          "minItems": 1,
          "maxItems": 2,
          "items": {
            "title": "code",
            "type": "string"
          }
        },
        "departureDateTimeRange": {
          "description": "Approximate date and time of departure, specified as a local date and time range.",
          "$ref": "#/definitions/DateTimeRange"
        },
        "arrivalDateTimeRange": {
          "description": "Approximate date and time of arrival, specified as a local date and time range.",
          "$ref": "#/definitions/DateTimeRange"
        },
        "includedConnectionPoints": {
          "type": "array",
          "description": "List of included connections points. When an includedViaPoints option is specified, all FlightOffer returned must at least go via this Connecting Point. Currently, only the locations defined in IATA are supported. Used only by the AMADEUS provider",
          "minItems": 1,
          "maxItems": 2,
          "items": {
            "title": "code",
            "type": "string"
          },
          "example": [
            "MRS"
          ]
        },
        "excludedConnectionPoints": {
          "type": "array",
          "description": "List of excluded connections points. Any FlightOffer with these connections points will be present in response. Currently, only the locations defined in IATA are supported. Used only by the AMADEUS provider",
          "minItems": 1,
          "maxItems": 3,
          "items": {
            "title": "code",
            "type": "string"
          },
          "example": [
            "MRS"
          ]
        }
      }
    },
    "DateTimeRange": {
      "title": "dateTimeRange",
      "type": "object",
      "properties": {
        "date": {
          "description": "Dates are specified in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) YYYY-MM-DD format, e.g. 2018-12-25",
          "type": "string",
          "format": "date",
          "example": "2018-09-22"
        },
        "dateWindow": {
          "description": "Either 1, 2 or 3 extra days around the local date (IxD for +/- x days - Ex: I3D), Either 1 to 3 days after the local date (PxD for +x days - Ex: P3D), or 1 to 3 days before the local date (MxD for -x days - Ex: M3D)\n\nCan not be combined with \"originRadius\" or \"destinationRadius\".\n",
          "type": "string",
          "example": "I3D",
          "pattern": "^[MPI][1-3]D"
        },
        "time": {
          "description": "Local time. hh:mm:ss format, e.g 10:30:00",
          "type": "string",
          "example": "10:30:00"
        },
        "timeWindow": {
          "description": "1 to 12 hours around (both +and -) the local time. Possibly limited by the number of extra days when specified, i.e.  in some situations, it may not be used to exceed the maximum date range. [1-12]H format, e.g. 6H\n\nCan not be combined with \"originRadius\" or \"destinationRadius\".\n",
          "type": "string",
          "example": "2H",
          "pattern": "^([1-9]|10|11|12)H"
        }
      },
      "required": [
        "date"
      ]
    },
    "Traveler": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "example": 1
        },
        "travelerType": {
          "$ref": "#/definitions/TravelerType"
        },
        "associatedAdultId": {
          "type": "string",
          "description": "if type=\"HELD_INFANT\", corresponds to the adult travelers's id who will share the seat"
        }
      },
      "required": [
        "id",
        "travelerType"
      ]
    },
    "SearchCriteria": {
      "type": "object",
      "properties": {
        "excludeAllotments": {
          "description": "This option allows to exclude the isAllotment flag associated to a booking class in the search response when it exist.",
          "type": "boolean",
          "example": false
        },
        "addOneWayOffers": {
          "description": "This option allows activate the one-way combinable feature",
          "type": "boolean",
          "example": true
        },
        "maxFlightOffers": {
          "description": "Maximum number of flight offers returned (Max 250)",
          "type": "number",
          "default": 250,
          "example": 250
        },
        "maxPrice": {
          "description": "maximum price per traveler. By default, no limit is applied. If specified, the value should be a positive number with no decimals",
          "type": "integer",
          "example": 100
        },
        "allowAlternativeFareOptions": {
          "description": "This option allows to default to a standard fareOption if no offers are found for the selected fareOption.",
          "type": "boolean",
          "example": true
        },
        "oneFlightOfferPerDay": {
          "description": "Requests the system to find at least one flight-offer per day, if possible, when a range of dates is specified. Default is false.",
          "type": "boolean",
          "example": true
        },
        "additionalInformation": {
          "title": "AdditionalInformation",
          "type": "object",
          "properties": {
            "chargeableCheckedBags": {
              "description": "If true, returns the price of the first additional bag when the airline is an \"Amadeus Ancillary Services\" member.",
              "type": "boolean",
              "example": true
            },
            "brandedFares": {
              "description": "If true, returns the fare family name for each flight-offer which supports fare family",
              "type": "boolean",
              "example": true
            }
          }
        },
        "pricingOptions": {
          "$ref": "#/definitions/ExtendedPricingOptions"
        },
        "flightFilters": {
          "title": "FlightFilters",
          "type": "object",
          "properties": {
            "crossBorderAllowed": {
              "description": "Allows to search a location outside the borders when a radius around a location is specified. Default is false.",
              "type": "boolean",
              "example": false
            },
            "moreOvernightsAllowed": {
              "description": "This flag enables/disables the possibility to have more overnight flights in Low Fare Search",
              "type": "boolean",
              "example": false
            },
            "returnToDepartureAirport": {
              "description": "This option force to retrieve flight-offer with a departure and a return in the same airport",
              "type": "boolean",
              "example": false
            },
            "railSegmentAllowed": {
              "description": "This flag enable/disable filtering of rail segment (TGV AIR, RAIL ...)",
              "type": "boolean",
              "example": true
            },
            "busSegmentAllowed": {
              "description": "This flag enable/disable filtering of bus segment",
              "type": "boolean",
              "example": true
            },
            "maxFlightTime": {
              "description": "This option allows to modify the value for the Elapsed Flying Time (EFT) masterPricer option",
              "type": "number",
              "example": 200
            },
            "carrierRestrictions": {
              "title": "CarrierRestrictions",
              "description": "Restriction towards carriers.",
              "type": "object",
              "properties": {
                "blacklistedInEUAllowed": {
                  "description": "This flag enable/disable filtering of blacklisted airline by EU. The list of the banned airlines is published in the Official Journal of the European Union, where they are included as annexes A and B to the Commission Regulation. The blacklist of an airline can concern all its flights or some specific aircraft types pertaining to the airline",
                  "type": "boolean"
                },
                "excludedCarrierCodes": {
                  "description": "This option ensures that the system will only consider these airlines.",
                  "type": "array",
                  "minItems": 1,
                  "maxItems": 99,
                  "items": {
                    "type": "string"
                  }
                },
                "includedCarrierCodes": {
                  "description": "This option ensures that the system will only consider these airlines.",
                  "type": "array",
                  "minItems": 1,
                  "maxItems": 99,
                  "items": {
                    "type": "string"
                  }
                }
              }
            },
            "cabinRestrictions": {
              "title": "CabinRestrictions",
              "description": "Restriction towards cabins.",
              "type": "array",
              "minItems": 1,
              "maxItems": 6,
              "items": {
                "title": "CabinRestriction",
                "type": "object",
                "properties": {
                  "cabin": {
                    "$ref": "#/definitions/TravelClass"
                  },
                  "coverage": {
                    "$ref": "#/definitions/Coverage"
                  },
                  "originDestinationIds": {
                    "title": "originDestinationIds",
                    "description": "The list of originDestination identifiers for which the cabinRestriction applies",
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "example": [
                      1,
                      2
                    ]
                  }
                }
              }
            },
            "connectionRestriction": {
              "title": "ConnectionRestriction",
              "description": "Restriction towards number of connections.",
              "type": "object",
              "properties": {
                "maxNumberOfConnections": {
                  "description": "The maximal number of connections for each itinerary. Value can be 0, 1 or 2.",
                  "type": "number",
                  "example": 2
                },
                "airportChangeAllowed": {
                  "description": "Allow to change airport during connection",
                  "type": "boolean",
                  "example": false
                },
                "technicalStopsAllowed": {
                  "description": "This option allows the single segment to have one or more intermediate stops (technical stops).",
                  "type": "boolean",
                  "example": true
                }
              }
            }
          }
        }
      }
    },
    "FlightOffer": {
      "title": "Flight-offer",
      "type": "object",
      "required": [
        "type",
        "id"
      ],
      "properties": {
        "type": {
          "type": "string",
          "description": "the resource name",
          "example": "flight-offer"
        },
        "id": {
          "description": "Id of the flight offer",
          "type": "string",
          "example": "1"
        },
        "source": {
          "$ref": "#/definitions/FlightOfferSource"
        },
        "instantTicketingRequired": {
          "description": "If true, inform that a ticketing will be required at booking step.",
          "type": "boolean",
          "example": false
        },
        "disablePricing": {
          "description": "BOOK step ONLY - If true, allows to book a PNR without pricing. Only for the source \"GDS\"",
          "type": "boolean",
          "example": false
        },
        "nonHomogeneous": {
          "description": "If true, upon completion of the booking, this pricing solution is expected to yield multiple records (a record contains booking information confirmed and stored, typically a Passenger Name Record (PNR), in the provider GDS or system)",
          "type": "boolean",
          "example": false
        },
        "oneWay": {
          "description": "If true, the flight offer fulfills only one originDestination and has to be combined with other oneWays to complete the whole journey.",
          "type": "boolean",
          "example": false
        },
        "paymentCardRequired": {
          "description": "If true, a payment card is mandatory to book this flight offer",
          "type": "boolean",
          "example": false
        },
        "lastTicketingDate": {
          "description": "If booked on the same day as the search (with respect to timezone), this flight offer is guaranteed to be thereafter valid for ticketing until this date (included). Unspecified when it does not make sense for this flight offer (e.g. no control over ticketing once booked). YYYY-MM-DD format, e.g. 2019-06-07",
          "type": "string",
          "example": "2018-06-19T00:00:00.000Z"
        },
        "numberOfBookableSeats": {
          "description": "Number of seats bookable in a single request. Can not be higher than 9.",
          "type": "number",
          "example": 9,
          "minimum": 1,
          "maximum": 9
        },
        "itineraries": {
          "type": "array",
          "minItems": 1,
          "maxItems": 250,
          "items": {
            "title": "Itineraries",
            "type": "object",
            "properties": {
              "duration": {
                "description": "duration in [ISO8601](https://en.wikipedia.org/wiki/ISO_8601) PnYnMnDTnHnMnS format, e.g. PT2H10M for a duration of 2h10m",
                "type": "string",
                "example": "PT2H10M"
              },
              "segments": {
                "title": "Segments",
                "type": "array",
                "minItems": 1,
                "maxItems": 9,
                "items": {
                  "$ref": "#/definitions/Segment"
                }
              }
            },
            "required": [
              "segments"
            ]
          }
        },
        "price": {
          "$ref": "#/definitions/Extended_Price"
        },
        "pricingOptions": {
          "title": "PricingOptions",
          "type": "object",
          "properties": {
            "fareType": {
              "description": "type of fare of the flight-offer",
              "$ref": "#/definitions/PricingOptionsFareType"
            },
            "includedCheckedBagsOnly": {
              "type": "boolean",
              "description": "If true, returns the flight-offers with included checked bags only",
              "example": true
            },
            "refundableFare": {
              "type": "boolean",
              "description": "If true, returns the flight-offers with refundable fares only",
              "example": true
            },
            "noRestrictionFare": {
              "type": "boolean",
              "description": "If true, returns the flight-offers with no restriction fares only",
              "example": true
            },
            "noPenaltyFare": {
              "type": "boolean",
              "description": "If true, returns the flight-offers with no penalty fares only",
              "example": true
            }
          }
        },
        "validatingAirlineCodes": {
          "description": "This option ensures that the system will only consider these airlines.",
          "type": "array",
          "minItems": 1,
          "maxItems": 9,
          "items": {
            "type": "string"
          },
          "example": [
            "AF"
          ]
        },
        "travelerPricings": {
          "title": "TravelerPricings",
          "description": "Fare information for each traveler/segment",
          "type": "array",
          "minItems": 1,
          "maxItems": 18,
          "items": {
            "title": "TravelerPricing",
            "required": [
              "travelerId",
              "fareOption",
              "travelerType",
              "fareDetailsBySegment"
            ],
            "properties": {
              "travelerId": {
                "type": "string",
                "example": "1",
                "description": "Id of the traveler"
              },
              "fareOption": {
                "$ref": "#/definitions/TravelerPricingFareOption"
              },
              "travelerType": {
                "$ref": "#/definitions/TravelerType"
              },
              "associatedAdultId": {
                "type": "string",
                "description": "if type=\"HELD_INFANT\", corresponds to the adult traveler's id who will share the seat"
              },
              "price": {
                "description": "price detail of the traveler",
                "$ref": "#/definitions/Price"
              },
              "fareDetailsBySegment": {
                "type": "array",
                "minItems": 1,
                "maxItems": 18,
                "items": {
                  "title": "FareDetailsBySegment",
                  "description": "Fare details of the segment",
                  "required": [
                    "segmentId"
                  ],
                  "properties": {
                    "segmentId": {
                      "type": "string",
                      "example": "1",
                      "description": "Id of the segment"
                    },
                    "cabin": {
                      "$ref": "#/definitions/TravelClass"
                    },
                    "fareBasis": {
                      "description": "Fare basis specifying the rules of a fare. Usually, though not always, is composed of the booking class code followed by a set of letters and digits representing other characteristics of the ticket, such as refundability, minimum stay requirements, discounts or special promotional elements.",
                      "type": "string",
                      "example": "ANNNNF4K",
                      "pattern": "[[A-Z0-9]{1,18}"
                    },
                    "brandedFare": {
                      "description": "The name of the Fare Family corresponding to the fares. Only for the GDS provider and if the airline has fare families filled",
                      "type": "string",
                      "example": "LIGHTONE"
                    },
                    "class": {
                      "description": "The code of the booking class, a.k.a. class of service or Reservations/Booking Designator (RBD)",
                      "type": "string",
                      "example": "A",
                      "pattern": "[A-Z]{1}"
                    },
                    "isAllotment": {
                      "description": "True if the corresponding booking class is in an allotment",
                      "type": "boolean",
                      "example": true
                    },
                    "allotmentDetails": {
                      "title": "AllotmentDetails",
                      "type": "object",
                      "properties": {
                        "tourName": {
                          "type": "string"
                        },
                        "tourReference": {
                          "type": "string"
                        }
                      }
                    },
                    "sliceDiceIndicator": {
                      "$ref": "#/definitions/SliceDiceIndicator"
                    },
                    "includedCheckedBags": {
                      "title": "includedCheckedBags",
                      "$ref": "#/definitions/BaggageAllowance",
                      "description": "Details of the included checked bags"
                    },
                    "additionalServices": {
                      "type": "object",
                      "title": "AdditionalServicesRequest",
                      "properties": {
                        "chargeableCheckedBags": {
                          "title": "chargeableCheckedBags",
                          "$ref": "#/definitions/BaggageAllowance",
                          "description": "Details of chargeable checked bags"
                        },
                        "chargeableSeatNumber": {
                          "type": "string",
                          "description": "seat number",
                          "example": "33D",
                          "pattern": "[1-9][0-9]{0,2}[A-Z]?"
                        },
                        "otherServices": {
                          "type": "array",
                          "description": "Other services to add",
                          "items": {
                            "$ref": "#/definitions/ServiceName"
                          },
                          "example": [
                            "PRIORITY_BOARDING"
                          ]
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "Segment": {
      "allOf": [
        {
          "type": "object",
          "properties": {
            "id": {
              "description": "Id of the segment",
              "type": "string",
              "example": 1
            },
            "numberOfStops": {
              "description": "Number of stops",
              "type": "integer",
              "example": 0
            },
            "blacklistedInEU": {
              "description": "When the flight has a marketing or/and operating airline that is identified as blacklisted by the European Commission. \n\nTo improve travel safety, the European Commission regularly updates the list of the banned carriers from operating in Europe. It allows any Travel Agency located in the European Union to easily identify and hide any travel recommendation based on some unsafe airlines. \nThe [list of the banned airlines](https://ec.europa.eu/transport/sites/transport/files/air-safety-list_en.pdf) is published in the Official Journal of the European Union, where they are included as annexes A and B to the Commission Regulation. The blacklist of an airline can concern all its flights or some specific aircraft types pertaining to the airline   \n",
              "type": "boolean",
              "example": false
            },
            "co2Emissions": {
              "description": "Co2 informations",
              "type": "array",
              "minItems": 1,
              "items": {
                "title": "Co2Emission",
                "$ref": "#/definitions/Co2Emission"
              }
            }
          }
        },
        {
          "$ref": "#/definitions/FlightSegment"
        }
      ]
    },
    "TravelerType": {
      "type": "string",
      "description": "traveler type\nage restrictions : CHILD < 12y, HELD_INFANT < 2y, SEATED_INFANT < 2y, SENIOR >=60y\n",
      "enum": [
        "ADULT",
        "CHILD",
        "SENIOR",
        "YOUNG",
        "HELD_INFANT",
        "SEATED_INFANT",
        "STUDENT"
      ],
      "example": "ADULT"
    },
    "ExtendedPricingOptions": {
      "title": "pricingOptions",
      "description": "fare filter options",
      "type": "object",
      "properties": {
        "includedCheckedBagsOnly": {
          "type": "boolean",
          "description": "If true, returns the flight-offers with included checked bags only",
          "example": true
        }
      }
    },
    "Coverage": {
      "description": "part of the trip covered by the travel class restriction (ALL_SEGMENTS if ommited)",
      "type": "string",
      "enum": [
        "MOST_SEGMENTS",
        "AT_LEAST_ONE_SEGMENT",
        "ALL_SEGMENTS"
      ],
      "example": "MOST_SEGMENTS"
    },
    "AdditionalServiceType": {
      "type": "string",
      "description": "additional service type",
      "enum": [
        "CHECKED_BAGS",
        "MEALS",
        "SEATS",
        "OTHER_SERVICES"
      ],
      "example": "CHECKED_BAGS"
    },
    "FlightOfferSource": {
      "description": "source of the flight offer",
      "type": "string",
      "enum": [
        "GDS"
      ],
      "example": "GDS"
    },
    "PricingOptionsFareType": {
      "type": "array",
      "description": "type of fare of the flight-offer",
      "items": {
        "type": "string",
        "enum": [
          "PUBLISHED",
          "NEGOTIATED",
          "CORPORATE"
        ]
      },
      "example": [
        "PUBLISHED"
      ]
    },
    "TravelerPricingFareOption": {
      "description": "option specifying a group of fares, which may be valid under certain conditons\nCan be used to specify special fare discount for a passenger\n",
      "type": "string",
      "enum": [
        "STANDARD",
        "INCLUSIVE_TOUR",
        "SPANISH_MELILLA_RESIDENT",
        "SPANISH_CEUTA_RESIDENT",
        "SPANISH_CANARY_RESIDENT",
        "SPANISH_BALEARIC_RESIDENT",
        "AIR_FRANCE_METROPOLITAN_DISCOUNT_PASS",
        "AIR_FRANCE_DOM_DISCOUNT_PASS",
        "AIR_FRANCE_COMBINED_DISCOUNT_PASS",
        "AIR_FRANCE_FAMILY",
        "ADULT_WITH_COMPANION",
        "COMPANION"
      ],
      "example": "STANDARD"
    },
    "SliceDiceIndicator": {
      "description": "slice and Dice indicator, such as Local Availability, Sub OnD(Origin and Destination) 1 Availability and Sub OnD 2 Availability",
      "type": "string",
      "enum": [
        "LOCAL_AVAILABILITY",
        "SUB_OD_AVAILABILITY_1",
        "SUB_OD_AVAILABILITY_2"
      ]
    },
    "Dictionaries": {
      "type": "object",
      "properties": {
        "locations": {
          "$ref": "#/definitions/LocationEntry"
        },
        "aircraft": {
          "$ref": "#/definitions/AircraftEntry"
        },
        "currencies": {
          "$ref": "#/definitions/CurrencyEntry"
        },
        "carriers": {
          "$ref": "#/definitions/CarrierEntry"
        }
      }
    },
    "LocationValue": {
      "properties": {
        "cityCode": {
          "type": "string",
          "description": "City code associated to the airport",
          "example": "PAR"
        },
        "countryCode": {
          "type": "string",
          "description": "Country code of the airport",
          "example": "FR"
        }
      }
    },
    "GetFlightOffersQuery": {
      "title": "getFlightOffersQuery",
      "required": [
        "originDestinations",
        "travelers",
        "sources"
      ],
      "properties": {
        "currencyCode": {
          "type": "string",
          "description": "The currency code, as defined in [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217), to reflect the currency in which this amount is expressed.",
          "example": "EUR"
        },
        "originDestinations": {
          "title": "originDestinations",
          "description": "Origins and Destinations must be properly ordered in time (chronological order in accordance with the timezone of each location) to describe the journey consistently. Dates and times must not be past nor more than 365 days in the future, according to provider settings.Number of Origins and Destinations must not exceed the limit defined in provider settings.",
          "type": "array",
          "minItems": 1,
          "maxItems": 6,
          "items": {
            "$ref": "#/definitions/OriginDestination"
          }
        },
        "travelers": {
          "title": "travelers",
          "type": "array",
          "minItems": 1,
          "maxItems": 18,
          "items": {
            "$ref": "#/definitions/Traveler"
          }
        },
        "sources": {
          "title": "sources",
          "description": "Allows enable one or more sources. If present in the list, these sources will be called by the system.",
          "type": "array",
          "minItems": 1,
          "items": {
            "$ref": "#/definitions/FlightOfferSource"
          }
        },
        "searchCriteria": {
          "$ref": "#/definitions/SearchCriteria"
        }
      },
      "example": {
        "currencyCode": "USD",
        "originDestinations": [
          {
            "id": "1",
            "originLocationCode": "RIO",
            "destinationLocationCode": "MAD",
            "departureDateTimeRange": {
              "date": "2020-08-01",
              "time": "10:00:00"
            }
          },
          {
            "id": "2",
            "originLocationCode": "MAD",
            "destinationLocationCode": "RIO",
            "departureDateTimeRange": {
              "date": "2020-08-05",
              "time": "17:00:00"
            }
          }
        ],
        "travelers": [
          {
            "id": "1",
            "travelerType": "ADULT"
          },
          {
            "id": "2",
            "travelerType": "CHILD"
          }
        ],
        "sources": [
          "GDS"
        ],
        "searchCriteria": {
          "maxFlightOffers": 2,
          "flightFilters": {
            "cabinRestrictions": [
              {
                "cabin": "BUSINESS",
                "coverage": "MOST_SEGMENTS",
                "originDestinationIds": [
                  "1"
                ]
              }
            ],
            "carrierRestrictions": {
              "excludedCarrierCodes": [
                "AA",
                "TP",
                "AZ"
              ]
            }
          }
        }
      }
    },
    "ServiceName": {
      "description": "type of service",
      "type": "string",
      "enum": [
        "PRIORITY_BOARDING",
        "AIRPORT_CHECKIN"
      ],
      "example": "PRIORITY_BOARDING"
    },
    "BaggageAllowance": {
      "description": "baggageAllowance",
      "type": "object",
      "properties": {
        "quantity": {
          "type": "integer",
          "description": "Total number of units",
          "example": 1
        },
        "weight": {
          "type": "integer",
          "description": "Weight of the baggage allowance",
          "example": 20
        },
        "weightUnit": {
          "type": "string",
          "description": "Code to qualify unit as pounds or kilos",
          "example": "KG"
        }
      }
    }
  },
  "responses": {
    "500": {
      "description": "Unexpected error",
      "schema": {
        "$ref": "#/definitions/Error_500"
      }
    },
    "returnAirOffers": {
      "description": "Successful Operation",
      "schema": {
        "title": "Success",
        "required": [
          "data"
        ],
        "properties": {
          "warnings": {
            "type": "array",
            "items": {
              "$ref": "#/definitions/Issue"
            }
          },
          "meta": {
            "$ref": "#/definitions/Collection_Meta"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/definitions/FlightOffer"
            }
          },
          "dictionaries": {
            "$ref": "#/definitions/Dictionaries"
          }
        },
        "example": {
          "meta": {
            "count": 2
          },
          "data": [
            {
              "type": "flight-offer",
              "id": "1",
              "source": "GDS",
              "instantTicketingRequired": false,
              "nonHomogeneous": false,
              "oneWay": false,
              "lastTicketingDate": "2020-01-16",
              "numberOfBookableSeats": 7,
              "itineraries": [
                {
                  "duration": "PT15H55M",
                  "segments": [
                    {
                      "departure": {
                        "iataCode": "GIG",
                        "terminal": "2",
                        "at": "2020-08-01T21:50:00"
                      },
                      "arrival": {
                        "iataCode": "LHR",
                        "terminal": "5",
                        "at": "2020-08-02T13:10:00"
                      },
                      "carrierCode": "BA",
                      "number": "248",
                      "aircraft": {
                        "code": "788"
                      },
                      "operating": {
                        "carrierCode": "BA"
                      },
                      "duration": "PT11H20M",
                      "id": "1",
                      "numberOfStops": 0,
                      "blacklistedInEU": false
                    },
                    {
                      "departure": {
                        "iataCode": "LHR",
                        "terminal": "5",
                        "at": "2020-08-02T15:15:00"
                      },
                      "arrival": {
                        "iataCode": "MAD",
                        "terminal": "4S",
                        "at": "2020-08-02T18:45:00"
                      },
                      "carrierCode": "BA",
                      "number": "462",
                      "aircraft": {
                        "code": "321"
                      },
                      "operating": {
                        "carrierCode": "BA"
                      },
                      "duration": "PT2H30M",
                      "id": "2",
                      "numberOfStops": 0,
                      "blacklistedInEU": false
                    }
                  ]
                },
                {
                  "duration": "PT13H35M",
                  "segments": [
                    {
                      "departure": {
                        "iataCode": "MAD",
                        "terminal": "4S",
                        "at": "2020-08-05T23:55:00"
                      },
                      "arrival": {
                        "iataCode": "GRU",
                        "terminal": "3",
                        "at": "2020-08-06T05:40:00"
                      },
                      "carrierCode": "IB",
                      "number": "6827",
                      "aircraft": {
                        "code": "346"
                      },
                      "operating": {
                        "carrierCode": "IB"
                      },
                      "duration": "PT10H45M",
                      "id": "5",
                      "numberOfStops": 0,
                      "blacklistedInEU": false
                    },
                    {
                      "departure": {
                        "iataCode": "GRU",
                        "terminal": "2",
                        "at": "2020-08-06T07:30:00"
                      },
                      "arrival": {
                        "iataCode": "GIG",
                        "terminal": "2",
                        "at": "2020-08-06T08:30:00"
                      },
                      "carrierCode": "LA",
                      "number": "4508",
                      "aircraft": {
                        "code": "320"
                      },
                      "duration": "PT1H",
                      "id": "6",
                      "numberOfStops": 0,
                      "blacklistedInEU": false
                    }
                  ]
                }
              ],
              "price": {
                "currency": "USD",
                "total": "3842.10",
                "base": "3661.00",
                "fees": [
                  {
                    "amount": "0.00",
                    "type": "SUPPLIER"
                  },
                  {
                    "amount": "0.00",
                    "type": "TICKETING"
                  }
                ],
                "grandTotal": "3842.10"
              },
              "pricingOptions": {
                "fareType": [
                  "PUBLISHED"
                ],
                "includedCheckedBagsOnly": false
              },
              "validatingAirlineCodes": [
                "BA"
              ],
              "travelerPricings": [
                {
                  "travelerId": "1",
                  "fareOption": "STANDARD",
                  "travelerType": "ADULT",
                  "price": {
                    "currency": "USD",
                    "total": "2178.55",
                    "base": "2088.00"
                  },
                  "fareDetailsBySegment": [
                    {
                      "segmentId": "1",
                      "cabin": "BUSINESS",
                      "fareBasis": "RNNZ60S3",
                      "brandedFare": "BUSINESS",
                      "class": "R",
                      "includedCheckedBags": {
                        "quantity": 2
                      }
                    },
                    {
                      "segmentId": "2",
                      "cabin": "BUSINESS",
                      "fareBasis": "RNNZ60S3",
                      "brandedFare": "BUSINESS",
                      "class": "J",
                      "includedCheckedBags": {
                        "quantity": 2
                      }
                    },
                    {
                      "segmentId": "5",
                      "cabin": "ECONOMY",
                      "fareBasis": "VDH0NNM3",
                      "brandedFare": "BAGSEAT",
                      "class": "V",
                      "includedCheckedBags": {
                        "quantity": 1
                      }
                    },
                    {
                      "segmentId": "6",
                      "cabin": "ECONOMY",
                      "fareBasis": "VDH0NNM3",
                      "brandedFare": "BAGSEAT",
                      "class": "V",
                      "includedCheckedBags": {
                        "quantity": 1
                      }
                    }
                  ]
                },
                {
                  "travelerId": "2",
                  "fareOption": "STANDARD",
                  "travelerType": "CHILD",
                  "price": {
                    "currency": "USD",
                    "total": "1663.55",
                    "base": "1573.00"
                  },
                  "fareDetailsBySegment": [
                    {
                      "segmentId": "1",
                      "cabin": "BUSINESS",
                      "fareBasis": "RNNZ60S3",
                      "brandedFare": "BUSINESS",
                      "class": "R"
                    },
                    {
                      "segmentId": "2",
                      "cabin": "BUSINESS",
                      "fareBasis": "RNNZ60S3",
                      "brandedFare": "BUSINESS",
                      "class": "J"
                    },
                    {
                      "segmentId": "5",
                      "cabin": "ECONOMY",
                      "fareBasis": "VDH0NNM3",
                      "brandedFare": "BAGSEAT",
                      "class": "V"
                    },
                    {
                      "segmentId": "6",
                      "cabin": "ECONOMY",
                      "fareBasis": "VDH0NNM3",
                      "brandedFare": "BAGSEAT",
                      "class": "V"
                    }
                  ]
                }
              ]
            },
            {
              "type": "flight-offer",
              "id": "2",
              "source": "GDS",
              "instantTicketingRequired": false,
              "nonHomogeneous": false,
              "oneWay": false,
              "lastTicketingDate": "2020-01-16",
              "numberOfBookableSeats": 7,
              "itineraries": [
                {
                  "duration": "PT15H55M",
                  "segments": [
                    {
                      "departure": {
                        "iataCode": "GIG",
                        "terminal": "2",
                        "at": "2020-08-01T21:50:00"
                      },
                      "arrival": {
                        "iataCode": "LHR",
                        "terminal": "5",
                        "at": "2020-08-02T13:10:00"
                      },
                      "carrierCode": "BA",
                      "number": "248",
                      "aircraft": {
                        "code": "788"
                      },
                      "operating": {
                        "carrierCode": "BA"
                      },
                      "duration": "PT11H20M",
                      "id": "1",
                      "numberOfStops": 0,
                      "blacklistedInEU": false
                    },
                    {
                      "departure": {
                        "iataCode": "LHR",
                        "terminal": "5",
                        "at": "2020-08-02T15:15:00"
                      },
                      "arrival": {
                        "iataCode": "MAD",
                        "terminal": "4S",
                        "at": "2020-08-02T18:45:00"
                      },
                      "carrierCode": "BA",
                      "number": "462",
                      "aircraft": {
                        "code": "321"
                      },
                      "operating": {
                        "carrierCode": "BA"
                      },
                      "duration": "PT2H30M",
                      "id": "2",
                      "numberOfStops": 0,
                      "blacklistedInEU": false
                    }
                  ]
                },
                {
                  "duration": "PT19H5M",
                  "segments": [
                    {
                      "departure": {
                        "iataCode": "MAD",
                        "terminal": "4S",
                        "at": "2020-08-05T23:55:00"
                      },
                      "arrival": {
                        "iataCode": "GRU",
                        "terminal": "3",
                        "at": "2020-08-06T05:40:00"
                      },
                      "carrierCode": "IB",
                      "number": "6827",
                      "aircraft": {
                        "code": "346"
                      },
                      "operating": {
                        "carrierCode": "IB"
                      },
                      "duration": "PT10H45M",
                      "id": "3",
                      "numberOfStops": 0,
                      "blacklistedInEU": false
                    },
                    {
                      "departure": {
                        "iataCode": "GRU",
                        "terminal": "2",
                        "at": "2020-08-06T13:00:00"
                      },
                      "arrival": {
                        "iataCode": "GIG",
                        "terminal": "2",
                        "at": "2020-08-06T14:00:00"
                      },
                      "carrierCode": "LA",
                      "number": "4537",
                      "aircraft": {
                        "code": "321"
                      },
                      "duration": "PT1H",
                      "id": "4",
                      "numberOfStops": 0,
                      "blacklistedInEU": false
                    }
                  ]
                }
              ],
              "price": {
                "currency": "USD",
                "total": "3842.10",
                "base": "3661.00",
                "fees": [
                  {
                    "amount": "0.00",
                    "type": "SUPPLIER"
                  },
                  {
                    "amount": "0.00",
                    "type": "TICKETING"
                  }
                ],
                "grandTotal": "3842.10"
              },
              "pricingOptions": {
                "fareType": [
                  "PUBLISHED"
                ],
                "includedCheckedBagsOnly": false
              },
              "validatingAirlineCodes": [
                "BA"
              ],
              "travelerPricings": [
                {
                  "travelerId": "1",
                  "fareOption": "STANDARD",
                  "travelerType": "ADULT",
                  "price": {
                    "currency": "USD",
                    "total": "2178.55",
                    "base": "2088.00"
                  },
                  "fareDetailsBySegment": [
                    {
                      "segmentId": "1",
                      "cabin": "BUSINESS",
                      "fareBasis": "RNNZ60S3",
                      "brandedFare": "BUSINESS",
                      "class": "R",
                      "includedCheckedBags": {
                        "quantity": 2
                      }
                    },
                    {
                      "segmentId": "2",
                      "cabin": "BUSINESS",
                      "fareBasis": "RNNZ60S3",
                      "brandedFare": "BUSINESS",
                      "class": "J",
                      "includedCheckedBags": {
                        "quantity": 2
                      }
                    },
                    {
                      "segmentId": "3",
                      "cabin": "ECONOMY",
                      "fareBasis": "VDH0NNM3",
                      "brandedFare": "BAGSEAT",
                      "class": "V",
                      "includedCheckedBags": {
                        "quantity": 1
                      }
                    },
                    {
                      "segmentId": "4",
                      "cabin": "ECONOMY",
                      "fareBasis": "VDH0NNM3",
                      "brandedFare": "BAGSEAT",
                      "class": "V",
                      "includedCheckedBags": {
                        "quantity": 1
                      }
                    }
                  ]
                },
                {
                  "travelerId": "2",
                  "fareOption": "STANDARD",
                  "travelerType": "CHILD",
                  "price": {
                    "currency": "USD",
                    "total": "1663.55",
                    "base": "1573.00"
                  },
                  "fareDetailsBySegment": [
                    {
                      "segmentId": "1",
                      "cabin": "BUSINESS",
                      "fareBasis": "RNNZ60S3",
                      "brandedFare": "BUSINESS",
                      "class": "R"
                    },
                    {
                      "segmentId": "2",
                      "cabin": "BUSINESS",
                      "fareBasis": "RNNZ60S3",
                      "brandedFare": "BUSINESS",
                      "class": "J"
                    },
                    {
                      "segmentId": "3",
                      "cabin": "ECONOMY",
                      "fareBasis": "VDH0NNM3",
                      "brandedFare": "BAGSEAT",
                      "class": "V"
                    },
                    {
                      "segmentId": "4",
                      "cabin": "ECONOMY",
                      "fareBasis": "VDH0NNM3",
                      "brandedFare": "BAGSEAT",
                      "class": "V"
                    }
                  ]
                }
              ]
            }
          ],
          "dictionaries": {
            "locations": {
              "MAD": {
                "cityCode": "MAD",
                "countryCode": "ES"
              },
              "GIG": {
                "cityCode": "RIO",
                "countryCode": "BR"
              },
              "LHR": {
                "cityCode": "LON",
                "countryCode": "GB"
              },
              "GRU": {
                "cityCode": "SAO",
                "countryCode": "BR"
              }
            },
            "aircraft": {
              "320": "AIRBUS INDUSTRIE A320-100/200",
              "321": "AIRBUS INDUSTRIE A321",
              "346": "AIRBUS INDUSTRIE A340-600",
              "788": "BOEING 787-8"
            },
            "currencies": {
              "USD": "US DOLLAR"
            },
            "carriers": {
              "LA": "LATAM AIRLINES GROUP",
              "IB": "IBERIA",
              "BA": "BRITISH AIRWAYS"
            }
          }
        }
      }
    },
    "GETAirOffersReply": {
      "description": "Successful Operation",
      "schema": {
        "title": "Success",
        "required": [
          "data"
        ],
        "properties": {
          "warnings": {
            "type": "array",
            "items": {
              "$ref": "#/definitions/Issue"
            }
          },
          "meta": {
            "$ref": "#/definitions/Collection_Meta_Link"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/definitions/FlightOffer"
            }
          },
          "dictionaries": {
            "$ref": "#/definitions/Dictionaries"
          }
        },
        "example": {
          "meta": {
            "count": 3,
            "links": {
              "self": "https://test.api.amadeus.com/v2/shopping/flight-offers?originLocationCode=SYD&destinationLocationCode=BKK&departureDate=2021-02-01&returnDate=2021-02-05&adults=1&max=3"
            }
          },
          "data": [
            {
              "type": "flight-offer",
              "id": "1",
              "source": "GDS",
              "instantTicketingRequired": false,
              "nonHomogeneous": false,
              "oneWay": false,
              "lastTicketingDate": "2020-08-04",
              "numberOfBookableSeats": 9,
              "itineraries": [
                {
                  "duration": "PT32H15M",
                  "segments": [
                    {
                      "departure": {
                        "iataCode": "SYD",
                        "terminal": "1",
                        "at": "2021-02-01T19:15:00"
                      },
                      "arrival": {
                        "iataCode": "SIN",
                        "terminal": "1",
                        "at": "2021-02-02T00:30:00"
                      },
                      "carrierCode": "TR",
                      "number": "13",
                      "aircraft": {
                        "code": "789"
                      },
                      "operating": {
                        "carrierCode": "TR"
                      },
                      "duration": "PT8H15M",
                      "id": "1",
                      "numberOfStops": 0,
                      "blacklistedInEU": false
                    },
                    {
                      "departure": {
                        "iataCode": "SIN",
                        "terminal": "1",
                        "at": "2021-02-02T22:05:00"
                      },
                      "arrival": {
                        "iataCode": "DMK",
                        "terminal": "1",
                        "at": "2021-02-02T23:30:00"
                      },
                      "carrierCode": "TR",
                      "number": "868",
                      "aircraft": {
                        "code": "788"
                      },
                      "operating": {
                        "carrierCode": "TR"
                      },
                      "duration": "PT2H25M",
                      "id": "2",
                      "numberOfStops": 0,
                      "blacklistedInEU": false
                    }
                  ]
                },
                {
                  "duration": "PT15H",
                  "segments": [
                    {
                      "departure": {
                        "iataCode": "DMK",
                        "terminal": "1",
                        "at": "2021-02-05T23:15:00"
                      },
                      "arrival": {
                        "iataCode": "SIN",
                        "terminal": "1",
                        "at": "2021-02-06T02:50:00"
                      },
                      "carrierCode": "TR",
                      "number": "867",
                      "aircraft": {
                        "code": "788"
                      },
                      "operating": {
                        "carrierCode": "TR"
                      },
                      "duration": "PT2H35M",
                      "id": "5",
                      "numberOfStops": 0,
                      "blacklistedInEU": false
                    },
                    {
                      "departure": {
                        "iataCode": "SIN",
                        "terminal": "1",
                        "at": "2021-02-06T06:55:00"
                      },
                      "arrival": {
                        "iataCode": "SYD",
                        "terminal": "1",
                        "at": "2021-02-06T18:15:00"
                      },
                      "carrierCode": "TR",
                      "number": "12",
                      "aircraft": {
                        "code": "789"
                      },
                      "operating": {
                        "carrierCode": "TR"
                      },
                      "duration": "PT8H20M",
                      "id": "6",
                      "numberOfStops": 0,
                      "blacklistedInEU": false
                    }
                  ]
                }
              ],
              "price": {
                "currency": "EUR",
                "total": "546.70",
                "base": "334.00",
                "fees": [
                  {
                    "amount": "0.00",
                    "type": "SUPPLIER"
                  },
                  {
                    "amount": "0.00",
                    "type": "TICKETING"
                  }
                ],
                "grandTotal": "546.70"
              },
              "pricingOptions": {
                "fareType": [
                  "PUBLISHED"
                ],
                "includedCheckedBagsOnly": true
              },
              "validatingAirlineCodes": [
                "HR"
              ],
              "travelerPricings": [
                {
                  "travelerId": "1",
                  "fareOption": "STANDARD",
                  "travelerType": "ADULT",
                  "price": {
                    "currency": "EUR",
                    "total": "546.70",
                    "base": "334.00"
                  },
                  "fareDetailsBySegment": [
                    {
                      "segmentId": "1",
                      "cabin": "ECONOMY",
                      "fareBasis": "O2TR24",
                      "class": "O",
                      "includedCheckedBags": {
                        "weight": 20,
                        "weightUnit": "KG"
                      }
                    },
                    {
                      "segmentId": "2",
                      "cabin": "ECONOMY",
                      "fareBasis": "O2TR24",
                      "class": "O",
                      "includedCheckedBags": {
                        "weight": 20,
                        "weightUnit": "KG"
                      }
                    },
                    {
                      "segmentId": "5",
                      "cabin": "ECONOMY",
                      "fareBasis": "X2TR24",
                      "class": "X",
                      "includedCheckedBags": {
                        "weight": 20,
                        "weightUnit": "KG"
                      }
                    },
                    {
                      "segmentId": "6",
                      "cabin": "ECONOMY",
                      "fareBasis": "H2TR24",
                      "class": "H",
                      "includedCheckedBags": {
                        "weight": 20,
                        "weightUnit": "KG"
                      }
                    }
                  ]
                }
              ]
            },
            {
              "type": "flight-offer",
              "id": "2",
              "source": "GDS",
              "instantTicketingRequired": false,
              "nonHomogeneous": false,
              "oneWay": false,
              "lastTicketingDate": "2020-08-04",
              "numberOfBookableSeats": 9,
              "itineraries": [
                {
                  "duration": "PT32H15M",
                  "segments": [
                    {
                      "departure": {
                        "iataCode": "SYD",
                        "terminal": "1",
                        "at": "2021-02-01T19:15:00"
                      },
                      "arrival": {
                        "iataCode": "SIN",
                        "terminal": "1",
                        "at": "2021-02-02T00:30:00"
                      },
                      "carrierCode": "TR",
                      "number": "13",
                      "aircraft": {
                        "code": "789"
                      },
                      "operating": {
                        "carrierCode": "TR"
                      },
                      "duration": "PT8H15M",
                      "id": "1",
                      "numberOfStops": 0,
                      "blacklistedInEU": false
                    },
                    {
                      "departure": {
                        "iataCode": "SIN",
                        "terminal": "1",
                        "at": "2021-02-02T22:05:00"
                      },
                      "arrival": {
                        "iataCode": "DMK",
                        "terminal": "1",
                        "at": "2021-02-02T23:30:00"
                      },
                      "carrierCode": "TR",
                      "number": "868",
                      "aircraft": {
                        "code": "788"
                      },
                      "operating": {
                        "carrierCode": "TR"
                      },
                      "duration": "PT2H25M",
                      "id": "2",
                      "numberOfStops": 0,
                      "blacklistedInEU": false
                    }
                  ]
                },
                {
                  "duration": "PT16H35M",
                  "segments": [
                    {
                      "departure": {
                        "iataCode": "DMK",
                        "terminal": "1",
                        "at": "2021-02-05T16:25:00"
                      },
                      "arrival": {
                        "iataCode": "SIN",
                        "terminal": "1",
                        "at": "2021-02-05T20:00:00"
                      },
                      "carrierCode": "TR",
                      "number": "869",
                      "aircraft": {
                        "code": "788"
                      },
                      "operating": {
                        "carrierCode": "TR"
                      },
                      "duration": "PT2H35M",
                      "id": "7",
                      "numberOfStops": 0,
                      "blacklistedInEU": false
                    },
                    {
                      "departure": {
                        "iataCode": "SIN",
                        "terminal": "1",
                        "at": "2021-02-06T02:00:00"
                      },
                      "arrival": {
                        "iataCode": "SYD",
                        "terminal": "1",
                        "at": "2021-02-06T13:00:00"
                      },
                      "carrierCode": "TR",
                      "number": "2",
                      "aircraft": {
                        "code": "788"
                      },
                      "operating": {
                        "carrierCode": "TR"
                      },
                      "duration": "PT8H",
                      "id": "8",
                      "numberOfStops": 0,
                      "blacklistedInEU": false
                    }
                  ]
                }
              ],
              "price": {
                "currency": "EUR",
                "total": "546.70",
                "base": "334.00",
                "fees": [
                  {
                    "amount": "0.00",
                    "type": "SUPPLIER"
                  },
                  {
                    "amount": "0.00",
                    "type": "TICKETING"
                  }
                ],
                "grandTotal": "546.70"
              },
              "pricingOptions": {
                "fareType": [
                  "PUBLISHED"
                ],
                "includedCheckedBagsOnly": true
              },
              "validatingAirlineCodes": [
                "HR"
              ],
              "travelerPricings": [
                {
                  "travelerId": "1",
                  "fareOption": "STANDARD",
                  "travelerType": "ADULT",
                  "price": {
                    "currency": "EUR",
                    "total": "546.70",
                    "base": "334.00"
                  },
                  "fareDetailsBySegment": [
                    {
                      "segmentId": "1",
                      "cabin": "ECONOMY",
                      "fareBasis": "O2TR24",
                      "class": "O",
                      "includedCheckedBags": {
                        "weight": 20,
                        "weightUnit": "KG"
                      }
                    },
                    {
                      "segmentId": "2",
                      "cabin": "ECONOMY",
                      "fareBasis": "O2TR24",
                      "class": "O",
                      "includedCheckedBags": {
                        "weight": 20,
                        "weightUnit": "KG"
                      }
                    },
                    {
                      "segmentId": "7",
                      "cabin": "ECONOMY",
                      "fareBasis": "X2TR24",
                      "class": "X",
                      "includedCheckedBags": {
                        "weight": 20,
                        "weightUnit": "KG"
                      }
                    },
                    {
                      "segmentId": "8",
                      "cabin": "ECONOMY",
                      "fareBasis": "H2TR24",
                      "class": "H",
                      "includedCheckedBags": {
                        "weight": 20,
                        "weightUnit": "KG"
                      }
                    }
                  ]
                }
              ]
            },
            {
              "type": "flight-offer",
              "id": "3",
              "source": "GDS",
              "instantTicketingRequired": false,
              "nonHomogeneous": false,
              "oneWay": false,
              "lastTicketingDate": "2020-08-04",
              "numberOfBookableSeats": 9,
              "itineraries": [
                {
                  "duration": "PT13H30M",
                  "segments": [
                    {
                      "departure": {
                        "iataCode": "SYD",
                        "terminal": "1",
                        "at": "2021-02-01T14:00:00"
                      },
                      "arrival": {
                        "iataCode": "SIN",
                        "terminal": "1",
                        "at": "2021-02-01T19:15:00"
                      },
                      "carrierCode": "TR",
                      "number": "3",
                      "aircraft": {
                        "code": "788"
                      },
                      "operating": {
                        "carrierCode": "TR"
                      },
                      "duration": "PT8H15M",
                      "id": "3",
                      "numberOfStops": 0,
                      "blacklistedInEU": false
                    },
                    {
                      "departure": {
                        "iataCode": "SIN",
                        "terminal": "1",
                        "at": "2021-02-01T22:05:00"
                      },
                      "arrival": {
                        "iataCode": "DMK",
                        "terminal": "1",
                        "at": "2021-02-01T23:30:00"
                      },
                      "carrierCode": "TR",
                      "number": "868",
                      "aircraft": {
                        "code": "788"
                      },
                      "operating": {
                        "carrierCode": "TR"
                      },
                      "duration": "PT2H25M",
                      "id": "4",
                      "numberOfStops": 0,
                      "blacklistedInEU": false
                    }
                  ]
                },
                {
                  "duration": "PT15H",
                  "segments": [
                    {
                      "departure": {
                        "iataCode": "DMK",
                        "terminal": "1",
                        "at": "2021-02-05T23:15:00"
                      },
                      "arrival": {
                        "iataCode": "SIN",
                        "terminal": "1",
                        "at": "2021-02-06T02:50:00"
                      },
                      "carrierCode": "TR",
                      "number": "867",
                      "aircraft": {
                        "code": "788"
                      },
                      "operating": {
                        "carrierCode": "TR"
                      },
                      "duration": "PT2H35M",
                      "id": "5",
                      "numberOfStops": 0,
                      "blacklistedInEU": false
                    },
                    {
                      "departure": {
                        "iataCode": "SIN",
                        "terminal": "1",
                        "at": "2021-02-06T06:55:00"
                      },
                      "arrival": {
                        "iataCode": "SYD",
                        "terminal": "1",
                        "at": "2021-02-06T18:15:00"
                      },
                      "carrierCode": "TR",
                      "number": "12",
                      "aircraft": {
                        "code": "789"
                      },
                      "operating": {
                        "carrierCode": "TR"
                      },
                      "duration": "PT8H20M",
                      "id": "6",
                      "numberOfStops": 0,
                      "blacklistedInEU": false
                    }
                  ]
                }
              ],
              "price": {
                "currency": "EUR",
                "total": "552.70",
                "base": "340.00",
                "fees": [
                  {
                    "amount": "0.00",
                    "type": "SUPPLIER"
                  },
                  {
                    "amount": "0.00",
                    "type": "TICKETING"
                  }
                ],
                "grandTotal": "552.70"
              },
              "pricingOptions": {
                "fareType": [
                  "PUBLISHED"
                ],
                "includedCheckedBagsOnly": true
              },
              "validatingAirlineCodes": [
                "HR"
              ],
              "travelerPricings": [
                {
                  "travelerId": "1",
                  "fareOption": "STANDARD",
                  "travelerType": "ADULT",
                  "price": {
                    "currency": "EUR",
                    "total": "552.70",
                    "base": "340.00"
                  },
                  "fareDetailsBySegment": [
                    {
                      "segmentId": "3",
                      "cabin": "ECONOMY",
                      "fareBasis": "O2TR24",
                      "class": "O",
                      "includedCheckedBags": {
                        "weight": 20,
                        "weightUnit": "KG"
                      }
                    },
                    {
                      "segmentId": "4",
                      "cabin": "ECONOMY",
                      "fareBasis": "X2TR24",
                      "class": "X",
                      "includedCheckedBags": {
                        "weight": 20,
                        "weightUnit": "KG"
                      }
                    },
                    {
                      "segmentId": "5",
                      "cabin": "ECONOMY",
                      "fareBasis": "X2TR24",
                      "class": "X",
                      "includedCheckedBags": {
                        "weight": 20,
                        "weightUnit": "KG"
                      }
                    },
                    {
                      "segmentId": "6",
                      "cabin": "ECONOMY",
                      "fareBasis": "H2TR24",
                      "class": "H",
                      "includedCheckedBags": {
                        "weight": 20,
                        "weightUnit": "KG"
                      }
                    }
                  ]
                }
              ]
            }
          ],
          "dictionaries": {
            "locations": {
              "DMK": {
                "cityCode": "BKK",
                "countryCode": "TH"
              },
              "SIN": {
                "cityCode": "SIN",
                "countryCode": "SG"
              },
              "SYD": {
                "cityCode": "SYD",
                "countryCode": "AU"
              }
            },
            "aircraft": {
              "789": "BOEING 787-9",
              "77W": "BOEING 777-300ER"
            },
            "currencies": {
              "EUR": "EURO"
            },
            "carriers": {
              "TR": "SCOOT"
            }
          }
        }
      }
    },
    "400_Search": {
      "description": "code    | title                                 \n------- | ------------------------------------- \n425     | INVALID DATE\n477     | INVALID FORMAT\n2668    | PARAMETER COMBINATION INVALID/RESTRICTED\n4926    | INVALID DATA RECEIVED\n10661   | MAXIMUM NUMBER OF OCCURRENCES EXCEEDED \n32171   | MANDATORY DATA MISSING\n",
      "schema": {
        "$ref": "#/definitions/Error_400"
      }
    }
  },
  "parameters": {
    "getOverride": {
      "name": "X-HTTP-Method-Override",
      "description": "the HTTP method to apply",
      "required": true,
      "in": "header",
      "type": "string",
      "default": "GET"
    }
  },
  "x-generatedAt": "2020-08-03T12:56:24.746Z"
}