Skip to main content

Exchange Shopping Response XML

This section describes the itinerary options returned in the Exchange Shopping response. The Exchange Shopping response (ExchangeShoppingRS) consists of the following attributes and elements.

Response Attributes

|Attribute| Description| Exchange Shopping Path| |XML version| Required in the XML schema.| ExchangeShoppingRS/@Version| |Number of exchange solutions returned| Required in the XML schema.| ExchangeShoppingRS/@solutions|

Response Elements

|Element| Description| Exchange Shopping Path| |Solutions information| Detailed information about exchange itinerary options found based on input search criteria. Optional element, will be populated when at least one exchange itinerary solution is found.| ExchangeShoppingRS/Solution|

Solutions Returned

Note: This section highlights some of the elements and attributes returned in the Exchange Shopping response and should not intended to be a comprehensive list.

Solution Attributes

Attribute Description Exchange Shopping Path
Sequence number Number assigned to each solution. Solutions are ordered from lowest to highest total price difference (price for all passengers). ExchangeShoppingRS/Solution/@sequence
Pricing sequence Pricing sequence number assigned by one of the Exchange Shopping Subsystems. Used for troubleshooting. ExchangeShoppingRS/Solution/@pricingSequence
Required PNR split indicator Indicates if the PNR must be split due to different passenger types (PTC) resulting in solutions in different booking Classes. ExchangeShoppingRS/Solution/Fare/requireSplitPNR
Passengers booked in different cabins indicator Indicates if the solutions returned for the different PTC in the request are in different cabins of service. This attribute will be returned together with the Required Split PNR indicator ExchangeShoppingRS/Solution/Fare/passengersInDifferentCabins
Passengers priced in different currencies Indicates that the exchange cost for different passengers were calculated in different currencies and total price difference element cannot be built for the request. ExchangeShoppingRS/Solution/Fare@passengersPricedInDifferentCurrencies
Valid Indicates whether valid fare was found ExchangeShoppingRS/Solution/Fare/valid
Brand Adds the brand name of the brand in which the price has been calculated ExchangeShoppingRS/Solution/Fare/brand
Branding Program Adds branding program ID (up to 10 characters) ExchangeShoppingRS/Solution/Fare/BrandingProgram
Mixed Brands Indicates whether the itinerary was prices in mixed brands ExchangeShoppingRS/Solution/Fare/mixedBrands

Solution Elements

Element Description Exchange Shopping Path
Details about the itinerary options booked Information about the itinerary to be booked. ExchangeShoppingRS/Solution/BookItinerary and ExchangeShoppingRS/Solution/Fare/ReservationSegmentDetails
Exchange price difference information per passenger Exchange price difference information per passenger. ExchangeShoppingRS/Solution/FarePassengerPriceInformation
Total exchange price difference information Total exchange price difference information. ExchangeShoppingRS/Solution/Fare/TotalPriceDifference

Information about Itinerary to be Booked

Itinerary information is split into legs, and the details are returned in the same order and number as requested in the Exchange Shopping request XML.

Note: If the new itinerary contains a surface sector (ARNK) between two portions of travel (e.g. one leg ends in JFK and the next leg starts in BOS), no information about the surface sector (ARNK) will be included in the Exchange Shopping response.

Any flown ticket coupons (i.e. partially used tickets) will be taken into consideration for re-pricing purposes, but no information about these used segments will be included in the Exchange Shopping response.

Exchange Shopping Xpath ExchangeShoppingRS/Solution/BookItinerary/OriginDestination ExchangeShoppingRS/Solution/Fare/ReservationSegmentDetails

The following details are included for each leg:

Element Description Exchange Shopping Path
Details of each flight segment pertaining to the leg The reservation segments that must be booked, priced, and fulfilled if the passenger decides to exchange his/her ticket for this itinerary. ExchangeShoppingRS/Solution/BookItinerary/OriginDestination/ReservationSegment
Flight segment details for each passenger Place where the booking class and fare basis applicable for a given passenger is presented. All passengers are listed in same order as in the PassengerPriceInformation section of the XML response. The document number is used to uniquely identify the passenger and his/her booking and price information. ExchangeShoppingRS/Solution/Fare/ReservationSegmentDetails/PassengerBookingDetails

Exchange Cost Breakdown per Each Passenger for Returned Itinerary

Passengers (up to nine) may be in a different order than listed in the Exchange Shopping request.

Each passenger is identified by following information:

Element Description Exchange Shopping Path
Passenger Type Code The response will reflect the true passenger type for the solution returned. If the request included passenger type code YTH, but no applicable youth fare was found and an adult fare was returned instead, the PTC returned would be ADT. ExchangeShoppingRS/Solution/FarePassengerPriceInformation/Passenger/@type
Passenger’s first and last name For requests with an active PNR, the name is the same as passed in Exchange Shopping request. For requests without an active PNR, the name passed in the response is taken from the ticket being exchanged. ExchangeShoppingRS/Solution/Fare/PassengerPriceInformation/Passenger/@firstName and @lastName
Age (optional) Passenger age – when is this returned?? ExchangeShoppingRS/Solution/Fare/PassengerPriceInformation/Passenger@age
Exchange price difference details per passenger Detailed information about the cost of exchange to a given itinerary per each passenger. ExchangeShoppingRS/Solution/Fare/PassengerPriceInformation/Passenger/resultPriceDifference
Exchange result Additional collection (AddCollect) indicates the amount due by the passenger. Even exchange (Even) indicates no additional monies are due. Refund (XXX) indicates a refund due to the passenger ExchangeShoppingRS/Solution/Fare/PassengerPriceInformation/Passenger/ResultPriceDifference/@differenceType

Note: In the scenario where there is a payment currency change, currency in which the exchange price difference is returned may be different depending on result type:

  • ADDITIONAL COLLECTION – default currency of country where Exchange Shopping transaction is performed or, if the customer used Payment Currency Code Override pricing parameter, in override (requested) currency.

  • EVEN EXCHANGE or REFUND

    -For the first payment currency change: The exchange price difference will be returned in the currency in which the exchanged ticket was paid. -For subsequent exchanges with multiple payment currency changes: The exchange price difference will be returned in the default currency of the country where the Exchange Shopping transaction is performed or if the customer used the Payment Currency Code Override pricing parameter in the override (requested) currency.

Following are examples that illustrate these two scenarios.

Example 1 – single payment currency change

  1. Original ticket issued on route: JFK-MOW-LON: Base currency: USD Issue place: LON, therefore it is paid in GBP (equivalent currency)
  2. When shopping for exchange options for this ticket, the passenger is in MOW (default reissue currency RUB) or he is still in LON, but uses the Payment Currency Code Override pricing parameter to get exchange cost in RUB.

Therefore, in this scenario: Base currency: unchanged – USD Reissue currency: RUB

Depending on the exchange result type, the exchange price difference is calculated in different currencies:

  • For Additional Collection: The passenger gets exchange cost amounts in RUB (default or override reissue currency)
  • For Refund or Even Exchange: The passenger gets exchange cost amounts in GBP ( currency in which exchanged ticket was paid. )

Note:For scenarios where all three types of results are returned

Example 2 – Multiple payment currency change over subsequent exchanges

1.Original ticket issued on route: JFK-MOW-LON: Base currency: USD Issue place: LON; therefore, the ticket was paid in GBP (equivalent)

2.Ticket reissued in ZRH: Base currency: USD Reissue place: ZRH; therefore, reissue (equivalent) currency was CHF.

  1. When shopping for exchange options for this ticket, the passenger is in MOW (default reissue currency RUB) or he is still in LON but uses the Payment Currency Code Override pricing parameter to get exchange cost in RUB. Therefore, in this scenario: Base currency: Unchanged: USD Current reissue currency: RUB

Regardless of result of exchange (ADDITIONAL COLLECTION, REFUND or EVEN EXCHANGE), the passenger gets the exchange cost amounts in RUB (default or override reissue currency).

Element Description Exchange Shopping Path
Residual amount forfeited flag Returned when the new fare is lower than the old fare, but the Category 31 rules do not allow a refund of any residual amount. The residual is not included in the grand total difference amount. This flag is only returned when applicable ExcShoppingRS/Solution/Fare/PassengerPriceInformation/Passenger/ResultPriceDifference/@residualAmountForfeited
Exchange price difference elements included in the exchange cost breakdown
Fare Difference amount and currency Amount and currency code of fare difference between the old ticket and the fare for the new itinerary. ExcShoppingRS/Solution/Fare/PassengerPriceInformation/Passenger/ResultPriceDifference/FareDifference/@currencyCode ExcShoppingRS/Solution/FarePassengerPriceInformation/Passenger/ResultPriceDifference/FareDifference/@decimalPlace
Tax difference amount and currency Currency and sum of tax difference between the old ticket and the new itinerary. ExcShoppingRS/Solution/FarePassengerPriceInformation/Passenger/ResultPriceDifference/TaxDifference/@currencyCode ExcShoppingRS/Solution/FarePassengerPriceInformation/Passenger/ResultPriceDifference/TaxDifference/@decimalPlace
Difference subtotal amount and currency Amount and currency difference subtotal (sum of fare difference plus taxes difference) ExcShoppingRS/Solution/FarePassengerPriceInformation/Passenger/ResultPriceDifference/SubtotalDifference/@currencyCode ExcShoppingRS/Solution/FarePassengerPriceInformation/Passenger/ResultPriceDifference/SubtotalDifference/@decimalPlace
Fee type, total amount and currency Applicable fee type, total mount and currency. The fee total is split by fee type: • CHG - Change fees • OTH - Other fees ExcShoppingRS/Solution/FarePassengerPriceInformation/Passenger/ResultPriceDifference/TotalFee/@currencyCode ExcShoppingRS/Solution/FarePassengerPriceInformation/Passenger/ResultPriceDifference/TotalFee/@decimalPlace ExcShoppingRS/Solution/FarePassengerPriceInformation/Passenger/ResultPriceDifference/TotalFee/@type
Tax on change fee amount and currency Applicable tax on change fee, including tax code Only returned when applicable. ExcShoppingRS/Solution/FarePassengerPriceInformation/Passenger/ResultPriceDifference/TotalFeeTax/@currencyCode ExcShoppingRS/Solution/FarePassengerPriceInformation/Passenger/ResultPriceDifference/TotalFeeTax/@decimalPlace
Grand total difference amount and currency When the exchange results in an additional collection, this is a positive amount When the exchange results in a refund, the amount returned is negative. When the result is an even exchange, the amount returned is zero ExcShoppingRS/Solution/FarePassengerPriceInformation/Passenger/ResultPriceDifference/GrandTotalDifference/@currencyCode ExcShoppingRS/Solution/FarePassengerPriceInformation/Passenger/ResultPriceDifference/GrandTotalDifference/@decimalPlace

Total Price Difference

This section of the Exchange Shopping XML response provides details about the total cost of the exchange for each solution for all passengers in the request.

One of the attributes of the total price difference is to provide the difference result again, but this time, it is calculated based on exchange costs for all passengers.

It can have the following values:

  • Additional collection (AddCollect) – indicates that passenger needs to pay some additional amount to fulfill this itinerary solution for all passengers in the request.

  • Even exchange (Even) – indicates that there is no additional cost to fulfill this itinerary solution.

  • Refund – indicates that there is a refund due to the passenger that will be returned when fulfilling this itinerary solution for all passengers in proposed fares.

Exchange Shopping Xpath ExchangeShoppingRS/Solution/Fare/TotalPriceDifference/@differenceType

Note: Total Price Difference element is returned in itinerary solutions where the exchange cost difference is calculated in the same currency for all passengers. In scenarios of multiple passenger requests where passengers are priced in different currencies, this element is omitted in the response and the flag is set to “true” for such itinerary solution:

Exchange Shopping Xpath ExchangeShoppingRS/Solution/Fare/@passengersPricedInDifferentCurrencies

Different currency

Can be sent in the response for multiple passenger requests only. It indicates that exchange cost differences for passengers are calculated in different currencies and, as a result, Total Price Difference element summing the exchange cost for all passengers cannot be built. In such case, individual passenger's prices should be used. This attribute is omitted in the response if exchange cost is calculated in the same currency for all passengers.

This part of the XML response contains the following Total price difference elements representing sums for all passengers:

Element Description Exchange Shopping Path
Amount and currency of difference in fare Amount and currency of difference in fare between exchanged tickets fare and new itinerary fares. ExcShoppingRS/Solution/Fare TotalPriceDifference/FareDiffere nce/@currencyCode ExcShoppingRS/Solution/Fare TotalPriceDifference/FareDiffere nce/@decimalPlace
Amount and currency of difference in taxes Amount and currency of difference in taxes between exchanged tickets and taxes on new itinerary. ExcShoppingRS/Solution/Fare TotalPriceDifference/TaxDifferen ce/@currencyCode ExcShoppingRS/Solution/Fare TotalPriceDifference/TaxDifferen ce/@decimalPlace
Amount and currency of subtotal difference Amount and currency of subtotal difference (sum of fare differences and taxes differences). ExcShoppingRS/Solution/Fare TotalPriceDifference/SubtotalDiff erence/@currencyCode ExcShoppingRS/Solution/Fare TotalPriceDifference/SubtotalDiff erence/@decimalPlace
Total amount, currency and type of change fees Total amount, currency, and type of change fees applied to exchange for all passengers. Fees totals are split by fee type. Supported types are: • CHG - Change fees • OTH - Other fees ExcShoppingRS/Solution/Fare TotalPriceDifference/TotalFee/@ currencyCode ExcShoppingRS/Solution/Fare TotalPriceDifference/TotalFee/@ decimalPlace ExcShoppingRS/Solution/Fare TotalPriceDifference/TotalFee/@ type
Total amount and currency of taxes on change fees Total amount and currency of taxes on change fees if applicable. If not applied, it is omitted in the response. ExcShoppingRS/Solution/Fare TotalPriceDifference/TotalFeeTa x/@currencyCode ExcShoppingRS/Solution/Fare TotalPriceDifference/TotalFeeTa x/@decimalPlace
Amount and currency of grand total difference Amount and currency of grand total difference. If the exchange for all passengers results in an additional collection, t is a positive amount. If the exchange for all passengers results in a refund due to the customer, it is a negative amount. If the exchange results in an even transaction (no additional collection or refund due), it is a zero amount. ExcShoppingRS/Solution/Fare TotalPriceDifference/GrandTotal Difference/@currencyCode ExcShoppingRS/Solution/Fare TotalPriceDifference/GrandTotal Difference/@decimalPlace

Flight segment rebooking indicator

The webservice performs a comparison of non-shopped flight segments passed within request payload at: /ExchangeShoppingRQ/OriginDestinationInformation/RelatedSegment and matches them to the flight segment details returned after internal shopping call, i.e /ExchangeShoppingRS/Solution/BookItinerary/OriginDestination/ReservationSegment /ExchangeShoppingRS/Solution/Fare/ReservationSegmentDetails/PassengerBookingDetails/@bookingClass.

If the set of compared values are not identical, then the specific flight segment will require rebooking. Therefore, the webservice will pass: /ExchangeShoppingRS/Solution/BookItinerary/OriginDestination/ReservationSegment/@book=“true" If the set of values are identical then the flight segment does not require rebooking, hence @book=“false". Please note that if the user does not pass any non-shopped segments within request payload, all flight segments returned post shopping will require booking, hence they will show /@book=“true" Done for SRW -

SIngle Branded Fare

This qualifier will result in service adding brands information to each of the solutions. If the brand IDs differ per fare component, service will mark the solution with parameter ExchangeShoppingRS/Solution/Fare/mixedBrands

Exchange Shopping Xpath ExchangeShoppingRQ/TravelPreferences/PriceRequestInformation/TPA_Extensions/BrandedFareIndicators/@singleBrandedFare

One branded fare solution per itinerary. Only needed when brand details are needed. Must be sent together.