I using sabre api's to save airline booking using enhancedairpriceRQ. I am getting below error in airprice SOAP Request. I'm trying to save net fare with booking below is my request object and response error -
Request -
<?xml version='1.0' encoding='UTF-8'?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:sec="http://schemas.xmlsoap.org/ws/2002/12/secext"
xmlns:eb="http://www.ebxml.org/namespaces/messageHeader">
<soapenv:Header>
<eb:MessageHeader soapenv:mustUnderstand="1" eb:version="1.0">
<eb:From>
<eb:PartyId eb:type="urn: x12.org:IO5: 01">999999</eb:PartyId>
</eb:From>
<eb:To>
<eb:PartyId type="urn:x12.org:IO5:01">123123</eb:PartyId>
</eb:To>
<eb:CPAId>PCC</eb:CPAId>
<eb:ConversationId>1111111111111111111</eb:ConversationId>
<eb:Service eb:type="sabreXML">OTA_AirPriceLLSRQ</eb:Service>
<eb:Action>OTA_AirPriceLLSRQ</eb:Action>
<eb:MessageData>
<eb:MessageId>mid:0_2014-09-22T21:43:40m</eb:MessageId>
<eb:Timestamp>2014-09-22T21:43:40</eb:Timestamp>
<eb:TimeToLive>2014-09-22T21:43:40</eb:TimeToLive>
</eb:MessageData>
<eb:DuplicateElimination/>
<eb:Description>Air Price Service</eb:Description>
</eb:MessageHeader>
<sec:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/12/secext"
xmlns:wsu="http://schemas.xmlsoap.org/ws/2002/12/utility">
<sec:BinarySecurityToken>Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/RESG!ICESMSLB\/RES.LB!1755187361318!4892!525</sec:BinarySecurityToken>
</sec:Security>
</soapenv:Header>
<soapenv:Body>
<OTA_AirPriceRQ 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.14.0">
<PriceRequestInformation Retain="true">
<OptionalQualifiers>
<PricingQualifiers CurrencyCode="CAD">
<PassengerType Code="ADT" Quantity="1"/>
<NetRemit/>
<NetOnly/>
<StoredFareIndicator/>
<FareBasisCodes>
<FareBasisCode SegmentNumber="1">
<Code>LAVD0ZBG</Code>
<TicketDesignator>SLO</TicketDesignator>
</FareBasisCode>
</FareBasisCodes>
<ItineraryOptions>
<SegmentSelect Number="1" RPH="1"/>
</ItineraryOptions>
</PricingQualifiers>
</OptionalQualifiers>
</PriceRequestInformation>
</OTA_AirPriceRQ>
</soapenv:Body>
</soapenv:Envelope>
Response -
<?xml version="1.0" encoding="UTF-8"?>
<soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/">
<soap-env:Header>
<eb:MessageHeader xmlns:eb="http://www.ebxml.org/namespaces/messageHeader" eb:version="1.0"
soap-env:mustUnderstand="1">
<eb:From>
<eb:PartyId eb:type="URI">123123</eb:PartyId>
</eb:From>
<eb:To>
<eb:PartyId eb:type="urn: x12.org:IO5: 01">999999</eb:PartyId>
</eb:To>
<eb:CPAId>PCC</eb:CPAId>
<eb:ConversationId>1111111111111111111</eb:ConversationId>
<eb:Service eb:type="sabreXML">OTA_AirPriceLLSRQ</eb:Service>
<eb:Action>OTA_AirPriceLLSRS</eb:Action>
<eb:MessageData>
<eb:MessageId>382344577726540920</eb:MessageId>
<eb:Timestamp>2025-08-14T16:02:52</eb:Timestamp>
<eb:RefToMessageId>mid:0_2014-09-22T21:43:40m</eb:RefToMessageId>
</eb:MessageData>
</eb: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\/RESG!ICESMSLB\/RES.LB!1755187361318!4892!525</wsse:BinarySecurityToken>
</wsse:Security>
</soap-env:Header>
<soap-env:Body>
<soap-env:Fault>
<faultcode>soap-env:Client.Validation</faultcode>
<faultstring>ERR.SWS.CLIENT.VALIDATION_FAILED</faultstring>
<detail>
<stl:ApplicationResults xmlns:stl="http://services.sabre.com/STL/v01"
status="NotProcessed">
<stl:Error timeStamp="2025-08-14T11:02:52-05:00" type="Validation">
<stl:SystemSpecificResults>
<stl:Message>cvc-complex-type.2.4.a: Invalid content was found starting
with element
'{"http://webservices.sabre.com/sabreXML/2011/10":NetRemit}'. One of
'{"http://webservices.sabre.com/sabreXML/2011/10":PassengerType,
"http://webservices.sabre.com/sabreXML/2011/10":PlusUp,
"http://webservices.sabre.com/sabreXML/2011/10":RetailerRuleQualifier,
"http://webservices.sabre.com/sabreXML/2011/10":ShipsRegistry,
"http://webservices.sabre.com/sabreXML/2011/10":SpanishLargeFamilyDiscountLevel,
"http://webservices.sabre.com/sabreXML/2011/10":SpecificFare,
"http://webservices.sabre.com/sabreXML/2011/10":SpecificPenalty,
"http://webservices.sabre.com/sabreXML/2011/10":Taxes,
"http://webservices.sabre.com/sabreXML/2011/10":ValidityDates}' is
expected.</stl:Message>
<stl:ShortText>ERR.SWS.CLIENT.VALIDATION_FAILED</stl:ShortText>
</stl:SystemSpecificResults>
</stl:Error>
</stl:ApplicationResults>
</detail>
</soap-env:Fault>
</soap-env:Body>
</soap-env:Envelope>
I have tried the above soap xml request to submit it to airprice request on sabre. i am following sabre's below doc
https://files.developer.sabre.com/drc/servicedoc/OTA_AirPriceLLSRQ_v2.14.0_Design.xml
To understand and make good use of Air Price in Sabre, it’s important to either know the command you want to run in Sabre or understand the command generated by the request you send.
In your example, you are pricing the fare by forcing the system with a fare basis; unless you are fully aware of what you’re doing, this is not a usage method we highly recommend. I’m sharing this just for your information.
You can try sending it as shown below:
ReturnHostCommand: To see the command being sent
Retain: Adds the fare to the PNR (to save it, the transaction must be ended with an end transaction after this request)
I suggest reviewing the documentation regarding the sequence for the error you’re receiving.
In this request, for segments 1 and 2, the fare basis “CTBLR” has been pricing for passenger type ADT, for passenger 1, in USD currency. The final RQ is the “Retain” parameter that adds this fare to the PNR.
Return Command: WPMUSD¥S1/2*QCTBLR¥N1.1¥P1ADT¥RQ
<OTA_AirPriceRQ 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.14.0"
ReturnHostCommand="true">
<PriceRequestInformation Retain="true">
<OptionalQualifiers>
<PricingQualifiers CurrencyCode="USD">
<CommandPricing RPH="1">
<FareBasis Code="CTBLR"/>
</CommandPricing>
<ItineraryOptions>
<SegmentSelect Number="1" RPH="1"/>
<SegmentSelect Number="2" RPH="1"/>
</ItineraryOptions>
<NameSelect NameNumber="1.1"/>
<PassengerType Code="ADT" Quantity="1"/>
</PricingQualifiers>
</OptionalQualifiers>
</PriceRequestInformation>
</OTA_AirPriceRQ>
<OTA_AirPriceRS 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.14.0">
<stl:ApplicationResults status="Complete">
<stl:Success timeStamp="2025-08-15T01:43:50-05:00">
<stl:SystemSpecificResults>
<stl:HostCommand LNIATA="222222">WPMUSD¥S1/2*QCTBLR¥N1.1¥P1ADT¥RQ</stl:HostCommand>
</stl:SystemSpecificResults>
</stl:Success>