如何为给定PNR中的所有航段预留航空座椅?

时间:2016-01-16 18:48:06

标签: sabre

我计划使用Sabre的SOAP API使用<AirSeatRQ>请求,但根据文档,您必须为每个段的每位乘客申请一个座位分配给用户&#39; s偏好。

根据Dev Studio上的示例,这样的东西:

<AirSeatRQ ReturnHostCommand="false" TimeStamp="2011-10-27T15:30:00-06:00" Version="2.0.0">
<!--Repeat Factor=0-->
    <Seats>
        <Seat BoardingPass="true" ChangeOfGauge="true" NameNumber="1.1" Number="21A" Preference="AN" SegmentNumber="1"/>
    </Seats>
</AirSeatRQ>

此外,根据请求文档,<Seats>请求的重复因子为零。这是否意味着如果我想为所有段的所有乘客分配座位,我是否必须发送多个请求?

理想情况下,我希望在阅读PNR后自动分配所有段中所有乘客的座位。这可以通过Web服务吗?

2 个答案:

答案 0 :(得分:1)

检查<PassengerDetailsRQ> XML架构定义,可以发送<AirSeatRQ>。我想您可以执行独立的<AirSeatRQ>请求,但将其与乘客详细信息捆绑在一起会更容易,并且可以避免我们向Sabre API提出额外请求。

您必须在行程的每个细分中为每位乘客发送<Seat\>个请求。这是我为两条腿行程所做的一个工作示例,每条腿由两个成年人组成的两个部分:

我省略了大部分乘客详情属性,并专注于AirSeat元素:

<PassengerDetailsRQ Version="2.3.0">
    <PriceQuoteInfo HaltOnError="true"></PriceQuoteInfo>
    <SpecialReqDetails>
        <AddRemarkRQ>
            <RemarkInfo>
                <Remark Code="H" Type="General">
                    <Text>THANK YOU FOR BOOKING MAURICIO CUENCA AIRLINES</Text>
                </Remark>
            </RemarkInfo>
        </AddRemarkRQ>
        <AirSeatRQ>
            <Seats>
                <Seat NameNumber="1.1" Preference="AN" SegmentNumber="1"/>
                <Seat NameNumber="1.2" Preference="AN" SegmentNumber="2"/>
                <Seat NameNumber="1.1" Preference="AN" SegmentNumber="3"/>
                <Seat NameNumber="1.2" Preference="AN" SegmentNumber="4"/>
            </Seats>
        </AirSeatRQ>
        <SpecialServiceRQ HaltOnError="true">
            <SpecialServiceInfo></SpecialServiceInfo>
        </SpecialServiceRQ>
    </SpecialReqDetails>
    <TravelItineraryAddInfoRQ HaltOnError="true">
        <AgencyInfo></AgencyInfo>
        <CustomerInfo></CustomerInfo>
    </TravelItineraryAddInfoRQ>
</PassengerDetailsRQ>

这样,在PNR创建之后,每个细分市场中所有乘客的所有座位都已经分配,​​并且不需要进一步请求座位分配。

答案 1 :(得分:0)

似乎就是这种情况。

<Seat>内测试多个<Seats>元素会返回架构验证错误。使用多个<Seats>元素时相同。

现在看起来唯一的选择就是发送多个请求,每个段的每个乘客一个。