Skip to main content

Exchange Shopping Scenarios

The following examples provide sample XML requests and responses for more complex Exchange Shopping scenarios.

Full Exchange- both legs shopped

Exchange Shopping Scenarios1 Exchange Shopping Scenarios2

Both passengers wish to change both their destinations and dates of travel:

<ExchangeShoppingRQ xmlns=“http://services.sabre.com/sp/exchange/shopping/v2" xmlns:n0=“http://services.sabre.com/sp/exchange/shopping/common/types/v2" xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance" version=“2.2.0">
    <STL_Header.RQ ttl=“300">
      <OrchestrationID seq=“0">027364343467758035</OrchestrationID>
    </STL_Header.RQ>
    <TicketingProvider>1S</TicketingProvider>
    <PassengerInformation>
      <PassengerWithPNR pnrLocator=“SBXGYL" referenceNumber=“1.1" firstName=“WITOLD" lastName=“PETRICZEK">
        <DocumentNumber>0017944161067</DocumentNumber>
      </PassengerWithPNR>
      <PassengerWithPNR pnrLocator=“SBXGYL" referenceNumber=“2.1" firstName=“FLORENCIA" lastName=“COUTO">
        <DocumentNumber>0017944161068</DocumentNumber>
      </PassengerWithPNR>
    </PassengerInformation>
    <OriginDestinationInformation shopIndicator=“true">
      <DateTimeSelection>
        <DepartureDate>2017-05-20</DepartureDate>
      </DateTimeSelection>
      <StartLocation>LON</StartLocation>
      <EndLocation>NYC</EndLocation>
    </OriginDestinationInformation>
    <OriginDestinationInformation shopIndicator=“true">
      <DateTimeSelection>
        <DepartureDate>2017-06-10</DepartureDate>
      </DateTimeSelection>
      <StartLocation>NYC</StartLocation>
      <EndLocation>LON</EndLocation>
    </OriginDestinationInformation>
  </ExchangeShoppingRQ>

Below is the snippet from the response with details on a one solution and its exchange cost:

<ExchangeShoppingRS xmlns=“http://services.sabre.com/sp/exchange/shopping/v2" solutions=“25">
    <Solution sequence=“1" pricingSequence=“1">
      <BookItinerary>
        <OriginDestination elapsedTime=“535" startLocation=“LGW" endLocation=“JFK" segmentQuantity=“1">
          <ReservationSegment segmentNumber=“1" elapsedTime=“535" startDateTime=“2017-05-20T16:35:00" endDateTime=“2017-05-20T19:30:00" startLocation=“LGW" endLocation=“JFK" marketingFlightNumber=“2273" marketingProvider=“BA" operatingProvider=“BA" stopQuantity=“0" electronicTicketingIndicator=“true" marriageGroup=“O" book=“true”>
            <StartLocationDetails terminalID=“S" GMTOffset=“1"/>
            <EndLocationDetails terminalID=“7" GMTOffset=“-5"/>
            <OperatingProviderDetails flightNumber=“2273"/>
            <Equipment type=“777"/>
          </ReservationSegment>
        </OriginDestination>
        <OriginDestination elapsedTime=“360" startLocation=“JFK" endLocation=“LGW" segmentQuantity=“1">
          <ReservationSegment segmentNumber=“2" elapsedTime=“360" startDateTime=“2017-06-10T22:00:00" endDateTime=“2017-06-11T10:00:00" startLocation=“JFK" endLocation=“LGW" marketingFlightNumber=“2272" marketingProvider=“BA" operatingProvider=“BA" stopQuantity=“0" electronicTicketingIndicator=“true" marriageGroup=“O" book=“true”>
            <StartLocationDetails terminalID=“7" GMTOffset=“-5"/>
            <EndLocationDetails terminalID=“S" GMTOffset=“1"/>
            <OperatingProviderDetails flightNumber=“2272"/>
            <Equipment type=“777"/>
          </ReservationSegment>
        </OriginDestination>
      </BookItinerary>
      <Fare valid=“true" postCalcIndex=“1" pricingSequence=“1" requireSplitPNR=“false" passengersInDifferentCabins=“false">
        <ReservationSegmentDetails segmentNumber=“1">
          <PassengerBookingDetails documentNumber=“0017944161067" bookingClass=“O" fareBasis=“OKN8S4Z1" cabin=“Y" meal=“M">
            <FareComponent startLocation=“LGW" endLocation=“JFK" directionality=“FROM"/>
          </PassengerBookingDetails>
          <PassengerBookingDetails documentNumber=“0017944161068" bookingClass=“O" fareBasis=“OKN8S4Z1" cabin=“Y" meal=“M">
            <FareComponent startLocation=“LGW" endLocation=“JFK" directionality=“FROM"/>
          </PassengerBookingDetails>
        </ReservationSegmentDetails>
        <ReservationSegmentDetails segmentNumber=“2">
          <PassengerBookingDetails documentNumber=“0017944161067" bookingClass=“O" fareBasis=“OKN8S4Z1" cabin=“Y" meal=“M">
            <FareComponent startLocation=“JFK" endLocation=“LGW" directionality=“TO"/>
          </PassengerBookingDetails>
          <PassengerBookingDetails documentNumber=“0017944161068" bookingClass=“O" fareBasis=“OKN8S4Z1" cabin=“Y" meal=“M">
            <FareComponent startLocation=“JFK" endLocation=“LGW" directionality=“TO"/>
          </PassengerBookingDetails>
        </ReservationSegmentDetails>
        <PassengerPriceInformation>
          <Passenger documentNumber=“0017944161067" type=“ADT" firstName=“WITOLD" lastName=“PETRICZEK">
            <ResultPriceDifference differenceType=“Refund">
              <FareDifference currencyCode=“USD" decimalPlaces=“2">-2176.00</FareDifference>
              <TaxDifference currencyCode=“USD" decimalPlaces=“2">-67.00</TaxDifference>
              <TaxDetails>
                <TaxDifference currencyCode=“USD" decimalPlaces=“2" taxCode=“YR">-283.40</TaxDifference>
                <TaxDifference currencyCode=“USD" decimalPlaces=“2" taxCode=“US">0.00</TaxDifference>
                <TaxDifference currencyCode=“USD" decimalPlaces=“2" taxCode=“AY">0.00</TaxDifference>
                <TaxDifference currencyCode=“USD" decimalPlaces=“2" taxCode=“GB">0.40</TaxDifference>
                <TaxDifference currencyCode=“USD" decimalPlaces=“2" taxCode=“UB">-36.60</TaxDifference>
                <TaxDifference currencyCode=“USD" decimalPlaces=“2" taxCode=“YC">0.00</TaxDifference>
                <TaxDifference currencyCode=“USD" decimalPlaces=“2" taxCode=“XY">0.00</TaxDifference>
                <TaxDifference currencyCode=“USD" decimalPlaces=“2" taxCode=“XA">0.00</TaxDifference>
                <TaxDifference currencyCode=“USD" decimalPlaces=“2" taxCode=“XF">0.00</TaxDifference>
                <TaxDifference currencyCode=“USD" decimalPlaces=“2" taxCode=“YQ">252.60</TaxDifference>
              </TaxDetails>
              <SubtotalDifference currencyCode=“USD" decimalPlaces=“2">-2243.00</SubtotalDifference>
              <TotalFeeTax currencyCode=“USD" decimalPlaces=“2">0.00</TotalFeeTax>
              <GrandTotalDifference currencyCode=“USD" decimalPlaces=“2">-2243.00</GrandTotalDifference>
            </ResultPriceDifference>
          </Passenger>
          <Passenger documentNumber=“0017944161068" type=“ADT" firstName=“FLORENCIA" lastName=“COUTO">
            <ResultPriceDifference differenceType=“Refund">
              <FareDifference currencyCode=“USD" decimalPlaces=“2">-2176.00</FareDifference>
              <TaxDifference currencyCode=“USD" decimalPlaces=“2">-67.00</TaxDifference>
              <TaxDetails>
                <TaxDifference currencyCode=“USD" decimalPlaces=“2" taxCode=“YR">-283.40</TaxDifference>
                <TaxDifference currencyCode=“USD" decimalPlaces=“2" taxCode=“US">0.00</TaxDifference>
                <TaxDifference currencyCode=“USD" decimalPlaces=“2" taxCode=“AY">0.00</TaxDifference>
                <TaxDifference currencyCode=“USD" decimalPlaces=“2" taxCode=“GB">0.40</TaxDifference>
                <TaxDifference currencyCode=“USD" decimalPlaces=“2" taxCode=“UB">-36.60</TaxDifference>
                <TaxDifference currencyCode=“USD" decimalPlaces=“2" taxCode=“YC">0.00</TaxDifference>
                <TaxDifference currencyCode=“USD" decimalPlaces=“2" taxCode=“XY">0.00</TaxDifference>
                <TaxDifference currencyCode=“USD" decimalPlaces=“2" taxCode=“XA">0.00</TaxDifference>
                <TaxDifference currencyCode=“USD" decimalPlaces=“2" taxCode=“XF">0.00</TaxDifference>
                <TaxDifference currencyCode=“USD" decimalPlaces=“2" taxCode=“YQ">252.60</TaxDifference>
              </TaxDetails>
              <SubtotalDifference currencyCode=“USD" decimalPlaces=“2">-2243.00</SubtotalDifference>
              <TotalFeeTax currencyCode=“USD" decimalPlaces=“2">0.00</TotalFeeTax>
              <GrandTotalDifference currencyCode=“USD" decimalPlaces=“2">-2243.00</GrandTotalDifference>
            </ResultPriceDifference>
          </Passenger>
        </PassengerPriceInformation>
        <TotalPriceDifference differenceType=“Refund">
          <FareDifference currencyCode=“USD" decimalPlaces=“2">-4352.00</FareDifference>
          <TaxDifference currencyCode=“USD" decimalPlaces=“2">-134.00</TaxDifference>
          <SubtotalDifference currencyCode=“USD" decimalPlaces=“2">-4486.00</SubtotalDifference>
          <NonRefundableAmount currencyCode=“USD" decimalPlaces=“2">0.00</NonRefundableAmount>
          <TotalFeeTax currencyCode=“USD" decimalPlaces=“2">0.00</TotalFeeTax>
          <GrandTotalDifference currencyCode=“USD" decimalPlaces=“2">-4486.00</GrandTotalDifference>
        </TotalPriceDifference>
      </Fare>    

Partially used ticket

Partially used ticket1

The first leg (DFWLAX) is already flown – ticket status shows used.

Partially used ticket2

<ExchangeShoppingRQ xmlns=“http://services.sabre.com/sp/exchange/shopping/v2" xmlns:n0=“http://services.sabre.com/sp/exchange/shopping/common/types/v2" xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance" version=“2.2.0">
    <STL_Header.RQ ttl=“300">
      <OrchestrationID seq=“0">027364343467758035</OrchestrationID>
    </STL_Header.RQ>
    <TicketingProvider>1S</TicketingProvider>
    <PassengerInformation>
      <PassengerWithPNR pnrLocator=“DDLYBV" referenceNumber=“1.1" firstName=“JOHN" lastName=“DOE">
        <DocumentNumber>0017944161023</DocumentNumber>
      </PassengerWithPNR>
    </PassengerInformation>
    <OriginDestinationInformation shopIndicator=“true">
      <DateTimeSelection>
        <DepartureDate>2017-05-10</DepartureDate>
      </DateTimeSelection>
      <StartLocation>LAX</StartLocation>
      <EndLocation>DFW</EndLocation>
    </OriginDestinationInformation>
  </ExchangeShoppingRQ>

<ExchangeShoppingRS xmlns=“http://services.sabre.com/sp/exchange/shopping/v2" solutions=“49">
    <Solution sequence=“1" pricingSequence=“1">
      <BookItinerary>
        <OriginDestination elapsedTime=“123" startLocation=“LAX" endLocation=“DFW" segmentQuantity=“1">
          <ReservationSegment segmentNumber=“2" elapsedTime=“123" startDateTime=“2017-05-10T16:50:00" endDateTime=“2017-05-10T21:53:00" startLocation=“LAX" endLocation=“DFW" marketingFlightNumber=“2373" marketingProvider=“AA" operatingProvider=“AA" stopQuantity=“0" electronicTicketingIndicator=“true" marriageGroup=“O" book=“true”>
            <StartLocationDetails terminalID=“0" GMTOffset=“-8"/>
            <EndLocationDetails terminalID=“0" GMTOffset=“-5"/>
            <OperatingProviderDetails flightNumber=“2373"/>
            <Equipment type=“788"/>
            <OnTimePerformance level=“N"/>
          </ReservationSegment>
        </OriginDestination>
      </BookItinerary>
      <Fare valid=“true" postCalcIndex=“1" pricingSequence=“1" requireSplitPNR=“false" passengersInDifferentCabins=“false">
        <ReservationSegmentDetails segmentNumber=“1">
          <PassengerBookingDetails documentNumber=“0017944161023" bookingClass=“N" fareBasis=“NVAIUSN3" cabin=“Y" meal=“D">
            <FareComponent startLocation=“LAX" endLocation=“DFW" directionality=“FROM"/>
          </PassengerBookingDetails>
        </ReservationSegmentDetails>
        <PassengerPriceInformation>
          <Passenger documentNumber=“0017944161023" type=“ADT" firstName=“DOE" lastName=“JOHN">
            <ResultPriceDifference differenceType=“Refund">
              <FareDifference currencyCode=“USD" decimalPlaces=“2">-875.35</FareDifference>
              <TaxDifference currencyCode=“USD" decimalPlaces=“2">-65.65</TaxDifference>
              <TaxDetails>
                <TaxDifference currencyCode=“USD" decimalPlaces=“2" taxCode=“US">-65.65</TaxDifference>
                <TaxDifference currencyCode=“USD" decimalPlaces=“2" taxCode=“ZP">0.00</TaxDifference>
                <TaxDifference currencyCode=“USD" decimalPlaces=“2" taxCode=“AY">0.00</TaxDifference>
                <TaxDifference currencyCode=“USD" decimalPlaces=“2" taxCode=“XF">0.00</TaxDifference>
              </TaxDetails>
              <SubtotalDifference currencyCode=“USD" decimalPlaces=“2">-941.00</SubtotalDifference>
              <TotalFeeTax currencyCode=“USD" decimalPlaces=“2">0.00</TotalFeeTax>
              <GrandTotalDifference currencyCode=“USD" decimalPlaces=“2">-941.00</GrandTotalDifference>
            </ResultPriceDifference>
          </Passenger>
        </PassengerPriceInformation>
        <TotalPriceDifference differenceType=“Refund">
          <FareDifference currencyCode=“USD" decimalPlaces=“2">-875.35</FareDifference>
          <TaxDifference currencyCode=“USD" decimalPlaces=“2">-65.65</TaxDifference>
          <SubtotalDifference currencyCode=“USD" decimalPlaces=“2">-941.00</SubtotalDifference>
          <NonRefundableAmount currencyCode=“USD" decimalPlaces=“2">0.00</NonRefundableAmount>
          <TotalFeeTax currencyCode=“USD" decimalPlaces=“2">0.00</TotalFeeTax>
          <GrandTotalDifference currencyCode=“USD" decimalPlaces=“2">-941.00</GrandTotalDifference>
        </TotalPriceDifference>
      </Fare>
    </Solution>