Sabre BFM (soap) 是不是提供任何方法来对结果进行排序?
Posted
技术标签:
【中文标题】Sabre BFM (soap) 是不是提供任何方法来对结果进行排序?【英文标题】:Does Sabre BFM (soap) provides any method to sort the results?Sabre BFM (soap) 是否提供任何方法来对结果进行排序? 【发布时间】:2018-03-12 05:49:59 【问题描述】:我对 Sabre apis 完全陌生。我有一个项目已经实现了“Bargain Finder Max”saber soap api。据我在网上搜索,我只能找到这个documentation,其中提到我们可以通过将参数sortBy
与请求一起发送来对API 结果进行排序。但这是 Sabre 下的 REST
api,而在项目中实现的 API 是 SOAP
下的 this。
在代码中发送的请求和响应也是正确的。例如:它发送以下请求
<OTA_AirLowFareSearchRQ xmlns="http://www.opentravel.org/OTA/2003/05" Version="3.4.0" ResponseType="OTA" ResponseVersion="3.4.0">
<POS>
<Source PseudoCityCode="PCC">
<RequestorID ID="1" Type="1">
<CompanyName Code="TN">TN</CompanyName>
</RequestorID>
</Source>
</POS>
<OriginDestinationInformation RPH="1">
<DepartureDateTime>2016-10-26T00:00:00</DepartureDateTime>
<OriginLocation LocationCode="LHR"/>
<DestinationLocation LocationCode="BOM"/>
<TPA_Extensions>
<SisterOriginLocation LocationCode="LTN"/>
<SisterOriginLocation LocationCode="LGW"/>
<SegmentType Code="O"/>
<CabinPref Cabin="Y" PreferLevel="Preferred"/>
</TPA_Extensions>
</OriginDestinationInformation>
<OriginDestinationInformation RPH="2">
<DepartureDateTime>2016-11-04T00:00:00</DepartureDateTime>
<OriginLocation LocationCode="BOM"/>
<DestinationLocation LocationCode="LHR"/>
<TPA_Extensions>
<SisterDestinationLocation LocationCode="LTN"/>
<SisterDestinationLocation LocationCode="LGW"/>
<SegmentType Code="O"/>
</TPA_Extensions>
</OriginDestinationInformation>
<TravelerInfoSummary>
<SeatsRequested>1</SeatsRequested>
<AirTravelerAvail>
<PassengerTypeQuantity Code="ADT" Quantity="1"/>
</AirTravelerAvail>
<PriceRequestInformation CurrencyCode="GBP"/>
</TravelerInfoSummary>
<TPA_Extensions>
<IntelliSellTransaction>
</IntelliSellTransaction>
</TPA_Extensions>
</OTA_AirLowFareSearchRQ>
这会产生正确的结果。但现在我需要根据最短时间和价格对结果进行排序。如果 api 提供任何排序方法或者我必须创建自己的方法,请指导我。
谢谢!
【问题讨论】:
【参考方案1】:首先,正如您想象的那样,文档不是针对 Bargain Finder Max (BFM),而是另一个名为 InstaFlight 的服务,您需要检查的实际文档在这里:https://developer.sabre.com/docs/read/soap_apis/air/search/bargain_finder_max/resources
现在,关于您的实际问题,唯一可以帮助您进行排序的是使用优先级,您需要按照您想要的顺序将它们从 1 设置为 4。
<PriceRequestInformation CurrencyCode="GBP">
<TPA_Extensions>
<Priority>
<Price Priority="1"/>
<DirectFlights Priority="2"/>
<Time Priority="3"/>
<Vendor Priority="4"/>
</Priority>
</TPA_Extensions>
</PriceRequestInformation>
【讨论】:
以上是关于Sabre BFM (soap) 是不是提供任何方法来对结果进行排序?的主要内容,如果未能解决你的问题,请参考以下文章
sabre:循环通过 TEL-property 不能提供预期的结果
如何将掩码卡号而不是完整的卡号发送到 Sabre AirTicketLLSRQ api?