Search code examples
c#.netsoapsabre

Sabre BargainFinderMax (BFM) returns only one itinerary


I'm using Saber's soap api for getting the flight details, the xml request is as given below:

    `<OTA_AirLowFareSearchRQ xmlns:xsi="http://www.w3.org/2001/XMLSchema-       instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Version="3.0.0"         ResponseType="OTA" ResponseVersion="3.0.0">
    <POS xmlns="http://www.opentravel.org/OTA/2003/05">
    <Source PseudoCityCode="XXXX">
        <RequestorID Type="0.AAA.X" ID="REQ.ID">
        <CompanyName Code="TN"/>
        </RequestorID>
    </Source>
    </POS>
<OriginDestinationInformation xmlns="http://www.opentravel.org/OTA/2003/05"      RPH="1">
    <DepartureDateTime>2017-04-21T03:18:35</DepartureDateTime>
    <OriginLocation LocationCode="YYZ"/>
        <DestinationLocation LocationCode="SIN"/>
    </OriginDestinationInformation>
    <TravelPreferences xmlns="http://www.opentravel.org/OTA/2003/05">
        <TPA_Extensions>
            <NumTrips Number="1"/>
        </TPA_Extensions>
    </TravelPreferences>
    <TravelerInfoSummary xmlns="http://www.opentravel.org/OTA/2003/05">
        <AirTravelerAvail>
            <PassengerTypeQuantity Code="ADT" Quantity="1"/>
        </AirTravelerAvail>
    </TravelerInfoSummary>
    <TPA_Extensions xmlns="http://www.opentravel.org/OTA/2003/05">
        <IntelliSellTransaction>
            <RequestType Name="50ITINS"/>
        </IntelliSellTransaction>
    </TPA_Extensions>
</OTA_AirLowFareSearchRQ>`

But my response is always limited to one flight itinerary for some reason, any help is appreciated.

Thanks.


Solution

  • Well, it seems weird, can you try making this request given below:

    <OTA_AirLowFareSearchRQ AvailableFlightsOnly="true" ResponseType="OTA" ResponseVersion="3.0.0" Version="3.0.0" xmlns="http://www.opentravel.org/OTA/2003/05">
    <POS xmlns="http://www.opentravel.org/OTA/2003/05">
        <Source PseudoCityCode="XXXX">
            <RequestorID ID="REQ.ID" Type="0.AAA.X">
                <CompanyName Code="TN"/>
            </RequestorID>
        </Source>
    </POS>
    <OriginDestinationInformation RPH="1">
        <DepartureDateTime>2017-04-21T00:00:00</DepartureDateTime>
        <DepartureWindow>00002359</DepartureWindow>
        <OriginLocation LocationCode="YYZ" LocationType="A"/>
        <DestinationLocation LocationCode="SIN" LocationType="A"/>
        <TPA_Extensions>
            <SegmentType Code="O"/>
        </TPA_Extensions>
    </OriginDestinationInformation>
    <TravelPreferences ETicketDesired="true" ValidInterlineTicket="true">
        <TPA_Extensions>
            <TripType Value="OneWay"/>
            <FlightStopsAsConnections Ind="true"/>
            <ExcludeCallDirectCarriers Enabled="true"/>
        </TPA_Extensions>
        <Baggage Description="true" RequestType="A"/>
    </TravelPreferences>
    <TravelerInfoSummary>
        <SeatsRequested>1</SeatsRequested>
        <AirTravelerAvail>
            <PassengerTypeQuantity Code="ADT" Quantity="1"/>
        </AirTravelerAvail>
        <PriceRequestInformation CurrencyCode="TRY" NegotiatedFaresOnly="false"/>
    </TravelerInfoSummary>
    <TPA_Extensions>
        <IntelliSellTransaction>
            <RequestType Name="50ITINS"/>
        </IntelliSellTransaction>
    </TPA_Extensions></OTA_AirLowFareSearchRQ>
    

    There will be a lot of reason for returning only one itinerary. Try this request, if you get an error or something, let me now than and we will continue step by step.

    Additional note: Please note that you have to use your agent configuration when making request, for ex: use should use your currency defined before.

    Regards.