Sabre - How many steps to request the Void Air Ticket?

622 Views Asked by At

I have a problem with request void air ticket requests. Before void ticket requests, what I need to do first? I have tried my workflow as below:

SessionCreateRQ => TravelItineraryReadRQ => VoidTicketLLSRQ => EndTransactionLLSRQ

Void Ticket Request:

{{soapHeader}}
<soapenv:Body>
        <ns:VoidTicketRQ  Version="2.1.0">
            <ns:Ticketing  eTicketNumber="8165070132526"/>
        </ns:VoidTicketRQ>
</soapenv:Body>
{{soapFooter}}

Void Ticket Response:

<soap-env:Body>
        <VoidTicketRS xmlns="http://webservices.sabre.com/sabreXML/2011/10" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:stl="http://services.sabre.com/STL/v01" Version="2.1.0">
            <stl:ApplicationResults status="NotProcessed">
                <stl:Error type="BusinessLogic" timeStamp="2021-06-30T22:55:13-05:00">
                    <stl:SystemSpecificResults>
                        <stl:Message>NO TCN/AT NBR MATCH-VERIFY-POSSIBLE MANUAL RFND REQUIRED-0093</stl:Message>
                        <stl:ShortText>ERR.SWS.HOST.ERROR_IN_RESPONSE</stl:ShortText>
                    </stl:SystemSpecificResults>
                </stl:Error>
            </stl:ApplicationResults>
        </VoidTicketRS>
</soap-env:Body>
1

There are 1 best solutions below

1
Christina On

To void a ticket you need to perform following steps:

  • Open a session using SessionCreateRQ. Please note, that you void tickets in the same PCC where tickets have been issued. You may use ContextChangeLLSRQ to switch contexts.
  • You may also need to assign a ticket printer with DesignatePrinterLLSRQ.
  • Load a booking to the session with TravelItineraryReadRQ or GetReservationRQ.

Now you may call the void method. Void operation is a two-step, so you must call void method twice to confirm void.

In the void request you use eTicketNumber. As Sabre docs state (https://developer.sabre.com/docs/soap_apis/air/fulfill/Void_Air_Ticket):

Please note that @eTicketNumber is only applicable to Sabre Sonic Res-hosted clients

Maybe, this is why you got the error. You may use RPH instead. RPH is an "index" attribute of the TicketingInfo/TicketDetails/TicketNumber node.

Also consider that voiding tickets does not automatically cancel booking, so you may want to use OTA_CancelLLSRQ method to completely finish the invalidation process.