Exchange Search API Reference
POST |
exchangesearch/catalogofferingsairchange Base path: Note the following base path varies from that used for other JSON APIs.
Pre-production https://api.pp.travelport.com/11/ Production https://api.travelport.com/11/ |
Related Content: GDS Exchanges Guide, Ticketing Exchange Guide & API Reference
The Exchange Search API is the second step in the GDS exchange workflow, after the optional Eligibility step. It searches 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. It should be followed by an Add/Modify Offer request to select a new itinerary from these search results.
Exchange Search supports exchanges for multiple travelers, and for itineraries with multiple offers, as follows:
-
You can send a single Exchange Search request for multiple passengers.
-
You must send a separate Exchange Search request for each offer to exchange: Use one workbench session for one leg of the change, and another workbench session for the next leg of the exchange.
Request
Also see Authorization and Common Headers.
Query Parameters
None.
Request Body
See the Optional Modifiers table next for optional search modifiers that can be added to this basic request.
Object |
Description |
Required/Optional |
---|---|---|
CatalogOfferingsQueryAirChange |
Top level object for request. Includes CatalogOfferingsAirChangeRequest. |
Required |
CatalogOfferingsAirChangeRequest |
Top level object. Includes SearchCriteriaFlight, PassengerCriteria, and BuildFromReservationWorkbench. Includes PricingModifiersAirChange and SearchModifiersAir if any optional search modifiers detailed in the table below are sent. Send with "@type": "CatalogOfferingsAirChangeRequestReservation", |
Required |
|
By default Exchange Search returns branded fares. Set to false to disable the return of branded fares. |
Optional |
|
Returns a detailed response. Set to true to return a tax breakdown and branded fare attributes (see the Air Shopping Guide for more about brand attributes). Set to false to disable the return of details. A detailed response includes the following additional or expanded detail elements:
|
Optional |
SearchCriteriaFlight |
Array. Defines one origin and destination (O&D) pair. Send one SearchCriteriaFlight for each O&D pair, or leg. Includes From and To objects. |
Required |
|
String. Date of departure in YYYY-MM-DD format (e.g., departureDate="2022-12-06"). |
Required |
|
String. Time of departure in HH:MM:SS format (e.g., departureTime="18:00:00"). departureTime is required on a same-day flight, i.e., when searching for multiple legs on the same day. |
Optional |
From |
Object. |
Required |
|
String. Optional enumeration specifying whether to restrict the search based on the city/airport code sent in value. Supported values:
|
Optional |
|
String. The IATA location code for the departure airport/city for this leg. |
Required |
To |
Object |
Required |
|
String. Optional enumeration specifying whether to restrict the search based on the city/airport code sent in value. Supported values:
|
Optional |
|
String. The IATA location code for the arrival city/airport for this leg. |
Required |
DepartureTimeRange |
Optional object to specify a start time and end time for the flight search. Only results within the specified window are returned. If both DepartureTimeRange and SearchCriteriaFlightChange @departureTime above are sent, Exchange Search uses the DepartureTimeRange for the search, not the departureTime.
Key value pairs:
|
Optional |
Array. Defines each passenger to search for. Send one instance of PassengerCriteria for each passenger. Send with @type PassengerCriteriaAirChange. Includes TravelerIdentiferRef object. Note that although the JSON Search API sends an instance of PassengerCriteria for each PTC, Exchange Price Quote sends PassengerCriteria for each passenger.
|
Required |
|
|
String. The passenger type code (PTC) for this specific passenger. Common PTCs are:
|
Required |
|
Number. The number of passengers with this PTC. Should always be 1, as Passenger Criteria here is for an individual passenger. |
Required |
|
Number. The age of the passenger. Notes on PTC and age
|
Optional |
|
Boolean. Send with true to return only offers for the specified PTC. Exchange Search generally returns the lowest fares available for any PTC. Sending specifiedPassengerTypeCodeOnlyInd set to true limits the fares returned to the specified PTC, which may return a higher priced fare that has better rules or commission. Note that if no fares are available for the specified PTC then no fares are returned and the error message "UNABLE TO PRICE AS SPECIFIED" is returned.
|
Optional Default is false |
TravelerIdentiferRef |
Top level object for traveler identifier. |
Required |
|
The traveler identifier from the reservation. |
Required |
BuildFromReservationWorkbench |
Includes ReservationIdentifier and OfferIdentifier; may include ProductIdentifier object. |
Required |
ReservationIdentifier |
Includes Identifier object. |
Required |
Identifier |
Workbench identifier information. Key value pairs:
|
Required |
OfferIdentifier |
The ID of the offer to change. *Exchange Search supports sending requests to search with an empty reservation, which can result when air segments and stored fares are canceled but the reservation is kept open to retain traveler and ticket information. Do not send OfferIdentifier or ProductIdentifier when searching with an empty reservation. |
*Required |
|
Send the offer ID of the offer to change (returned as part of the Reservation Retrieve when the workbench is created). |
Required |
ProductIdentifier |
Array. Send ProductIdentifier only if you want to return offers that change one or more specified products, instead of changing the entire offer. Do not send if you want to return options to modify the entire offer. (A product is one leg of an itinerary; a leg is all flight or flights between one origin and destination pair.) Send an instance of ProductIdentifier for each product/leg you want to change. Do not send ProductIdentifier for any leg you do not want to change. For example, if you send only the first product identifier for a round-trip itinerary, all offers include new options for the first leg and return the same flight/s that are already on the existing itinerary for the second leg. See the OfferIdentifier note above for an empty reservation. |
Optional |
|
The product ID of the product to change. |
Optional |
Object |
Description |
Required/Optional |
---|---|---|
SearchModifiersAir |
Optional modifiers related to the journey, such as connections. May include CabinPreference, PricingModifiersAirChange, OrganizationInformation, and/or CalculatedFareAdjustment objects. |
Optional |
Exchange Search 23.11.23 and later.
Array. Requests a fare based on the cabin class. Only one cabin preferenceType (Permitted, Preferred, or PreferredWithUpgrade) is allowed per request, but there is no limit to the number of cabins that can be sent. |
Optional |
|
|
String. A space-delimited list of cabins. Supported values are (no default):
|
Required if CabinPreference sent |
|
Supported values:
Sending a mix of preferenceType values is not supported. For example, you cannot send an instance of CabinPreference with a preferenceType of Permitted and another instance with preferenceType of Prohibited. In this case the results default to the Preferred preference.
|
Required if CabinPreference sent |
legSequence |
If requesting a preference at the leg level, use legSequence to specify the sequence of the leg that the preference should apply to. You can apply the preference to only some legs of the itinerary, or different preferences to different legs. The following example excerpt shows one instance of CabinPreference applied to legs 1 and 4, and another instance that applies to legs 2 and 3. To apply a preference to the entire itinerary, do not send legSequence. Show Example CabinPreference applied to itinerary
Show Example CabinPreference at leg level - single cabin preference on two legs
Show Example CabinPreference at leg level - different cabin preference for different legs
|
Optional |
FlightType |
Optional search preferences about connections and stops. |
Optional |
|
The connection type to limit the search. The specified type and all higher types can be returned. Supported values (no default):
|
Required if FlightType sent
|
PricingModifiersAirChange |
Optional modifiers related to pricing, such as brands and account codes. Includes OrganizationInformation if sending account codes. Includes FareSelection if sending fare types. Includes CalculatedFareAdjustment if sending increase/decrease fare modifiers. |
Optional |
|
By default Exchange Search returns the lowest available brand regardless of original brand on the ticket. Set to true to request only flight options available in the same brand as the original ticket. Set to false to not force the original brand. If not sent, the default value is false, The functionality works only for scenarios where the date and/or time is changed on a flight. It is not supported for more complex scenarios such as changing routing, adding segments, or connection changes.
|
Optional |
|
String, 2-10 characters supported. Use to send a faring PCC for which a selective access or code group agreement exists between that PCC and the PCC associated with your account. (PCC is the pseudo city code; a travel provider's identification code for the JSON APIs, provisioned from Travelport.) The following combinations of PricingPCC and FareSelection/fareType=PrivateFaresOnly (see below) return results as follows:
|
Optional |
OrganizationInformation
|
Top level object for OrganizationIdentifier. |
Optional |
OrganizationIdentifier |
Send up to 5 account or contract codes, if they are required for an airline or agency private fare. |
Required if OrganizationInformation sent |
|
String. Always send with the string Account.
|
Required if OrganizationInformation sent |
|
String. The account code to apply. If an account code for a private fare is sent, any tour code filed through a supplier as a private fare CAT 35 is shown in the response in TermsAndConditionsFull/OrganizationInformation/OrganizationIdentifier, with an organizationCodeType value of Tour and the tour code returned in OrganizationIdentifier/value.
|
Required if OrganizationInformation sent |
|
String. The IATA code for the airline on which the account code is applicable. |
Required if OrganizationInformation sent |
|
Boolean. Optional indicator to limit the fares returned to only fares filed for that account code. Send set to true, along with one or more account codes in OrganizationIdentifier/value per above. If sending multiple account codes, send each instance with accountCodeFaresOnlyInd set to true. If not sent the default is false.
|
Optional |
Optional pricing modifier allowing customers who have airline calculated fares to increase or decrease those fares before taxes during exchanges. The @type value for CalculatedFareAdjustment specifies whether to increase or decrease the fare as follows:
Show Example excerpt - CalculatedFareAdjustment to discount fare by an amount
Show Example excerpt - CalculatedFareAdjustment to discount fare by a percent
Show Example excerpt - CalculatedFareAdjustment to increase fares by flat amount
|
Optional |
|
AmountPercent |
Use with CalculatedFareAdjustment to specify an amount or percentage to increase or decrease the fare by. Includes either Percent or Amount objects. Send with @type AmountPercentAmount for Amount or @type AmountPercentPercent for Percent. |
Required if CalculatedFareAdjustment sent |
AmountPercent/Percent |
Use with CalculatedFareAdjustment/AmountPercent to specify a percentage to increase or decrease the fare by. |
Optional |
AmountPercent/Amount |
Use with CalculatedFareAdjustment/AmountPercent to specify an amount to increase or decrease the fare by. |
Optional |
Optional object to send fare type values. |
Optional |
|
|
Set to true to prevent unbundled fares. Default is false. |
Optional |
|
Specifies the fare types to return. Supported values:
|
Optional |
Response
The Exchange Search response is similar to the Search response. The table below refers to the response table in the Search API Reference for several common objects that are returned in the Exchange Search response with the same type of data.
Object |
Description |
---|---|
CatalogOfferingsAirChangeResponse |
Top level object for the full response. Include CatalogOfferings and ReferenceList objects. Key value pairs:
|
CatalogOfferings |
Top level object to group offers. Includes Identifier and CatalogOffering. |
CatalogOfferings/Identifier |
Identifier information for the response. Key value pair:
|
CatalogOffering |
Array. Each instance returns an individual offer. Includes ProductOptions, Price, TermsAndConditions, and ModifyPrice objects.
Key value pair:
|
ProductOptions |
Flight options for one leg of the itinerary. Key value pair:
Includes Product object. |
Product |
Array. Lists the flight or flights for one leg of the itinerary. Repeats for additional leg or legs. Key value pairs:
Includes FlightSegment and PassengerFlight objects. |
FlightSegment |
Array. One instance for each flight segment in the product. Key value pair:
Includes Flight object. |
Flight |
Array. One instance for each flight in the FlightSegment. A leg with a direct flight option has one Flight object, while a leg with connecting flights has one Flight object for each connecting flight on the leg. Includes FlightRef. |
FlightRef |
Internal cross-reference to flight details in Referencelist. |
PassengerFlight |
Array. Returns PTC and class/fare information for each PTC requested. One instance for each PTC requested. Key value pairs:
Includes FlightProduct. |
FlightProduct |
Key value pairs:
If branded fares are returned, includes the Brand object. |
Brand |
Returned for branded fares. May include BrandRef object. If brand details were requested, those are returned and consolidated in ReferenceList/ReferenceListBrand per below. In this case Brand does not return the brand name or Identifier but instead returns BrandRef, which matches to the brand identifier (e.g., b1) in ReferenceListBrand.
|
Brand/BrandRef |
Cross-reference to the brand identifier (e.g., b1) in ReferenceListBrand. |
Price |
The Price object returns price information for the itinerary in the CatalogOffering. It includes the following key value pairs:
In Exchange Search, all price information is inclusive of all travelers across all PTCs. |
PriceBreakdown Returned only if a detail response was requested. |
Array. Returns one instance per PTC. Key value pairs:
Includes the Commission (if filed) and Amount objects. May include FiledAmount. For any fare that has a private fare component, PriceBreakdown includes the objects Commission (either a percent or amount) and NetBaseAmount, which is the base fare filed by the airline. |
PriceBreakdown/Amount |
Includes the standard CurrencyCode, Base, Taxes, Fees, and Total objects to return the base fare, taxes, fees, and total fare for this PTC. |
Any commission filed by an airline in a CAT35 fare is returned in PriceBreakdownAir/Commission. The amount is either a percent of the fare component (@type CommissionPercent and the Percent object) or an amount (@type CommissionAmount with Amount @value). Commission is not returned if no commission is filed, or if the commission is a mix of amount and percent. Show Commission Examples
Commission as a percent:
Commission as an amount:
|
|
Amount |
Specifies commission when commission is a set amount. Key value pairs:
|
Percent |
Number. Specifies commission percent when commission is a percent. |
PriceBreakdown/FiledAmount |
Returned if there is an equivalent amount on the fare. |
PriceBreakdown/NetBaseAmount |
The base fare filed by the airline exclusive of any commission or additional markup. Returned only for fares with a private fare component. See Net Ticket Data in the GDS Exchanges Guide for details. |
FiledAmount |
Any filed fare amounts. Key value pairs:
|
TermsAndConditions |
The terms and conditions that apply to the offer. For full details see the Search API Reference. |
TermsAndConditions/FulfillmentMethod |
If there is a refundable balance, TermsAndConditions includes the FulfillmentMethod object. Includes RefundMethod and ChangeFeeCollectionMethod. |
RefundMethod |
Determines how the refundable balance will be handled. Key value pair:
|
ChangeFeeCollectionMethod |
Notes how the ChangeFee should be collected. Key value pair:
|
changeFeeIssuedSeparatelyInd |
Indicator returned set to true when a refund will be returned along with a change fee. Key value pair:
When a non-refundable fare component exists, the refund amount after adjustment with the change fee is not returned, which will cause a discrepancy in the TotalPrice value.
|
FareCalculation |
For each PTC, when available, FareCalculation returns the fare calculation ladder for all public and private fare types filed by an agency or an airline. Returned as a string with unlimited bytes. |
CurrencyRateConversion |
Returned when the POS country and country of the originating flight are different. Includes SourceCurrency, TargetCurrency, and ConversionRate objects. |
SourceCurrency |
Currency of the country of originating flight. Key value pair:
|
TargetCurrency |
Currency of the country of the POS. Key value pair:
|
ConversionRate |
Key value pair:
|
ModifyPrice |
ModifyPrice returns details about any fare difference between the currently ticketed itinerary and the offer in the CatalogOffering. For all amounts below, if there is no difference between the current ticket and the new amount, the value is 0. A negative number indicates the repriced amount is less than the ticket's current amount for that base, tax, fee, etc. A positive number indicates the repriced amount is higher.
|
PastDate |
Returned if an exchange is requested for a ticket on which some flight segments have already been flown. Lists the flown flight segments by flight segment number. Show Example PastDate object for flown segments
|
CurrencyCode |
Specifies the currency in which prices are returned. Key value pairs:
|
ReferenceList/ReferenceListFlight |
Flight details for the flights returned in the offers. For details see the Search API Reference. |
ReferenceList/ReferenceListBrand |
Brand details for the brands returned in the offers. For details see the Search API Reference. |
ReferenceList/ReferenceListExchangedPrice |
Exchange Search 24.11.29 and later.
Returns the original price of the exchanged ticket. Includes the standard Price object detailed above, including Base, TotalTaxes,TotalPrice, and an instance of PriceBreakdown for each PTC, with all amounts applicable to the original price. |
Example Request
The example below requests an Exchange Search for multiple passengers.
{
"CatalogOfferingsQueryAirChange": {
"CatalogOfferingsAirChangeRequest": {
"@type": "CatalogOfferingsAirChangeRequestReservation",
"returnBrandedFaresInd": true,
"detailViewInd": true,
"SearchCriteriaFlight": [{
"departureDate": "2021-05-14",
"departureTime": "07:30:00",
"From": {
"cityOrAirport": "Airport Only",
"value": "LHR"
},
"To": {
"cityOrAirport": "City or Airport",
"value": "FRA"
}
}, {
"departureDate": "2021-05-30",
"departureTime": "08:00:00",
"From": {
"cityOrAirport": "Airport Only",
"value": "FRA"
},
"To": {
"cityOrAirport": "City or Airport",
"value": "LHR"
}
}
],
"PassengerCriteria": [{
"@type": "PassengerCriteriaAirChange",
"number": 1,
"age": 20,
"passengerTypeCode": "ADT",
"TravelerIdentifierRef": {
"id": "travelerRefId_1"
}
}, {
"@type": "PassengerCriteriaAirChange",
"number": 1,
"age": 22,
"passengerTypeCode": "ADT",
"TravelerIdentifierRef": {
"id": "travelerRefId_2"
}
}, {
"@type": "PassengerCriteriaAirChange",
"number": 1,
"age": 15,
"passengerTypeCode": "C10",
"TravelerIdentifierRef": {
"id": "travelerRefId_3"
}
}, {
"@type": "PassengerCriteriaAirChange",
"number": 1,
"age": 15,
"passengerTypeCode": "C10",
"TravelerIdentifierRef": {
"id": "travelerRefId_4"
}
}, {
"@type": "PassengerCriteriaAirChange",
"number": 1,
"age": 60,
"passengerTypeCode": "ADT",
"TravelerIdentifierRef": {
"id": "travelerRefId_5"
}
}, {
"@type": "PassengerCriteriaAirChange",
"number": 1,
"age": 60,
"passengerTypeCode": "ADT",
"TravelerIdentifierRef": {
"id": "travelerRefId_6"
}
}
],
"PricingModifiersAirChange": {},
"BuildFromReservationWorkbench": {
"ReservationIdentifier": {
"Identifier": {
"authority": "Travelport",
"value": "723f8a67-a1b2-4f41-b52b-71c5026db23e"
}
},
"OfferIdentifier": {
"id": "offer_1"
},
"ProductIdentifier": [{
"id": "product_1"
}, {
"id": "product_2"
}
]
}
}
}
}
Example Response
For brevity, the following example has been edited to remove several instances of individual offers, terms and conditions, and flights. Because of that editing offers may return flights not shown in ReferenceList and vice versa.
{
"CatalogOfferingsAirChangeResponse": {
"@type": "CatalogOfferingsAirChangeResponse",
"transactionId": "634c9c22-b867-4fa0-92bd-74d9524c52f9",
"traceId": "2fd09950-857c-4753-9e88-ad841cfe1ac3",
"CatalogOfferings": {
"@type": "CatalogOfferings",
"Identifier": {
"value": "5ab7b7d1-7d47-48fb-8391-5c4714bf46b3"
},
"CatalogOffering": [
{
"@type": "CatalogOfferingModify",
"id": "o0.0",
"ProductOptions": [
{
"@type": "ProductOptions",
"sequence": 1,
"Product": [
{
"@type": "ProductAir",
"totalDuration": "PT1H35M",
"id": "p1",
"FlightSegment": [
{
"@type": "FlightSegment",
"sequence": 1,
"Flight": {
"@type": "FlightID",
"FlightRef": "s1"
}
}
],
"PassengerFlight": [
{
"@type": "PassengerFlight",
"passengerQuantity": 2,
"passengerTypeCode": "ADT",
"FlightProduct": [
{
"@type": "FlightProduct",
"segmentSequence": [
1
],
"classOfService": "T",
"cabin": "Economy",
"fareBasisCode": "TZCH0",
"fareType": "PublicFare",
"Brand": {
"@type": "BrandID",
"BrandRef": "b1"
}
}
]
},
{
"@type": "PassengerFlight",
"passengerQuantity": 2,
"passengerTypeCode": "SRC",
"FlightProduct": [
{
"@type": "FlightProduct",
"segmentSequence": [
1
],
"classOfService": "T",
"cabin": "Economy",
"fareBasisCode": "TZCH0",
"fareType": "PublicFare",
"Brand": {
"@type": "BrandID",
"BrandRef": "b1"
}
}
]
}
]
}
]
}
],
"Price": {
"@type": "PriceDetail",
"CurrencyCode": {
"decimalPlace": 2,
"value": "AUD"
},
"Base": 477.2,
"TotalTaxes": 174.8,
"TotalFees": 0,
"TotalPrice": 652,
"PriceBreakdown": [
{
"@type": "PriceBreakdownAir",
"quantity": 2,
"requestedPassengerType": "ADT",
"Amount": {
"@type": "Amount",
"CurrencyCode": {
"decimalPlace": 2,
"value": "AUD"
},
"Base": 119.3,
"Taxes": {
"@type": "TaxesDetail",
"TotalTaxes": 43.7,
"Tax": [
{
"taxCode": "QR",
"value": 21.7
},
{
"taxCode": "UO",
"value": 14.82
},
{
"taxCode": "WG",
"value": 7.18
}
]
},
"Fees": {
"@type": "FeesDetail",
"TotalFees": 0,
"Fee": [
{
"@type": "Fee",
"description": "Change Fee",
"FeeAmountOrPercent": {
"@type": "FeeAmountOrPercentAmount",
"Amount": {
"code": "AUD",
"minorUnit": 2,
"value": 0
}
}
}
]
},
"Total": 163
},
"FiledAmount": {
"currencyCode": "AUD",
"decimalPlace": 2,
"value": 119.3
}
},
{
"@type": "PriceBreakdownAir",
"quantity": 2,
"requestedPassengerType": "SRC",
"Amount": {
"@type": "Amount",
"CurrencyCode": {
"decimalPlace": 2,
"value": "AUD"
},
"Base": 119.3,
"Taxes": {
"@type": "TaxesDetail",
"TotalTaxes": 43.7,
"Tax": [
{
"taxCode": "QR",
"value": 21.7
},
{
"taxCode": "UO",
"value": 14.82
},
{
"taxCode": "WG",
"value": 7.18
}
]
},
"Fees": {
"@type": "FeesDetail",
"TotalFees": 0,
"Fee": [
{
"@type": "Fee",
"description": "Change Fee",
"FeeAmountOrPercent": {
"@type": "FeeAmountOrPercentAmount",
"Amount": {
"code": "AUD",
"minorUnit": 2,
"value": 0
}
}
}
]
},
"Total": 163
},
"FiledAmount": {
"currencyCode": "AUD",
"decimalPlace": 2,
"value": 119.3
}
}
]
},
"TermsAndConditions": {
"@type": "TermsAndConditionsAirChange",
"BaggageAllowance": [
{
"@type": "BaggageAllowanceDetail",
"url": "http://VIEWTRIP.TRAVELPORT.COM/BAGGAGEPOLICY/VA",
"passengerTypeCodes": [
"ADT"
],
"baggageType": "FirstCheckedBag",
"ProductRef": [
"p1"
],
"BaggageItem": [
{
"@type": "BaggageItem",
"quantity": 1,
"BaggageFee": {
"code": "AUD",
"value": 0
},
"Text": "BAGGAGE CHARGES DATA NOT AVAILABLE"
}
],
"SegmentSequenceList": [
1
],
"Text": [
"1P|BAGGAGE DISCOUNTS MAY APPLY BASED ON FREQUENT FLYER STATUS/ONLINE CHECKIN/FORM OF PAYMENT/MILITARY/ETC"
]
},
{
"@type": "BaggageAllowanceDetail",
"passengerTypeCodes": [
"SRC"
],
"baggageType": "CarryOn",
"ProductRef": [
"p1"
],
"BaggageItem": [
{
"@type": "BaggageItem",
"quantity": 1,
"BaggageFee": {
"code": "AUD",
"value": 0
},
"Text": "CARRYON HAND BAGGAGE ALLOWANCE"
}
],
"SegmentSequenceList": [
1
],
"Text": [
"2P"
]
}
],
"Restriction": [
{
"value": "* NONREF 572.38 AUD//PENALTIES APPLY/RESTRICTIONS APPLY/NO"
}
],
"ValidatingAirline": [
{
"@type": "ValidatingAirline",
"ValidatingAirline": "VA"
}
],
"PaymentTimeLimit": "2024-04-13T23:59:00Z",
"FareGuaranteePolicy": [
{
"@type": "FareGuaranteePolicy",
"EligibleforADMReview": "Yes",
"Code": {
"codeContext": "Travelport",
"value": "G"
}
}
],
"FulfillmentMethod": [
{
"@type": "FulfillmentMethod",
"RefundMethod": {
"value": "Unknown"
}
}
]
},
"ModifyPrice": {
"@type": "ModifyPriceDetail",
"CurrencyCode": {
"decimalPlace": 2,
"value": "AUD"
},
"Base": 0,
"TotalTaxes": -191.68,
"TotalFees": 0,
"TotalPrice": -191.68,
"PriceBreakdown": [
{
"@type": "PriceBreakdownAir",
"quantity": 2,
"requestedPassengerType": "ADT",
"Amount": {
"@type": "Amount",
"CurrencyCode": {
"decimalPlace": 2,
"value": "AUD"
},
"Base": 0,
"Taxes": {
"@type": "TaxesDetail",
"TotalTaxes": -47.92,
"Tax": [
{
"taxCode": "QR",
"value": -2.38
},
{
"taxCode": "UO",
"value": -45.54
}
]
},
"Fees": {
"@type": "FeesDetail",
"TotalFees": 0,
"Fee": [
{
"@type": "Fee",
"description": "Change Fee",
"FeeAmountOrPercent": {
"@type": "FeeAmountOrPercentAmount",
"Amount": {
"code": "AUD",
"minorUnit": 2,
"value": 0
}
}
}
]
},
"Total": -47.92
},
"FareCalculation": "SYD VA MEL119.30AUD119.30END VA"
},
{
"@type": "PriceBreakdownAir",
"quantity": 2,
"requestedPassengerType": "SRC",
"Amount": {
"@type": "Amount",
"CurrencyCode": {
"decimalPlace": 2,
"value": "AUD"
},
"Base": 0,
"Taxes": {
"@type": "TaxesDetail",
"TotalTaxes": -47.92,
"Tax": [
{
"taxCode": "QR",
"value": -2.38
},
{
"taxCode": "UO",
"value": -45.54
}
]
},
"Fees": {
"@type": "FeesDetail",
"TotalFees": 0,
"Fee": [
{
"@type": "Fee",
"description": "Change Fee",
"FeeAmountOrPercent": {
"@type": "FeeAmountOrPercentAmount",
"Amount": {
"code": "AUD",
"minorUnit": 2,
"value": 0
}
}
}
]
},
"Total": -47.92
},
"FareCalculation": "SYD VA MEL119.30AUD119.30END VA"
}
]
}
},
{
"@type": "CatalogOfferingModify",
"id": "o1.0",
"ProductOptions": [
{
"@type": "ProductOptions",
"sequence": 1,
"Product": [
{
"@type": "ProductAir",
"totalDuration": "PT1H35M",
"id": "p1",
"FlightSegment": [
{
"@type": "FlightSegment",
"sequence": 1,
"Flight": {
"@type": "FlightID",
"FlightRef": "s2"
}
}
],
"PassengerFlight": [
{
"@type": "PassengerFlight",
"passengerQuantity": 2,
"passengerTypeCode": "ADT",
"FlightProduct": [
{
"@type": "FlightProduct",
"segmentSequence": [
1
],
"classOfService": "T",
"cabin": "Economy",
"fareBasisCode": "TZCH0",
"fareType": "PublicFare",
"Brand": {
"@type": "BrandID",
"BrandRef": "b1"
}
}
]
},
{
"@type": "PassengerFlight",
"passengerQuantity": 2,
"passengerTypeCode": "SRC",
"FlightProduct": [
{
"@type": "FlightProduct",
"segmentSequence": [
1
],
"classOfService": "T",
"cabin": "Economy",
"fareBasisCode": "TZCH0",
"fareType": "PublicFare",
"Brand": {
"@type": "BrandID",
"BrandRef": "b1"
}
}
]
}
]
}
]
}
],
"Price": {
"@type": "PriceDetail",
"CurrencyCode": {
"decimalPlace": 2,
"value": "AUD"
},
"Base": 477.2,
"TotalTaxes": 174.8,
"TotalFees": 0,
"TotalPrice": 652,
"PriceBreakdown": [
{
"@type": "PriceBreakdownAir",
"quantity": 2,
"requestedPassengerType": "ADT",
"Amount": {
"@type": "Amount",
"CurrencyCode": {
"decimalPlace": 2,
"value": "AUD"
},
"Base": 119.3,
"Taxes": {
"@type": "TaxesDetail",
"TotalTaxes": 43.7,
"Tax": [
{
"taxCode": "QR",
"value": 21.7
},
{
"taxCode": "UO",
"value": 14.82
},
{
"taxCode": "WG",
"value": 7.18
}
]
},
"Fees": {
"@type": "FeesDetail",
"TotalFees": 0,
"Fee": [
{
"@type": "Fee",
"description": "Change Fee",
"FeeAmountOrPercent": {
"@type": "FeeAmountOrPercentAmount",
"Amount": {
"code": "AUD",
"minorUnit": 2,
"value": 0
}
}
}
]
},
"Total": 163
},
"FiledAmount": {
"currencyCode": "AUD",
"decimalPlace": 2,
"value": 119.3
}
},
{
"@type": "PriceBreakdownAir",
"quantity": 2,
"requestedPassengerType": "SRC",
"Amount": {
"@type": "Amount",
"CurrencyCode": {
"decimalPlace": 2,
"value": "AUD"
},
"Base": 119.3,
"Taxes": {
"@type": "TaxesDetail",
"TotalTaxes": 43.7,
"Tax": [
{
"taxCode": "QR",
"value": 21.7
},
{
"taxCode": "UO",
"value": 14.82
},
{
"taxCode": "WG",
"value": 7.18
}
]
},
"Fees": {
"@type": "FeesDetail",
"TotalFees": 0,
"Fee": [
{
"@type": "Fee",
"description": "Change Fee",
"FeeAmountOrPercent": {
"@type": "FeeAmountOrPercentAmount",
"Amount": {
"code": "AUD",
"minorUnit": 2,
"value": 0
}
}
}
]
},
"Total": 163
},
"FiledAmount": {
"currencyCode": "AUD",
"decimalPlace": 2,
"value": 119.3
}
}
]
},
"TermsAndConditions": {
"@type": "TermsAndConditionsAirChange",
"BaggageAllowance": [
{
"@type": "BaggageAllowanceDetail",
"url": "http://VIEWTRIP.TRAVELPORT.COM/BAGGAGEPOLICY/VA",
"passengerTypeCodes": [
"ADT"
],
"baggageType": "FirstCheckedBag",
"ProductRef": [
"p1"
],
"BaggageItem": [
{
"@type": "BaggageItem",
"quantity": 1,
"BaggageFee": {
"code": "AUD",
"value": 0
},
"Text": "BAGGAGE CHARGES DATA NOT AVAILABLE"
}
],
"SegmentSequenceList": [
1
],
"Text": [
"1P|BAGGAGE DISCOUNTS MAY APPLY BASED ON FREQUENT FLYER STATUS/ONLINE CHECKIN/FORM OF PAYMENT/MILITARY/ETC"
]
},
{
"@type": "BaggageAllowanceDetail",
"passengerTypeCodes": [
"SRC"
],
"baggageType": "CarryOn",
"ProductRef": [
"p1"
],
"BaggageItem": [
{
"@type": "BaggageItem",
"quantity": 1,
"BaggageFee": {
"code": "AUD",
"value": 0
},
"Text": "CARRYON HAND BAGGAGE ALLOWANCE"
}
],
"SegmentSequenceList": [
1
],
"Text": [
"2P"
]
}
],
"Restriction": [
{
"value": "* NONREF 572.38 AUD//PENALTIES APPLY/RESTRICTIONS APPLY/NO"
}
],
"ValidatingAirline": [
{
"@type": "ValidatingAirline",
"ValidatingAirline": "VA"
}
],
"PaymentTimeLimit": "2024-04-13T23:59:00Z",
"FareGuaranteePolicy": [
{
"@type": "FareGuaranteePolicy",
"EligibleforADMReview": "Yes",
"Code": {
"codeContext": "Travelport",
"value": "G"
}
}
],
"FulfillmentMethod": [
{
"@type": "FulfillmentMethod",
"RefundMethod": {
"value": "Unknown"
}
}
]
},
"ModifyPrice": {
"@type": "ModifyPriceDetail",
"CurrencyCode": {
"decimalPlace": 2,
"value": "AUD"
},
"Base": 0,
"TotalTaxes": -191.68,
"TotalFees": 0,
"TotalPrice": -191.68,
"PriceBreakdown": [
{
"@type": "PriceBreakdownAir",
"quantity": 2,
"requestedPassengerType": "ADT",
"Amount": {
"@type": "Amount",
"CurrencyCode": {
"decimalPlace": 2,
"value": "AUD"
},
"Base": 0,
"Taxes": {
"@type": "TaxesDetail",
"TotalTaxes": -47.92,
"Tax": [
{
"taxCode": "QR",
"value": -2.38
},
{
"taxCode": "UO",
"value": -45.54
}
]
},
"Fees": {
"@type": "FeesDetail",
"TotalFees": 0,
"Fee": [
{
"@type": "Fee",
"description": "Change Fee",
"FeeAmountOrPercent": {
"@type": "FeeAmountOrPercentAmount",
"Amount": {
"code": "AUD",
"minorUnit": 2,
"value": 0
}
}
}
]
},
"Total": -47.92
},
"FareCalculation": "SYD VA MEL119.30AUD119.30END VA"
},
{
"@type": "PriceBreakdownAir",
"quantity": 2,
"requestedPassengerType": "SRC",
"Amount": {
"@type": "Amount",
"CurrencyCode": {
"decimalPlace": 2,
"value": "AUD"
},
"Base": 0,
"Taxes": {
"@type": "TaxesDetail",
"TotalTaxes": -47.92,
"Tax": [
{
"taxCode": "QR",
"value": -2.38
},
{
"taxCode": "UO",
"value": -45.54
}
]
},
"Fees": {
"@type": "FeesDetail",
"TotalFees": 0,
"Fee": [
{
"@type": "Fee",
"description": "Change Fee",
"FeeAmountOrPercent": {
"@type": "FeeAmountOrPercentAmount",
"Amount": {
"code": "AUD",
"minorUnit": 2,
"value": 0
}
}
}
]
},
"Total": -47.92
},
"FareCalculation": "SYD VA MEL119.30AUD119.30END VA"
}
]
}
},
{
"@type": "CatalogOfferingModify",
"id": "o2.0",
"ProductOptions": [
{
"@type": "ProductOptions",
"sequence": 1,
"Product": [
{
"@type": "ProductAir",
"totalDuration": "PT1H35M",
"id": "p1",
"FlightSegment": [
{
"@type": "FlightSegment",
"sequence": 1,
"Flight": {
"@type": "FlightID",
"FlightRef": "s3"
}
}
],
"PassengerFlight": [
{
"@type": "PassengerFlight",
"passengerQuantity": 2,
"passengerTypeCode": "ADT",
"FlightProduct": [
{
"@type": "FlightProduct",
"segmentSequence": [
1
],
"classOfService": "T",
"cabin": "Economy",
"fareBasisCode": "TZCH0",
"fareType": "PublicFare",
"Brand": {
"@type": "BrandID",
"BrandRef": "b1"
}
}
]
},
{
"@type": "PassengerFlight",
"passengerQuantity": 2,
"passengerTypeCode": "SRC",
"FlightProduct": [
{
"@type": "FlightProduct",
"segmentSequence": [
1
],
"classOfService": "T",
"cabin": "Economy",
"fareBasisCode": "TZCH0",
"fareType": "PublicFare",
"Brand": {
"@type": "BrandID",
"BrandRef": "b1"
}
}
]
}
]
}
]
}
],
"Price": {
"@type": "PriceDetail",
"CurrencyCode": {
"decimalPlace": 2,
"value": "AUD"
},
"Base": 477.2,
"TotalTaxes": 174.8,
"TotalFees": 0,
"TotalPrice": 652,
"PriceBreakdown": [
{
"@type": "PriceBreakdownAir",
"quantity": 2,
"requestedPassengerType": "ADT",
"Amount": {
"@type": "Amount",
"CurrencyCode": {
"decimalPlace": 2,
"value": "AUD"
},
"Base": 119.3,
"Taxes": {
"@type": "TaxesDetail",
"TotalTaxes": 43.7,
"Tax": [
{
"taxCode": "QR",
"value": 21.7
},
{
"taxCode": "UO",
"value": 14.82
},
{
"taxCode": "WG",
"value": 7.18
}
]
},
"Fees": {
"@type": "FeesDetail",
"TotalFees": 0,
"Fee": [
{
"@type": "Fee",
"description": "Change Fee",
"FeeAmountOrPercent": {
"@type": "FeeAmountOrPercentAmount",
"Amount": {
"code": "AUD",
"minorUnit": 2,
"value": 0
}
}
}
]
},
"Total": 163
},
"FiledAmount": {
"currencyCode": "AUD",
"decimalPlace": 2,
"value": 119.3
}
},
{
"@type": "PriceBreakdownAir",
"quantity": 2,
"requestedPassengerType": "SRC",
"Amount": {
"@type": "Amount",
"CurrencyCode": {
"decimalPlace": 2,
"value": "AUD"
},
"Base": 119.3,
"Taxes": {
"@type": "TaxesDetail",
"TotalTaxes": 43.7,
"Tax": [
{
"taxCode": "QR",
"value": 21.7
},
{
"taxCode": "UO",
"value": 14.82
},
{
"taxCode": "WG",
"value": 7.18
}
]
},
"Fees": {
"@type": "FeesDetail",
"TotalFees": 0,
"Fee": [
{
"@type": "Fee",
"description": "Change Fee",
"FeeAmountOrPercent": {
"@type": "FeeAmountOrPercentAmount",
"Amount": {
"code": "AUD",
"minorUnit": 2,
"value": 0
}
}
}
]
},
"Total": 163
},
"FiledAmount": {
"currencyCode": "AUD",
"decimalPlace": 2,
"value": 119.3
}
}
]
},
"TermsAndConditions": {
"@type": "TermsAndConditionsAirChange",
"BaggageAllowance": [
{
"@type": "BaggageAllowanceDetail",
"url": "http://VIEWTRIP.TRAVELPORT.COM/BAGGAGEPOLICY/VA",
"passengerTypeCodes": [
"ADT"
],
"baggageType": "FirstCheckedBag",
"ProductRef": [
"p1"
],
"BaggageItem": [
{
"@type": "BaggageItem",
"quantity": 1,
"BaggageFee": {
"code": "AUD",
"value": 0
},
"Text": "BAGGAGE CHARGES DATA NOT AVAILABLE"
}
],
"SegmentSequenceList": [
1
],
"Text": [
"1P|BAGGAGE DISCOUNTS MAY APPLY BASED ON FREQUENT FLYER STATUS/ONLINE CHECKIN/FORM OF PAYMENT/MILITARY/ETC"
]
},
{
"@type": "BaggageAllowanceDetail",
"passengerTypeCodes": [
"SRC"
],
"baggageType": "CarryOn",
"ProductRef": [
"p1"
],
"BaggageItem": [
{
"@type": "BaggageItem",
"quantity": 1,
"BaggageFee": {
"code": "AUD",
"value": 0
},
"Text": "CARRYON HAND BAGGAGE ALLOWANCE"
}
],
"SegmentSequenceList": [
1
],
"Text": [
"2P"
]
}
],
"Restriction": [
{
"value": "* NONREF 572.38 AUD//PENALTIES APPLY/RESTRICTIONS APPLY/NO"
}
],
"ValidatingAirline": [
{
"@type": "ValidatingAirline",
"ValidatingAirline": "VA"
}
],
"PaymentTimeLimit": "2024-04-13T23:59:00Z",
"FareGuaranteePolicy": [
{
"@type": "FareGuaranteePolicy",
"EligibleforADMReview": "Yes",
"Code": {
"codeContext": "Travelport",
"value": "G"
}
}
],
"FulfillmentMethod": [
{
"@type": "FulfillmentMethod",
"RefundMethod": {
"value": "Unknown"
}
}
]
},
"ModifyPrice": {
"@type": "ModifyPriceDetail",
"CurrencyCode": {
"decimalPlace": 2,
"value": "AUD"
},
"Base": 0,
"TotalTaxes": -191.68,
"TotalFees": 0,
"TotalPrice": -191.68,
"PriceBreakdown": [
{
"@type": "PriceBreakdownAir",
"quantity": 2,
"requestedPassengerType": "ADT",
"Amount": {
"@type": "Amount",
"CurrencyCode": {
"decimalPlace": 2,
"value": "AUD"
},
"Base": 0,
"Taxes": {
"@type": "TaxesDetail",
"TotalTaxes": -47.92,
"Tax": [
{
"taxCode": "QR",
"value": -2.38
},
{
"taxCode": "UO",
"value": -45.54
}
]
},
"Fees": {
"@type": "FeesDetail",
"TotalFees": 0,
"Fee": [
{
"@type": "Fee",
"description": "Change Fee",
"FeeAmountOrPercent": {
"@type": "FeeAmountOrPercentAmount",
"Amount": {
"code": "AUD",
"minorUnit": 2,
"value": 0
}
}
}
]
},
"Total": -47.92
},
"FareCalculation": "SYD VA MEL119.30AUD119.30END VA"
},
{
"@type": "PriceBreakdownAir",
"quantity": 2,
"requestedPassengerType": "SRC",
"Amount": {
"@type": "Amount",
"CurrencyCode": {
"decimalPlace": 2,
"value": "AUD"
},
"Base": 0,
"Taxes": {
"@type": "TaxesDetail",
"TotalTaxes": -47.92,
"Tax": [
{
"taxCode": "QR",
"value": -2.38
},
{
"taxCode": "UO",
"value": -45.54
}
]
},
"Fees": {
"@type": "FeesDetail",
"TotalFees": 0,
"Fee": [
{
"@type": "Fee",
"description": "Change Fee",
"FeeAmountOrPercent": {
"@type": "FeeAmountOrPercentAmount",
"Amount": {
"code": "AUD",
"minorUnit": 2,
"value": 0
}
}
}
]
},
"Total": -47.92
},
"FareCalculation": "SYD VA MEL119.30AUD119.30END VA"
}
]
}
}
]
},
"ReferenceList": [
{
"@type": "ReferenceListFlight",
"Flight": [
{
"@type": "FlightDetail",
"duration": "PT1H35M",
"carrier": "VA",
"number": "838",
"equipment": "73H",
"id": "s2",
"Departure": {
"@type": "Departure",
"location": "SYD",
"date": "2024-06-04",
"time": "12:00:00"
},
"Arrival": {
"@type": "ArrivalDetail",
"terminal": "1",
"location": "MEL",
"date": "2024-06-04",
"time": "13:35:00"
},
"AvailabilitySourceCode": "S"
},
{
"@type": "FlightDetail",
"duration": "PT1H35M",
"carrier": "VA",
"number": "870",
"equipment": "73H",
"id": "s24",
"Departure": {
"@type": "Departure",
"location": "SYD",
"date": "2024-06-04",
"time": "17:30:00"
},
"Arrival": {
"@type": "ArrivalDetail",
"terminal": "1",
"location": "MEL",
"date": "2024-06-04",
"time": "19:05:00"
},
"AvailabilitySourceCode": "S"
}
]
},
{
"@type": "ReferenceListBrand",
"Brand": [
{
"@type": "Brand",
"name": "CHOICE",
"tier": 1,
"id": "b1"
}
]
},
{
"@type": "ReferenceListExchangedPrice",
"Price": [
{
"@type": "PriceDetail",
"CurrencyCode": {
"value": "AUD"
},
"Base": 1144.76,
"TotalTaxes": 183.24,
"TotalPrice": 1328,
"PriceBreakdown": [
{
"@type": "PriceBreakdownAir",
"quantity": 2,
"requestedPassengerType": "ADT",
"Amount": {
"@type": "Amount",
"CurrencyCode": {
"value": "AUD"
},
"Base": 572.38,
"Taxes": {
"@type": "TaxesDetail",
"TotalTaxes": 91.62,
"Tax": [
{
"taxCode": "QR",
"value": 24.08
},
{
"taxCode": "WG",
"value": 7.18
},
{
"taxCode": "UO",
"value": 60.36
}
]
},
"Total": 664
}
},
{
"@type": "PriceBreakdownAir",
"quantity": 2,
"requestedPassengerType": "SRC",
"Amount": {
"@type": "Amount",
"CurrencyCode": {
"value": "AUD"
},
"Base": 572.38,
"Taxes": {
"@type": "TaxesDetail",
"TotalTaxes": 91.62,
"Tax": [
{
"taxCode": "QR",
"value": 24.08
},
{
"taxCode": "WG",
"value": 7.18
},
{
"taxCode": "UO",
"value": 60.36
}
]
},
"Total": 664
}
}
]
}
]
}
]
}
}