如何从 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 一起使用,但您必须使用有状态请求(和会话令牌)。

您想做的事情如下:

  1. SessionCreateRQ
  2. GetReservationRQ
  3. QueueAccessLSSRQ
  4. 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"