问题描述
我在请求无效机票时遇到问题。在申请无效票之前,我需要先做什么?我已经尝试过我的工作流程如下:
SessionCreateRQ => TravelItineraryReadRQ => VoidTicketLLSRQ => EndTransactionLLSRQ
无效票请求:
{{soapHeader}}
<soapenv:Body>
<ns:VoidTicketRQ Version="2.1.0">
<ns:Ticketing eTicketNumber="8165070132526"/>
</ns:VoidTicketRQ>
</soapenv:Body>
{{soapFooter}}
无效票响应:
<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>
解决方法
要取消门票,您需要执行以下步骤:
- 使用
SessionCreateRQ
打开会话。请注意,您作废 出票的同一 PCC 中的票。您可以使用ContextChangeLLSRQ
切换上下文。 - 您可能还需要指定带有
DesignatePrinterLLSRQ
的票据打印机。 - 使用
TravelItineraryReadRQ
或GetReservationRQ
将预订加载到会话中。
现在您可以调用 void 方法。 void操作分两步,所以必须调用两次void方法来确认void。
在无效请求中,您使用 eTicketNumber。正如 Sabre 文档所述 (https://developer.sabre.com/docs/soap_apis/air/fulfill/Void_Air_Ticket):
请注意@eTicketNumber 仅适用于 Sabre Sonic Res 托管的客户端
也许,这就是您收到错误的原因。您可以改用 RPH。 RPH 是 TicketingInfo/TicketDetails/TicketNumber
节点的“索引”属性。
还要考虑作废机票不会自动取消预订,因此您可能需要使用 OTA_CancelLLSRQ
方法来完全完成无效过程。