soap - Sabre 如何预订带婴儿乘客的航段

标签 soap sabre

当我尝试预订不带座位的婴儿时,出现以下错误,预订带座位的婴儿没有问题。

INF = 没有座位的婴儿
INS = 带座椅的婴儿

引用:https://richmedia.sabre.com/docs_support/quickreferences/gen/price54.pdf

这是我的有效负载:

<EnhancedAirBookRQ version="3.6.0" HaltOnError="true"  xmlns="http://services.sabre.com/sp/eab/v3_6">
<OTA_AirBookRQ>
    <HaltOnStatus Code="SS" ></HaltOnStatus>
    <OriginDestinationInformation>
        <FlightSegment DepartureDateTime="2016-07-20T04:00:00" FlightNumber="2835" NumberInParty="4" ResBookDesigCode="K" Status="NN" >
            <DestinationLocation LocationCode="CEB" ></DestinationLocation>
            <MarketingAirline Code="PR" FlightNumber="2835" ></MarketingAirline>
            <OriginLocation LocationCode="MNL" ></OriginLocation>
        </FlightSegment>
        <FlightSegment DepartureDateTime="2016-07-25T04:50:00" FlightNumber="1836" NumberInParty="4" ResBookDesigCode="K" Status="NN" >
            <DestinationLocation LocationCode="MNL" ></DestinationLocation>
            <MarketingAirline Code="PR" FlightNumber="1836" ></MarketingAirline>
            <OriginLocation LocationCode="CEB" ></OriginLocation>
        </FlightSegment>
    </OriginDestinationInformation>
</OTA_AirBookRQ>
<OTA_AirPriceRQ>
    <PriceRequestInformation Retain="true" >
        <OptionalQualifiers>
            <PricingQualifiers>
                <PassengerType Code="ADT" Quantity="2" ></PassengerType>
                <PassengerType Code="CNN" Quantity="1" ></PassengerType>
                <PassengerType Code="INF" Quantity="1" ></PassengerType>
            </PricingQualifiers>
        </OptionalQualifiers>
    </PriceRequestInformation>
</OTA_AirPriceRQ>
<PostProcessing IgnoreAfter="false" ></PostProcessing>
<PreProcessing IgnoreBefore="false" ></PreProcessing>

这是回复:

<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'>webservices.sabre.com</eb:PartyId>
        </eb:From>
        <eb:To>
            <eb:PartyId eb:type='URI'>xxxxxxxx</eb:PartyId>
        </eb:To>
        <eb:CPAId>xxx</eb:CPAId>
        <eb:ConversationId>CONV-EnhancedAirBookRQ@xxxxxx</eb:ConversationId>
        <eb:Service>EnhancedAirBookRQ</eb:Service>
        <eb:Action>EnhancedAirBookRS</eb:Action>
        <eb:MessageData>
            <eb:MessageId>1330890246910330610</eb:MessageId>
            <eb:Timestamp>2016-07-19T06:51:31</eb:Timestamp>
            <eb:RefToMessageId>MSG-EnhancedAirBookRQ@xxxxx</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'>xxxxxxx</wsse:BinarySecurityToken>
    </wsse:Security>
</soap-env:Header>
<soap-env:Body>
    <EnhancedAirBookRS xmlns='http://services.sabre.com/sp/eab/v3_6'>
        <ApplicationResults xmlns='http://services.sabre.com/STL_Payload/v02_01' status='NotProcessed'>
            <Error type='BusinessLogic' timeStamp='2016-07-19T01:51:31.881-05:00'>
                <SystemSpecificResults>
                    <Message code='ERR.SWS.HOST.ERROR_IN_RESPONSE'>FORMAT-NEED MORE PSGR TYPES OR NAME SELECT-0115</Message>
                    <Message code='0'>FORMAT-NEED MORE PSGR TYPES OR NAME SELECT-0115</Message>
                </SystemSpecificResults>
            </Error>
        </ApplicationResults>
        <OTA_AirBookRS>
            <OriginDestinationOption>
                <FlightSegment ArrivalDateTime='07-20T05:10' DepartureDateTime='07-20T04:00' FlightNumber='2835' NumberInParty='004' ResBookDesigCode='K' Status='NN' eTicket='true'>
                    <DestinationLocation LocationCode='CEB'/>
                    <MarketingAirline Code='PR' FlightNumber='2835'/>
                    <OriginLocation LocationCode='MNL'/>
                </FlightSegment>
                <FlightSegment ArrivalDateTime='07-25T06:00' DepartureDateTime='07-25T04:50' FlightNumber='1836' NumberInParty='004' ResBookDesigCode='K' Status='NN' eTicket='true'>
                    <DestinationLocation LocationCode='MNL'/>
                    <MarketingAirline Code='PR' FlightNumber='1836'/>
                    <OriginLocation LocationCode='CEB'/>
                </FlightSegment>
            </OriginDestinationOption>
        </OTA_AirBookRS>
    </EnhancedAirBookRS>
</soap-env:Body>

最佳答案

问题解决了!

  • 要预订不占座的婴儿,您必须使用 PassengerType 代码“INF”,并且不得将其计入 NumberInParty 感谢@fcarreno。
  • 要预订带座位的婴儿,您必须使用 PassengerType 代码“INS”并在 NumberInParty 中计数。

解决方案婴儿无座椅有效负载:

<EnhancedAirBookRQ version="3.6.0" HaltOnError="true"  xmlns="http://services.sabre.com/sp/eab/v3_6">
    <OTA_AirBookRQ>
        <HaltOnStatus Code="SS" ></HaltOnStatus>
        <OriginDestinationInformation>
            <FlightSegment DepartureDateTime="2016-07-22T21:55:00" FlightNumber="686" NumberInParty="3" ResBookDesigCode="S" Status="NN" >
                <DestinationLocation LocationCode="BWN" ></DestinationLocation>
                <MarketingAirline Code="BI" FlightNumber="686" ></MarketingAirline>
                <OriginLocation LocationCode="MNL" ></OriginLocation>
            </FlightSegment>
            <FlightSegment DepartureDateTime="2016-07-23T10:55:00" FlightNumber="513" NumberInParty="3" ResBookDesigCode="S" Status="NN" >
                <DestinationLocation LocationCode="BKK" ></DestinationLocation>
                <MarketingAirline Code="BI" FlightNumber="513" ></MarketingAirline>
                <OriginLocation LocationCode="BWN" ></OriginLocation>
            </FlightSegment>
            <FlightSegment DepartureDateTime="2016-07-25T13:30:00" FlightNumber="514" NumberInParty="3" ResBookDesigCode="S" Status="NN" >
                <DestinationLocation LocationCode="BWN" ></DestinationLocation>
                <MarketingAirline Code="BI" FlightNumber="514" ></MarketingAirline>
                <OriginLocation LocationCode="BKK" ></OriginLocation>
            </FlightSegment>
            <FlightSegment DepartureDateTime="2016-07-25T19:00:00" FlightNumber="685" NumberInParty="3" ResBookDesigCode="S" Status="NN" >
                <DestinationLocation LocationCode="MNL" ></DestinationLocation>
                <MarketingAirline Code="BI" FlightNumber="685" ></MarketingAirline>
                <OriginLocation LocationCode="BWN" ></OriginLocation>
            </FlightSegment>
        </OriginDestinationInformation>
    </OTA_AirBookRQ>
    <OTA_AirPriceRQ>
        <PriceRequestInformation Retain="true" >
            <OptionalQualifiers>
                <PricingQualifiers>
                    <PassengerType Code="ADT" Quantity="2" ></PassengerType>
                    <PassengerType Code="CNN" Quantity="1" ></PassengerType>
                    <PassengerType Code="INF" Quantity="1" ></PassengerType>
                </PricingQualifiers>
            </OptionalQualifiers>
        </PriceRequestInformation>
    </OTA_AirPriceRQ>
    <PostProcessing IgnoreAfter="false"/>
    <PreProcessing IgnoreBefore="false"/>
</EnhancedAirBookRQ>

带座椅有效负载的婴儿:

<EnhancedAirBookRQ version="3.6.0" HaltOnError="true"  xmlns="http://services.sabre.com/sp/eab/v3_6">
    <OTA_AirBookRQ>
        <HaltOnStatus Code="SS" ></HaltOnStatus>
        <OriginDestinationInformation>
            <FlightSegment DepartureDateTime="2016-07-22T21:55:00" FlightNumber="686" NumberInParty="4" ResBookDesigCode="S" Status="NN" >
                <DestinationLocation LocationCode="BWN" ></DestinationLocation>
                <MarketingAirline Code="BI" FlightNumber="686" ></MarketingAirline>
                <OriginLocation LocationCode="MNL" ></OriginLocation>
            </FlightSegment>
            <FlightSegment DepartureDateTime="2016-07-23T10:55:00" FlightNumber="513" NumberInParty="3" ResBookDesigCode="S" Status="NN" >
                <DestinationLocation LocationCode="BKK" ></DestinationLocation>
                <MarketingAirline Code="BI" FlightNumber="513" ></MarketingAirline>
                <OriginLocation LocationCode="BWN" ></OriginLocation>
            </FlightSegment>
            <FlightSegment DepartureDateTime="2016-07-25T13:30:00" FlightNumber="514" NumberInParty="3" ResBookDesigCode="S" Status="NN" >
                <DestinationLocation LocationCode="BWN" ></DestinationLocation>
                <MarketingAirline Code="BI" FlightNumber="514" ></MarketingAirline>
                <OriginLocation LocationCode="BKK" ></OriginLocation>
            </FlightSegment>
            <FlightSegment DepartureDateTime="2016-07-25T19:00:00" FlightNumber="685" NumberInParty="3" ResBookDesigCode="S" Status="NN" >
                <DestinationLocation LocationCode="MNL" ></DestinationLocation>
                <MarketingAirline Code="BI" FlightNumber="685" ></MarketingAirline>
                <OriginLocation LocationCode="BWN" ></OriginLocation>
            </FlightSegment>
        </OriginDestinationInformation>
    </OTA_AirBookRQ>
    <OTA_AirPriceRQ>
        <PriceRequestInformation Retain="true" >
            <OptionalQualifiers>
                <PricingQualifiers>
                    <PassengerType Code="ADT" Quantity="2" ></PassengerType>
                    <PassengerType Code="CNN" Quantity="1" ></PassengerType>
                    <PassengerType Code="INS" Quantity="1" ></PassengerType>
                </PricingQualifiers>
            </OptionalQualifiers>
        </PriceRequestInformation>
    </OTA_AirPriceRQ>
    <PostProcessing IgnoreAfter="false" ></PostProcessing>
    <PreProcessing IgnoreBefore="false" ></PreProcessing>
</EnhancedAirBookRQ>

关于soap - Sabre 如何预订带婴儿乘客的航段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38451573/

相关文章:

sabre - GetReservation 返回观众人数受限于 PNR

python - Sabre GetReservation wsdl 不包含 PriceQuoteServices 的架构

.net - 如何从 .NET 调用 Sabre EnhancedSeatMapRQ SOAP 网络服务?

node.js - 从 Sabre 请求 SeatMap 信息时出现错误代码 "ERR.RAF.APPLICATION"是什么意思?

ios - 在 Swift iPhone 应用程序中请求 SOAP Web 服务时 XMLStreamreader 错误

sabre - 利用地理代码和半径搜索酒店空房情况

java - 如何在 Java 中从 wsdl 文件运行 Web 服务

java - 如何使用 maven 在 java 中设置 salesforce 出站消息的监听器?

python - 添加 xsi :type and envelope namespace when using SUDS

java - 测试 Web 服务时在 SOAP UI 中进行身份验证