Sabre BFM(肥皂)是否提供任何方法对结果进行排序



我对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>

最新更新