我计划使用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服务吗?
答案 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>
元素时相同。
现在看起来唯一的选择就是发送多个请求,每个段的每个乘客一个。