sabre - Saber - 申请虚空机票需要多少步骤?
问题描述
我对请求无效机票请求有疑问。在作废机票请求之前,我需要先做什么?我已经尝试了我的工作流程如下:
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
方法来完全完成作废过程。
推荐阅读
- robotframework - 是否可以直接从 Seettings 或类似文件夹中生成与默认文件夹不同的文件夹中的文档?
- php - 图像未显示在 laravel 刀片视图中
- asp.net - ASP.NET 网络编程
- javascript - 如何使用 jQuery 重置 Django 应用程序中的可选字段
- javascript - 如何使用 Mapbox GL JS 和对象制作等值线地图?
- python - 如何从 gitlab CI 工件文件夹发布覆盖率报告?
- reactjs - 材质 UI 样式化组件如何应用样式
- r - 合并来自同一列的各种 DataFrame
- python - 如何修复 LaTeX Standalone.cls 在 Heroku 上找不到问题?
- ruby - AWS Lambda 链接不适用于 RDS Postgres