v1
latestOpenAPI 3.0.02026-08-061029011.1 MBGDS Exchanges
Exchange Search
The Exchange Search API is the second step in the GDS exchange workflow, after Eligibility. It supports searching for an alternate itinerary for a possible exchange on a currently ticketed GDS itinerary. The response details any differences in base fare, taxes, fees, and total price between the currently ticketed itinerary and the possible new itinerary.
post/exchangesearch/catalogofferingsairchange
Headers
TraceIdstring
Example:TraceID_123456789
Identifier used to correlate Air API invocations across a multi-call business flows.
XAUTH_TRAVELPORT_ACCESSGROUPstring
Example:19Y88702-C27A-4E5D-829A-89D7016688B1
Identifies the Travelport access group with which the caller is associated
travelportPlusSessionIdentifierstring
Example:49f58f5f-c443-43b4-9f5d-be405fd00a01
travelportPlusSessionIdentifier used to maintain an established agency session
TVP-PCC-Corestring
Example:DU7_1G
Allows user to pass PCC instead of Access Group ID
Request body
Example request
{
"@type": "CatalogOfferingsQueryAirChange",
"CatalogOfferingsAirChangeRequest": {
"@type": "CatalogOfferingsAirChangeRequestReservation",
"catalogOfferingsPerPage": 5,
"SearchCriteriaFlight": [
{
"daysBeforeDeparture": 1,
"daysAfterDeparture": 2,
"departureTime": "07:00:00",
"arrivalTime": "09:15:00",
"From": {
"value": "MEX",
"cityOrAirport": "City or Airport",
"radius": 50,
"radiusMeasurement": "Kilometers"
},
"To": {
"value": "MEX",
"cityOrAirport": "City or Airport",
"radius": 50,
"radiusMeasurement": "Kilometers"
},
"AdditionalFrom": [
{
"value": "LGW",
"cityOrAirport": "City or Airport"
}
],
"AdditionalTo": [
{
"value": "LGW",
"cityOrAirport": "City or Airport"
}
],
"DepartureTimeRange": {
"start": "06:15:00",
"end": "09:15:00"
},
"ArrivalTimeRange": {
"start": "06:15:00",
"end": "09:15:00"
}
}
],
"PassengerCriteria": [
{
"@type": "PassengerCriteria",
"number": 1,
"age": 26,
"passengerTypeCode": "ADT",
"birthDate": "2020-01-16",
"id": "passengercriteria_001",
"CustomerLoyalty": [
{
"value": "132456",
"id": "Loyalty_1",
"priority": 2,
"programId": "HY",
"programName": "Frontier-EarlyReturns",
"supplierType": "Hotel",
"supplier": "UA",
"tier": "Silver",
"shareWithSupplier": [
"[\"AF\",\"KL\"]"
],
"cardHolderName": "John Smith",
"validatedInd": true,
"prefix": "Dr",
"given": "John",
"middle": "Wilkinson",
"surname": "Smith"
}
],
"TravelerGeographicLocation": {
"value": "PMI",
"travelerGeographicLocationType": "City",
"generalLargeFamilyResidentDiscountInd": true,
"specialLargeFamilyResidentDiscountInd": true
},
"specifiedPassengerTypeCodeOnlyInd": true
}
],
"SearchModifiersAir": {
"@type": "SearchModifiersAir",
"excludeGround": "Train",
"CarrierPreference": [
{
"@type": "CarrierPreference",
"preferenceType": "Preferred",
"carriers": [
"BA"
],
"legSequence": [
1,
2
]
}
],
"CabinPreference": [
{
"@type": "CabinPreference",
"preferenceType": "Preferred",
"cabins": [
"Economy"
],
"legSequence": [
1,
2
]
}
],
"ClassOfServicePreference": [
{
"@type": "ClassOfServicePreference",
"legSequence": [
1,
2
],
"ClassesOfService": [
"F"
],
"PreferenceType": "Preferred"
}
],
"ProductInclusionPreference": [
{
"@type": "ProductInclusionPreference",
"legSequence": [
1,
2
],
"Classification": [
"CheckedBag"
],
"AdditionalClassification": [
"PremiumDrinks"
],
"exactMatchInd": true,
"bestMatchInd": true
}
],
"ConnectionPreferences": [
{
"legSequence": [
1,
2,
4
],
"maxConnectionDuration": "PT3H45M",
"maxOvernightDuration": "PT6H30M",
"preferenceType": "Permitted",
"cityOrAirport": "City or Airport",
"FlightType": {
"@type": "FlightType",
"connectionType": "StopDirect",
"excludeInterlineConnectionsInd": true
}
}
],
"prohibitChangeOfAirportInd": true
},
"PricingModifiersAirChange": {
"@type": "PricingModifiersAirChange",
"currencyCode": "USD",
"FareSelection": {
"@type": "FareSelection",
"fareType": "PrivateFaresOnly",
"RefundOptions": {
"@type": "RefundOptions",
"refundTypes": [
"Refundable"
],
"RefundPenaltyRange": {
"@type": "RefundPenaltyRange",
"Minimum": {
"@type": "AmountPercentAmount",
"application": "Full"
},
"Maximum": {
"@type": "AmountPercentAmount",
"application": "Full"
}
}
},
"ChangeOptions": {
"@type": "ChangeOptions",
"changeTypes": [
"Changeable"
],
"ChangePenaltyRange": {
"@type": "ChangePenaltyRange",
"Minimum": {
"@type": "AmountPercentAmount",
"application": "Full"
},
"Maximum": {
"@type": "AmountPercentAmount",
"application": "Full"
}
}
},
"FareQualifier": [
{
"value": "Consolidator"
}
],
"FareQualiferString": [
"Tour"
]
},
"OrganizationInformation": {
"@type": "OrganizationInformation",
"OrganizationIdentifier": [
{
"value": "JBD123456",
"supplier": "AA",
"organizationCodeType": "Account",
"segmentSequenceList": [
1,
2,
3
],
"productRef": [
"product_1"
],
"accountCodeFaresOnlyInd": true
}
],
"GSTRegistrationNumber": [
{
"value": "07AAGFF2194N1Z1",
"telephone": "222-222-222",
"address": "1122 sample trail, CO, USA, 21232",
"country": "IND",
"companyName": "Adecco",
"email": "sample@adecco.com"
}
]
},
"WaiverCode": {
"reasonCode": 2,
"waiverType": "ChangePenalty"
},
"TaxExemption": {
"@type": "TaxExemption",
"countries": [
"GB",
"MX"
],
"taxCodes": [
"US"
],
"allTaxesExemptInd": true
},
"PromotionalCode": {
"value": "CDFRT",
"supplierCode": "AA"
},
"SellCity": "MEX",
"TicketCity": "MEX",
"PricingPCC": "0XS4",
"TicketingPCC": "0XCD",
"CalculatedFareAdjustment": {
"@type": "CalculatedFareAdjustmentDiscount"
},
"BrandPreference": [
{
"@type": "BrandPreference",
"brandTier": 1,
"legSequence": [
1,
2
]
}
],
"keepToBrandInd": true,
"returnMostRestrictiveBrandInd": true
},
"SearchControlConsoleChannelID": {
"value": "IBM",
"sccType": "999"
},
"CustomResponseModifiersAir": {
"@type": "CustomResponseModifiersAir",
"BrandAttributeInclusion": [
{
"@type": "BrandAttributeInclusion",
"legSequence": [
1,
2
],
"Classification": [
"CarryOn"
]
}
],
"SearchRepresentation": "Leg",
"excludePenaltiesInd": true,
"excludeBaggageFeesInd": true,
"includeFareCalculationInd": true,
"excludeSurchargesInd": true,
"excludeUnbundledFaresInd": true,
"includeCO2EmissionsDataInd": true,
"includeFlightAmenitiesInd": true,
"includeUniversalProductAttributesInd": true,
"includeBundledAncillariesInd": true
},
"returnBrandedFaresInd": true,
"upsellInd": true,
"detailViewInd": true,
"divideReservationByTravelerInd": true,
"BuildFromReservationWorkbench": {
"@type": "BuildFromReservationWorkbench",
"ReservationIdentifier": {
"@type": "Reservation",
"Identifier": {
"value": "A0656EFF-FAF4-456F-B061-0161008D7C4E",
"authority": "TVPT"
},
"IdentifierType": "Locator"
},
"OfferIdentifier": {
"id": "offer_1",
"offerRef": "offer_1",
"Identifier": {
"value": "A0656EFF-FAF4-456F-B061-0161008D7C4E",
"authority": "TVPT"
}
},
"ProductIdentifier": [
{
"id": "product_1",
"productRef": "product_1",
"Identifier": {
"value": "A0656EFF-FAF4-456F-B061-0161008D7C4E",
"authority": "TVPT"
}
}
],
"TravelerRefs": [
"traveler_1"
]
}
}
}Response
OK - Successful Response - 200
Example response
{
"CatalogOfferingsAirChangeResponse": {
"@type": "response",
"transactionId": "49f58f5f-c443-43b4-9f5d-be405fd00a01",
"traceId": "TraceID_123456",
"Result": {
"@type": "Result",
"status": "Complete",
"Error": [
{
"@type": "ErrorDetail",
"StatusCode": 200,
"Message": "No flights found.",
"NameValuePair": [
{
"value": "Sunday",
"id": "6",
"name": "Day1"
}
]
}
],
"Warning": [
{
"@type": "WarningDetail",
"StatusCode": 200,
"Message": "Customer Loyalty could not be applied.",
"NameValuePair": [
{
"value": "Sunday",
"id": "6",
"name": "Day1"
}
]
}
]
},
"Identifier": {
"value": "A0656EFF-FAF4-456F-B061-0161008D7C4E",
"authority": "TVPT"
},
"NextSteps": {
"id": "5",
"NextStep": [
{
"value": "www.resourcelocation.com",
"id": "2",
"action": "cancel",
"description": "remove offer from the order"
}
]
},
"ReferenceList": [
{
"@type": "ReferenceListFlight"
}
],
"CurrencyRateConversion": [
{
"SourceCurrency": {
"value": "USD",
"codeAuthority": "ISO 4217",
"decimalPlace": 4,
"decimalAuthority": "ISO 4217"
},
"TargetCurrency": {
"value": "USD",
"codeAuthority": "ISO 4217",
"decimalPlace": 4,
"decimalAuthority": "ISO 4217"
},
"ConversionRate": {
"rateAuthority": "ISO 4217",
"rateAsOf": "2026-08-07T12:12:00Z"
}
}
],
"Pagination": {
"@type": "Pagination",
"page": 1,
"pageSize": 20,
"totalPages": 5,
"totalItems": 100
}
}
}