0

我对 sabre apis 完全陌生。我有一个项目已经实现了“Bargain Finder Max”saber soap api。到目前为止,我在网上搜索过,我只能找到这个文档,其中提到我们可以通过发送sortBy请求的参数来对 API 结果进行排序。但这是RESTSabre 下的 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 提供任何排序​​方法或者我必须创建自己的方法,请指导我。

谢谢!

4

1 回答 1

2

首先,正如您想象的那样,文档不是针对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>
于 2018-03-23T18:38:16.560 回答