Skip to main content

Exchange Shopping

2.5.0
Air
Ticketing
SOAP API
Travel Agency
  • Added capability to use a different target city (PCC) during exchange shopping transaction.
  • Added capability to exempt taxes and fees and include applicable passenger facility charges (PFCs) during exchange shopping transactions.
  • Added capability to override taxes for newly shopped exchange options. This lets you override taxes by tax code and tax amount.
  • Added capability to exempt specific tax or taxes for newly shopped exchange options.
  • Added capability to shop for new exchange options filed with up to four corporate IDs. Previously only one ID was accepted by the API.
  • Added capability to shop for new exchange options filed with up to four account codes. Previously only one account code was accepted by the API.
  • Added capability to shop for new exchange options filed with a combination of corporate IDs and account codes, up to four. Previously no combination was accepted by the API.
  • (11/17/2022) Added ExchangeShoppingRS/Solution/Fare/ReservationSegmentDetails/PassengerBookingDetails/@brandName. This will be returned in case of mixed brands and different brand names. Previously this information was not returned in the service response. This solves ASTSP-437 Jira

API Information

Response Format
XML
Service Action Code
ExchangeShoppingRQ
Current Version
2.5.0
Target Audience
TN
Environment
Production

What's New

  • Added capability to use a different target city (PCC) during exchange shopping transaction.
  • Added capability to exempt taxes and fees and include applicable passenger facility charges (PFCs) during exchange shopping transactions.
  • Added capability to override taxes for newly shopped exchange options. This lets you override taxes by tax code and tax amount.
  • Added capability to exempt specific tax or taxes for newly shopped exchange options.
  • Added capability to shop for new exchange options filed with up to four corporate IDs. Previously only one ID was accepted by the API.
  • Added capability to shop for new exchange options filed with up to four account codes. Previously only one account code was accepted by the API.
  • Added capability to shop for new exchange options filed with a combination of corporate IDs and account codes, up to four. Previously no combination was accepted by the API.
  • (11/17/2022) Added ExchangeShoppingRS/Solution/Fare/ReservationSegmentDetails/PassengerBookingDetails/@brandName. This will be returned in case of mixed brands and different brand names. Previously this information was not returned in the service response. This solves ASTSP-437 Jira

Functional Updates And Enhancements

In the Request

Optional

Parameter: targetCity

Type: string

Description: Specifies which city service should change context using ContextChange (AAA), and the rest of the service uses new security.

Sample Value:

<ExchangeShoppingRQ xmlns="http://services.sabre.com/sp/exchange/shopping/v2_5" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" targetCity="AAAA" version="2.5.0">
  <STL_Header.RQ>
    <OrchestrationID seq="0">231488734192050161</OrchestrationID>
  </STL_Header.RQ>
  <TicketingProvider>1S</TicketingProvider>
  <PassengerInformation>
    <PassengerWithPNR pnrLocator="GITAOA" referenceNumber="1.1" firstName="ADAM" lastName="JONES">
      <DocumentNumber>0017928321527</DocumentNumber>
    </PassengerWithPNR>
  </PassengerInformation>
  <OriginDestinationInformation shopIndicator="true">
    <DateTimeSelection>
      <DepartureDate>2023-04-26</DepartureDate>
    </DateTimeSelection>
    <StartLocation>ATL</StartLocation>
    <EndLocation>LAX</EndLocation>
  </OriginDestinationInformation>
</ExchangeShoppingRQ>
Note:

In the Request

Optional

Parameter: ExemptAllTaxesAndFees

Type: element

Description: Used to exempt all taxes and fees and include applicable passenger facility charges (PFCs).

Sample Value:

<ExchangeShoppingRQ xmlns="http://services.sabre.com/sp/exchange/shopping/v2_5" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.5.0">
  <STL_Header.RQ>
    <OrchestrationID seq="0">231488734192050161</OrchestrationID>
  </STL_Header.RQ>
  <TicketingProvider>1S</TicketingProvider>
  <PassengerInformation>
    <PassengerWithoutPNR>
      <DocumentNumber>0017928321527</DocumentNumber>
    </PassengerWithoutPNR>
  </PassengerInformation>
  <OriginDestinationInformation shopIndicator="true">
    <DateTimeSelection>
      <DepartureDate>2023-04-26</DepartureDate>
    </DateTimeSelection>
    <StartLocation>ATL</StartLocation>
    <EndLocation>LAX</EndLocation>
  </OriginDestinationInformation>
  <TravelPreferences>
    <PriceRequestInformation>
      <TPA_Extensions>
        <ExemptAllTaxesAndFees value="true"/>
      </TPA_Extensions>
    </PriceRequestInformation>
  </TravelPreferences>
</ExchangeShoppingRQ>
Note:

In the Request

Optional

Parameter: Taxes

Type: element

Description: Element used to override taxes.

Sample Value:

<ExchangeShoppingRQ xmlns="http://services.sabre.com/sp/exchange/shopping/v2_5" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.5.0">
  <STL_Header.RQ>
    <OrchestrationID seq="0">231488734192050161</OrchestrationID>
  </STL_Header.RQ>
  <TicketingProvider>1S</TicketingProvider>
  <PassengerInformation>
    <PassengerWithoutPNR>
      <DocumentNumber>0017928321527</DocumentNumber>
    </PassengerWithoutPNR>
  </PassengerInformation>
  <OriginDestinationInformation shopIndicator="true">
    <DateTimeSelection>
      <DepartureDate>2023-04-26</DepartureDate>
    </DateTimeSelection>
    <StartLocation>ATL</StartLocation>
    <EndLocation>LAX</EndLocation>
  </OriginDestinationInformation>
  <TravelPreferences>
    <PriceRequestInformation>
      <TPA_Extensions>
        <Taxes>
          <Tax TaxCode="1A1" Amount="12"/>
          <Tax TaxCode="2B2" Amount="21.99"/>
        </Taxes>
      </TPA_Extensions>
    </PriceRequestInformation>
  </TravelPreferences>
</ExchangeShoppingRQ>
Note: Cannot be combined with ExemptAllTaxes, ExemptAllTaxesAndFees, and ExemptTax.

In the Request

Optional

Parameter: ExemptTax

Type: Element

Description: Used to exempt a specific tax/taxes

Sample Value:

<ExchangeShoppingRQ xmlns="http://services.sabre.com/sp/exchange/shopping/v2_5" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.5.0">
  <STL_Header.RQ>
    <OrchestrationID seq="0">231488734192050161</OrchestrationID>
  </STL_Header.RQ>
  <TicketingProvider>1S</TicketingProvider>
  <PassengerInformation>
    <PassengerWithoutPNR>
      <DocumentNumber>0017928321527</DocumentNumber>
    </PassengerWithoutPNR>
  </PassengerInformation>
  <OriginDestinationInformation shopIndicator="true">
    <DateTimeSelection>
      <DepartureDate>2023-04-26</DepartureDate>
    </DateTimeSelection>
    <StartLocation>ATL</StartLocation>
    <EndLocation>LAX</EndLocation>
  </OriginDestinationInformation>
  <TravelPreferences>
    <PriceRequestInformation>
      <TPA_Extensions>
        <ExemptTax TaxCode="1A1"/>
        <ExemptTax TaxCode="2B2"/>
      </TPA_Extensions>
    </PriceRequestInformation>
  </TravelPreferences>
</ExchangeShoppingRQ>
Note: Cannot be combined with ExemptAllTaxes, ExemptAllTaxesAndFees, and Taxes.

In the Request

Optional

Parameter: NegotiatedFareCode

Type: Element

Description: Used to shop for new exchange options filed with up to four corporate IDs.

Sample Value:

<ExchangeShoppingRQ xmlns="http://services.sabre.com/sp/exchange/shopping/v2_5" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.5.0">
  <STL_Header.RQ>
    <OrchestrationID seq="0">231488734192050161</OrchestrationID>
  </STL_Header.RQ>
  <TicketingProvider>1S</TicketingProvider>
  <PassengerInformation>
    <PassengerWithoutPNR>
      <DocumentNumber>0017928321527</DocumentNumber>
    </PassengerWithoutPNR>
  </PassengerInformation>
  <OriginDestinationInformation shopIndicator="true">
    <DateTimeSelection>
      <DepartureDate>2023-04-26</DepartureDate>
    </DateTimeSelection>
    <StartLocation>ATL</StartLocation>
    <EndLocation>LAX</EndLocation>
  </OriginDestinationInformation>
  <TravelPreferences>
    <PriceRequestInformation>
      <NegotiatedFareCode Code="ABC"/>
      <NegotiatedFareCode Code="DEF"/>
    </PriceRequestInformation>
  </TravelPreferences>
</ExchangeShoppingRQ>
Note: Previously only one corporate id was supported. /ExchangeShoppingRQ/TravelPreferences/PriceRequestInformation/@corporateID

In the Request

Optional

Parameter: AccountCode

Type: Element

Description: Used to shop for new exchange options filed with up to four account codes.

Sample Value:

<ExchangeShoppingRQ xmlns="http://services.sabre.com/sp/exchange/shopping/v2_5" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.5.0">
  <STL_Header.RQ>
    <OrchestrationID seq="0">231488734192050161</OrchestrationID>
  </STL_Header.RQ>
  <TicketingProvider>1S</TicketingProvider>
  <PassengerInformation>
    <PassengerWithoutPNR>
      <DocumentNumber>0017928321527</DocumentNumber>
    </PassengerWithoutPNR>
  </PassengerInformation>
  <OriginDestinationInformation shopIndicator="true">
    <DateTimeSelection>
      <DepartureDate>2023-04-26</DepartureDate>
    </DateTimeSelection>
    <StartLocation>ATL</StartLocation>
    <EndLocation>LAX</EndLocation>
  </OriginDestinationInformation>
  <TravelPreferences>
    <PriceRequestInformation>
      <AccountCode Code="XYZ"/>
    </PriceRequestInformation>
  </TravelPreferences>
</ExchangeShoppingRQ>
Note: Previously only one corporate id was supported. /ExchangeShoppingRQ/TravelPreferences/PriceRequestInformation/@accountCode

In the Request

Optional

Parameter: N/A

Type: N/A

Description: The API will now allow a combination of up to 4 (four) combined corporate IDs and account codes.

Sample Value:

<ExchangeShoppingRQ xmlns="http://services.sabre.com/sp/exchange/shopping/v2_5" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.5.0">
  <STL_Header.RQ>
    <OrchestrationID seq="0">231488734192050161</OrchestrationID>
  </STL_Header.RQ>
  <TicketingProvider>1S</TicketingProvider>
  <PassengerInformation>
    <PassengerWithoutPNR>
      <DocumentNumber>0017928321527</DocumentNumber>
    </PassengerWithoutPNR>
  </PassengerInformation>
  <OriginDestinationInformation shopIndicator="true">
    <DateTimeSelection>
      <DepartureDate>2023-04-26</DepartureDate>
    </DateTimeSelection>
    <StartLocation>ATL</StartLocation>
    <EndLocation>LAX</EndLocation>
  </OriginDestinationInformation>
  <TravelPreferences>
    <PriceRequestInformation>
      <NegotiatedFareCode Code="ABC"/>
      <NegotiatedFareCode Code="ABC"/>
      <AccountCode Code="XYZ"/>
      <AccountCode Code="XYZ"/>
    </PriceRequestInformation>
  </TravelPreferences>
</ExchangeShoppingRQ>
Note:

Relase note ID: 17557


  • Starting from version 2.4.0, the API provides capability of forcing the system to retain the original booking code for non-shopped legs.
  • Starting from version 2.4.0, the API provides capability of forcing the system to retain the originally ticketed brand for non-shopped legs. Previously, system might alter your originally ticketed brand while searching for the lowest exchange solution.

API Information

Response Format
XML
Service Action Code
ExchangeShoppingRQ
Current Version
2.4.0
Target Audience
TN
Environment
Production

What's New

  • Starting from version 2.4.0, the API provides capability of forcing the system to retain the original booking code for non-shopped legs.
  • Starting from version 2.4.0, the API provides capability of forcing the system to retain the originally ticketed brand for non-shopped legs. Previously, system might alter your originally ticketed brand while searching for the lowest exchange solution.

New Features

In the Request

Optional

Parameter: keepBookingClass

Type: boolean

Description: Forces the system to retain the original booking code for non-shopped legs

Sample Value:

<ExchangeShoppingRQ xmlns="http://services.sabre.com/sp/exchange/shopping/v2_4" version="2.4.0">
  <STL_Header.RQ>
    <OrchestrationID seq="0">744067011664091422</OrchestrationID>
  </STL_Header.RQ>
  <TicketingProvider>1S</TicketingProvider>
  <PassengerInformation>
    <PassengerWithoutPNR>
      <DocumentNumber>6077049020878</DocumentNumber>
    </PassengerWithoutPNR>
  </PassengerInformation>
  <OriginDestinationInformation shopIndicator="true">
    <DateTimeSelection>
      <DepartureDateTime>2020-11-19T13:45:00</DepartureDateTime>
    </DateTimeSelection>
    <StartLocation>AUH</StartLocation>
    <EndLocation>LHR</EndLocation>
  </OriginDestinationInformation>
  <OriginDestinationInformation shopIndicator="false">
    <DateTimeSelection>
      <DepartureDateTime>2020-11-27T14:05:00</DepartureDateTime>
    </DateTimeSelection>
    <StartLocation>LHR</StartLocation>
    <EndLocation>AUH</EndLocation>
    <RelatedSegment operatingProvider="EY" marketingProvider="EY" marketingFlightNumber="0020" startDateTime="2020-11-27T14:05:00" endDateTime="2018-11-28T01:20:00" startLocation="LHR" endLocation="AUH" bookingClass="F" reservationStatus="HK" bookingDateTime="2020-08-22T05:53:00" keepBookingCode="true"/>
  </OriginDestinationInformation>
</ExchangeShoppingRQ>
Note:

In the Request

Optional

Parameter: keepOriginalBrand

Type: boolean

Description: Forces the system to retain the originally ticketed brand for non-shopped legs.

Sample Value:

<ExchangeShoppingRQ xmlns="http://services.sabre.com/sp/exchange/shopping/v2_4" version="2.4.0">
  <STL_Header.RQ>
    <OrchestrationID seq="0">744067011664091422</OrchestrationID>
  </STL_Header.RQ>
  <TicketingProvider>1S</TicketingProvider>
  <PassengerInformation>
    <PassengerWithoutPNR>
      <DocumentNumber>6077049020878</DocumentNumber>
    </PassengerWithoutPNR>
  </PassengerInformation>
  <OriginDestinationInformation shopIndicator="true">
    <DateTimeSelection>
      <DepartureDateTime>2020-11-19T13:45:00</DepartureDateTime>
    </DateTimeSelection>
    <StartLocation>AUH</StartLocation>
    <EndLocation>LHR</EndLocation>
  </OriginDestinationInformation>
  <OriginDestinationInformation shopIndicator="false">
    <DateTimeSelection>
      <DepartureDateTime>2020-11-27T14:05:00</DepartureDateTime>
    </DateTimeSelection>
    <StartLocation>LHR</StartLocation>
    <EndLocation>AUH</EndLocation>
    <RelatedSegment operatingProvider="EY" marketingProvider="EY" marketingFlightNumber="0020" startDateTime="2020-11-27T14:05:00" endDateTime="2018-11-28T01:20:00" startLocation="LHR" endLocation="AUH" bookingClass="F" reservationStatus="HK" bookingDateTime="2020-08-22T05:53:00" keepBookingCode="true"/>
  </OriginDestinationInformation>
  <TravelPreferences>
    <PriceRequestInformation>
      <TPA_Extensions>
        <BrandedFareIndicators keepOriginalBrand="true" singleBrandedFare="true"/>
      </TPA_Extensions>
    </PriceRequestInformation>
  </TravelPreferences>
</ExchangeShoppingRQ>
Note:

Relase note ID: 14954


  • Exchange Shopping now allows users to target specific resulting fares using a Brand ID Code. The request can include a unique Brand ID or multiple Brand IDs that can be applied to the entire itinerary or per leg.

API Information

Response Format
XML
Service Action Code
ExchangeShoppingRQ
Current Version
2.3.0
Target Audience
TN
Environment
Production

What's New

  • Exchange Shopping now allows users to target specific resulting fares using a Brand ID Code. The request can include a unique Brand ID or multiple Brand IDs that can be applied to the entire itinerary or per leg.

Functional Updates And Enhancements

In the Request

Optional

Parameter: Brand

Type: n/a

Description: Used to shop by Brand ID on a leg level

Sample Value:

 
Note:

In the Request

Optional

Parameter: NonBrandedFares

Type: n/a

Description: Used to ensure that all of the fares within the response are assigned to a brand

Sample Value:

<OriginDestinationInformation shopIndicator="true">
  <DateTimeSelection>
    <DepartureDateTime>2019-06-10T08:25:00</DepartureDateTime>
  </DateTimeSelection>
  <StartLocation>LHR</StartLocation>
  <EndLocation>JFK</EndLocation>
  <IncludeVendor>AY</IncludeVendor>
  <BrandFilters>
    <Brand code="A4" preferLevel="Preferred"/>
    <NonBrandedFares preferLevel="Unacceptable"/>
  </BrandFilters>
</OriginDestinationInformation>
Note:

In the Request

Optional

Parameter: Brand

Type: n/a

Description: Used to shop by Brand ID on an itinerary level

Sample Value:

<TravelPreferences>
  <PriceRequestInformation>
    <TPA_Extensions>
      <BrandedFareIndicators returnBrandAncillaries="true" singleBrandedFare="true">
        <BrandFilters>
          <Brand code="A4" preferLevel="Preferred"/>
          <Brand code="ECONFLEX" preferLevel="Preferred"/>
        </BrandFilters>
      </BrandedFareIndicators>
    </TPA_Extensions>
  </PriceRequestInformation>
</TravelPreferences>
Note:

In the Request

Optional

Parameter: returnBrandAncillaries

Type: boolean

Description: Used to return ancillaries from the ATPCO Branded Fares Feature Table 166

Sample Value:

<TravelPreferences>
  <PriceRequestInformation>
    <TPA_Extensions>
      <BrandedFareIndicators returnBrandAncillaries="true" singleBrandedFare="true">
        <BrandFilters>
          <Brand code="A4" preferLevel="Preferred"/>
          <Brand code="ECONFLEX" preferLevel="Preferred"/>
        </BrandFilters>
      </BrandedFareIndicators>
    </TPA_Extensions>
  </PriceRequestInformation>
</TravelPreferences>
Note:

In the Response

Optional

Parameter: BrandFeatures

Type: n/a

Description: Indicates the final list of all brand feature items

Sample Value:

<BrandFeature id="1" application="F" serviceType="Z" serviceGroup="BF" subCode="050" vendor="ATP" commercialName="SEAT RESERVATION"/>
Note:

Relase note ID: 12830


  • Added ability to verify refundability/reusability details for all EMD-A associated to the ticket being exchanged. The service also supports the inclusion of additional EMD-A that are not associated to the ticket being exchanged.
  • The service response will include a list of ancillaries available for each new itinerary option.

API Information

Response Format
XML
Service Action Code
ExchangeShoppingRQ
Current Version
2.2.0
Target Audience
TN
Environment
Production

What's New

  • Added ability to verify refundability/reusability details for all EMD-A associated to the ticket being exchanged. The service also supports the inclusion of additional EMD-A that are not associated to the ticket being exchanged.
  • The service response will include a list of ancillaries available for each new itinerary option.

Functional Updates And Enhancements

In the Request

Optional

Parameter: validateAssociatedEMDs

Type: boolean

Description: used to validate associated EMDs for refundability or exchangeability.

Sample Value:

 
Note:

In the Request

Optional

Parameter: ElectronicMiscellaneousDocumentNumber

Type: n/a

Description: allows to pass EMD numbers to be validated for refundability or exchangeability.

Sample Value:

 
Note:

In the Request

Optional

Parameter: AncillaryFees

Type: n/a

Description: used to query for ancillary fees options

Sample Value:

 
Note:

In the Request

Optional

Parameter: Baggage

Type: n/a

Description: used to request baggage information.

Sample Value:

<ExchangeShoppingRQ xmlns="http://services.sabre.com/sp/exchange/shopping/v2_2" version="2.2.0">
  <STL_Header.RQ>
    <OrchestrationID seq="0">744067011664091422</OrchestrationID>
  </STL_Header.RQ>
  <TicketingProvider>1S</TicketingProvider>
  <PassengerInformation>
    <PassengerWithoutPNR>
      <DocumentNumber validateAssociatedEMDs="true">6077049020878</DocumentNumber>
    </PassengerWithoutPNR>
  </PassengerInformation>
  <OriginDestinationInformation shopIndicator="true">
    <DateTimeSelection>
      <DepartureDateTime>2018-11-19T13:45:00</DepartureDateTime>
    </DateTimeSelection>
    <StartLocation>AUH</StartLocation>
    <EndLocation>LHR</EndLocation>
  </OriginDestinationInformation>
  <TravelPreferences>
    <Baggage RequestType="A"/>
  </TravelPreferences>
</ExchangeShoppingRQ>
Note:

In the Response

Optional

Parameter: AncillaryFeeGroups

Type: n/a

Description: Element used to pass details on ancilary options available for the shopped itinerary.

Sample Value:

 
Note:

In the Response

Optional

Parameter: BaggageInformationList

Type: n/a

Description: used to pass baggage information available for the shopped itinerary

Sample Value:

 
Note:

In the Response

Optional

Parameter: ValidateEMDForExchange

Type: n/a

Description: Detailed information about passenger ElectronicMiscellaneousDocuments validated for refundability or exchangeability

Sample Value:

 
Note:

Relase note ID: 12895


  • Added new parameter to the service response schema to notify the user that the non-shopped segment requires rebooking

API Information

Response Format
XML
Service Action Code
ExchangeShoppingRQ
Current Version
2.1.0
Target Audience
TN
Environment
Production

What's New

  • Added new parameter to the service response schema to notify the user that the non-shopped segment requires rebooking

Functional Updates And Enhancements

In the Response

Optional

Parameter: book

Type: boolean

Description: used to indicate that the flight segments require rebooking or not. book="false" is returned when flight segment details (including booking class) match values passed within /ExchangeShoppingRQ/OriginDestinationInformation/RelatedSegment

Sample Value:

...<ReservationSegment elapsedTime="85" electronicTicketingIndicator="true" endDateTime="2016-11-29T17:30:00" endLocation="ORD" marketingFlightNumber="233" marketingProvider="LH" marriageGroup="O" operatingProvider="LO" segmentNumber="1" startDateTime="2016-11-29T16:35:00" startLocation="KRK" stopQuantity="0" book="false">...
Note:

Relase note ID: 12990