Sabre PNR列表及Trip_SearchRQ请求

后端开发 2026-07-11

Trip_SearchRQ上很挣扎,为了获取由我的PCC创建的PNR。

我尝试在POS中为我的PCC设置AnyBranch=true,但我收到的不仅是由我的PCC创建的PNR,还有许多其他PNR数据。

我知道可以进行过滤,但那样会产生十亿次请求。

我尝试设置ReservationCriteria,但在任何配置下都没有结果。

  <ReservationReadRequest>
    <DateCriteria>
      <UpdateDate After="2026-03-12T00:00:00" Before="2026-03-12T01:59:59"/>
    </DateCriteria>
    <ReservationCriteria>
      <Source>{{PCC}}</Source>
    </ReservationCriteria>
    <EmailCriteria>
      <EmailAddress MatchMode="EXACT">{{COMPANY_EMAIL}}</EmailAddress>
    </EmailCriteria>
    <PosCriteria AnyBranch="true">
      <Pcc>{{PCC}}</Pcc>
    </PosCriteria>
    <ReturnOptions ViewName="TripSearchBlobTN" MaxItemsReturned="800" ResponseFormat="STL" SearchType="ACTIVE">
      <SubjectAreas>
        <SubjectArea>HEADER</SubjectArea>
        <SubjectArea>NAME</SubjectArea>
      </SubjectAreas>
    </ReturnOptions>
  </ReservationReadRequest>

使用电子邮件过滤器似乎能得到大量结果(并且会忽略其他过滤器,我总是得到的PNR数量比API允许的还要多),我认为通过异步表视图或许能以某种方式获取它们,但不能确保列表是完整的(可能有没有电子邮件的PNR),并且异步也不是默认的API选项。

是否有选项可以获取由我的PCC创建的所有PNR?也许还有其他API。

Sabre有一种明确的区分方式,通过 HomePseudoCityCode 来区分,但我找不到相应的过滤器设置。

解决方案

Sabre队列可以用于访问来自特定PCC的所有预订,但要实现这一点,代理机构必须配置其TJR设置:

代理指定一个队列,创建的每个PNR都会自动发送到该队列;PNR将一直保留在那里,直到被用户删除。随后可以通过队列服务访问这些信息。

Trip_SearchRQ可用于根据特定条件查找PNR。

AnyBranch=true:该参数将返回代理可访问的其他PCC的结果;如果要将PNR搜索限定在单个PCC,则应将其设为false。

主要搜索条件:由于存在特定限制,无法仅用这些条件找到所有预订。

在此输入图片描述

备选方案

作为替代方法;

PNR也可以通过SabreCommand服务按如下方式进行搜索;不过这种搜索方法可能会产生代理成本,直到队列管理建立前应仅使用。

-搜索所有行程状态为Itinerary HK的预订:

RQ:
<SabreCommandLLSRQ ReturnHostCommand="true" Version="2.0.0" xmlns="http://webservices.sabre.com/sabreXML/2011/10">
    <Request Output="SCREEN">
        <HostCommand>QK¥AC-HK</HostCommand>
    </Request>
</SabreCommandLLSRQ>

RS:
<Response>OK - STARTED</Response>

-在收到OK响应后终止搜索:

RQ:
<SabreCommandLLSRQ ReturnHostCommand="true" Version="2.0.0" xmlns="http://webservices.sabre.com/sabreXML/2011/10">
    <Request Output="SCREEN">
        <HostCommand>U</HostCommand>
    </Request>
</SabreCommandLLSRQ>


RS: 53 PNRs with HK status were found:

<Response>K49I SPECTRA KEYS:
         AC-HK                    ACTION CODE
16MAR /0545K49I*AW2      END TIME - 0545
TOTAL -       53
 0545  16MAR  3637CC </Response>

-发送到所需的队列:(在本示例中为400)

RQ:
<SabreCommandLLSRQ ReturnHostCommand="true" Version="2.0.0" xmlns="http://webservices.sabre.com/sabreXML/2011/10">
    <Request Output="SCREEN">
        <HostCommand>QJ/400</HostCommand>
    </Request>
</SabreCommandLLSRQ>


RS:

<Response>ON Q 400 K49I 0546/16MAR</Response>

完成此步骤后,可以在队列400中查看预订详情。

在此输入图片描述

站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。

相关文章