如何从 Sabre SOAP 中的 Queue 中删除特定的 PNR API
How can I remove a specific PNR from a Queue in Sabre SOAP API
我使用 GetReservationRQ 检索指定的 PNR。然后我想从队列中删除此 PNR。我试过使用 QueueAccessRQ
QueueAccessRQ <Navigation Action=""QR""/>
returns"CANNOT DO THIS IF OFF QUEUE"
QueueAccessRQ 与 <Navigation Action=""E""/>
returns"NO CHANGES MADE TO PNR - UPDATE OR IGNORE"
QueueAccessRQ 与 <Navigation Action=""QR""/><Selection Function=""PR"" Criteria=""ABC123""/>
returns"Navigation, Selection are mutually exclusive"
即使我在 QueueAccessRQ 之前执行 IgnoreTransactionRQ 或 EndTransactionRQ,消息也是一样的,除了
IgnoreTransactionRQ 后跟 QueueAccessRQ <Navigation Action=""E""/>
returns"UNABLE TO END TRANSACTION - NO PNR PRESENT IN WORK AREA"
如何从 Queue 中删除特定的 PNR?
您应该能够将 QueueAccessLLSRQ 与 GetReservationRQ 一起使用,但您必须使用有状态请求(和会话令牌)。
您想做的事情如下:
- SessionCreateRQ
- GetReservationRQ
- QueueAccessLSSRQ
- SessionCloseRQ
您的 GetReservation 可能类似于:
<GetReservationRQ xmlns="http://webservices.sabre.com/pnrbuilder/v1_18" Version="1.18.0">
<Locator>****RECORD LOCATOR HERE****</Locator>
<RequestType>Stateful</RequestType>
<ReturnOptions>
<SubjectAreas>
<SubjectArea>HEADER</SubjectArea>
</SubjectAreas>
<ViewName>Simple</ViewName>
<ResponseFormat>STL</ResponseFormat>
</ReturnOptions>
</GetReservationRQ>
然后是 QueueAccessLLSRQ:
<QueueAccessRQ xmlns="http://webservices.sabre.com/sabreXML/2011/10" ReturnHostCommand="true" Version="2.0.6">
<Navigation Action="QR" />
<QueueIdentifier PseudoCityCode="****PCC HERE****" Number="****QUEUE NUMBER HERE****" />
</QueueAccessRQ>
另外请记住,在从队列中移除时,GetReservationRQ 和 QueueLLSRQ 调用之间对 PNR 所做的任何其他更改都将结束处理。
这意味着您没有在队列模式下工作 - 如果不在队列模式下,QR 将无法工作
QueueAccessRQ 与 returns "CANNOT DO THIS IF OFF QUEUE"
我使用 GetReservationRQ 检索指定的 PNR。然后我想从队列中删除此 PNR。我试过使用 QueueAccessRQ
QueueAccessRQ <Navigation Action=""QR""/>
returns"CANNOT DO THIS IF OFF QUEUE"
QueueAccessRQ 与 <Navigation Action=""E""/>
returns"NO CHANGES MADE TO PNR - UPDATE OR IGNORE"
QueueAccessRQ 与 <Navigation Action=""QR""/><Selection Function=""PR"" Criteria=""ABC123""/>
returns"Navigation, Selection are mutually exclusive"
即使我在 QueueAccessRQ 之前执行 IgnoreTransactionRQ 或 EndTransactionRQ,消息也是一样的,除了
IgnoreTransactionRQ 后跟 QueueAccessRQ <Navigation Action=""E""/>
returns"UNABLE TO END TRANSACTION - NO PNR PRESENT IN WORK AREA"
如何从 Queue 中删除特定的 PNR?
您应该能够将 QueueAccessLLSRQ 与 GetReservationRQ 一起使用,但您必须使用有状态请求(和会话令牌)。
您想做的事情如下:
- SessionCreateRQ
- GetReservationRQ
- QueueAccessLSSRQ
- SessionCloseRQ
您的 GetReservation 可能类似于:
<GetReservationRQ xmlns="http://webservices.sabre.com/pnrbuilder/v1_18" Version="1.18.0">
<Locator>****RECORD LOCATOR HERE****</Locator>
<RequestType>Stateful</RequestType>
<ReturnOptions>
<SubjectAreas>
<SubjectArea>HEADER</SubjectArea>
</SubjectAreas>
<ViewName>Simple</ViewName>
<ResponseFormat>STL</ResponseFormat>
</ReturnOptions>
</GetReservationRQ>
然后是 QueueAccessLLSRQ:
<QueueAccessRQ xmlns="http://webservices.sabre.com/sabreXML/2011/10" ReturnHostCommand="true" Version="2.0.6">
<Navigation Action="QR" />
<QueueIdentifier PseudoCityCode="****PCC HERE****" Number="****QUEUE NUMBER HERE****" />
</QueueAccessRQ>
另外请记住,在从队列中移除时,GetReservationRQ 和 QueueLLSRQ 调用之间对 PNR 所做的任何其他更改都将结束处理。
这意味着您没有在队列模式下工作 - 如果不在队列模式下,QR 将无法工作
QueueAccessRQ 与 returns "CANNOT DO THIS IF OFF QUEUE"