我对sabre apis完全陌生。我有一个项目已经实现了"讨价还价者Max"军刀肥皂api。就我在网上搜索以来,我只能找到这个文档,其中提到我们可以通过发送与请求sortBy
的参数来对 API 结果进行排序。但这是在 Sabre 下REST
api,而在项目上实现的 api 是在 SOAP
下。
在代码中发送的请求和响应也是正确的。例如:它发送以下请求
<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 提供任何排序方法,请指导我,或者我必须创建自己的排序方法。
谢谢!
首先,正如您想象的文档不是针对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>