Skip to content

Flex Search (Premium)

Request

This is an additional premium feature, not activated by default. Please contact your Travelport representative for more information on how to activate.
The Premium Flex Search API is the first step in the travel booking workflow. Send a Search request to return offers for flights between the selected cities.

TripServices Premium Flex Search Point of Sales functionality is supported for GDS content. The customer can send up to 3 Pseudo City Codes (PCCs) in PricingModifiersAir, MultiPricingAgency. Premium Flex Search is supported for a maximum of two O&Ds and will be ignored when more than two SpecificFlightCriteria objects are sent in the request. The functionality will be available to selective TripServices Search customers. The customer can request this new functionality via their account representative.

Customers can use the Accept Header to choose whether the TripServices Premium Flex Flight Specific Search full payload response is aggregated or streamed.
Stream Header Key “Accept” Value “application/stream+json”.
When customers request streamed Premium Flex Flight Specific Search full payload responses, multiple CatalogProductOfferingsResponse are returned consecutively, each including TermsAndConditionsAir and PricingAgency with the applicable PCC.
Aggregate Header Key “Accept” Value “application/json”.
When customers request aggregated Premium Flex Flight Specific Search full payload responses, offers from each PCC are combined into a single CatalogProductOfferingsResponse. Each offer includes its respective TermsAndConditionsAir and PricingAgency.

References in the response have been updated to clearly distinguish offers by PCC.

  • id = “f1o1”, “f1o2”, ... for the first offer received, “f2o1”, “f2o2”, ... for the second offer received, and so on.

    • Please note: Customers should not assume that CatalogProductOffering “id” will follow a sequential pattern (e.g., f1, f2, f3) in aggregated Flex Search responses. Implementations must not rely on this ordering when consuming the data.
  • CombinabilityCode = “f1j0”, “f1j1”, ... for the first offer received, “f2j0”, “f2j1”, ... for the second offer received, and so on.

  • ProductRef = “f1p0”, “f1p1”, ... for the first offer received, “f2p0”, “f2p1”, ... for the second offer received, and so on.

  • BrandRef = ”f1b0”, “f1b1”, ... for the first offer received, “f2b0”, “f2b1”, ... for the second offer received, and so on.

  • flightRefs = ”f1s1”, “f1s2”, ... for the first offer received, “f2s1”, “f2s2”, ... for the second offer received, and so on.

  • termsAndConditionsRef = ”f1T0”, “f1T1”, ... for the first offer received, “f2T0”, “f2T1”, ... for the second offer received, and so on.

Security
bearerAuth
Headers
TraceIdstring, [ 10 .. 89 ] characters

Identifier used to correlate Air API invocations across a multi-call business flows.

Example:TraceID_123456789
XAUTH_TRAVELPORT_ACCESSGROUPstring, = 36 characters([a-zA-Z-0-9-_]*)

Identifies the Travelport access group with which the caller is associated

Example:19Y88702-C27A-4E5D-829A-89D7016688B1
travelportPlusSessionIdentifierstring, [ 0 .. 100 ] characters([a-zA-Z-0-9-_]*)

travelportPlusSessionIdentifier used to maintain an established agency session

Example:49f58f5f-c443-43b4-9f5d-be405fd00a01
TVP-PCC-Corestring^[a-zA-Z\d]{3,4}_\w{2}$

Allows user to pass PCC instead of Access Group ID

Example:DU7_1G
Bodyapplication/jsonrequired

Premium Flex Search request payload.

@typestringrequired

Discriminator class CatalogProductOfferingsQueryRequest only

Example:"CatalogProductOfferingsQueryRequest"
CatalogProductOfferingsRequestobject(CatalogProductOfferingsRequestAir)required
curl -i -X POST \
  https://api.pp.travelport.net/11/air/catalog/search/catalogproductofferings/premiumflex \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -H 'TVP-PCC-Core: DU7_1G' \
  -H 'TraceId: TraceID_123456789' \
  -H 'XAUTH_TRAVELPORT_ACCESSGROUP: 19Y88702-C27A-4E5D-829A-89D7016688B1' \
  -H 'travelportPlusSessionIdentifier: 49f58f5f-c443-43b4-9f5d-be405fd00a01' \
  -d '{
    "@type": "CatalogProductOfferingsQueryRequest",
    "CatalogProductOfferingsRequest": {
      "@type": "CatalogProductOfferingsRequestAir",
      "contentSourceList": [
        "GDS"
      ],
      "maxNumberOfUpsellsToReturn": 4,
      "PassengerCriteria": [
        {
          "@type": "PassengerCriteria",
          "number": 1,
          "passengerTypeCode": "ADT"
        }
      ],
      "SearchCriteriaFlight": [
        {
          "departureDate": "2026-11-29",
          "daysBeforeDeparture": 1,
          "daysAfterDeparture": 2,
          "From": {
            "value": "PEN"
          },
          "To": {
            "value": "MEL"
          }
        },
        {
          "departureDate": "2026-12-04",
          "daysBeforeDeparture": 2,
          "daysAfterDeparture": 1,
          "From": {
            "value": "MEL"
          },
          "To": {
            "value": "PEN"
          }
        }
      ]
    }
  }'

Responses

OK - Successful Response - 200

Bodyapplication/json
CatalogProductOfferingsResponseobject(CatalogProductOfferingsResponse)

Top level object for Search response. Includes CatalogProductOfferings, Result, and ReferenceList.

Response
{ "CatalogProductOfferingsResponse": { "CatalogProductOfferings": null, "@type": "response", "transactionId": "49f58f5f-c443-43b4-9f5d-be405fd00a01", "traceId": "TraceID_123456", "correlationId": "49f58f5f-c443-43b4-9f5d-be405fd00a01", "reservationStatus": "Success", "Result": { "@type": "Result", "status": "Complete", "Error": [ … ], "Warning": [ … ] }, "Identifier": { "value": "A0656EFF-FAF4-456F-B061-0161008D7C4E", "authority": "TVPT" }, "NextSteps": { "baseURI": "www.travelport.com", "id": "5", "NextStep": [ … ] }, "ReferenceList": [ null ], "CurrencyRateConversion": [ { … } ], "Pagination": { "@type": "Pagination", "page": 1, "pageSize": 20, "totalPages": 5, "totalItems": 100 } } }