RESTv1 Flight Statuses API

This document will describe how to utilize RESTv1 Flight Statuses API.

This article is meant for developers who are actively developing (or plan to develop) against our RESTful APIs and wish to integrate flight statuses.

Boomerang will be used to demonstrate some requests.

RESTv1 Flight Statuses is a replacement of V3 and V4 GetFlightWatchDetails

This document assumes the following:

  • You are familiar with using APIs that implement RESTful architecture.
  • You have proper credentials and are using them with each request using the authorization header.

Throughout this document:

Flight Search

There are two methods for flight searches

  • You can publicly search for flights without authentication for a given date using the public FlightStatuses API search located here.
  • You can also search with authentication with a date range not exceeding thirty days using the private FlightStatuses API search located here.

For the duration of this article we will describe how to use the public FlightStatuses API search which would be used for a mobile or IBE flight watch implementation.

The possible URL parameters for a search are as follows:

URL ParameterTypeRequired
departureDate (ex. 2016-01-01)Yes
airlineCodeAirline Code (ex. XX)No
flightNumberstring (ex. 1239)No
departureAirportAirport Code (ex. YUL)No
arrivalAirportAirport Code (ex. YUL)No

You must at minimum provide a date to search while the other URL parameters allow for a refined search.

Sample Request URL

Below is a sample request using all possible URL parameters.

https://intelisys-api.intelisys.ca/RESTv1/FlightStatuses?departure=2017-06-10&departureAirport=YYC&arrivalAirport=YEG&airlineCode=1Q&flightNumber=202

Sample Response

The response for fightStatuses will be changing with the release of 17.06. The release will include the follow:

"locationStatus": {
"departed": true,
"arrived": false
},

"flightType": {
"href": "https://intelisys-api.intelisys.ca/RESTv1/flightTypes/S",
"code": "S",
"name": "Scheduled"
},

"flightLegStatus": {
"active": true,
"expired": false,
"closed": false,
"cancelled": false
},
"distance": {
"length": 302.96,
"unitOfMeasurement": "km"
},


[
    {
        "href": "https://intelisys-api.intelisys.ca/RESTv1/FlightStatuses/xUHTfu6iKGcUelycKud%C2%A5oYT4zcv1VUe2Zwf%C6%92%C2%A5NSo3%C2%A5A=",
        "key": "xUHTfu6iKGcUelycKud¥oYT4zcv1VUe2Zwfƒ¥NSo3¥A=",
        "flightNumber": "202",
        "airlineCode": {
            "href": "https://intelisys-api.intelisys.ca/RESTv1/airlineCodes/1Q",
            "code": "1Q"
        },
        "legs": [
            {
                "href": "https://intelisys-api.intelisys.ca/RESTv1/FlightStatuses/xUHTfu6iKGcUelycKud%C2%A5oYT4zcv1VUe2Zwf%C6%92%C2%A5NSo3%C2%A5A=/legs/jzDJgAWg7XEnS1Eojklv3oba%C2%A53VBqN%C2%A5yIf4c4eDkcoQ=",
                "key": "jzDJgAWg7XEnS1Eojklv3oba¥3VBqN¥yIf4c4eDkcoQ=",
                "legNumber": 1,
                "flightLeg": {
                    "key": "QpVPPWQ1qWfNS9R507rhwju1vRAuVF2btXLNqXBvqHw=",
                    "legNumber": 1,
                    "departure": {
                        "scheduledTime": "2017-06-10 13:00:00Z",
                        "airport": {
                            "href": "https://intelisys-api.intelisys.ca/RESTv1/airports/YYC",
                            "code": "YYC",
                            "name": "Calgary",
                            "utcOffset": {
                                "iso": "-06:00",
                                "hours": -6,
                                "minutes": -360
                            }
                        }
                    },
                    "arrival": {
                        "scheduledTime": "2017-06-10 14:40:00Z",
                        "airport": {
                            "href": "https://intelisys-api.intelisys.ca/RESTv1/airports/YEG",
                            "code": "YEG",
                            "name": "Edmonton",
                            "utcOffset": {
                                "iso": "-06:00",
                                "hours": -6,
                                "minutes": -360
                            }
                        }
                    }
                },
                "aircraftModel": {
                    "href": "https://intelisys-api.intelisys.ca/RESTv1/aircraftModels/2Qx%C2%A5GKVsZ08KvxdDQkIEbxdrGzWFvDSqgj1IS1NYsr4=",
                    "key": "2Qx¥GKVsZ08KvxdDQkIEbxdrGzWFvDSqgj1IS1NYsr4=",
                    "identifier": "CRJ7",
                    "name": "Canadair  CRA"
                },
                "tail": null,
                "departure": {
                    "estimatedTime": "2017-06-10 13:00:00Z",
                    "utcActualOutShortTime": "13:00",
                    "utcActualOffShortTime": "13:00",
                    "airport": {
                        "href": "https://intelisys-api.intelisys.ca/RESTv1/airports/YYC",
                        "code": "YYC",
                        "name": "Calgary",
                        "utcOffset": {
                            "iso": "-06:00",
                            "hours": -6,
                            "minutes": -360
                        }
                    }
                },
                "arrival": {
                    "estimatedTime": "2017-06-10 14:40:00Z",
                    "utcActualOnShortTime": "14:40",
                    "utcActualInShortTime": "14:40",
                    "airport": {
                        "href": "https://intelisys-api.intelisys.ca/RESTv1/airports/YEG",
                        "code": "YEG",
                        "name": "Edmonton",
                        "utcOffset": {
                            "iso": "-06:00",
                            "hours": -6,
                            "minutes": -360
                        }
                    }
                }
            }
        ]
    }
]


Within the response you will see a collection of legs. Each leg contains the original flight details held with the flightLeg object. Additionally, each leg contains an arrival and departure object. The arrival and departure objects contain the property estimatedTime which is the time adjusted for any delays associated with the flight.


Individual (GET)

You can retrieve an individual flight status using its 'href' - provided in each flight status returned during a search.
Below is the URL for a GET request for a schedule.

https://intelisys-api.intelisys.ca/RESTv1/FlightStatuses/xUHTfu6iKGcUelycKud%C2%A5oYT4zcv1VUe2Zwf%C6%92%C2%A5NSo3%C2%A5A=

Sample Response

{
    "href": "https://intelisys-api.intelisys.ca/RESTv1/FlightStatuses/xUHTfu6iKGcUelycKud%C2%A5oYT4zcv1VUe2Zwf%C6%92%C2%A5NSo3%C2%A5A=",
    "key": "xUHTfu6iKGcUelycKud¥oYT4zcv1VUe2Zwfƒ¥NSo3¥A=",
    "flightNumber": "202",
    "airlineCode": {
        "href": "https://intelisys-api.intelisys.ca/RESTv1/airlineCodes/1Q",
        "code": "1Q"
    },
    "legs": [
        {
            "href": "https://intelisys-api.intelisys.ca/RESTv1/FlightStatuses/xUHTfu6iKGcUelycKud%C2%A5oYT4zcv1VUe2Zwf%C6%92%C2%A5NSo3%C2%A5A=/legs/jzDJgAWg7XEnS1Eojklv3oba%C2%A53VBqN%C2%A5yIf4c4eDkcoQ=",
            "key": "jzDJgAWg7XEnS1Eojklv3oba¥3VBqN¥yIf4c4eDkcoQ=",
            "legNumber": 1,
            "flightLeg": {
                "key": "QpVPPWQ1qWfNS9R507rhwju1vRAuVF2btXLNqXBvqHw=",
                "legNumber": 1,
                "departure": {
                    "scheduledTime": "2017-06-10 13:00:00Z",
                    "airport": {
                        "href": "https://intelisys-api.intelisys.ca/RESTv1/airports/YYC",
                        "code": "YYC",
                        "name": "Calgary",
                        "utcOffset": {
                            "iso": "-06:00",
                            "hours": -6,
                            "minutes": -360
                        }
                    }
                },
                "arrival": {
                    "scheduledTime": "2017-06-10 14:40:00Z",
                    "airport": {
                        "href": "https://intelisys-api.intelisys.ca/RESTv1/airports/YEG",
                        "code": "YEG",
                        "name": "Edmonton",
                        "utcOffset": {
                            "iso": "-06:00",
                            "hours": -6,
                            "minutes": -360
                        }
                    }
                }
            },
            "aircraftModel": {
                "href": "https://intelisys-api.intelisys.ca/RESTv1/aircraftModels/2Qx%C2%A5GKVsZ08KvxdDQkIEbxdrGzWFvDSqgj1IS1NYsr4=",
                "key": "2Qx¥GKVsZ08KvxdDQkIEbxdrGzWFvDSqgj1IS1NYsr4=",
                "identifier": "CRJ7",
                "name": "Canadair  CRA"
            },
            "tail": null,
            "departure": {
                "estimatedTime": "2017-06-10 13:00:00Z",
                "utcActualOutShortTime": "13:00",
                "utcActualOffShortTime": "13:00",
                "airport": {
                    "href": "https://intelisys-api.intelisys.ca/RESTv1/airports/YYC",
                    "code": "YYC",
                    "name": "Calgary",
                    "utcOffset": {
                        "iso": "-06:00",
                        "hours": -6,
                        "minutes": -360
                    }
                }
            },
            "arrival": {
                "estimatedTime": "2017-06-10 14:40:00Z",
                "utcActualOnShortTime": "14:40",
                "utcActualInShortTime": "14:40",
                "airport": {
                    "href": "https://intelisys-api.intelisys.ca/RESTv1/airports/YEG",
                    "code": "YEG",
                    "name": "Edmonton",
                    "utcOffset": {
                        "iso": "-06:00",
                        "hours": -6,
                        "minutes": -360
                    }
                }
            }
        }
    ]
}