如何为给定 PNR 中的所有航段预订航空座位?
How can reserve Air Seats for all segments in a given PNR?
我计划使用 Sabre 的 SOAP <AirSeatRQ>
请求 API,但根据文档,您必须根据用户的偏好为每个航段的每位乘客请求座位分配。
根据 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 服务实现吗?
好像是这样。
测试 <Seats>
中的多个 <Seat>
元素 returns 模式验证错误。使用多个 <Seats>
元素时相同。
看来现在唯一的选择是发送多个请求,每个航段的每位乘客一个。
检查<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 后,每个航段的所有乘客的所有座位都已分配,无需进一步请求分配座位。
我计划使用 Sabre 的 SOAP <AirSeatRQ>
请求 API,但根据文档,您必须根据用户的偏好为每个航段的每位乘客请求座位分配。
根据 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 服务实现吗?
好像是这样。
测试 <Seats>
中的多个 <Seat>
元素 returns 模式验证错误。使用多个 <Seats>
元素时相同。
看来现在唯一的选择是发送多个请求,每个航段的每位乘客一个。
检查<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 后,每个航段的所有乘客的所有座位都已分配,无需进一步请求分配座位。