Skip Navigation

Deep Linking

Deep linking from Metasearch or Other Indirect Online Channels. The /products/air/metasearch Service supports the option to link directly from metasearch sites or other indirect channels to the airline’s application with flights already selected. After processing a /products/air/metasearch request, the application can proceed directly to next stage of the airline’s booking flow, such as collecting passenger details. In other words, the airline’s site can respond exactly as though the passenger had already searched for flights and selected flights on the local site.

With Metasearch JSON service, it is possible to skip flight search and flight selection steps of the booking flow and specify the itinerary and fare details directly. This is especially useful in case of MetaSearch engines, as it allows to easily build a web page that can be deep linked by a search engine and land the user on the Passenger Page with the selected itinerary. The URL will pass all information about selected itineraries and affiliate code of the referrer.

Within UI, passengers will be able to commence their booking from the Passenger Page, where they will see the selected itinerary displayed in the Trip Summary. If an error is encountered it will be displayed in the Flight Results Page. If there is no availability, the passenger will be also redirected to the Flight Results Page.

If total price for the itinerary searched on the MetaSearch site is not the equal to the one displayed on the Passenger Page, an informational message may be displayed to the passenger indicating there’s a price discrepancy. Both a positive and a negative price difference will trigger the message.

Prerequisites

This feature requires enabling in the backend configuration:

  • sat.metasearch.enabled,
  • sat.metasearch.landing.pageCode,
  • sat.json.service.air.enabled.

Basic Metasearch Model

ProductsAirMetaSearch

What can you do with MetaSearch API?

The /products/air/metasearch service provides the following functionality:

Service Name

Operation

Purpose

/products/air/metasearch

POST

Deeplinks to Sabre services with the flights already selected (If the metasearch request is successful the airline can move the passenger to the next step in the booking process, such as collection passenger details).

URL Parameters

Parameter Name

Mandatory

Description

Format

Example

journeyType

Required

Journey Type

String

one-way, round-trip, multi-city

*Passengers - Type and Number of passenger requested. At least one Stand-alone passenger is Required (based on the PassengerType configuration).

Possible values of the Passenger Type: ADT, CHD, INF, YTH, STU, MIL, SRC, INS, YCB

ADT*

Required

Adult Count

Number

1,2,3

CHD*

Optional

Child Count

Number

1,2,3

INF*

Optional

Infant Count

Number

1,2,3

pointOfSale

Optional

Point of Sale (POS) denotes the Country from which Sale happens. ISO country code like: https://en.wikipedia.org/?title=ISO_3166-1.

String

US

referrerCode

Optional

Third party website referred code.

Default Configuration:

Regular Expression: [0-9a-zA-Z]{1,10}

Maximum Length: 10

Minimum Length: 1

Example: KAYAK

String

KAYAK

*AdvertisedFare - Advertised fare details, coming from third party.

advertisedFare[amount]*

Optional

* Required if advertisedFare is configured as required.

Amount value of the advertised fare

Number

9890.80

advertisedFare[currency]*

Optional *Required if advertisedFare is configured as required.

Three letter ISO code like https://en.wikipedia.org/wiki/ISO_4217, or FFCURRENCY for points/miles, of the advertised fare.

String

AED

currency

Optional

Overrides default currency used in search. Three letter ISO currency code.

Three letter ISO code like https://en.wikipedia.org/wiki/ISO_4217, or FFCURRENCY for points/miles, of the advertised fare.

String

AED

promoCode

Optional

Promo code associated with the trip/passengers.

String

KS21

sswdmwa1

Optional

Numeric value for Marketing Channel.

Number

1100, 2100

sswdmwa2

Optional

Optional free marketing text.

String

Hotel

utm_medium

Optional

Marketing Channel.

String

Email, sem

utm_source

Optional

The publisher.

String

Kayak, facebook

utm_campaign

Optional

Name of campaign.

String

Brand, spring sale

utm_term

Optional

Keyword for bid.

String

Cheap flights to Dallas

utm_content

Optional

Provide additional details of campaign.

String

text

CID

Optional

Provide affiliate Id.

String

affkayak

MetaSearch Parameters

Parameter Name

Mandatory

Description

Format

Example

ms[0][origin]

Required

Origin airport code (IATA 3-letter code like https://en.wikipedia.org/wiki/List_of_airports_by_IATA_code:_A).

String

DFW,SYD,AUH

ms[0][destination]

Required

Destination airport code (IATA 3-letter code like https://en.wikipedia.org/wiki/List_of_airports_by_IATA_code:_A).

String

DFW,SYD,AUH

ms[0][flightnumber]

Required

Flight number

Number

6569

ms[0][operatingAirlineCode]

Optional

Operating airline 2- letter code of the selected offer to search. (IATA code like http://www.iata.org/about/members/Pages/airline-list.aspx?All=true).

It works in combination with flightNumber. Marketing airline and operating airline codes may differ in case of codeshare or interline flights.

String

EY

ms[0][airlineCode]

Required

Marketing airline 2-letter code of the selected offer to search. (IATA code like http://www.iata.org/about/members/Pages/airline-list.aspx?All=true).

It works in combination with flightNumber. Marketing airline and operating airline codes may differ in case of codeshare or interline flights.

String

AA

ms[0][departure]

Required

Departure date time (time stamp in the format: YYYY-MM-DD'T'HH:MM).

String

2015-08-06T1130

ms[0][arrival]

Required

Arrival date time (timestamp in the format: YYYY-MM-DD'T'HH:MM).

String

2015-08-06T1130

ms[0][leg]

Required

Leg number

Number

0,1,2

ms[0][fareBasis]

Required

Fare basis code of the offer which is filed. Dependent on the airline fare filing.

String

TSALE,SSAVER

ms[0][brandId]

Required

Brand id code with which the fare is filed. Dependent on the airline fare filing.

String

YS,YF

ms[0][bookingClass]

Required

Booking class - a single character code.

  • F and P are usually first class,
  • C and J business,

Others such as Y, M, B, H, K, Q, L, V, etc are economy, although these are not hard rules - each airline may be different.

String

R,H

ms[0][cabinClass]

Optional

Cabin class name

String

Economy,

PremiumEconomy,

Business,

First

ms[0][marriageGroup]

Optional

Marriage group indicator:

  • Default value: 0 (0 - means false)
  • Possible values: 0, 1 (0 - means false, 1 - means true)

String

0,1

ms[0][equipment]

Optional

Aircraft equipment code

String

320,77L

Examples: Request and Response

Sample Request and Response

https://api.sabre.com/v4.0/ssw/products/air/metasearch?jipcc=<storefront>
[
  {
    "service": "POST: /products/air/metasearch",
    "status": "200: OK",
    "request": {
      "passengers": {
        "ADT": 1,
        "CHD": 1,
        "INF": 0
      },
      "promoCodes": [],
      "metaItineraryParts": [
        {
          "segments": [
            {
              "@type": "Segment",
              "@id": "1",
              "segmentOfferInformation": {
                "flightsMiles": 438,
                "awardFare": false
              },
              "duration": 95,
              "cabinClass": "Economy",
              "equipment": "73H",
              "flight": {
                "flightNumber": 898,
                "airlineCode": "VA",
                "operatingAirlineCode": "VA",
                "stopAirports": [],
                "advisories": [],
                "departureTerminal": "2",
                "arrivalTerminal": "3"
              },
              "origin": "SYD",
              "destination": "MEL",
              "departure": "2017-12-17T22:00:00.000",
              "arrival": "2017-12-17T23:35:00.000",
              "bookingClass": "S",
              "layoverDuration": 0,
              "fareBasis": "SZGW0",
              "subjectToGovernmentApproval": false
            }
          ],
          "brandId": "GW",
          "marriageGroup": "false"
        }
      ]
    },
    "response": {
      "flightSelected": true,
      "priceChanged": false,
      "currencyChanged": false
    }
  }
]