Deep
Deep

Reputation: 51

Sabre: How to Differentiate Segment Details in Second EnhancedAirBook

In some cases, I call EnhancedAirBookRQ separately for two different Flight Segments by passing SegmentSelect into EAB Request.

For Example:

Consider I execute EAB first for Segment1 BLR-DEL, and then I call EAB again for Segment 2 DEL-BLR.

Now when EAB is executed twice for those two Segments, first response of EAB will state me the Segment details of BLR-DEL, However second response of EAB will state collectively of all Segments, i.e BLR-DEL and DEL-BLR.

So from the second response, I wanted to extract only the segment belonging to DEL-BLR. So how do I get that.

Response 1 of EAB:

<ReservationItems>
     <Item RPH="1">
        <FlightSegment AirMilesFlown="1075" ArrivalDateTime="04-22T09:45" DayOfWeekInd="5" DepartureDateTime="2016-04-22T07:00" ElapsedTime="02.45" FlightNumber="0807" NumberInParty="02" ResBookDesigCode="W" SegmentNumber="0001" SmokingAllowed="false" SpecialMeal="false" Status="SS" StopQuantity="00" eTicket="true">
           <DestinationLocation LocationCode="BLR" />
           <Equipment AirEquipType="73H" />
           <MarketingAirline Code="9W" FlightNumber="0807" />
           <Meal Code="B" />
           <OriginLocation LocationCode="DEL" Terminal="TERMINAL 3" TerminalCode="3" />
           <SupplierRef ID="DC9W" />
           <UpdatedArrivalTime>04-22T09:45</UpdatedArrivalTime>
           <UpdatedDepartureTime>04-22T07:00</UpdatedDepartureTime>
        </FlightSegment>
     </Item>
</ReservationItems>

Response 2 of EAB:

 <ReservationItems>
     <Item RPH="1">
        <FlightSegment AirMilesFlown="1075" ArrivalDateTime="04-22T09:45" DayOfWeekInd="5" DepartureDateTime="2016-04-22T07:00" ElapsedTime="02.45" FlightNumber="0807" NumberInParty="02" ResBookDesigCode="W" SegmentNumber="0001" SmokingAllowed="false" SpecialMeal="false" Status="SS" StopQuantity="00" eTicket="true">
           <DestinationLocation LocationCode="BLR" />
           <Equipment AirEquipType="73H" />
           <MarketingAirline Code="9W" FlightNumber="0807" />
           <Meal Code="B" />
           <OriginLocation LocationCode="DEL" Terminal="TERMINAL 3" TerminalCode="3" />
           <SupplierRef ID="DC9W" />
           <UpdatedArrivalTime>04-22T09:45</UpdatedArrivalTime>
           <UpdatedDepartureTime>04-22T07:00</UpdatedDepartureTime>
        </FlightSegment>
     </Item>
     <Item RPH="2">
        <FlightSegment AirMilesFlown="1075" ArrivalDateTime="04-23T08:50" DayOfWeekInd="6" DepartureDateTime="2016-04-23T06:05" ElapsedTime="02.45" FlightNumber="0818" NumberInParty="02" ResBookDesigCode="V" SegmentNumber="0002" SmokingAllowed="false" SpecialMeal="false" Status="SS" StopQuantity="00" eTicket="true">
           <DestinationLocation LocationCode="DEL" Terminal="TERMINAL 3" TerminalCode="3" />
           <Equipment AirEquipType="73H" />
           <MarketingAirline Code="9W" FlightNumber="0818" />
           <Meal Code="B" />
           <OriginLocation LocationCode="BLR" />
           <SupplierRef ID="DC9W" />
           <UpdatedArrivalTime>04-23T08:50</UpdatedArrivalTime>
           <UpdatedDepartureTime>04-23T06:05</UpdatedDepartureTime>
        </FlightSegment>
     </Item>
 </ReservationItems>

Note: I can't go based on SegmentNumber, because when stopover concept comes into picture, Segment is numbered accordingly.

Upvotes: 0

Views: 544

Answers (2)

fcarreno
fcarreno

Reputation: 701

Any particular reason why you need two separate EAB requests here? (maybe offering outbound and inbound flights in separate UIs?)

If, during shopping, (e.g.: using BFM: https://developer.sabre.com/docs/read/soap_apis/air/search/bargain_finder_max) you are asking for roundtrip itineraries (specifying OriginDestinationInformation elements for outbound and inbound portions), you can book the complete itinerary in a single EAB request.

If your UI needs to offer outbound and inbound flights separately, you'll have to consider the combinations offered by shopping, and then book using EAB (single request) accordingly.

Upvotes: 1

CSE 52
CSE 52

Reputation: 101

If you want to price two segment in single request, you have to use 'marriage group'

 <OTA_AirBookRQ xmlns="http://webservices.sabre.com/sabreXML/2011/10" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Version="2.0.0">
      <OriginDestinationInformation>
        <FlightSegment FlightNumber="408" ArrivalDateTime="2016-02-18T17:15:00" DepartureDateTime="2016-02-18T15:35:00" NumberInParty="1" Status="NN" ResBookDesigCode="L">
          <DestinationLocation LocationCode="DEL"/>
          <MarketingAirline Code="9W" FlightNumber="408"/>
          <MarriageGrp Ind="false"/>
          <OriginLocation LocationCode="PAT"/>
        </FlightSegment>
        <FlightSegment FlightNumber="73" ArrivalDateTime="2016-02-18T20:45:00" DepartureDateTime="2016-02-18T18:30:00" NumberInParty="1" Status="NN" ResBookDesigCode="L">
          <DestinationLocation LocationCode="BBI"/>
          <MarketingAirline Code="9W" FlightNumber="73"/>
          <MarriageGrp Ind="true"/>
          <OriginLocation LocationCode="DEL"/>
        </FlightSegment>
      </OriginDestinationInformation>
</OTA_AirBookRQ>

Upvotes: 1

Related Questions