Search code examples
amadeus

Amadeus Flight Offers Different Prices


We're using flight offers search api and ready to move to prod. But when we search flights with ECONOMY class the prices are not even close to "amadeus.net" search engine results or TK (Turkish Airlines) web site prices. If we use BUSINESS class as a parameter the api results are closer to real prices. How can we solve this issue?

The sample query is: (IST - CGN 25th May ECONOMY and TK Opearated flight departures 16:05 )

/v2/shopping/flight-offers?originLocationCode=IST&destinationLocationCode=CGN&departureDate=2021-05-25&adults=1&travelClass=ECONOMY&includedAirlineCodes=TK&nonStop=true&max=250

The api result is: €206.55

TK Web Site: €121

Amadeus.net €103

Detailed API result:

{
  "meta": {
    "count": 2,
    "links": {
      "self": "https://test.api.amadeus.com/v2/shopping/flight-offers?originLocationCode=IST&destinationLocationCode=CGN&departureDate=2021-05-25&adults=1&travelClass=ECONOMY&includedAirlineCodes=TK&nonStop=true&max=250"
    }
  },
  "data": [
    {
      "type": "flight-offer",
      "id": "2",
      "source": "GDS",
      "instantTicketingRequired": false,
      "nonHomogeneous": false,
      "oneWay": false,
      "lastTicketingDate": "2021-05-25",
      "numberOfBookableSeats": 9,
      "itineraries": [
        {
          "duration": "PT3H20M",
          "segments": [
            {
              "departure": {
                "iataCode": "IST",
                "at": "2021-05-25T16:05:00"
              },
              "arrival": {
                "iataCode": "CGN",
                "terminal": "2",
                "at": "2021-05-25T18:25:00"
              },
              "carrierCode": "TK",
              "number": "1675",
              "aircraft": {
                "code": "321"
              },
              "operating": {
                "carrierCode": "TK"
              },
              "duration": "PT3H20M",
              "id": "2",
              "numberOfStops": 0,
              "blacklistedInEU": false
            }
          ]
        }
      ],
      "price": {
        "currency": "EUR",
        "total": "206.55",
        "base": "134.00",
        "fees": [
          {
            "amount": "0.00",
            "type": "SUPPLIER"
          },
          {
            "amount": "0.00",
            "type": "TICKETING"
          }
        ],
        "grandTotal": "206.55"
      },
      "pricingOptions": {
        "fareType": [
          "PUBLISHED"
        ],
        "includedCheckedBagsOnly": true
      },
      "validatingAirlineCodes": [
        "TK"
      ],
      "travelerPricings": [
        {
          "travelerId": "1",
          "fareOption": "STANDARD",
          "travelerType": "ADULT",
          "price": {
            "currency": "EUR",
            "total": "206.55",
            "base": "134.00"
          },
          "fareDetailsBySegment": [
            {
              "segmentId": "2",
              "cabin": "ECONOMY",
              "fareBasis": "QT2PXOW",
              "class": "Q",
              "includedCheckedBags": {
                "weight": 30,
                "weightUnit": "KG"
              }
            }
          ]
        }
      ]
    }
  ],
  "dictionaries": {
    "locations": {
      "SAW": {
        "cityCode": "IST",
        "countryCode": "TR"
      },
      "CGN": {
        "cityCode": "CGN",
        "countryCode": "DE"
      },
      "IST": {
        "cityCode": "IST",
        "countryCode": "TR"
      }
    },
    "aircraft": {
      "321": "AIRBUS A321",
      "738": "BOEING 737-800"
    },
    "currencies": {
      "EUR": "EURO"
    },
    "carriers": {
      "TK": "TURKISH AIRLINES"
    }
  }
}

Thanks in advance


Solution

  • There are two reasons why you see different prices:

    • The Self-Service APIs return published airfares coming from the GDS and not any negotiated ones. That means the flights returned by the APIs can be more expensive than the ones you find in OTAs or airline websites.
    • In the test environment that you are using, you get access to cached flight data which might be different from the live prices.