Travel Seasonality

Heads Up! - This API is powered by the Travel Insight Engine. Check the Travel Seasonality Airports Lookup Supplemental API to see the city pairs that are currently supported.

The Travel Seasonality API returns a traffic volume rating for each week of the year for a given destination.

In detail: the API uses the Travel Insight Engine to retrieve booking data to calculate peak and off-peak travel periods for a given airport or multi-airport city (MAC) code available in the Sabre® cache. If a MAC is used as a destination, results will represent all airports belonging to the MAC.

In total, each request returns a booked traffic volume rating of low, medium or high for each week (1-52) of the next year for a given destination. Each week is compared with the traffic volume of the other 51 weeks. The API then calculates whether that week is high or low seasonality, e.g., week 32 is compared with the 1st, 2nd, 3rd... 33rd, 34th, 35th... 52nd weeks.

Ratings for past weeks will be for the following year. For example, if at the time of the request, the current week is week #33 in 2015, then the ratings returned for the past (1-32) weeks will be for the weeks in the following year, i.e., 2016. If a week number has not passed, then the remaining week numbers will be for the weeks in the current year, e.g. the current week is #33, then weeks 34-52 will be in 2015.

Example

You could use this API to create a graphical heat map for a given destination, e.g., "NYC," the multi-airport city (MAC) code for New York City. From this, travelers can see the peak and off peak travel periods for New York City, and hence, the least expensive week in the month to fly.

HTTP method and endpoint

GET /v1/historical/flights/{destination}/seasonality

The destination airport or multi-airport city (MAC) code should be substituted for {destination} in the request. See usage notes: for more information on retrieving multi-airport city (MAC) codes using the Multi-Airport City Lookup API, retrieving a list of our supported destination airports using the Travel Seasonality Airports Lookup API, or our supported city pairs using the City Pairs Lookup API.

Data used for the Travel Seasonality API

  • Bookings made via the Sabre GDS for travel to major destination airports throughout the world during the 52 weeks before an API request.
  • All passenger types
  • All cabin types: economy, first class, business, and premium economy
  • All flight types: nonstop, direct, connecting, and flights with stops
  • Point of sale: No limitations on locations from which bookings are made.

Request

This request does not have any variations or parameters. The URI requests a traffic volume rating of the airport or multi-airport city (MAC) code.

Response

DestinationLocation

object

Returns the specified 3-letter IATA destination airport or multi-airport city (MAC) code

Seasonality

array

Repeats associated seasonality information 52-53 times:

  • YearWeekNumber, number
  • WeekStartDate, string
  • WeekEndDate, string
  • NumberOfObservations, string
  • SeasonalIndicator, string
YearWeekNumber

number

The week number in the year from 1-52 or 53

See usage notes: for the definition of weeks and a new year.

WeekStartDate

string

The first date of the week that YearWeekNumber identifies

Data format: YYYY-MM-DD

Note: To get the future weeks that begin after the date of the request, sort the response by WeekStartDate.

WeekEndDate

string

The last date of the week that YearWeekNumber identifies

Data format: YYYY-MM-DD

NumberOfObservations

string

The volume of flights booked during a given year for the specified destination airport or multi-airport city (MAC) code

Valid values:

  • GreaterThan10000–more than 10000 flights were booked
  • LessThan10000–less than 10000 (and greater than 1000) flights were booked
  • LessThan1000–less than 1000 flights were booked

If a MAC is used as a destination, then results will represent all airports belonging to the MAC.

SeasonalityIndicator

string

The weekly traffic volume rating for the specified destination airport or multi-airport city (MAC) code

Each week is compared with the traffic volume of the other 51 weeks

Valid values:

  • low–booked traffic volume via the Sabre GDS to a destination were in the lowest 30%, when compared with the traffic volumes for each of the other 51 weeks.
  • high–booked traffic volume via the Sabre GDS to a destination were in the highest 30%, when compared with the traffic volumes for each of the other 51 weeks.
  • medium–booked traffic volume via the Sabre GDS to a destination were between 30 and 70%, when compared with the traffic volumes for each of the other 51 weeks.

If a MAC is used as a destination, then results will represent all airports belonging to the MAC.

Overall response links

Link nodes

array

See usage notes: for more information on link nodes.

self

object

Returns the URL of the request that generated the response

linkTemplate

object

Formats a Travel Seasonality API request with placeholders for every parameter in a request

Example: requests and responses

This example demonstrates a request and response for weekly traffic ratings for booked travel to "ELP" (El Paso International).

GET https://api.sabre.com/v1/historical/flights/ELP/seasonality HTTP/1.1
{
    DestinationLocation: "ELP",
    Seasonality: [{
        WeekEndDate: "2016-01-10T00:00:00",
        YearWeekNumber: 1,
        NumberOfObservations: "GreaterThan10000",
        WeekStartDate: "2016-01-04T00:00:00",
        SeasonalityIndicator: "Low"
    }, {
        WeekEndDate: "2016-01-17T00:00:00",
        YearWeekNumber: 2,
        NumberOfObservations: "GreaterThan10000",
        WeekStartDate: "2016-01-11T00:00:00",
        SeasonalityIndicator: "Low"
    }, {
        WeekEndDate: "2016-01-24T00:00:00",
        YearWeekNumber: 3,
        NumberOfObservations: "GreaterThan10000",
        WeekStartDate: "2016-01-18T00:00:00",
        SeasonalityIndicator: "Low"
    }, {
        WeekEndDate: "2016-01-31T00:00:00",
        YearWeekNumber: 4,
        NumberOfObservations: "GreaterThan10000",
        WeekStartDate: "2016-01-25T00:00:00",
        SeasonalityIndicator: "Medium"
    }, {
        WeekEndDate: "2016-02-07T00:00:00",
        YearWeekNumber: 5,
        NumberOfObservations: "GreaterThan10000",
        WeekStartDate: "2016-02-01T00:00:00",
        SeasonalityIndicator: "Low"
    }, {
        WeekEndDate: "2016-02-14T00:00:00",
        YearWeekNumber: 6,
        NumberOfObservations: "GreaterThan10000",
        WeekStartDate: "2016-02-08T00:00:00",
        SeasonalityIndicator: "Medium"
    }, {
        WeekEndDate: "2016-02-21T00:00:00",
        YearWeekNumber: 7,
        NumberOfObservations: "GreaterThan10000",
        WeekStartDate: "2016-02-15T00:00:00",
        SeasonalityIndicator: "Low"
    }, {
        WeekEndDate: "2016-02-28T00:00:00",
        YearWeekNumber: 8,
        NumberOfObservations: "GreaterThan10000",
        WeekStartDate: "2016-02-22T00:00:00",
        SeasonalityIndicator: "Medium"
    }, {
        WeekEndDate: "2016-03-06T00:00:00",
        YearWeekNumber: 9,
        NumberOfObservations: "GreaterThan10000",
        WeekStartDate: "2016-02-29T00:00:00",
        SeasonalityIndicator: "Low"
    }, {
        WeekEndDate: "2016-03-13T00:00:00",
        YearWeekNumber: 10,
        NumberOfObservations: "GreaterThan10000",
        WeekStartDate: "2016-03-07T00:00:00",
        SeasonalityIndicator: "High"
    }, {
        WeekEndDate: "2015-03-15T00:00:00",
        YearWeekNumber: 11,
        NumberOfObservations: "GreaterThan10000",
        WeekStartDate: "2015-03-09T00:00:00",
        SeasonalityIndicator: "Medium"
    }, {
        WeekEndDate: "2015-03-22T00:00:00",
        YearWeekNumber: 12,
        NumberOfObservations: "GreaterThan10000",
        WeekStartDate: "2015-03-16T00:00:00",
        SeasonalityIndicator: "High"
    }, {
        WeekEndDate: "2015-03-29T00:00:00",
        YearWeekNumber: 13,
        NumberOfObservations: "GreaterThan10000",
        WeekStartDate: "2015-03-23T00:00:00",
        SeasonalityIndicator: "High"
    }, {
        WeekEndDate: "2015-04-05T00:00:00",
        YearWeekNumber: 14,
        NumberOfObservations: "GreaterThan10000",
        WeekStartDate: "2015-03-30T00:00:00",
        SeasonalityIndicator: "Medium"
    }, {
        WeekEndDate: "2015-04-12T00:00:00",
        YearWeekNumber: 15,
        NumberOfObservations: "GreaterThan10000",
        WeekStartDate: "2015-04-06T00:00:00",
        SeasonalityIndicator: "High"
    }, {
        WeekEndDate: "2015-04-19T00:00:00",
        YearWeekNumber: 16,
        NumberOfObservations: "GreaterThan10000",
        WeekStartDate: "2015-04-13T00:00:00",
        SeasonalityIndicator: "Low"
    }, {
        WeekEndDate: "2015-04-26T00:00:00",
        YearWeekNumber: 17,
        NumberOfObservations: "GreaterThan10000",
        WeekStartDate: "2015-04-20T00:00:00",
        SeasonalityIndicator: "High"
    }, {
        WeekEndDate: "2015-05-03T00:00:00",
        YearWeekNumber: 18,
        NumberOfObservations: "GreaterThan10000",
        WeekStartDate: "2015-04-27T00:00:00",
        SeasonalityIndicator: "High"
    }, {
        WeekEndDate: "2015-05-10T00:00:00",
        YearWeekNumber: 19,
        NumberOfObservations: "GreaterThan10000",
        WeekStartDate: "2015-05-04T00:00:00",
        SeasonalityIndicator: "High"
    }, {
        WeekEndDate: "2015-05-17T00:00:00",
        YearWeekNumber: 20,
        NumberOfObservations: "GreaterThan10000",
        WeekStartDate: "2015-05-11T00:00:00",
        SeasonalityIndicator: "High"
    }, {
        WeekEndDate: "2015-05-24T00:00:00",
        YearWeekNumber: 21,
        NumberOfObservations: "GreaterThan10000",
        WeekStartDate: "2015-05-18T00:00:00",
        SeasonalityIndicator: "Medium"
    }, {
        WeekEndDate: "2015-05-31T00:00:00",
        YearWeekNumber: 22,
        NumberOfObservations: "GreaterThan10000",
        WeekStartDate: "2015-05-25T00:00:00",
        SeasonalityIndicator: "Medium"
    }, {
        WeekEndDate: "2015-06-07T00:00:00",
        YearWeekNumber: 23,
        NumberOfObservations: "GreaterThan10000",
        WeekStartDate: "2015-06-01T00:00:00",
        SeasonalityIndicator: "High"
    }, {
        WeekEndDate: "2015-06-14T00:00:00",
        YearWeekNumber: 24,
        NumberOfObservations: "GreaterThan10000",
        WeekStartDate: "2015-06-08T00:00:00",
        SeasonalityIndicator: "Medium"
    }, {
        WeekEndDate: "2015-06-21T00:00:00",
        YearWeekNumber: 25,
        NumberOfObservations: "GreaterThan10000",
        WeekStartDate: "2015-06-15T00:00:00",
        SeasonalityIndicator: "Medium"
    }, {
        WeekEndDate: "2015-06-28T00:00:00",
        YearWeekNumber: 26,
        NumberOfObservations: "GreaterThan10000",
        WeekStartDate: "2015-06-22T00:00:00",
        SeasonalityIndicator: "Low"
    }, {
        WeekEndDate: "2015-07-05T00:00:00",
        YearWeekNumber: 27,
        NumberOfObservations: "GreaterThan10000",
        WeekStartDate: "2015-06-29T00:00:00",
        SeasonalityIndicator: "Low"
    }, {
        WeekEndDate: "2015-07-12T00:00:00",
        YearWeekNumber: 28,
        NumberOfObservations: "GreaterThan10000",
        WeekStartDate: "2015-07-06T00:00:00",
        SeasonalityIndicator: "Medium"
    }, {
        WeekEndDate: "2015-07-19T00:00:00",
        YearWeekNumber: 29,
        NumberOfObservations: "GreaterThan10000",
        WeekStartDate: "2015-07-13T00:00:00",
        SeasonalityIndicator: "Low"
    }, {
        WeekEndDate: "2015-07-26T00:00:00",
        YearWeekNumber: 30,
        NumberOfObservations: "GreaterThan10000",
        WeekStartDate: "2015-07-20T00:00:00",
        SeasonalityIndicator: "Medium"
    }, {
        WeekEndDate: "2015-08-02T00:00:00",
        YearWeekNumber: 31,
        NumberOfObservations: "GreaterThan10000",
        WeekStartDate: "2015-07-27T00:00:00",
        SeasonalityIndicator: "Low"
    }, {
        WeekEndDate: "2015-08-09T00:00:00",
        YearWeekNumber: 32,
        NumberOfObservations: "GreaterThan10000",
        WeekStartDate: "2015-08-03T00:00:00",
        SeasonalityIndicator: "Medium"
    }, {
        WeekEndDate: "2015-08-16T00:00:00",
        YearWeekNumber: 33,
        NumberOfObservations: "GreaterThan10000",
        WeekStartDate: "2015-08-10T00:00:00",
        SeasonalityIndicator: "Medium"
    }, {
        WeekEndDate: "2015-08-23T00:00:00",
        YearWeekNumber: 34,
        NumberOfObservations: "GreaterThan10000",
        WeekStartDate: "2015-08-17T00:00:00",
        SeasonalityIndicator: "Medium"
    }, {
        WeekEndDate: "2015-08-30T00:00:00",
        YearWeekNumber: 35,
        NumberOfObservations: "GreaterThan10000",
        WeekStartDate: "2015-08-24T00:00:00",
        SeasonalityIndicator: "Low"
    }, {
        WeekEndDate: "2015-09-06T00:00:00",
        YearWeekNumber: 36,
        NumberOfObservations: "GreaterThan10000",
        WeekStartDate: "2015-08-31T00:00:00",
        SeasonalityIndicator: "Low"
    }, {
        WeekEndDate: "2015-09-13T00:00:00",
        YearWeekNumber: 37,
        NumberOfObservations: "GreaterThan10000",
        WeekStartDate: "2015-09-07T00:00:00",
        SeasonalityIndicator: "Medium"
    }, {
        WeekEndDate: "2015-09-20T00:00:00",
        YearWeekNumber: 38,
        NumberOfObservations: "GreaterThan10000",
        WeekStartDate: "2015-09-14T00:00:00",
        SeasonalityIndicator: "Medium"
    }, {
        WeekEndDate: "2015-09-27T00:00:00",
        YearWeekNumber: 39,
        NumberOfObservations: "GreaterThan10000",
        WeekStartDate: "2015-09-21T00:00:00",
        SeasonalityIndicator: "High"
    }, {
        WeekEndDate: "2015-10-04T00:00:00",
        YearWeekNumber: 40,
        NumberOfObservations: "GreaterThan10000",
        WeekStartDate: "2015-09-28T00:00:00",
        SeasonalityIndicator: "High"
    }, {
        WeekEndDate: "2015-10-11T00:00:00",
        YearWeekNumber: 41,
        NumberOfObservations: "GreaterThan10000",
        WeekStartDate: "2015-10-05T00:00:00",
        SeasonalityIndicator: "Medium"
    }, {
        WeekEndDate: "2015-10-18T00:00:00",
        YearWeekNumber: 42,
        NumberOfObservations: "GreaterThan10000",
        WeekStartDate: "2015-10-12T00:00:00",
        SeasonalityIndicator: "High"
    }, {
        WeekEndDate: "2015-10-25T00:00:00",
        YearWeekNumber: 43,
        NumberOfObservations: "GreaterThan10000",
        WeekStartDate: "2015-10-19T00:00:00",
        SeasonalityIndicator: "Medium"
    }, {
        WeekEndDate: "2015-11-01T00:00:00",
        YearWeekNumber: 44,
        NumberOfObservations: "GreaterThan10000",
        WeekStartDate: "2015-10-26T00:00:00",
        SeasonalityIndicator: "Medium"
    }, {
        WeekEndDate: "2015-11-08T00:00:00",
        YearWeekNumber: 45,
        NumberOfObservations: "GreaterThan10000",
        WeekStartDate: "2015-11-02T00:00:00",
        SeasonalityIndicator: "High"
    }, {
        WeekEndDate: "2015-11-15T00:00:00",
        YearWeekNumber: 46,
        NumberOfObservations: "GreaterThan10000",
        WeekStartDate: "2015-11-09T00:00:00",
        SeasonalityIndicator: "Medium"
    }, {
        WeekEndDate: "2015-11-22T00:00:00",
        YearWeekNumber: 47,
        NumberOfObservations: "GreaterThan10000",
        WeekStartDate: "2015-11-16T00:00:00",
        SeasonalityIndicator: "Medium"
    }, {
        WeekEndDate: "2015-11-29T00:00:00",
        YearWeekNumber: 48,
        NumberOfObservations: "GreaterThan10000",
        WeekStartDate: "2015-11-23T00:00:00",
        SeasonalityIndicator: "Low"
    }, {
        WeekEndDate: "2015-12-06T00:00:00",
        YearWeekNumber: 49,
        NumberOfObservations: "GreaterThan10000",
        WeekStartDate: "2015-11-30T00:00:00",
        SeasonalityIndicator: "High"
    }, {
        WeekEndDate: "2015-12-13T00:00:00",
        YearWeekNumber: 50,
        NumberOfObservations: "GreaterThan10000",
        WeekStartDate: "2015-12-07T00:00:00",
        SeasonalityIndicator: "Medium"
    }, {
        WeekEndDate: "2015-12-20T00:00:00",
        YearWeekNumber: 51,
        NumberOfObservations: "GreaterThan10000",
        WeekStartDate: "2015-12-14T00:00:00",
        SeasonalityIndicator: "Medium"
    }, {
        WeekEndDate: "2015-12-27T00:00:00",
        YearWeekNumber: 52,
        NumberOfObservations: "GreaterThan10000",
        WeekStartDate: "2015-12-21T00:00:00",
        SeasonalityIndicator: "Low"
    }, {
        WeekEndDate: "2016-01-03T00:00:00",
        YearWeekNumber: 53,
        NumberOfObservations: "GreaterThan10000",
        WeekStartDate: "2015-12-28T00:00:00",
        SeasonalityIndicator: "Low"
    }],
    Links: [{
        rel: "self",
        href: "https://api.sabre.com/v1/historical/flights/ELP/seasonality"
    }, {
        rel: "linkTemplate",
        href: "https://api.sabre.com/v1/historical/flights/<destination>/seasonality"
    }]
}

Usage notes

To get the future weeks that begin after the date of the request, sort the response by WeekStartDate.

Definition of weeks and a new year

The 12 previous months of bookings have either 52 or 53 weeks, depending on the calendar. The 52 future weeks begin with the week that follows the API request. The travel seasonality rating does not use the current week because the data is not complete. A week is defined as Monday through Sunday. The first day of a week is Monday. A year begins with the first week that includes both January 4 and a Thursday in January. Because a week is defined as Monday through Sunday, it is possible for the first week of a year to include dates from the previous year. In the response, weeks are numbered consecutively from 1 to 52 or 53, beginning with the first week (Week 1) of a year.

Country and airport codes

Links nodes

  • Sabre® REST APIs have one or more links nodes that combine related URI resources in a response. For more information, see the links nodes page.

City Pairs Lookup API

To get a list of our supported city pairs of origin and destination airports, use the City Pairs Lookup API. You can pass any of these origin and destination airport codes in a Travel Seasonality API request.

Multi-Airport City API

To get a list of city codes that are served by more than one airport, use the Multi-Airport City Lookup API. These multi-airport city codes can be used with applicable REST APIs.

Travel Seasonality Airports Lookup API

To get a list of our supported destination airports, use the Travel Seasonality Airports Lookup API. You can pass any of these destination airports in a Travel Seasonality API request.

Errors

A general HTTP status code is always returned.

Errors that are specific to this API follow. For information about the error response format, see the: Sabre APIs: common errors page.

Status 404 NOT FOUND

No results were found

The service cannot find data to fulfill the parameters in the request. For example, data is not available for the destination.

The destination in the request is not a valid IATA airport code.

The destination is not supported.

Status 413 FULL head

The API returns this error when a request URI is too long. For example, the HTTP request’s query string exceeds the server limit.

The response will be empty as a result.

Please consider reducing the number of request parameters in the URI or separating parameters into multiple HTTP requests.

Docs Navigation