Skip to main content
Duration

Overview

SITA Flight Connection API service provides users with the ability to find flight routings between airports.

The SITA Flight Connection API helps users find direct flights as well as connecting or transit flight to reach the final destination through one, two or more flights namely. For example, a connecting flight from Singapore to New York on Emirates Airlines would mean flying from Singapore to Dubai, or any major airline hub, where you would then disembark and board another plane for another flight from that city to New York.

 

The SITA Flight Connection API service provides users with the ability to find flight routings between airports based on various user options such as airlines, via airports and min/max connection times amongst others.
Please refer to section 3.1 for request parameter details.

A user may

  • Search for flight connections for any combination of direct flights, 1 stop connections or 2+ stop connections.
  • Results can be filtered based on selected request parameters such as airlines, via airports, min/max connection times and dates/times amongst others.
  • Users api key permissions may also permit consideration of MCT (Minimum Connection Time) data and latest SITA Flight Status API data.

Technical Documentation

SITA Advanced Data Services

version 1.2.0-SNAPSHOT

Revision History

DateVersionDescription

10 May 2022

1.0

Initial version

09 August 2023

1.1

Added rate limit and OAuth

Introduction

The SITA Flight Connection API service provides users with the ability to find flight routings between airports based on various user options such as airlines, via airports and min/max connection times amongst others.
Please refer to section 3.1.1 for request parameter details.

A user may

  • Search for flight connections for any combination of direct flights, 1 stop connections or 2+ stop connections.
  • Results can be filtered based on selected request parameters such as airlines, via airports, min/max connection times and dates/times amongst others.
  • Users api key permissions may also permit consideration of MCT (Minimum Connection Time) data and latest SITA Flight Status API data.

The SITA Flight Connection API uses a combination of three different levels of information to calculate the best results for a user.
Access to the various levels of information is based on the permissions associated with the users api key.
Please see the table below for processing scenarios.

Schedule Data

SITA Flight Status Updates

MCT

Result

Y

N

N

Only scheduled departure/arrival times will be considered when calculating connections.

Y

Y

N

Scheduled departure/arrival and latest estimated departure/arrival from SITA Flight Status API (when available) will be considered when calculating connections

Y

Y

Y

Scheduled departure/arrival and latest estimated departure/arrival from SITA Flight Status API (when available) will be considered when calculating connections. Matched connections will also be filtered to remove any that breach the minimum connection times published in the MCT file.

Y

N

Y

Only scheduled departure/arrival times will be considered when calculating connections. Matched connections will also be filtered to remove any that breach the minimum connection times published in the MCT file.

Registration and API Sign Up

To access the APIs you will need a registration key, also known as an API key. These can be obtained by creating an account on https://www.developer.aero/ and registering your interest for access to the API.

2.2 Authentication

To access the APIs an OAuth access token must be supplied in an Authorization header in the request. To obtain an OAuth token a request must be sent to the https://sitaopen.api.aero/connection/oauth/token endpoint using the OAuth2 Client Credential flow.Use your API key as the client_id, and your consumer secret as the client_secret these should be base64 encoded in an Authorization header when sent to the OAuth endpoint.

Please note the OAuth tokens have an expiry of one hour after the token has been retrieved, after the token has expired you will need to re-issue a request to get a new token.

curl --location 'https://sitaopen.api.aero/connection/oauth/token' \--header 'Authorization: Basic YWJjZGVmZ2hpamtsbW5vcC5xcnN0dXY='

You should then see your OAuth token in the response.

"access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOJIUzI1NiJ9.eyJyZWZyZXNoX3Rva2VuX2V4cGlyZXNfaW4iOiIzNTk5Iiwic3ViIjoic2l0YSIsImFwaV9cm9kdWN0X2xpc3QiOiJbRE9UUy1GbGlnaHQtQ29ubmVjdGlvbi1JbnRlcm5hbF0iLCJpc3MiOiJ1cm46XC9cL2FwaWdlZS1lZdlLUpXVC1wb2xpY3ktdGVzdCIsImFwaV9hY2Nlc3NfdG9rZW4iOiIweXlIZHduSUdtOGo5WlN6WWtuYTBsWG9ZNTFvIiwiYXBpX3JlZnJlc2hfdG9rZW4iOiJraHNlaXN2T3JwSHBUd2NuUVRHdXdBdVdicXNpamNQTyIsImFwaV9zY29wZSI6IiIsImF1ZCI6ImFwaWdlZS1hcGkiLCJleHAiOj3MzAyOTI3MzIsImFwcF9pZCI6IjIxYzI5NTgyLTIwZTktNDkwMS1hNjExLTVkM2UwM2QxNzFkYiIsImV4cGlyZXNfaW4iOiIzNTk5IiwiaWF0IjoxNzMwMjg5MTMyLCJqdGkiOiI3ZmEzNTU4Mi0xNDhmLTRiMmEtODYxMS0wNWI4NDg5YjFjYmMifQ.g_dFH-08DGADOX9HIk7wzX5edxXejVsnCen27A25TQ0"

Once an access token has been obtained, it can be placed in the Authorization HTTP header as a bearer token, for example:

curl --location 'https://sitaopen.api.aero/connection/v1/routes/DEL/DUB?timeRange=1440&preferredDate=2024-11-06&directFlights=true' \
--header 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOJIUzI1NiJ9.eyJyZWZyZXNoX3Rva2VuX2V4cGlyZXNfaW4iOiIzNTk5Iiwic3ViIjoic2l0YSIsImFwaV9cm9kdWN0X2xpc3QiOiJbRE9UUy1GbGlnaHQtQ29ubmVjdGlvbi1JbnRlcm5hbF0iLCJpc3MiOiJ1cm46XC9cL2FwaWdlZS1lZdlLUpXVC1wb2xpY3ktdGVzdCIsImFwaV9hY2Nlc3NfdG9rZW4iOiIweXlIZHduSUdtOGo5WlN6WWtuYTBsWG9ZNTFvIiwiYXBpX3JlZnJlc2hfdG9rZW4iOiJraHNlaXN2T3JwSHBUd2NuUVRHdXdBdVdicXNpamNQTyIsImFwaV9zY29wZSI6IiIsImF1ZCI6ImFwaWdlZS1hcGkiLCJleHAiOj3MzAyOTI3MzIsImFwcF9pZCI6IjIxYzI5NTgyLTIwZTktNDkwMS1hNjExLTVkM2UwM2QxNzFkYiIsImV4cGlyZXNfaW4iOiIzNTk5IiwiaWF0IjoxNzMwMjg5MTMyLCJqdGkiOiI3ZmEzNTU4Mi0xNDhmLTRiMmEtODYxMS0wNWI4NDg5YjFjYmMifQ.g_dFH-08DGADOX9HIk7wzX5edxXejVsnCen27A25TQ0'

2.2 Security

  • All incoming requests will be REST over HTTPS.
  • Users are authenticated using their API key.
  • Certain response payload elements may be filtered based on permissions associated with the x-apikey value used.
  • The API key used in the REST call will be included in the response headers returned to the end user.

2.3 Rate Limiting

All incoming requests are subject to a rate limiting restriction. The following headers are included in HTTP responses:

HeaderDescription

X-RateLimit-Limit

The total number of requests allowed in the current time window

X-RateLimit-Remaining

The number of requests left for the current time window

X-RateLimit-Policy

The policy describing how many request per time window are allowed

X-RateLimit-Reset

The number of seconds remaining in the current time window. Header not displayed after rate limit has been exceeded

retry-after

The epoch timestamp at which the current rate limit window resets. Header only displayed after rate limit has been exceeded

Error Response

Response fields

PathTypeDescription

errors.error[]

Array

Error

errors.error[].invalidValue

String

Invalid value

errors.error[].invalidParam

String

Invalid parameter

errors

Object

Errors

errors.error[].code

Number

Error code

errors.error[].description

String

Error description

Curl request

$ curl 'https://sitaopen.api.aero/connection/v1/routes/DUB/XYZ' -i -X GET \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer eyJkb2N1bWVudGF0aW9uIiwidG9rZW4ifQ...'

HTTP response

HTTP/1.1 400 Bad Request
Content-Type: application/json
Content-Length: 207
{
  "errors" : {
    "error" : [ {
      "description" : "Airport not found",
      "code" : 1001,
      "invalidParam" : "arrival",
      "invalidValue" : "Please contact API Support"
    } ]
  }
}

Flight Connection API

This section describes the SITA Flight Connection API service.
Detailed API structure, example requests and responses, JSON schema for request (where appropriate) and responses, and error response codes and formats are included.

3.1 Flight Connection V1

Get Flight Connections

Retrieve all possible flight routes between two given airports including connections based on the search parameters provided by the user.

Path parameters
/v1/routes/{departure}/{arrival}
ParameterDescription

departure

3-character airport IATA code or 4-character airport ICAO code

arrival

3-character airport IATA code or 4-character airport ICAO code

Request parameters

Snippet request-parameters not found for operation::ConnectionControllerV1DocumentationTest/shouldReturnValidResponse/1

Request headers
NameOptionalDescription

Content-Type

false

Content type of this request. Required value is 'application/json'

Authorization

false

Authorization header that contains the access token.

Response fields
PathTypeDescription

parameters.excludeVia2

String

Comma separated list of 3-character airport IATA code or 4-character airport ICAO codes. Airports in this list will be excluded as options for XXX in the routing DUB-AMS-XXX-DXB.

parameters.arrival

String

3-character airport IATA code or 4-character airport ICAO code

parameters.maxElapsedTime

Number

Maximum total elapsed journey time in minutes including connections

routes[].flights[].arrival

Object

3-character airport IATA code or 4-character airport ICAO code

routes[].route

String

Connection routing

routes[].flights[].departure.iataCode

String

3-character airport IATA code

routes[].flights[].departure.countryCode

String

2-character country code

parameters.directFlights

Boolean

Search for connections containing direct flights. Boolean - Permitted values true/false.

routes[].flights[].arrival.city

String

City

parameters.preferredTime

String

Preferred time of travel HH:MM, defaults to current time. (Local if preferredDate provided, UTC if preferredDate not provided)
- If both preferredDate and preferredTime are not defined, the API will return connections with a departure date/time between current UTC date time and current UTC date time + 480 mins;
- If both preferredDate and preferredTime have values (EX. preferredDate → 2021-07-16 and preferredTime → 15:00) the API will return connections with a departure date/time between 15:00 on specified local date to 15:00 on specified local date + 480 mins;
- If only preferredTime has a value, (EX. 15:00), the API will return connections with a departure date/time between 15:00 on current UTC date to 15:00 on current utc date + 480 mins

routes[].flights[].departure.location.longitude

String

Airport longitude

parameters.showPaxOnly

Boolean

Filter flights to show flights with a passenger service type. Boolean - Permitted values true/false. Note: Cannot be used in conjunction with showCargoOnly, both cannot be true

routes[].flights[].flightNumber

String

Flight Number

routes[].flights[].arrival.location.latitude

String

Airport latitude

routes[].flights[].distance

String

Flight distance in kms

parameters.leg1Airlines

String

Comma separated list of 2-character airline IATA codes or 3-character airline ICAO codes. Leg 1 of matched connections will be filtered to only include airlines in this list

parameters.via1

String

3-character airport IATA code or 4-character airport ICAO code. This is the airport code XXX in the routing DUB-XXX-DXB.

parameters.maxCircuity

Number

Maximum circuity. Higher circuity occurs when the connection airport is a greater relative distance away from the straight line connecting the origin with the destination. Double value min 1 max 10.

matchedRoutes

Number

Number of routes matching search criteria

routes[].flights[].departure.icaoCode

String

4-character airport ICAO code

routes[].flights[].arrival.iataCode

String

3-character airport IATA code

routes[].totalJourneyTimeMinutes

String

Total elapsed journey time including connections

routes[].flights[].serviceType

String

Service Type indicator. J = Passenger, F = Cargo.

routes[].flights[].arrival.countryCode

String

2-character country code

routes[].flights[].departure.timezone

String

City timezone

parameters.timeRange

Number

Time range (minutes) from preferredDate/preferredTime which to search. For example search window is preferredDate/preferredTime → preferredDate/preferredTime + timeRange

parameters.oneStop

Boolean

Search for connections with one stop. Boolean - Permitted values true/false.

routes[].flights[].arrival.location.longitude

String

Airport longitude

routes[].flights[].scheduleDeparture

String

Local scheduled time of departure i.e. 2021-05-26T16:20:00+02:00

routes[].flights[].departure.location.elevation

String

Airport elevation

parameters.leg2Airlines

String

Comma separated list of 2-character airline IATA codes or 3-character airline ICAO codes. Leg 2 of matched connections will be filtered to only include airlines in this list

parameters.excludeVia1

String

Comma separated list of 3-character airport IATA code or 4-character airport ICAO codes. Airports in this list will be excluded as options for XXX in the routing DUB-XXX-DXB.

parameters

Object

Search parameters

routes[].flights[].departure.name

String

Airport name

routes[].flights[].arrival.location.elevation

String

Airport elevation

parameters.minConnectionTime

Number

Minimum connection time between flights in minutes.
- Note If the users authentication key has sufficient permissions the MCT data will be applied to the match connections to remove any which breach the MCT values

routes[]

Array

Details of the routes found which match the search criteria

parameters.routeSortBy

String

Results sorted by: D - earliest departure from origin, A - earliest arrival at final destination, E - total elapsed journey time (including connections).

routes[].flights[]

Array

Details of the flights contained in this connection routing

routes[].flights[].arrival.icaoCode

String

4-character airport ICAO code

routes[].flights[].departure.location

Object

Location

routes[].flights[].estimatedDeparture

String

Local estimated time of departure (ISO-8601) i.e. 2021-05-26T16:20:00+02:00

routes[].flights[].arrival.timezone

String

City timezone

parameters.sameCarrier

Boolean

All flights in connection should be operated by same airline. Boolean - Permitted values true/false.

routes[].flights[].scheduleArrival

String

Local scheduled time of arrival i.e. 2021-05-26T16:20:00+02:00

parameters.twoPlusStops

Boolean

Search for connections with two or more stops. Boolean - Permitted values true/false.

parameters.leg3Airlines

String

Comma separated list of 2-character airline IATA codes or 3-character airline ICAO codes. Leg 3 of matched connections will be filtered to only include airlines in this list

parameters.via2

String

Comma separated list of 3-character airport IATA code or 4-character airport ICAO codes. This is the airport code XXX in the routing DUB-AMS-XXX-DXB.

parameters.departure

String

3-character airport IATA code or 4-character airport ICAO code

routes[].stops

Number

Number of stops

routes[].flights[].duration

String

Flight duration in minutes

routes[].flights[].departure.city

String

City

routes[].flights[].estimatedArrival

String

Local estimated time of arrival (ISO-8601) i.e. 2021-05-26T16:20:00+02:00

parameters.maxConnectionTime

Number

Maximum connection time between flights in minutes

parameters.limit

Number

Restrict result size to defined limit. Integer value min 1 max 50

routes[].flights[].arrival.name

String

Airport name

routes[].flights[].airlineCode

String

2-character airline IATA code or 3-character airline ICAO code

parameters.showCargoOnly

Boolean

Filter flights to show flights with a cargo service type. Boolean - Permitted values true/false. Note: Cannot be used in conjunction with showPaxOnly, both cannot be true

routes[].flights[].arrival.location

Object

Location

routes[].flights[].departure

Object

3-character airport IATA code or 4-character airport ICAO code

routes[].flights[].departure.location.latitude

String

Airport latitude

parameters.preferredDate

String

Preferred date of travel YYYY-MM-DD defaults to current UTC date.

- If both preferredDate and preferredTime are not defined the API will return connections with a departure date/time between current UTC date time and current UTC date time + 480 mins;
- If both preferredDate and preferredTime have values (EX. preferredDate → 2021-07-16 and preferredTime → 15:00), the API will return connections with a departure date/time between 15:00 on specified local date to 15:00 on specified local date + 480 mins;
- If only preferredDate has a value, (EX. preferredDate → 2021-07-16), the API will return connections with a departure date/time between 00:00 on specified local date to 00:00 on specified local date + 480 mins;

Curl request
$ curl 'https://sitaopen.api.aero/connection/v1/routes/DUB/LHR' -i -X GET \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer eyJkb2N1bWVudGF0aW9uIiwidG9rZW4ifQ...'
HTTP response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 4248
{
  "parameters" : {
    "departure" : "CFN",
    "arrival" : "BKK",
    "via1" : "DUB",
    "excludeVia1" : [ "BFS" ],
    "via2" : "LHR",
    "excludeVia2" : [ "GLA" ],
    "leg1Airlines" : [ "EI" ],
    "leg2Airlines" : [ "BA" ],
    "leg3Airlines" : [ "TG" ],
    "sameCarrier" : false,
    "preferredDate" : "2021-05-10",
    "preferredTime" : "00:00",
    "timeRange" : 1440,
    "minConnectionTime" : 60,
    "maxConnectionTime" : 240,
    "maxElapsedTime" : 1440,
    "maxCircuity" : 1.7,
    "routeSortBy" : "A",
    "limit" : 3,
    "directFlights" : true,
    "oneStop" : false,
    "twoPlusStops" : false,
    "showCargoOnly" : false,
    "showPaxOnly" : false
  },
  "matchedRoutes" : 1,
  "routes" : [ {
    "stops" : 2,
    "route" : "CFN-DUB-LHR-BKK",
    "totalJourneyTimeMinutes" : 1350,
    "flights" : [ {
      "airlineCode" : "EI",
      "flightNumber" : "3401",
      "scheduleDeparture" : "2020-11-22T10:30:00Z",
      "estimatedDeparture" : "2020-11-22T10:40:00Z",
      "departure" : {
        "iataCode" : "CFN",
        "icaoCode" : "EIDL",
        "name" : "Donegal Airport",
        "city" : "Donegal",
        "countryCode" : "IE",
        "timezone" : "Europe/Dublin",
        "location" : {
          "latitude" : "55.0442008972168",
          "longitude" : "-8.340999603271484",
          "elevation" : "9.144"
        }
      },
      "scheduleArrival" : "2020-11-22T11:20:00Z",
      "estimatedArrival" : "2020-11-22T11:30:00Z",
      "arrival" : {
        "iataCode" : "DUB",
        "icaoCode" : "EIDW",
        "name" : "Dublin Airport",
        "city" : "Dublin",
        "countryCode" : "IE",
        "timezone" : "Europe/Dublin",
        "location" : {
          "latitude" : "53.421299",
          "longitude" : "-6.27007",
          "elevation" : "73.7616"
        }
      },
      "duration" : "50",
      "distance" : "225357.44",
      "serviceType" : "J"
    }, {
      "airlineCode" : "BA",
      "flightNumber" : "5972",
      "scheduleDeparture" : "2020-11-22T15:30:00Z",
      "estimatedDeparture" : "2020-11-22T15:40:00Z",
      "departure" : {
        "iataCode" : "DUB",
        "icaoCode" : "EIDW",
        "name" : "Dublin Airport",
        "city" : "Dublin",
        "countryCode" : "IE",
        "timezone" : "Europe/Dublin",
        "location" : {
          "latitude" : "53.421299",
          "longitude" : "-6.27007",
          "elevation" : "73.7616"
        }
      },
      "scheduleArrival" : "2020-11-22T16:50:00Z",
      "estimatedArrival" : "2020-11-22T17:00:00Z",
      "arrival" : {
        "iataCode" : "LHR",
        "icaoCode" : "EGLL",
        "name" : "London Heathrow Airport",
        "city" : "London",
        "countryCode" : "GB",
        "timezone" : "Europe/London",
        "location" : {
          "latitude" : "51.4706",
          "longitude" : "-0.461941",
          "elevation" : "25.2984"
        }
      },
      "duration" : "80",
      "distance" : "449760.73",
      "serviceType" : "J"
    }, {
      "airlineCode" : "TG",
      "flightNumber" : "917",
      "scheduleDeparture" : "2020-11-22T21:35:00Z",
      "estimatedDeparture" : "2020-11-22T21:40:00Z",
      "departure" : {
        "iataCode" : "LHR",
        "icaoCode" : "EGLL",
        "name" : "London Heathrow Airport",
        "city" : "London",
        "countryCode" : "GB",
        "timezone" : "Europe/London",
        "location" : {
          "latitude" : "51.4706",
          "longitude" : "-0.461941",
          "elevation" : "25.2984"
        }
      },
      "scheduleArrival" : "2020-11-23T16:00:00+07:00",
      "estimatedArrival" : "2020-11-23T16:10:00+07:00",
      "arrival" : {
        "iataCode" : "BKK",
        "icaoCode" : "VTBS",
        "name" : "Suvarnabhumi Airport",
        "city" : "Bangkok",
        "countryCode" : "TH",
        "timezone" : "Asia/Bangkok",
        "location" : {
          "latitude" : "13.681099891662598",
          "longitude" : "100.74700164794922",
          "elevation" : "1.524"
        }
      },
      "duration" : "685",
      "distance" : "9588735.25",
      "serviceType" : "J"
    } ]
  } ]
}

Appendix A SITA Flight Connection API Response Schema

{
  "type" : "object",
  "properties" : {
    "parameters" : {
      "type" : "object",
      "properties" : {
        "departure" : {
          "type" : "string"
        },
        "arrival" : {
          "type" : "string"
        },
        "via1" : {
          "type" : "string"
        },
        "excludeVia1" : {
          "type" : "array",
          "items" : {
            "type" : "string"
          }
        },
        "via2" : {
          "type" : "string"
        },
        "excludeVia2" : {
          "type" : "array",
          "items" : {
            "type" : "string"
          }
        },
        "leg1Airlines" : {
          "type" : "array",
          "items" : {
            "type" : "string"
          }
        },
        "leg2Airlines" : {
          "type" : "array",
          "items" : {
            "type" : "string"
          }
        },
        "leg3Airlines" : {
          "type" : "array",
          "items" : {
            "type" : "string"
          }
        },
        "sameCarrier" : {
          "type" : "boolean"
        },
        "preferredDate" : {
          "type" : "string"
        },
        "preferredTime" : {
          "type" : "string"
        },
        "timeRange" : {
          "type" : "integer"
        },
        "minConnectionTime" : {
          "type" : "integer"
        },
        "maxConnectionTime" : {
          "type" : "integer"
        },
        "maxElapsedTime" : {
          "type" : "integer"
        },
        "maxCircuity" : {
          "type" : "number"
        },
        "routeSortBy" : {
          "type" : "string"
        },
        "limit" : {
          "type" : "integer"
        },
        "directFlights" : {
          "type" : "boolean"
        },
        "oneStop" : {
          "type" : "boolean"
        },
        "twoPlusStops" : {
          "type" : "boolean"
        },
        "showCargoOnly" : {
          "type" : "boolean"
        },
        "showPaxOnly" : {
          "type" : "boolean"
        }
      }
    },
    "matchedRoutes" : {
      "type" : "integer"
    },
    "routes" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "stops" : {
            "type" : "integer"
          },
          "route" : {
            "type" : "string"
          },
          "totalJourneyTimeMinutes" : {
            "type" : "integer"
          },
          "flights" : {
            "type" : "array",
            "items" : {
              "type" : "object",
              "properties" : {
                "airlineCode" : {
                  "type" : "string"
                },
                "flightNumber" : {
                  "type" : "string"
                },
                "scheduleDeparture" : {
                  "type" : "string"
                },
                "estimatedDeparture" : {
                  "type" : "string"
                },
                "departure" : {
                  "type" : "object",
                  "properties" : {
                    "iataCode" : {
                      "type" : "string"
                    },
                    "icaoCode" : {
                      "type" : "string"
                    },
                    "name" : {
                      "type" : "string"
                    },
                    "city" : {
                      "type" : "string"
                    },
                    "countryCode" : {
                      "type" : "string"
                    },
                    "timezone" : {
                      "type" : "string"
                    },
                    "location" : {
                      "type" : "object",
                      "properties" : {
                        "latitude" : {
                          "type" : "string"
                        },
                        "longitude" : {
                          "type" : "string"
                        },
                        "elevation" : {
                          "type" : "string"
                        }
                      }
                    }
                  }
                },
                "scheduleArrival" : {
                  "type" : "string"
                },
                "estimatedArrival" : {
                  "type" : "string"
                },
                "arrival" : {
                  "type" : "object",
                  "properties" : {
                    "iataCode" : {
                      "type" : "string"
                    },
                    "icaoCode" : {
                      "type" : "string"
                    },
                    "name" : {
                      "type" : "string"
                    },
                    "city" : {
                      "type" : "string"
                    },
                    "countryCode" : {
                      "type" : "string"
                    },
                    "timezone" : {
                      "type" : "string"
                    },
                    "location" : {
                      "type" : "object",
                      "properties" : {
                        "latitude" : {
                          "type" : "string"
                        },
                        "longitude" : {
                          "type" : "string"
                        },
                        "elevation" : {
                          "type" : "string"
                        }
                      }
                    }
                  }
                },
                "duration" : {
                  "type" : "string"
                },
                "distance" : {
                  "type" : "string"
                },
                "serviceType" : {
                  "type" : "string"
                }
              }
            }
          }
        }
      }
    }
  }
}

Appendix B SITA Flight Connection API Use Cases

DIRECT FLIGHT CONNECTION SEARCH

Scenario:

As an API user I wish to make a request to SITA Flight Connection API to return JFK-LAX direct flights on 2022-05-10, ordered by earliest departure time and limited to 50 results. Request does not contain any of the query parameters directFlights/oneStop/twoPlusStops so the system defaults to directFlights.

Request:

GET /connection/v1/routes/JFK/LAX?timeRange=1440&preferredDate=2022-05-10&limit=50&routeSortBy=D

Response:

List of direct JFK-LAX flights on 2022-05-10, ordered by earliest departure time and limited to 50 results.

Scenario:

As an API user I wish to make a request to SITA Flight Connection API to return JFK-LAX direct flights on 2022-05-10, ordered by earliest departure time and limited to 50 results.

Request:

GET /connection/v1/routes/JFK/LAX?timeRange=1440&preferredDate=2022-05-10&limit=50&routeSortBy=D&directFlights=true

Response:

List of direct JFK-LAX flights on 2022-05-10, ordered by earliest departure time and limited to 50 results.

Scenario:

As an API user I wish to make a request to SITA Flight Connection API to return JFK-LAX direct flights on 2022-05-10, ordered by earliest arrival time at destination and limited to 50 results.

Request:

GET /connection/v1/routes/JFK/LAX?timeRange=1440&preferredDate=2022-05-10&limit=50&routeSortBy=A&directFlights=true

Response:

List of direct JFK-LAX flights on 2022-05-10, ordered by earliest arrival time and destination and limited to 50 results.

Scenario:

As an API user I wish to make a request to SITA Flight Connection API to return JFK-LAX direct flights on 2022-05-10, ordered by total elapsed journey time and limited to 50 results.

Request:

GET /connection/v1/routes/JFK/LAX?timeRange=1440&preferredDate=2022-05-10&limit=50&routeSortBy=E&directFlights=true

Response:

List of direct JFK-LAX flights on 2022-05-10, ordered by total elapsed journey time and limited to 50 results.

Scenario:

As an API user I wish to make a request to SITA Flight Connection API to return JFK-LAX direct passenger flights on 2022-05-10, ordered by total elapsed journey time and limited to 50 results.

Request:

GET /connection/v1/routes/JFK/LAX?timeRange=1440&preferredDate=2022-05-10&limit=50&routeSortBy=E&directFlights=true&showPaxOnly=true

Response:

List of direct JFK-LAX flights on 2022-05-10, ordered by total elapsed journey time and limited to 50 results and passenger flights only.

Scenario:

As an API user I wish to make a request to SITA Flight Connection API to return JFK-LAX direct cargo flights on 2022-05-10, ordered by total elapsed journey time and limited to 50 results.

Request:

GET /connection/v1/routes/JFK/LAX?timeRange=1440&preferredDate=2022-05-10&limit=50&routeSortBy=E&directFlights=true&showCargoOnly=true

Response:

List of direct JFK-LAX flights on 2022-05-10, ordered by total elapsed journey time and limited to 50 results and cargo flights only.

DIRECT FLIGHT CONNECTION SEARCH LIMITED BY AIRLINE(S)

Scenario:

As an API user I wish to make a request to SITA Flight Connection API to return JFK-LAX AA direct flights on 2022-05-10, ordered by earliest departure time and limited to 50 results.

Request:

GET /connection/v1/routes/JFK/LAX?timeRange=1440&preferredDate=2022-05-10&limit=50&routeSortBy=D&directFlights=true&leg1Airlines=AA

Response:

List of direct AA JFK-LAX flights on 2022-05-10, ordered by earliest departure time and limited to 50 results.

Scenario:

As an API user I wish to make a request to SITA Flight Connection API to return JFK-LAX AA direct flights on 2022-05-10, ordered by earliest arrival time at destination and limited to 50 results.

Request:

GET /connection/v1/routes/JFK/LAX?timeRange=1440&preferredDate=2022-05-10&limit=50&routeSortBy=A&directFlights=true&leg1Airlines=AA

Response:

List of direct AA JFK-LAX flights on 2022-05-10, ordered by earliest arrival time and destination and limited to 50 results.

Scenario:

As an API user I wish to make a request to SITA Flight Connection API to return JFK-LAX AA direct flights on 2022-05-10, ordered by total elapsed journey time and limited to 50 results.

Request:

GET /connection/v1/routes/JFK/LAX?timeRange=1440&preferredDate=2022-05-10&limit=50&routeSortBy=E&directFlights=true&leg1Airlines=AA

Response:

List of direct AA JFK-LAX flights on 2022-05-10, ordered by total elapsed journey time and limited to 50 results.

Scenario:

As an API user I wish to make a request to SITA Flight Connection API to return JFK-LAX AA direct passenger flights on 2022-05-10, ordered by total elapsed journey time and limited to 50 results.

Request:

GET /connection/v1/routes/JFK/LAX?timeRange=1440&preferredDate=2022-05-10&limit=50&routeSortBy=E&directFlights=true&leg1Airlines=AA&showPaxOnly=true

Response:

List of direct AA JFK-LAX passenger flights on 2022-05-10, ordered by total elapsed journey time and limited to 50 results.

Scenario:

As an API user I wish to make a request to SITA Flight Connection API to return JFK-LAX AA direct cargo flights on 2022-05-10, ordered by total elapsed journey time and limited to 50 results.

Request:

GET /connection/v1/routes/JFK/LAX?timeRange=1440&preferredDate=2022-05-10&limit=50&routeSortBy=E&directFlights=true&leg1Airlines=AA&showCargoOnly=true

Response:

List of direct AA JFK-LAX cargo flights on 2022-05-10, ordered by total elapsed journey time and limited to 50 results.

DIRECT FLIGHT CONNECTION SEARCH FOR GIVEN TIME RANGE

Scenario:

As an API user I wish to make a request to SITA Flight Connection API to return JFK-LAX direct flights on 2022-05-10 between 15:00 and 17:00 local JFK time, ordered by earliest departure time and limited to 50 results.

Request:

GET /connection/v1/routes/JFK/LAX?timeRange=1440&preferredDate=2022-05-10&limit=50&routeSortBy=D&directFlights=true&preferredTime=15:00&timeRange=120

Response:

List of direct JFK-LAX flights on 2022-05-10 between 15:00 and 17:00 local JFK time, ordered by earliest departure time and limited to 50 results.

ONE STOP FLIGHT CONNECTION SEARCH

Scenario:

As an API user I wish to make a request to SITA Flight Connection API to return DUB-DXB flights on 2022-05-10 containing one stop, ordered by earliest departure time and limited to 50 results.

Request:

GET /connection/v1/routes/DUB/DXB?timeRange=1440&preferredDate=2022-05-10&limit=50&routeSortBy=D&oneStop=true

Response:

List of DUB-DXB flights on 2022-05-10 containing one stop, ordered by earliest departure time and limited to 50 results.

Scenario:

As an API user I wish to make a request to SITA Flight Connection API to return DUB-DXB flights on 2022-05-10 containing one stop, ordered by earliest arrival time at final destination and limited to 50 results.

Request:

GET /connection/v1/routes/DUB/DXB?timeRange=1440&preferredDate=2022-05-10&limit=50&routeSortBy=A&oneStop=true

Response:

List of DUB-DXB flights on 2022-05-10 containing one stop, ordered by earliest arrival time at final destination and limited to 50 results.

Scenario:

As an API user I wish to make a request to SITA Flight Connection API to return DUB-DXB flights on 2022-05-10 containing one stop, ordered by total elapsed journey time and limited to 50 results.

Request:

GET /connection/v1/routes/JFK/LAX?timeRange=1440&preferredDate=2022-05-10&limit=50&routeSortBy=E&directFlights=true

Response:

List of DUB-DXB flights on 2022-05-10 containing one stop, ordered by total elapsed journey time and limited to 50 results.

Scenario:

As an API user I wish to make a request to SITA Flight Connection API to return DUB-DXB passenger flights on 2022-05-10 containing one stop, ordered by total elapsed journey time and limited to 50 results.

Request:

GET /connection/v1/routes/JFK/LAX?timeRange=1440&preferredDate=2022-05-10&limit=50&showPaxOnly=true&routeSortBy=E&directFlights=true

Response:

List of DUB-DXB passenger flights on 2022-05-10 containing one stop, ordered by total elapsed journey time and limited to 50 results.

Scenario:

As an API user I wish to make a request to SITA Flight Connection API to return DUB-DXB cargo flights on 2022-05-10 containing one stop, ordered by total elapsed journey time and limited to 50 results.

Request:

GET /connection/v1/routes/JFK/LAX?timeRange=1440&preferredDate=2022-05-10&limit=50&showCargoOnly=true&routeSortBy=E&directFlights=true

Response:

List of DUB-DXB cargo flights on 2022-05-10 containing one stop, ordered by total elapsed journey time and limited to 50 results.

ONE STOP FLIGHT CONNECTION SEARCH VIA A SPECIFIC AIRPORT

Scenario:

As an API user I wish to make a request to SITA Flight Connection API to return DUB-DXB flights on 2022-05-10 connecting via CDG, ordered by earliest departure time and limited to 50 results.

Request:

GET /connection/v1/routes/DUB/DXB?timeRange=1440&preferredDate=2022-05-10&limit=50&routeSortBy=D&oneStop=true&via1=CDG

Response:

List of DUB-DXB flights on 2022-05-10 containing one stop which is CDG, ordered by earliest departure time and limited to 50 results.

ONE STOP FLIGHT CONNECTION SEARCH EXCLUDING CERTAIN AIRPORTS

Scenario:

As an API user I wish to make a request to SITA Flight Connection API to return DUB-DXB flights on 2022-05-10 containing one stop which is not CDG or AMS, ordered by earliest departure time and limited to 50 results.

Request:

GET /connection/v1/routes/DUB/DXB?timeRange=1440&preferredDate=2022-05-10&limit=50&routeSortBy=D&oneStop=true&excludeVia1=CDG,AMS

Response:

List of DUB-DXB flights on 2022-05-10 containing one stop which is not CDG or AMS, ordered by earliest departure time and limited to 50 results.

ONE STOP FLIGHT CONNECTION SEARCH WITH ALL LEGS OPERATED BY A SPECIFIC AIRLINE

Scenario:

As an API user I wish to make a request to SITA Flight Connection API to return DUB-DXB flights on 2022-05-10 containing one stop where all legs are operated by AF, ordered by earliest departure time and limited to 50 results.

Request:

GET /connection/v1/routes/DUB/DXB?timeRange=1440&preferredDate=2022-05-10&limit=50&routeSortBy=D&oneStop=true&leg1Airlines=AF&sameCarrier=true

Response:

List of DUB-DXB flights on 2022-05-10 containing one stop where all legs are operated by AF, ordered by earliest departure time and limited to 50 results.

TWO (OR MORE) STOP FLIGHT CONNECTION SEARCH

Scenario:

As an API user I wish to make a request to SITA Flight Connection API to return DUB-DXB flights on 2022-05-10 containing two or more stops, ordered by earliest departure time and limited to 50 results.

Request:

GET /connection/v1/routes/DUB/DXB?timeRange=1440&preferredDate=2022-05-10&limit=50&routeSortBy=D&twoPlusStops=true

Response:

List of DUB-DXB flights on 2022-05-10 containing two or more stops, ordered by earliest departure time and limited to 50 results.

Scenario:

As an API user I wish to make a request to SITA Flight Connection API to return DUB-DXB flights on 2022-05-10 containing two or more stops, ordered by earliest arrival time at final destination and limited to 50 results.

Request:

GET /connection/v1/routes/DUB/DXB?timeRange=1440&preferredDate=2022-05-10&limit=50&routeSortBy=A&twoPlusStops=true

Response:

List of DUB-DXB flights on 2022-05-10 containing two or more stops, ordered by earliest arrival time at final destination and limited to 50 results.

Scenario:

As an API user I wish to make a request to SITA Flight Connection API to return DUB-DXB flights on 2022-05-10 containing two or more stops, ordered by total elapsed journey time and limited to 50 results.

Request:

GET /connection/v1/routes/JFK/LAX?timeRange=1440&preferredDate=2022-05-10&limit=50&routeSortBy=E&twoPlusStops=true

Response:

List of DUB-DXB flights on 2022-05-10 containing two or more stops, ordered by total elapsed journey time and limited to 50 results.

Scenario:

As an API user I wish to make a request to SITA Flight Connection API to return DUB-DXB passenger flights on 2022-05-10 containing two or more stops, ordered by total elapsed journey time and limited to 50 results.

Request:

GET /connection/v1/routes/JFK/LAX?timeRange=1440&preferredDate=2022-05-10&limit=50&showPaxOnly=true&routeSortBy=E&twoPlusStops=true

Response:

List of DUB-DXB passenger flights on 2022-05-10 containing two or more stops, ordered by total elapsed journey time and limited to 50 results.

Scenario:

As an API user I wish to make a request to SITA Flight Connection API to return DUB-DXB cargo flights on 2022-05-10 containing two or more stops, ordered by total elapsed journey time and limited to 50 results.

Request:

GET /connection/v1/routes/JFK/LAX?timeRange=1440&preferredDate=2022-05-10&limit=50&showCargoOnly=true&routeSortBy=E&twoPlusStops=true

Response:

List of DUB-DXB cargo flights on 2022-05-10 containing two or more stops, ordered by total elapsed journey time and limited to 50 results.

DIRECT AND ONE STOP FLIGHT CONNECTION SEARCH

Scenario:

As an API user I wish to make a request to SITA Flight Connection API to return DUB-DXB flights on 2022-05-10 containing direct or one stop, ordered by earliest departure time and limited to 50 results.

Request:

GET /connection/v1/routes/DUB/DXB?timeRange=1440&preferredDate=2022-05-10&limit=50&routeSortBy=D&directFlights=true&oneStop=true

Response:

List of DUB-DXB flights on 2022-05-10 containing direct or one stop, ordered by earliest departure time and limited to 50 results.

ONE AND TWO (OR MORE) STOP FLIGHT CONNECTION SEARCH

Scenario:

As an API user I wish to make a request to SITA Flight Connection API to return DUB-DXB flights on 2022-05-10 containing one or, two (or more) stops, ordered by earliest departure time and limited to 50 results.

Request:

GET /connection/v1/routes/DUB/DXB?timeRange=1440&preferredDate=2022-05-10&limit=50&routeSortBy=D&oneStop=true&twoPlusStops=true

Response:

List of DUB-DXB flights on 2022-05-10 containing one or, two (or more) stops, ordered by earliest departure time and limited to 50 results.

Version 1.2.0-SNAPSHOT
 

Contact Us

For subscription and sales queries, please contact:

Product Inquiries

Contact Us

 

For SITA Flight Connection API related queries, please contact:

Technical Support Team

Contact Us

 

contact-icon

Do you have a question? We are here, ready to help

Get in touch

About us

We are the world's leading specialist in air transport communications and IT solutions. 

 

bottom navigation SITA logo