Skip to main content

Auto Exchange And Refund

1.5.6
Air
Pricing
SOAP API
Airline Carrier

The Automated Exchanges and Refunds (AERRQ) web service prices exchanges and refunds, prices itineraries based on varying degrees of manual pricing criteria, retains the pricing result, and/or fulfills the exchange or refund.

Not Signed In.

Looks like you may not have access to all of the resources and documentation for this page.
Please log-in or contact your support desk team if you believe you should have access.

Target Audience
Airline Carrier
API Version
1.5.6
Authentication
Session Token
Service Action Code
AERRQ

Please note that this service is restricted to SabreSonicRes-based airline customers.

Additional related functions include irregular operations such as involuntary reroute, schedule change and no coupon situations. For a Sabre hosted carrier, these functions are based in whole or in part on the information stored in the Virtual Coupon Record ( VCR) electronic ticketing database, the manually provided ticket information (if no electronic record is available), the itinerary in the Agent Assembly Area ( AAA), the fares filed in the Sabre GDS, the historical fare information and related CAT31 rules as filed with Sabre, the tables configured in the Sabre GDS such as the options table and the form number table and any override parameters that are part of the XML request. AER relies on the binary security token obtained on a prior call to SessionCreateRQ.

The AER web service uses the AER package in TPF to complete AER transactions. Generally, a transaction is priced and retained and if the price satisfies the customer, the transaction is then fulfilled. Depending on whether an exchange is requested or a refund is requested and whether the result requires additional money to be collected or a refund to be issued, different documents are generated (eg electronic ticket, refund receipt, voucher, etc.). When issuing a ticket, AER updates the AAA with the TE line for electronic tickets. When retaining a price, AER updates the AAA with the price quote record. Exchange pricing and fulfillment requires the AAA to contain the new itinerary. This may be accomplished outside of the AER web service. Refunds and exchanges require a document to exchange. Electronic documents may be referred to by document number. Manual documents require data entered in the XML request. Manual pricing requests require a AAA with new itinerary data.

The response to pricing requests include the ticketing data (if exchanging or refunding) as well as the pricing result data including the comparison data. Messages that would have come from TPF AER are also included in the response. Fulfillment request responses include the new document number as well as the pricing data. Data in the XML is limited to what's provided in the TPF data transmission record. The XML contains most of the TPF data transmission record fields.

For Ticketing to provide support to a carrier when using Ticketing web services such as MISCServicesRQ and AERRQ, the carrier needs to provide access credentials almost identical to what the carrier will use to access the web service. The ID should be robotic, contain a non-expiring password, be able to issue tickets and be present in RES (production), CERT (certification) and TSTS (integration). Recommended, but not required: ID should be created inactive in RES; ID should be given duty code Cross of Lorraine.

The ID will be used in the automated regression test suite and will be used when researching questions and problems. Once Ticketing receives the ID, Ticketing will request allocation of a TAM pool and the associated ICE security attributes for accessing the web service.

Sample Request
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 <SOAP-ENV:Header>
  <ns1:MessageHeader
  ns1:version=""
    xmlns:ns1="http://www.ebxml.org/namespaces/messageHeader">
   <ns1:From>
    <ns1:PartyId
    ns1:type="urn:x12.org:IO5:01">999999</ns1:PartyId>
   </ns1:From>
   <ns1:To>
    <ns1:PartyId
   ns1:type="urn:x12.org:IO5:01">123123</ns1:PartyId>
   </ns1:To>
   <ns1:CPAId>IPCC</ns1:CPAId>
   <ns1:ConversationId>ABC123</ns1:ConversationId>
   <ns1:Service
  ns1:type="OTA">AERRQ</ns1:Service>
   <ns1:Action>AERRQ</ns1:Action>
   <ns1:MessageData>
    <ns1:MessageId>1000</ns1:MessageId>
    <ns1:Timestamp>2001-02-15T11:15:12Z</ns1:Timestamp>
    <ns1:TimeToLive>2001-02-15T11:15:12Z</ns1:TimeToLive>
   </ns1:MessageData>
  </ns1:MessageHeader>
  <ns1:Security
  xmlns:ns1="http://schemas.xmlsoap.org/ws/2002/12/secext">
   <ns1:BinarySecurityToken>Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/STSB!ICESMSLB\/STS.LB!1595525576693!8171!5</ns1:BinarySecurityToken>
  </ns1:Security>
 </SOAP-ENV:Header>
 <SOAP-ENV:Body>
<AER_RQ xmlns="http://services.sabre.com/ticketing/aer/1.0" version="1.5.6">
            <AERDetails>
                <Transaction Action="Exchange">
                    <SubAction Retain="true" award="true"/>
                </Transaction>
                <ExchDoc AirlineVendorID="U0">
                    <Number PlatingCarrier="888">1234567890</Number>
                    <Type Flight="true" Form="TKT"/>
                    <Coupons Booklet="1" Flown="U" Transaction="X"/>
                    <Coupons Booklet="2" Flown="U" Transaction="X"/>
                </ExchDoc>
                <NewDoc>
                    <Passenger>
                        <TravelerRefNumber>1.1</TravelerRefNumber>
                    </Passenger>
                    <Fare>
                        <Fees CurrencyCode="USD" DecimalPlaces="2" Raw="10.00">10.00</Fees>
                    </Fare>
                    <Pay>
                        <Voucher/>
                    </Pay>
                </NewDoc>
            </AERDetails>
        </AER_RQ>
 </SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Sample Response
<?xml version="1.0" encoding="UTF-8"?>
<soap-env:Envelope
  xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/">
 <soap-env:Header>
  <eb:MessageHeader
  eb:version="1.0" soap-env:mustUnderstand="1"
    xmlns:eb="http://www.ebxml.org/namespaces/messageHeader">
   <eb:From>
    <eb:PartyId
    eb:type="urn:x12.org:IO5:01">123123</eb:PartyId>
   </eb:From>
   <eb:To>
    <eb:PartyId
   eb:type="urn:x12.org:IO5:01">999999</eb:PartyId>
   </eb:To>
   <eb:CPAId>IPCC</eb:CPAId>
   <eb:ConversationId>ABC123</eb:ConversationId>
   <eb:Service
  eb:type="OTA">AERRQ</eb:Service>
   <eb:Action>AERRS</eb:Action>
   <eb:MessageData>
    <eb:MessageId>234803647742670610</eb:MessageId>
    <eb:Timestamp>2021-02-16T04:52:55</eb:Timestamp>
    <eb:RefToMessageId>1000</eb:RefToMessageId>
   </eb:MessageData>
  </eb:MessageHeader>
  <wsse:Security
   xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/12/secext">
   <wsse:BinarySecurityToken
   EncodingType="wsse:Base64Binary"
  valueType="String">Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/STSB!ICESMSLB\/STS.LB!1595525576693!8171!5</wsse:BinarySecurityToken>
  </wsse:Security>
 </soap-env:Header>
 <soap-env:Body><AER_RS timeStamp="2021-02-16T04:52:55" transactionIdentifier="LTXLD_TKT_03-1613472775830-3-aer" version="1.5.6" xmlns="http://services.sabre.com/ticketing/aer/1.0">
         <AERDetails>
            <Transaction Action="Exchange" NonFlight="false" PNR="ABCDEF">
               <Host Country="888" Currency="EUR" DecimalPlaces="2"/>
               <AAA Currency="RUB" DecimalPlaces="0"/>
               <Agent LNIATA="000000" Type="Ticket"/>
               <SubAction Retain="true" award="true"/>
            </Transaction>
            <ExchDoc AirlineVendorID="U0" CRS="U0">
               <Number CheckDigit="1" PlatingCarrier="888">1234567890</Number>
               <Type Database="true" Flight="true" Form="TKT" SubType="N"/>
               <Point>
                  <Issue Date="2021-02-10" Time="16:45:00">
                     <Location>
                        <LocationCode>DU0</LocationCode>
                        <CountryCode>RU</CountryCode>
                     </Location>
                  </Issue>
                  <Sale>
                     <LocationCode>DU0</LocationCode>
                     <CountryCode>RU</CountryCode>
                  </Sale>
                  <Ticket>
                     <LocationCode>DU0</LocationCode>
                     <CountryCode>RU</CountryCode>
                  </Ticket>
               </Point>
               <Passenger PassengerTypeCode="FFP">
                  <PersonName>
                     <GivenName>AWARD</GivenName>
                     <Surname>Qualifier</Surname>
                  </PersonName>
               </Passenger>
               <Coupons Booklet="1" Flown="U" Transaction="X">
                  <FlightSegment bookingCode="X" status="1">
                     <FlightNumber>8888</FlightNumber>
                     <OperatingFlightNumber>8888</OperatingFlightNumber>
                     <MarketingAirline name="SABRE AIRLINE">U0</MarketingAirline>
                     <OperatingAirline name="SABRE AIRLINE">U0</OperatingAirline>
                     <Departure>
                        <Airport name="MOSCOW SHEREMET">SVO</Airport>
                        <DateTime>2021-03-23T01:20:00</DateTime>
                     </Departure>
                     <Arrival>
                        <Airport name="SOCHI">AER</Airport>
                        <Time>10:05:00</Time>
                     </Arrival>
                  </FlightSegment>
                  <FareInfo CalcCode="06" FareBasisCode="XRR0R1" FareComponent="1">
                     <Break Currency="USD" Point="true"/>
                     <NotValid After="2021-03-23" Before="2021-03-23"/>
                     <Base Amount="0" DecimalPlaces="2" Zero="true"/>
                     <Rules Governed="U0" Number="3RRR" Tarrif="988" Vendor="ATP"/>
                  </FareInfo>
                  <Class PNR="X" TKT="OK"/>
                  <Baggage Amount="01" Type="P"/>
               </Coupons>
               <Coupons Booklet="2" Connection="O" Flown="U" Transaction="X">
                  <FlightSegment bookingCode="X" status="1">
                     <FlightNumber>8888</FlightNumber>
                     <OperatingFlightNumber>8888</OperatingFlightNumber>
                     <MarketingAirline name="SABRE AIRLINE">U0</MarketingAirline>
                     <OperatingAirline name="SABRE AIRLINE">U0</OperatingAirline>
                     <Departure>
                        <Airport name="SOCHI">AER</Airport>
                        <DateTime>2021-03-26T02:35:00</DateTime>
                     </Departure>
                     <Arrival>
                        <Airport name="MOSCOW SHEREMET">SVO</Airport>
                        <Time>05:10:00</Time>
                     </Arrival>
                  </FlightSegment>
                  <FareInfo CalcCode="00" FareBasisCode="XRR0R1" FareComponent="2">
                     <Break Currency="USD" Point="true"/>
                     <NotValid After="2021-03-26" Before="2021-03-26"/>
                     <Base Amount="0" DecimalPlaces="2" Zero="true"/>
                     <Rules Governed="U0" Number="3RRR" Tarrif="988" Vendor="ATP"/>
                  </FareInfo>
                  <Class PNR="X" TKT="OK"/>
                  <Baggage Amount="01" Type="P"/>
               </Coupons>
               <Fare>
                  <BaseFare CurrencyCode="USD" DecimalPlaces="2" Rate="1.00000000" Raw="0.00">0.00</BaseFare>
                  <EquivFare CurrencyCode="RUB" Raw="0">0</EquivFare>
                  <TotalFare CurrencyCode="RUB" DecimalPlaces="0" Raw="4160">4160</TotalFare>
                  <UnstructuredFareCalc>MOW U0 AER0.00U0 MOW0.00USD0.00END</UnstructuredFareCalc>
                  <AERTaxes>
                     <Tax Amount="3000" CurrencyCode="RUB" DecimalPlaces="0" Paid="P" Raw="3000" TaxCode="YQF"/>
                     <Tax Amount="540" CurrencyCode="RUB" DecimalPlaces="0" Paid="P" Raw="540" TaxCode="YRF"/>
                     <Tax Amount="310" CurrencyCode="RUB" DecimalPlaces="0" Raw="310" TaxCode="RI3"/>
                     <Tax Amount="310" CurrencyCode="RUB" DecimalPlaces="0" Raw="310" TaxCode="RI4"/>
                     <Bucket1 Amount="3000" DecimalPlaces="0" Raw="3000" TaxCode="YQ"/>
                     <Bucket2 Amount="540" DecimalPlaces="0" Raw="540" TaxCode="YR"/>
                     <Bucket3 Amount="620" DecimalPlaces="0" Raw="620" TaxCode="XT"/>
                  </AERTaxes>
                  <Modifiers appliedDiscount="false" appliedTicketDesignator="false"/>
               </Fare>
               <Pay>
                  <Cash/>
                  <PaymentAmount CurrencyCode="RUB">4160</PaymentAmount>
               </Pay>
            </ExchDoc>
            <NewDoc OverrideValCarrier="U0" Purchase="2021-02-16">
               <Passenger CorporateID="false" PassengerTypeCode="FFP">
                  <PersonName>
                     <GivenName>AWARD</GivenName>
                     <Surname>Qualifer</Surname>
                  </PersonName>
                  <TravelerRefNumber surnameRefNumber="1">1.1</TravelerRefNumber>
               </Passenger>
               <Reissue>
                  <LocationCode>DU0</LocationCode>
                  <CountryCode>RU</CountryCode>
               </Reissue>
               <PointOfSale>
                  <LocationCode>DU0</LocationCode>
                  <CountryCode>RU</CountryCode>
               </PointOfSale>
               <PointOfTicket>
                  <LocationCode>DU0</LocationCode>
                  <CountryCode>RU</CountryCode>
               </PointOfTicket>
               <Entitlement Booking="2021-02-10T07:45:00" Flown="U" StatusCode="HK">
                  <FlightSegment bookingCode="X" e_TicketEligibility="Eligible">
                     <FlightNumber>9999</FlightNumber>
                     <OperatingFlightNumber>9999</OperatingFlightNumber>
                     <MarketingAirline name="SABRE AIRLINE">U0</MarketingAirline>
                     <OperatingAirline name="SABRE AIRLINE">U0</OperatingAirline>
                     <Departure Connection="O" Currency="RUB" DecimalPlaces="0">
                        <Airport country="RU" name="MOSCOW SHEREMET">SVO</Airport>
                        <DateTime>2021-03-23T00:00:00</DateTime>
                     </Departure>
                     <Arrival Connection="O" Currency="RUB" DecimalPlaces="0">
                        <Airport country="RU" name="SOCHI">AER</Airport>
                        <DateTime>2021-03-23T00:00:00</DateTime>
                     </Arrival>
                     <PNR ID="2" Number="1"/>
                  </FlightSegment>
                  <FareInfo FareBasisCode="XRR1R0" GlobalIndicatorCode="EH" SideTrip="0">
                     <Break Point="true"/>
                     <NotValid After="2021-03-23" Before="2021-03-23"/>
                     <Base Amount="0" DecimalPlaces="2" Zero="true"/>
                  </FareInfo>
                  <Class PNR="X"/>
                  <Baggage Amount="01" Type="P"/>
               </Entitlement>
               <Entitlement Booking="2021-02-10T07:45:00" Flown="U" StatusCode="HK">
                  <FlightSegment bookingCode="X" e_TicketEligibility="Eligible">
                     <FlightNumber>9999</FlightNumber>
                     <OperatingFlightNumber>9999</OperatingFlightNumber>
                     <MarketingAirline name="SABRE AIRLINE">U0</MarketingAirline>
                     <OperatingAirline name="SABRE AIRLINE">U0</OperatingAirline>
                     <Departure Connection="O" Currency="RUB" DecimalPlaces="0">
                        <Airport country="RU" name="SOCHI">AER</Airport>
                        <DateTime>2021-03-26T00:00:00</DateTime>
                     </Departure>
                     <Arrival Connection="O" Currency="RUB" DecimalPlaces="0">
                        <Airport country="RU" name="MOSCOW SHEREMET">SVO</Airport>
                        <DateTime>2021-03-26T00:00:00</DateTime>
                     </Arrival>
                     <PNR ID="4" Number="2"/>
                  </FlightSegment>
                  <FareInfo FareBasisCode="XRR1R0" GlobalIndicatorCode="EH" SideTrip="0">
                     <Break Point="true"/>
                     <NotValid After="2021-03-26" Before="2021-03-26"/>
                     <Base Amount="0" DecimalPlaces="2" Zero="true"/>
                  </FareInfo>
                  <Class PNR="X"/>
                  <Baggage Amount="01" Type="P"/>
               </Entitlement>
               <Fare ExchPrice="false" ExchReissuePriceTypeDate="2021-02-10" ExchReissuePriceTypeTime="16:45:00" ReissuePrice="true" cat31or33="true">
                  <BaseFare CurrencyCode="USD" DecimalPlaces="2" Raw="0.00" rateType="BSR">0.00</BaseFare>
                  <EquivFare CurrencyCode="RUB" Raw="0">0</EquivFare>
                  <Fees CurrencyCode="USD" DecimalPlaces="2" FeeCode="CHG" Raw="10.00">10.00</Fees>
                  <TotalFare CurrencyCode="RUB" Raw="4160">4160</TotalFare>
                  <UnstructuredFareCalc Currency="USD">MOW U0 AER0.00U0 MOW0.00USD0.00END</UnstructuredFareCalc>
                  <AERTaxes>
                     <Tax Amount="3000" CurrencyCode="RUB" DecimalPlaces="0" Raw="3000" TaxCode="YQF"/>
                     <Tax Amount="540" CurrencyCode="RUB" DecimalPlaces="0" Raw="540" TaxCode="YRF"/>
                     <Tax Amount="310" CurrencyCode="RUB" DecimalPlaces="0" Raw="310" TaxCode="RI3"/>
                     <Tax Amount="310" CurrencyCode="RUB" DecimalPlaces="0" Raw="310" TaxCode="RI4"/>
                     <Bucket1 Amount="3000" Raw="3000" TaxCode="YQ"/>
                     <Bucket2 Amount="540" Raw="540" TaxCode="YR"/>
                     <Bucket3 Amount="620" Raw="620" TaxCode="XT"/>
                  </AERTaxes>
                  <Modifiers appliedDiscount="false" appliedTicketDesignator="false"/>
               </Fare>
            </NewDoc>
            <Comparison>
               <Summary CurrencyType="R" ticketUse="true">
                  <Differences>
                     <Base Raw="0.00">0.00</Base>
                     <CurrencyFare CurrencyCode="RUB" DecimalPlaces="0" Raw="0">0</CurrencyFare>
                     <TotalTax CurrencyCode="RUB" Raw="0">0</TotalTax>
                     <SubTotal CurrencyCode="RUB" DecimalPlaces="0" Raw="0">0</SubTotal>
                     <GrandTotal CurrencyCode="RUB" DecimalPlaces="0" Raw="745">745</GrandTotal>
                  </Differences>
                  <Fees>
                     <Fee CurrencyCode="RUB" FeeCode="CHG" Raw="745">745</Fee>
                  </Fees>
               </Summary>
               <Taxes>
                  <Exchange Amount="3000" CurrencyCode="RUB" Paid="true" TaxCode="YQF"/>
                  <New Amount="3000" CurrencyCode="RUB" Flat="true" TaxCode="YQF"/>
                  <ExchangeDiff Amount="0" CurrencyCode="RUB" Flat="true" Paid="true" TaxCode="YQF"/>
                  <ReissueDiff Amount="0" CurrencyCode="RUB" Flat="true" Paid="true" TaxCode="YQF"/>
                  <Paid Amount="3000" CurrencyCode="RUB" TaxCode="YQF"/>
               </Taxes>
               <Taxes>
                  <Exchange Amount="540" CurrencyCode="RUB" Paid="true" TaxCode="YRF"/>
                  <New Amount="540" CurrencyCode="RUB" Flat="true" TaxCode="YRF"/>
                  <ExchangeDiff Amount="0" CurrencyCode="RUB" Flat="true" Paid="true" TaxCode="YRF"/>
                  <ReissueDiff Amount="0" CurrencyCode="RUB" Flat="true" Paid="true" TaxCode="YRF"/>
                  <Paid Amount="540" CurrencyCode="RUB" TaxCode="YRF"/>
               </Taxes>
               <Taxes>
                  <Exchange Amount="310" CurrencyCode="RUB" TaxCode="RI3"/>
                  <New Amount="310" CurrencyCode="RUB" Flat="true" TaxCode="RI3"/>
                  <ExchangeDiff Amount="0" CurrencyCode="RUB" Flat="true" Paid="true" TaxCode="RI3"/>
                  <ReissueDiff Amount="0" CurrencyCode="RUB" Flat="true" Paid="true" TaxCode="RI3"/>
                  <Paid Amount="310" CurrencyCode="RUB" TaxCode="RI3"/>
               </Taxes>
               <Taxes>
                  <Exchange Amount="310" CurrencyCode="RUB" TaxCode="RI4"/>
                  <New Amount="310" CurrencyCode="RUB" Flat="true" TaxCode="RI4"/>
                  <ExchangeDiff Amount="0" CurrencyCode="RUB" Flat="true" Paid="true" TaxCode="RI4"/>
                  <ReissueDiff Amount="0" CurrencyCode="RUB" Flat="true" Paid="true" TaxCode="RI4"/>
                  <Paid Amount="310" CurrencyCode="RUB" TaxCode="RI4"/>
               </Taxes>
            </Comparison>
            <Message Type="D">TRANSACTION RETAINED</Message>
            <Message Type="S">NON REF/HEBO3BPATEH</Message>
            <Message Type="W">PRIVATE FARE APPLIED - CHECK RULES FOR CORRECT TICKETING</Message>
            <Message Type="W">VALIDATING CARRIER SPECIFIED - SU</Message>
            <Message Type="I">Version specified in input xml is not the latest version.
 Version of Input XML: 1.5.6
 Supported Versions: 1.1.16, 1.5.6, 1.3.0, 1.2.1, 1.4.0, 1.5.0, 1.4.1, 1.5.1, 1.4.2, 1.5.2, 1.4.3, 1.1.6, 1.5.3, 1.4.4, 1.5.4, 1.5.5, 1.2.0
 Recommended version to upgrade (Latest Version): 1.5.5</Message>
            <Message Type="W">Default FeeCode is change Fee and last occurrence of change fee/Other Fee is considered in case of multiple repeats</Message>
         </AERDetails>
      </AER_RS>
 </soap-env:Body>
</soap-env:Envelope>