OTA_HotelResRQ direct sell fails with FORMAT ERROR ON OPTIONAL FIELD - sabre

I'm making the following sequence of calls to reserve a hotel room using the direct sell request:
HotelPropertyDescriptionRQ
PassengerDetailsRQ
OTA_HotelResRQ
The final response errors with:
FORMAT ERROR ON OPTIONAL FIELD
I'm unable to work out what is causing this error - is it perhaps the RPH of the room is not being correctly added to the PassengerDetailsRQ?
The OTA_HotelResRQ is:
<OTA_HotelResRQ 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" ReturnHostCommand="true" TimeStamp="2017-02-13T12:45:24" Version="2.2.0">
<Hotel>
<BasicPropertyInfo RPH="001">
<ConfirmationNumber>PWBA-POW-131c-02</ConfirmationNumber>
</BasicPropertyInfo>
<Guarantee Type="G">
<CC_Info>
<PaymentCard Code="VI" ExpireDate="2018-10" Number="4111111111111111"/>
<PersonName>
<Surname>TEST</Surname>
</PersonName>
</CC_Info>
</Guarantee>
<RoomType NumberOfUnits="1"/>
</Hotel>
The HotelPropertyDescriptionRQ:
<HotelPropertyDescriptionRQ Version="2.3.0" xmlns="http://webservices.sabre.com/sabreXML/2011/10">
<AvailRequestSegment>
<GuestCounts Count="1" />
<HotelSearchCriteria>
<Criterion>
<HotelRef HotelCode="0007855" />
</Criterion>
</HotelSearchCriteria>
<TimeSpan End="2016-12-17" Start="2016-12-10"/>
</AvailRequestSegment>
</HotelPropertyDescriptionRQ>
The PassengerDetailsRQ:
<PassengerDetailsRQ xmlns="http://services.sabre.com/sp/pd/v3_3" version="3.3.0" IgnoreOnError="false" HaltOnError="true">
<PostProcessing IgnoreAfter="false" RedisplayReservation="true" UnmaskCreditCard="true">
<EndTransactionRQ>
<EndTransaction Ind="true"></EndTransaction>
<Source ReceivedFrom="PW TESTING"/>
</EndTransactionRQ>
</PostProcessing>
<PreProcessing IgnoreBefore="false">
<UniqueID ID=""/>
</PreProcessing>
<SpecialReqDetails>
<AddRemarkRQ>
<RemarkInfo>
<FOP_Remark>
<CC_Info Suppress="true">
<PaymentCard Code="VI" ExpireDate="2017-12" Number="4444333322221111" SuppressApprovalCode="true"/>
</CC_Info>
</FOP_Remark>
</RemarkInfo>
</AddRemarkRQ>
</SpecialReqDetails>
<TravelItineraryAddInfoRQ>
<AgencyInfo>
<Address>
<AddressLine>XXXXXXXXXXX Ltd</AddressLine>
<CityName>London</CityName>
<CountryCode>GB</CountryCode>
<PostalCode>XXXX XXX</PostalCode>
<StateCountyProv StateCode="LN" />
<StreetNmbr>2 Some Rome</StreetNmbr>
</Address>
</AgencyInfo>
<CustomerInfo>
<ContactNumbers>
<ContactNumber NameNumber="1.1" Phone="817-555-1212" PhoneUseType="H" />
</ContactNumbers>
<PersonName Infant="false" NameNumber="1.1">
<GivenName>Iain</GivenName>
<Surname>TESTING</Surname>
</PersonName>
</CustomerInfo>
</TravelItineraryAddInfoRQ>
</PassengerDetailsRQ>

I believe it is because you are adding a confirmation number to the sell request, which is an optional field when selling passive segments, but it should not be expected when actually requesting the room to the hotel.
<ConfirmationNumber>PWBA-POW-131c-02</ConfirmationNumber>
I would try removing that.

To reserve a hotel room using the direct sell request from sabre used OTA_HotelResRQ request.
Here is one example for request (i already used this request and get response from sabre)
<?xml version="1.0"?>
-<OTA_HotelResRQ Version="2.2.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-<Hotel xmlns="http://webservices.sabre.com/sabreXML/2011/10">
<BasicPropertyInfo RPH="001"/>
<Customer NameNumber="01.01"/>
-<Guarantee Type="G">
-<CC_Info>
<PaymentCard Number="3782 8224 6310 005" ExpireDate="2021-09" Code="AX"/>
-<PersonName>
<Surname>tailor</Surname>
</PersonName>
</CC_Info>
</Guarantee>
<RoomType NumberOfUnits="1"/>
</Hotel>
</OTA_HotelResRQ>

Related

Why there are less itineraries from BargainFinderMax_ADRQ

A few days back I was having an issue with the records from the sabre for alternate days, now finally I got the records but the records are much less, like when I search roundtrip for AD3 for 7 days duration the only 49 itineraries and for oneway AD1 9 records from the sabre. is there something wrong with the XML request.
below is the XML request
<SOAP-ENV:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Header><m:MessageHeader xmlns:m="http://www.ebxml.org/namespaces/messageHeader">
<m:From>
<m:PartyId type="urn:x12.org:IO5:01">http://deluxholidaysnew.local</m:PartyId>
</m:From>
<m:To>
<m:PartyId type="urn:x12.org:IO5:01">https://sws-crt.cert.havail.sabre.com</m:PartyId>
</m:To>
<m:CPAId>****</m:CPAId>
<m:ConversationId>V1#dXIIccWqTWCaYP1Nil099DvScws2Fuy2ufg1d2Zb#5b8aa3bcbfe2c#http://test.local</m:ConversationId>
<m:Service m:type="OTA">BargainFinderMax_ADRQ</m:Service>
<m:Action>BargainFinderMax_ADRQ</m:Action>
<m:MessageData>
<m:MessageId>968799525452240610</m:MessageId>
<m:Timestamp>2018-09-01T15:35:42Z</m:Timestamp>
<m:TimeToLive>2018-09-01T16:35:42Z</m:TimeToLive>
</m:MessageData>
<m:DuplicateElimination/>
<m:Description>BargainFinderMax_ADRQ</m:Description>
</m:MessageHeader>
<wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/12/secext">
<wsse:BinarySecurityToken valueType="String" EncodingType="wsse:Base64Binary">Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/ACPCRTC!ICESMSLB\/CRT.LB!1535812545543!1815120!65537</wsse:BinarySecurityToken>
</wsse:Security></SOAP-ENV:Header><SOAP-ENV:Body><OTA_AirLowFareSearchRQ xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.opentravel.org/OTA/2003/05" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Target="Production" Version="4.2.0" ResponseType="OTA" ResponseVersion="4.2.0">
<POS>
<Source PseudoCityCode="****">
<RequestorID ID="1" Type="1">
<CompanyName Code="TN" />
</RequestorID>
</Source>
</POS>
<OriginDestinationInformation RPH="1">
<DepartureDateTime>2018-09-08T00:00:00</DepartureDateTime>
<OriginLocation LocationCode="DXB" />
<DestinationLocation LocationCode="KHI" />
<TPA_Extensions>
<DateFlexibility NbrOfDays="3"/>
<SegmentType Code="O" />
</TPA_Extensions>
</OriginDestinationInformation>
<OriginDestinationInformation RPH="2">
<DepartureDateTime>2018-09-15T00:00:00</DepartureDateTime>
<OriginLocation LocationCode="KHI" />
<DestinationLocation LocationCode="DXB" />
<TPA_Extensions>
<DateFlexibility NbrOfDays="3"/>
<SegmentType Code="O" />
</TPA_Extensions>
</OriginDestinationInformation>
<TravelPreferences ValidInterlineTicket="true" >
<CabinPref PreferLevel="Preferred" Cabin="Y" />
<TPA_Extensions>
<TripType Value="Return" />
<LongConnectTime Min="780" Max="1200" Enable="true"/>
<ExcludeCallDirectCarriers Enabled="true"/>
</TPA_Extensions>
</TravelPreferences>
<TravelerInfoSummary>
<SeatsRequested>1</SeatsRequested>
<AirTravelerAvail>
<PassengerTypeQuantity Code="ADT" Quantity="1" />
</AirTravelerAvail>
<PriceRequestInformation CurrencyCode="PKR" >
<TPA_Extensions>
</TPA_Extensions>
</PriceRequestInformation>
</TravelerInfoSummary>
<TPA_Extensions>
<IntelliSellTransaction>
<RequestType Name="AD3"/>
</IntelliSellTransaction>
</TPA_Extensions>
</OTA_AirLowFareSearchRQ></SOAP-ENV:Body></SOAP-ENV:Envelope>
Following the design of BargainFinderMax_ADRQ in RequestType you only can include the following options:
<!-- Name="AD1" will return itineraries for up to 9 alternate date combinations (+/-1 day for departure and return date). -->
<!-- Name="AD3" will return itineraries for up to 49 alternate date combinations (up to +/-3 days for departure and return date). -->
When you include AD1 it will return 9 options based on a 3x3 matrix which includes the 3 options for the outbound leg and the 3 options for the inbound leg in all varying combinations. Alternate Dates is to provide a hint that there are alternatives if you choose different date of travel you may get a lower fare.
Following the same criteria if you have and AD3 round trip request we will have 7 options for the outbound (3 options for the 3 days before + 1 option for the original date + 3 options for the days after) and 7 options for the inbound. That will make for a total of 49 options based on a 7x7 matrix.
Unfortunately this is one of the limitation of the BFM Alternate Date logic as it only produces a matrix depending on the day requested (3x3 in AD1 and 7x7 in AD3).

BargainFinderMaxRQ Alternate Days Response No Availability Error

I am trying to get results from BargainFinderMaxRQ for Alternate Days, like in plus 3 days or minus 3 days. It always shows No Availability error in response. By the way, the simple request works perfectly. Please, can anyone help?
API Request:
<SOAP-ENV:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
</SOAP-ENV:Header><SOAP-ENV:Body><OTA_AirLowFareSearchRQ xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.opentravel.org/OTA/2003/05" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Target="Production" Version="4.2.0" ResponseType="OTA" ResponseVersion="4.2.0">
<POS>
<Source PseudoCityCode="8YXD">
<RequestorID ID="1" Type="1">
<CompanyName Code="TN" />
</RequestorID>
</Source>
</POS>
<OriginDestinationInformation RPH="1">
<DepartureDateTime>2018-08-23T00:00:00</DepartureDateTime>
<OriginLocation LocationCode="DXB" />
<DestinationLocation LocationCode="KHI" />
<TPA_Extensions>
<DateFlexibility NbrOfDays="2"/>
<SegmentType Code="O" />
</TPA_Extensions>
</OriginDestinationInformation>
<OriginDestinationInformation RPH="2">
<DepartureDateTime>2018-08-30T00:00:00</DepartureDateTime>
<OriginLocation LocationCode="KHI" />
<DestinationLocation LocationCode="DXB" />
<TPA_Extensions>
<DateFlexibility NbrOfDays="2"/>
<SegmentType Code="O" />
</TPA_Extensions>
</OriginDestinationInformation>
<TravelPreferences ValidInterlineTicket="true" MaxStopsQuantity="0">
<CabinPref PreferLevel="Preferred" Cabin="Y" />
<TPA_Extensions>
<TripType Value="Return" />
<LongConnectTime Min="780" Max="1200" Enable="true"/>
<ExcludeCallDirectCarriers Enabled="true"/>
</TPA_Extensions>
</TravelPreferences>
<TravelerInfoSummary>
<SeatsRequested>1</SeatsRequested>
<AirTravelerAvail>
<PassengerTypeQuantity Code="ADT" Quantity="1" />
</AirTravelerAvail>
<PriceRequestInformation CurrencyCode="PKR" >
<TPA_Extensions>
</TPA_Extensions>
</PriceRequestInformation>
</TravelerInfoSummary>
<TPA_Extensions>
<IntelliSellTransaction Debug="0">
<RequestType Name="ALTDATES"/>
</IntelliSellTransaction>
</TPA_Extensions>
</OTA_AirLowFareSearchRQ></SOAP-ENV:Body></SOAP-ENV:Envelope>
This needs to be activated by the account manager as Thomas mentioned.
PLEASE MAKE THREE CHANGES AND IT WILL WORK PERFECTLY
1) SET ACTION NAME AS BargainFinderMax_ADRQ
<eb:Service eb:type="OTA">BargainFinderMax_ADRQ</eb:Service>
<eb:Action>BargainFinderMax_ADRQ</eb:Action>
2) SET NUMBER OF DAYS FOR FLEXIBILITY
<DateFlexibility NbrOfDays="1"/> OR
<DateFlexibility NbrOfDays="3"/> OR
<DateFlexibility NbrOfDays="7"/>
3) SET REQUEST TYPE NAME
<RequestType Name="AD1"/> OR
<RequestType Name="AD3"/> OR
<RequestType Name="AD7"/>

Infant details required in SSR - Enter 4INFT

I'm developing with sabre soap api.
Now, I want to create passenger detail with all passenger types (ADT, CNN, INF)
I have a problem with infant type.
When I post the PassengerDetailRQ -> return 200
But in the EndTransaction response, I received an applicationResults's error message.
I have followed by this link . But not working.
Please tell me how to resolve this problem. Thanks!!!
You can see in the below:
PassengerDetail request:
<PassengerDetailsRQ xmlns="http://services.sabre.com/sp/pd/v3_3" version="3.3.0" IgnoreOnError="true" HaltOnError="false">
<PostProcessing IgnoreAfter="false" RedisplayReservation="true" UnmaskCreditCard="false" />
<PreProcessing IgnoreBefore="false">
<UniqueID ID=""/>
</PreProcessing>
<PriceQuoteInfo>
<Link HostedCarrier="true" NameNumber="1.1" Record="1"/>
<Link HostedCarrier="true" NameNumber="2.1" Record="1"/>
<Link HostedCarrier="true" NameNumber="3.1" Record="2"/>
<Link HostedCarrier="true" NameNumber="4.1" Record="3"/>
</PriceQuoteInfo>
<SpecialReqDetails>
<AddRemarkRQ>
<RemarkInfo>
<Remark Code="H" SegmentNumber="A" Type="General">
<Text>TEST REMARK</Text>
</Remark>
</RemarkInfo>
</AddRemarkRQ>
<SpecialServiceRQ>
<SpecialServiceInfo>
<SecureFlight SegmentNumber="A">
<PersonName DateOfBirth="1980-01-01" Gender="M" NameNumber="1.1">
<GivenName>FATHER MR</GivenName>
<Surname>SUR</Surname>
</PersonName>
</SecureFlight>
<SecureFlight SegmentNumber="A">
<PersonName DateOfBirth="1989-06-25" Gender="F" NameNumber="2.1">
<GivenName>MOTHER MRS</GivenName>
<Surname>LINUX</Surname>
</PersonName>
</SecureFlight>
<SecureFlight SegmentNumber="A">
<PersonName DateOfBirth="2010-03-23" Gender="F" NameNumber="3.1">
<GivenName>CHILD MS</GivenName>
<Surname>SUR</Surname>
</PersonName>
</SecureFlight>
<SecureFlight SegmentNumber="A">
<PersonName DateOfBirth="2018-01-23" Gender="MI" NameNumber="4.1">
<GivenName>INFANT MSTR</GivenName>
<Surname>SUR</Surname>
</PersonName>
</SecureFlight>
<Service SegmentNumber="A" SSR_Code="CHLD">
<PersonName NameNumber="3.1" />
<Text>23MAR10</Text>
</Service>
<Service SegmentNumber="A" SSR_Code="INFT">
<PersonName NameNumber="1.1" />
<Text>SUR/INFANT MSTR/23SEP17</Text>
</Service>
</SpecialServiceInfo>
</SpecialServiceRQ>
</SpecialReqDetails>
<TravelItineraryAddInfoRQ>
<AgencyInfo>
<Ticketing TicketType="7T-"/>
</AgencyInfo>
<CustomerInfo>
<ContactNumbers>
<ContactNumber NameNumber="1.1" LocationCode="HAN" Phone="091-666-3333" PhoneUseType="B"/>
</ContactNumbers>
<Email Address="LYVIETANH#GMAIL.COM" NameNumber="1.1" ShortText="ABC123" Type="CC"/>
<PersonName Infant="false" NameNumber="1.1" PassengerType="ADT">
<GivenName>FATHER MR</GivenName>
<Surname>SUR</Surname>
</PersonName>
<PersonName Infant="false" NameNumber="2.1" PassengerType="ADT">
<GivenName>MOTHER MRS</GivenName>
<Surname>LINUX</Surname>
</PersonName>
<PersonName Infant="false" NameNumber="3.1" PassengerType="CNN" NameReference="C02">
<GivenName>CHILD MS</GivenName>
<Surname>SUR</Surname>
</PersonName>
<PersonName Infant="true" NameNumber="4.1" PassengerType="INF" NameReference="I13">
<GivenName>INFANT MSTR</GivenName>
<Surname>SUR</Surname>
</PersonName>
</CustomerInfo>
</TravelItineraryAddInfoRQ>
</PassengerDetailsRQ>
PassengerDetail response:
<PassengerDetailsRS xmlns="http://services.sabre.com/sp/pd/v3_3">
<ApplicationResults xmlns="http://services.sabre.com/STL_Payload/v02_01" status="Complete">
<Success timeStamp="2018-06-15T12:11:26.163-05:00"/>
<Warning type="BusinessLogic" timeStamp="2018-06-15T12:11:25.226-05:00">
<SystemSpecificResults>
<Message code="WARN.SWS.HOST.ERROR_IN_RESPONSE">.INVALID ACTION</Message>
</SystemSpecificResults>
</Warning>
<Warning type="BusinessLogic" timeStamp="2018-06-15T12:11:25.451-05:00">
<SystemSpecificResults>
<Message code="WARN.SWS.HOST.ERROR_IN_RESPONSE">CHECK ITINERARY</Message>
</SystemSpecificResults>
</Warning>
</ApplicationResults>
<TravelItineraryReadRS>
<TravelItinerary>
<CustomerInfo>
<ContactNumbers>
<ContactNumber LocationCode="HAN" Phone="091-666-3333-B-1.1" RPH="001"/>
</ContactNumbers>
<PersonName WithInfant="false" NameNumber="01.01" RPH="1">
<Email Comment="CC/ABC123">LYVIETANH#GMAIL.COM</Email>
<GivenName>FATHER MR</GivenName>
<Surname>SUR</Surname>
</PersonName>
<PersonName WithInfant="false" NameNumber="02.01" RPH="2">
<GivenName>MOTHER MRS</GivenName>
<Surname>LINUX</Surname>
</PersonName>
<PersonName WithInfant="false" NameNumber="03.01" NameReference="C02" RPH="3">
<GivenName>CHILD MS</GivenName>
<Surname>SUR</Surname>
</PersonName>
<PersonName WithInfant="true" NameNumber="04.01" NameReference="I13" RPH="4">
<GivenName>INFANT MSTR</GivenName>
<Surname>SUR</Surname>
</PersonName>
</CustomerInfo>
<ItineraryInfo>
... I REMOVED THIS DATA ...
</ItineraryInfo>
<RemarkInfo>
<Remark RPH="001" Type="General">
<Text>TEST REMARK</Text>
</Remark>
</RemarkInfo>
<SpecialServiceInfo RPH="001" Type="AFX">
<Service SSR_Code="OSI">
<PersonName NameNumber="04.01">I/SUR/INFANT MSTR</PersonName>
<Text>VN INF</Text>
</Service>
</SpecialServiceInfo>
</TravelItinerary>
</TravelItineraryReadRS>
EndTransaction request:
<EndTransactionRQ Version="2.0.8" 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">
<EndTransaction Ind="true" />
<Source ReceivedFrom="SWS TEST" />
</EndTransactionRQ>
EndTransaction response:
<EndTransactionRS 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" xmlns:stl="http://services.sabre.com/STL/v01" Version="2.0.8">
<stl:ApplicationResults status="NotProcessed">
<stl:Error type="BusinessLogic" timeStamp="2018-06-15T12:11:31-05:00">
<stl:SystemSpecificResults>
<stl:Message>INFANT DETAILS REQUIRED IN SSR - ENTER 4INFT/...</stl:Message>
<stl:ShortText>ERR.SWS.HOST.ERROR_IN_RESPONSE</stl:ShortText>
</stl:SystemSpecificResults>
</stl:Error>
</stl:ApplicationResults>
</EndTransactionRS>
If you check in the response PassengerDetailsRS/TravelItineraryReadRS/TravelItinerary/SpecialServiceInfo you'll see that none of the special services were added, and for that reason it is requested at the time of the EndTransaction call.
Without knowing the status of the itinerary, it is impossible to state the cause of the 2 warnings returned:
<ApplicationResults xmlns="http://services.sabre.com/STL_Payload/v02_01" status="Complete">
<Success timeStamp="2018-06-15T12:11:26.163-05:00"/>
<Warning type="BusinessLogic" timeStamp="2018-06-15T12:11:25.226-05:00">
<SystemSpecificResults>
<Message code="WARN.SWS.HOST.ERROR_IN_RESPONSE">.INVALID ACTION</Message>
</SystemSpecificResults>
</Warning>
<Warning type="BusinessLogic" timeStamp="2018-06-15T12:11:25.451-05:00">
<SystemSpecificResults>
<Message code="WARN.SWS.HOST.ERROR_IN_RESPONSE">CHECK ITINERARY</Message>
</SystemSpecificResults>
</Warning>
</ApplicationResults>
I would guess UC segments in the itinerary.
Between the "CHECK ITINERARY" error and the "ENTER 4INFT/..." message on save, it would appear you are working with an AA itinerary, and are sending a 3INFT command.
When airline is AA, you need to switch almost all commands starting with a 3 to starting with a 4. ie instead of sending 3INFT/... you send 4INFT/...
Hope this helps!

How can I get free baggage allowance with OTA_AirLowFareSearchLLS method?

I searching flights with OTA_AirLowFareSearchLLS method but he does not return free baggage allowance. How can I get infromation about free baggage allowance of itinerary segment before booking?
I can't use BFM because it was not purchased.
My OTA_AirLowFareSearchLLS RQ:
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Header>
<MessageHeader xmlns="http://www.ebxml.org/namespaces/messageHeader">
<From>
<PartyId>WebServiceClient</PartyId>
</From>
<To>
<PartyId>WebServiceSupplier</PartyId>
</To>
<CPAId>4PFI</CPAId>
<ConversationId>SWS-Test-4PFI</ConversationId>
<Service>OTA_AirLowFareSearchLLS</Service>
<Action>OTA_AirLowFareSearchLLSRQ</Action>
<MessageData>
<MessageId>9314594d-6c40-406b-9029-b887b13906b6</MessageId>
<Timestamp>2017-09-01T13:58:32Z</Timestamp>
</MessageData>
</MessageHeader>
<Security xmlns="http://schemas.xmlsoap.org/ws/2002/12/secext">
<BinarySecurityToken>
Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/ACPCRTD!ICESMSLB\/CRT.LB!-3237262604010011257!783483!0
</BinarySecurityToken>
</Security>
</soap:Header>
<soap:Body>
<OTA_AirLowFareSearchRQ 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.3.0">
<OriginDestinationInformation RPH="1">
<FlightSegment ConnectionInd="O" DepartureDateTime="2017-10-20T00:00:00" ResBookDesigCode="Y">
<DestinationLocation LocationCode="MSQ"/>
<OriginLocation LocationCode="IEV"/>
</FlightSegment>
</OriginDestinationInformation>
<OriginDestinationInformation RPH="2">
<FlightSegment ConnectionInd="O" DepartureDateTime="2017-10-22T00:00:00" ResBookDesigCode="Y">
<DestinationLocation LocationCode="IEV"/>
<OriginLocation LocationCode="MSQ"/>
</FlightSegment>
</OriginDestinationInformation>
<PriceRequestInformation>
<OptionalQualifiers>
<PricingQualifiers CurrencyCode="UAH">
<PassengerType Code="ADT" Quantity="1"/>
</PricingQualifiers>
</OptionalQualifiers>
</PriceRequestInformation>
</OTA_AirLowFareSearchRQ>
</soap:Body>
</soap:Envelope>
This is an old service which does not return such information, BFM is actually its replacement. If you don't plan on getting that, then you can get the baggage allowance at the time of pricing the itinerary.

Passenger type mismatch in search request and response

I send 3 adults and 2 childs in search request(action: BargainFinderMax_RQ ) and in response(action: BargainFinderMax_RS) we receive 5 adults.
Sabre returns as info :
CNN NOT APPLICABLE - ADT FARE USED - VERIFY RESTRICTIONS
I would like to ask if there is any parameter supplied that Sabre provides that will let me receive only given passenger type.
Edit: Here is the BargainFinderMaxRQ:
<s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<OTA_AirLowFareSearchRQ PrimaryLangID="En" Version="1.8.5" ResponseType="OTA" ResponseVersion="1.8.5" xmlns="http://www.opentravel.org/OTA/2003/05">
<OriginDestinationInformation RPH="1">
<DepartureDateTime>2016-08-26T12:00:00</DepartureDateTime>
<DepartureWindow>00002359</DepartureWindow>
<OriginLocation LocationCode="KRR" />
<DestinationLocation LocationCode="DLM" />
</OriginDestinationInformation>
<OriginDestinationInformation RPH="2">
<DepartureDateTime>2016-09-02T12:00:00</DepartureDateTime>
<DepartureWindow>00002359</DepartureWindow>
<OriginLocation LocationCode="DLM" />
<DestinationLocation LocationCode="KRR" />
</OriginDestinationInformation>
<TravelPreferences>
<TPA_Extensions>
<DiversityParameters AdditionalNonStopsNumber="10" />
</TPA_Extensions>
</TravelPreferences>
<TravelerInfoSummary>
<SeatsRequested>5</SeatsRequested>
<AirTravelerAvail>
<PassengerTypeQuantity Code="ADT" Quantity="3" />
<PassengerTypeQuantity Age="8" Code="CNN" Quantity="2" />
</AirTravelerAvail>
</TravelerInfoSummary>
</OTA_AirLowFareSearchRQ>
</s:Body>
You need to use the XOFares element:
<!--"Value" (required) Indicator for whether to return only fares with a passenger type the same as the passenger type specified in the request.-->
<!--Value="true" Returns only fares with a passenger type the same as the passenger type specified in the request.-->
<!--Value="false" (default) Uses standard Bargain Finder Max logic.-->
<XOFares Value="true"/>

Resources