Sabre PNR列表及Trip_SearchRQ请求
在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中查看预订详情。

