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>
To void a ticket you need to perform following steps:
SessionCreateRQ. Please note, that you void tickets in the same PCC where tickets have been issued. You may useContextChangeLLSRQto switch contexts.DesignatePrinterLLSRQ.TravelItineraryReadRQorGetReservationRQ.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):
Maybe, this is why you got the error. You may use RPH instead. RPH is an "index" attribute of the
TicketingInfo/TicketDetails/TicketNumbernode.Also consider that voiding tickets does not automatically cancel booking, so you may want to use
OTA_CancelLLSRQmethod to completely finish the invalidation process.