Skip to main content

Exchange Shop AS

1.1.3
Air
Ticketing
SOAP API

The Exchange Shop AS (TKT_ExchangeShoppingRQ) is used to allow an airline customer (who needs to change a ticketed itinerary) to get information about available alternate itinerary options along with the cost of each exchange.

Target Audience
Airline Carrier
Current Version
1.1.3
Authentication
Session Token
Service Action Code
TKT_ExchangeShoppingRQ

Exchange Shop allows airline customers to shop for available prices and routes when considering an itinerary change. With this solution, the customer will no longer need to go through a series of steps in order to find the most cost effective flight alternative for new desired travel dates and/or departure/arrival cities or airports.

Customers are able to consider various itinerary options and review the costs that would apply without having to alter their confirmed seats.

Exchange Shop provides the following benefits:

  • Identifies fares in the ticket to be exchanged and, if all of them have Category 31 (Voluntary Changes) filed, returns available itinerary options that are Category 31 compliant and the exchange cost for each passenger in the request.
  • Allows shopping for alternate board points, off points and/or travel dates of a ticketed itinerary.
  • Provides a configurable setting to specify the maximum number of itinerary solutions to be returned.
  • When there are multiple passengers in the PNR, provides the ability to select all or some of passengers to be considered during the Exchange Shop process.
  • Provides ability to initiate Exchange Shop from unchanged PNRs or those that have been modified (segments added, deleted or changed).
  • Provides ability to initiate Exchange Shop when there is no PNR (Example: PNR was purged).
  • Provides ability to add legs to the originally ticketed itinerary (Example: Changing it from a one-way to a round-trip fare).

In addition, customers are able to shop using the following optional qualifiers:

  • Search for a preferred airline.
  • Exclude an airline or search with non-preferred airline.
  • Specify the maximum number of connections.
  • Specify the maximum number of stops.
  • Specify online carrier service only.
  • Specify interline carrier service.
  • Search by date and time.
  • Specify specific connection cities/airports.
  • Use same connecting points.
  • Shop by cabin class.
  • Shop by corporate ID.
  • Shop by Account Code.
  • Override Passenger Type Code (PTC).
  • Override default payment currency.

The Exchange Shop web service can be used by XML based web sites, internet booking engines, front end GUI web services, kiosk web services, and mobile applications.

To exchange tickets to one of the itinerary options found using this service, AERRQ service can be used.

Please note: Exchange Shop is a Premium shopping solution requiring a subscription. Please contact your Sabre Account Manager for subscription details.

Sample Request
<?xml version="1.0" encoding="UTF-8"?>
<ExchangeShoppingRQ
 Version="1.1.3"
   xmlns="http://www.sabre.com/ns/Ticketing/exchangeshop/1.0">
 <Header/>
 <POS>
  <ns1:Pseudo
   xmlns:ns1="http://services.sabre.com/STL/v01">REV</ns1:Pseudo>
  <ns2:Actual
   xmlns:ns2="http://services.sabre.com/STL/v01">REV</ns2:Actual>
  <ns3:Home
   xmlns:ns3="http://services.sabre.com/STL/v01">REV</ns3:Home>
  <ns4:Sine
   xmlns:ns4="http://services.sabre.com/STL/v01">WBT</ns4:Sine>
  <ns5:DutyCode
   xmlns:ns5="http://services.sabre.com/STL/v01">4</ns5:DutyCode>
  <ns6:Lniata
   xmlns:ns6="http://services.sabre.com/STL/v01">486B93</ns6:Lniata>
  <StationNumber>00287243</StationNumber>
  <ShoppingPath
  requestType="ADVEXC"/>
 </POS>
 <TicketingProvider>LA</TicketingProvider>
 <PassengerInformation>
  <PassengerWithoutPNR>
   <DocumentNumber>0452175864644</DocumentNumber>
  </PassengerWithoutPNR>
 </PassengerInformation>
 <OriginDestinationInformation  shopIndicator="true">
<DateTimeSelection>
   <DepartureDate>2019-02-20</DepartureDate>
  </DateTimeSelection>
  <StartLocation>SCL</StartLocation>
  <EndLocation>LAX</EndLocation>
 </OriginDestinationInformation>
 <OriginDestinationInformation shopIndicator="true">
  <DateTimeSelection>
   <DepartureDate>2019-03-02</DepartureDate>
  </DateTimeSelection>
  <StartLocation>LAX</StartLocation>
  <EndLocation>SCL</EndLocation>
  </OriginDestinationInformation>
  <TravelPreferences>
  <PriceRequestInformation  accountCode="ALL25" negotiatedFaresOnly="true"  />
 </TravelPreferences>
 <Diagnostic type="EXS-BSO/107"/>
 <Diagnostic type="EXS-BSO/108"/>
</ExchangeShoppingRQ>
Sample Response
<ExchangeShoppingRS Version="1.1.3" solutions="45" xmlns="http://www.sabre.com/ns/Ticketing/exchangeshop/1.0">
<Header messageID="TKTVLC750-10632-1674098208-1540990764708-155307-exs" timeStamp="2018-10-31T07:59:24">
   <STL:OrchestrationID seq="2" xmlns:STL="http://services.sabre.com/STL/v01">TKTVLC750-10632-1674098208-1540990764708-155307-exs</STL:OrchestrationID>
   <STL:Results xmlns:STL="http://services.sabre.com/STL/v01">
      <STL:Success>
         <STL:System>TKT-WS</STL:System>
         <STL:Source>EXS</STL:Source>
      </STL:Success>
   </STL:Results>
</Header>
<POS>
   <ns1:Pseudo xmlns:ns1="http://services.sabre.com/STL/v01">REV</ns1:Pseudo>
   <ns2:Actual xmlns:ns2="http://services.sabre.com/STL/v01">REV</ns2:Actual>
   <ns3:Home xmlns:ns3="http://services.sabre.com/STL/v01">REV</ns3:Home>
   <ns4:Sine xmlns:ns4="http://services.sabre.com/STL/v01">WBT</ns4:Sine>
   <ns5:DutyCode xmlns:ns5="http://services.sabre.com/STL/v01">4</ns5:DutyCode>
   <ns6:Lniata xmlns:ns6="http://services.sabre.com/STL/v01">486B93</ns6:Lniata>
   <StationNumber>00287243</StationNumber>
   <ShoppingPath requestType="ADVEXC"/>
</POS>
<Solution pricingSequence="1" sequence="1">
   <BookItinerary>
      <OriginDestination elapsedTime="685" endLocation="LAX" segmentQuantity="1" startLocation="SCL">
         <ReservationSegment elapsedTime="685" electronicTicketingIndicator="true" endDateTime="2019-02-21T06:20:00" endLocation="LAX" marketingFlightNumber="602" marketingProvider="LA" marriageGroup="O" operatingProvider="LA" segmentNumber="1" startDateTime="2019-02-20T23:55:00" startLocation="SCL" stopQuantity="0">
            <StartLocationDetails GMTOffset="-3"/>
            <EndLocationDetails GMTOffset="-8" terminalID="B"/>
            <OperatingProviderDetails flightNumber="602"/>
            <Equipment type="789"/>
         </ReservationSegment>
      </OriginDestination>
      <OriginDestination elapsedTime="645" endLocation="SCL" segmentQuantity="1" startLocation="LAX">
         <ReservationSegment elapsedTime="645" electronicTicketingIndicator="true" endDateTime="2019-03-03T07:00:00" endLocation="SCL" marketingFlightNumber="603" marketingProvider="LA" marriageGroup="O" operatingProvider="LA" segmentNumber="2" startDateTime="2019-03-02T15:15:00" startLocation="LAX" stopQuantity="0"/>
      </OriginDestination>
   </BookItinerary>
   <Fare passengersInDifferentCabins="false" postCalcIndex="1" requireSplitPNR="false" valid="true">
      <ReservationSegmentDetails segmentNumber="1">
         <PassengerBookingDetails bookingClass="O" cabin="Y" documentNumber="0452175864644" fareBasis="OLESLDWB" meal="DB">
            <PrivateFareType>*</PrivateFareType>
            <FareComponent directionality="FROM" endLocation="LAX" startLocation="SCL"/>
         </PassengerBookingDetails>
      </ReservationSegmentDetails>
      <ReservationSegmentDetails segmentNumber="2">
         <PassengerBookingDetails bookingClass="N" cabin="Y" documentNumber="0452175864644" fareBasis="NHESL6GB" meal="LD">
            <PrivateFareType>*</PrivateFareType>
            <FareComponent directionality="TO" endLocation="SCL" startLocation="LAX"/>
         </PassengerBookingDetails>
      </ReservationSegmentDetails>
      <PassengerPriceInformation>
         <Passenger documentNumber="0452175864644" firstName="SHOPPING" lastName="EXCHNAGE" type="ADT">
            <ResultPriceDifference differenceType="Refund" lastDayToTicket="2018-10-31">
               <FareDifference currencyCode="USD" decimalPlace="2">-487.00</FareDifference>
               <TaxDifference currencyCode="USD" decimalPlace="2">0.00</TaxDifference>
               <SubtotalDifference currencyCode="USD" decimalPlace="2">-487.00</SubtotalDifference>
               <TotalFee currencyCode="USD" decimalPlace="2" type="CHG">200.00</TotalFee>
               <GrandTotalDifference currencyCode="USD" decimalPlace="2">-287.00</GrandTotalDifference>
               <Message type="Advisory">LAST DATE TO PURCHASE 31OCT18 - 1346)4</Message>
            </ResultPriceDifference>
         </Passenger>
      </PassengerPriceInformation>
      <TotalPriceDifference differenceType="Refund" lastDayToTicket="2018-10-31">
         <FareDifference currencyCode="USD" decimalPlace="2">-487.00</FareDifference>
         <TaxDifference currencyCode="USD" decimalPlace="2">0.00</TaxDifference>
         <SubtotalDifference currencyCode="USD" decimalPlace="2">-487.00</SubtotalDifference>
         <TotalFee currencyCode="USD" decimalPlace="2" type="CHG">200.00</TotalFee>
         <GrandTotalDifference currencyCode="USD" decimalPlace="2">-287.00</GrandTotalDifference>
      </TotalPriceDifference>
   </Fare>
</Solution>
</ExchangeShoppingRS>