GET
/
shop
/
flights
{
  "success": true,
  "requestId": "<string>",
  "data": [
    "<any>"
  ],
  "cached": true,
  "cacheKey": "<string>"
}

Shop Flights

Search for available flights across multiple providers using NDC 24.4 standards.

Request Format

GET https://engine-api.travelese.ai/shop/flights

Response Format

The endpoint returns a JSON response with the following structure:

{
  "success": true,
  "requestId": "req_123",
  "data": [
    {
      "offerId": "off_123",
      "source": "NDC",
      "provider": "duffel",
      "instantTicketingRequired": false,
      "availableSeats": 4,
      "journeyOverview": {
        "priceClass": "ECONOMY"
      },
      "directionality": "ONE_WAY",
      "itineraries": [
        {
          "duration": "PT13H30M",
          "segments": [
            {
              "departure": {
                "locationCode": "YTO",
                "terminal": "1",
                "at": "2025-06-15T10:00:00Z"
              },
              "arrival": {
                "locationCode": "TYO",
                "terminal": "3",
                "at": "2025-06-15T23:30:00Z"
              },
              "marketingCarrierCode": "AC",
              "flightNumber": "1",
              "equipment": {
                "aircraftCode": "789",
                "name": "Boeing 787-9"
              },
              "operatingCarrier": {
                "carrierCode": "AC",
                "name": "Air Canada"
              },
              "duration": "PT13H30M",
              "segmentId": "seg_1",
              "numberOfStops": 0,
              "blacklistedInEU": false,
              "classOfService": {
                "code": "Y"
              },
              "amenities": [
                {
                  "code": "WIFI",
                  "name": "Wi-Fi",
                  "description": "In-flight Wi-Fi available"
                }
              ],
              "meals": [
                {
                  "code": "M",
                  "name": "Meal"
                }
              ]
            }
          ]
        }
      ],
      "price": {
        "currencyCode": "CAD",
        "totalAmount": "1500.00",
        "baseAmount": "1200.00",
        "fees": [
          {
            "amount": "300.00",
            "type": "TAX"
          }
        ],
        "grandTotal": "1500.00"
      },
      "pricingOptions": {
        "fareType": ["PUBLISHED"]
      }
    }
  ]
}

Error Response

{
  "success": false,
  "requestId": "req_123",
  "error": {
    "code": "invalid_request",
    "message": "Invalid origin airport code"
  }
}

Example Request

curl "https://engine-api.travelese.ai/shop/flights?provider=any&originLocationCode=YTO&destinationLocationCode=TYO&departureDate=2025-06-15" \
  -H "Authorization: Bearer your-api-key"

Usage

Use this endpoint to:

  • Search for available flights across providers
  • Compare prices and itineraries
  • Get flight details including equipment, meals, and amenities
  • Access NDC-compliant flight content

Provider Support

The endpoint aggregates results from multiple providers:

  • Amadeus: Full-service carriers and GDS inventory
  • Duffel: Direct airline connections and NDC content

Results are normalized to provide a consistent format following NDC 24.4 standards.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Query Parameters

provider
enum<string>
required
Available options:
amadeus,
duffel,
any
Example:

"any"

originLocationCode
string
required
Example:

"YTO"

destinationLocationCode
string
required
Example:

"TYO"

departureDate
string
required
Example:

"2025-06-15"

returnDate
string
Example:

"2025-06-30"

cacheKey
string
Example:

"flights:amadeus:YTO:TYO:2025-06-15:none:1:0:0:economy:USD"

dateFlexibility
number
Example:

3

segments
string
Example:

"YTO:TYO:2025-06-15,TYO:SEL:2025-06-22,SEL:YTO:2025-06-30"

travelerType
enum<string>
Available options:
ADT,
CHD,
INF
Example:

"ADT"

travelerCount
number
Example:

2

travelers
string
Example:

"ADT:2,CHD:1,INF:1"

cabinType
enum<string>
Available options:
ECONOMY,
PREMIUM_ECONOMY,
BUSINESS,
FIRST
Example:

"ECONOMY"

preferredAirlines
string
Example:

"AC,NH,JL"

maxConnections
number
Example:

1

minConnectionTime
number
Example:

60

maxConnectionTime
number
Example:

240

fareType
enum<string>
Available options:
PUBLISHED,
NEGOTIATED,
CORPORATE
Example:

"PUBLISHED"

corporateCode
string
Example:

"CORP123"

includedBaggage
boolean
Example:

true

currencyCode
string
Example:

"CAD"

Response

200
application/json
Flight shop results
success
boolean
required
data
(any | null)[]
required
requestId
string
cached
boolean
cacheKey
string