包含至少一个行程航段的 PNR 必须位于 Sabre 工作区

问题描述

我们正在使用 Sabre API,例如 CreateSessionRQ、GetReservationRQ、AddRemarksRQ、EndTransactionRQ、CloseSessionRQ。在使用 CreateSessionRQ 创建会话后,我们通过 GetReservationRQ 使用 PNR 定位器获取了预订详细信息。我们有以下疑问:

  1. 在向 AddRemarksRQ 和 EndTransactionRQ 发送请求时,没有将 PNR 添加到请求中。我们在 sabre 开发人员网站提供的示例请求中找不到 PNR 定位器。 PNR 如何与请求关联?
  2. 在 EndTransactionRQ API 的先决条件中,它们被称为“具有至少一个行程航段的 PNR 必须在 Sabre 工作区中”。谁能解释一下?

解决方法

Sabre PNR 要求在第一笔结束交易发生时其中有一个航段。解决此问题的最简单方法是在结束 PNR 之前添加包含一些通用文本的 OTH 航段。

我相信 Sell Miscellaneous Segment API 是您想要用来完成此任务的方法。为此使用“GK”状态,因为这将创建一个不会传输给任何其他供应商的细分市场。

,

当您调用 CreateSessionRQ 时,您会收到一个 BinarySecurityToken,用于标识 Sabre 会话。然后在其他 sabre Web 服务请求的soap 标头中传递BinarySecurityToken。

当您调用 GetReservationRQ(在有状态模式下)时,PNR 会加载到由 BinarySecurityToken 标识的会话中。然后,当您调用 AddRemarksRQ 时,它会将备注添加到先前调用 GetReservationRQ 已加载到会话中的 PNR。这同样适用于 EndTransactionRQ 服务调用。 BinarySecurityToken 标识由有状态 Web 服务调用操作的会话。