如何将空中附加服务添加到 UpdateReservationRQ
Posted
技术标签:
【中文标题】如何将空中附加服务添加到 UpdateReservationRQ【英文标题】:How to add air extras into UpdateReservationRQ 【发布时间】:2019-08-29 13:18:18 【问题描述】:进入 Air Extras 搜索和预订工作流程:
-
使用 GetAncillaryOffersRQ 购买 Air Extras。
预订一项或多项 Air Extras 并结束交易以使用 UpdateReservationRQ 确认预订。
但在 UpdateReservationRQ 服务中,我找不到包含每位乘客的辅助信息的架构。
<ns3:UpdateReservationRQ Version="1.19.0" EchoToken="" xmlns:ns3="http://webservices.sabre.com/pnrbuilder/v1_19">
<ns3:RequestType>Stateless</ns3:RequestType>
<ns3:ReturnOptions IncludeUpdateDetails="1" RetrievePNR="1" PriceQuoteServiceVersion="3.2.0"/>
<ns3:ReservationUpdateList>
<ns3:Locator>PNR</ns3:Locator>
<ns3:ReservationUpdateItem>
<ns3:SpecialServiceRequestUpdate op="C" type="H">
<ns3:SegmentAssociationList>
<ns3:SegmentAssociationTag>
<ns3:CarrierCode>AV</ns3:CarrierCode>
<ns3:FlightNumber>0461</ns3:FlightNumber>
<ns3:DepartureDate>2018-09-19</ns3:DepartureDate>
<ns3:BoardPoint>MEL</ns3:BoardPoint>
<ns3:OffPoint>AUH</ns3:OffPoint>
<ns3:ClassOfService>B</ns3:ClassOfService>
<ns3:BookingStatus>HK</ns3:BookingStatus>
</ns3:SegmentAssociationTag>
</ns3:SegmentAssociationList>
<ns3:SpecialService>
<ns3:Code>ABAG</ns3:Code>
<ns3:Text>TEST ABAG</ns3:Text>
</ns3:SpecialService>
</ns3:SpecialServiceRequestUpdate>
</ns3:ReservationUpdateItem>
<ns3:ReceivedFrom>
<ns3:AgentName>HELLO</ns3:AgentName>
</ns3:ReceivedFrom>
</ns3:ReservationUpdateList>
</ns3:UpdateReservationRQ>
【问题讨论】:
【参考方案1】:这是一个对我有用的示例,让我添加使用 GetAncillaryOffers 获得的辅助工具。我从那里获得了产品 ID 和数据,然后他们开始使用 UpdateReservationRQ 预订这些产品。请记住,根据您可能还需要向运营商发送 s-s-r 消息的辅助设备,我建议您与服务台联系以获取更多详细信息:
<UpdateReservationRQ Version="1.12.0" xmlns="http://webservices.sabre.com/pnrbuilder/v1_12" xmlns:ns2="http://services.sabre.com/res/or/v1_5">
<RequestType>Stateful</RequestType>
<ReturnOptions IncludeUpdateDetails="true" RetrievePNR="true"/>
<ReservationUpdateList>
<ReservationUpdateItem UpdateId="1">
<AncillaryServicesUpdate op="C">
<NameAssociationList>
<NameAssociationTag>
<LastName>TEST</LastName>
<FirstName>TEST</FirstName>
<NameRefNumber>01.01</NameRefNumber>
</NameAssociationTag>
</NameAssociationList>
<SegmentAssociationList>
<SegmentAssociationTag>
<CarrierCode>LH</CarrierCode>
<FlightNumber>2011</FlightNumber>
<DepartureDate>2019-10-28</DepartureDate>
<BoardPoint>DUS</BoardPoint>
<OffPoint>MUC</OffPoint>
<ClassOfService>H</ClassOfService>
<BookingStatus>HK</BookingStatus>
</SegmentAssociationTag>
</SegmentAssociationList>
<CommercialName>OXYGEN</CommercialName>
<RficCode>E</RficCode>
<RficSubcode>0B4</RficSubcode>
<s-s-rCode>AOXY</s-s-rCode>
<OwningCarrierCode>LH</OwningCarrierCode>
<Vendor>ATP</Vendor>
<EMDType>2</EMDType>
<TTLPrice>
<Price>10800</Price>
<Currency>RUB</Currency>
</TTLPrice>
<OriginalBasePrice>
<Price>150.00</Price>
<Currency>EUR</Currency>
</OriginalBasePrice>
<RefundIndicator>N</RefundIndicator>
<BoardPoint>FRA</BoardPoint>
<OffPoint>YVR</OffPoint>
<PurchaseByDate>2020-02-02</PurchaseByDate>
<NumberOfItems>1</NumberOfItems>
<SegmentIndicator>S</SegmentIndicator>
<FirstTravelDate>190617</FirstTravelDate>
<LastTravelDate>991231</LastTravelDate>
<PurchaseTimestamp>2019-07-30T11:59:00</PurchaseTimestamp>
<GroupCode>MD</GroupCode>
</AncillaryServicesUpdate>
</ReservationUpdateItem>
<ReservationUpdateItem UpdateId="2">
<AncillaryServicesUpdate op="C">
<NameAssociationList>
<NameAssociationTag>
<LastName>AKKENT</LastName>
<FirstName>TULIN MR</FirstName>
<NameRefNumber>02.01</NameRefNumber>
</NameAssociationTag>
</NameAssociationList>
<SegmentAssociationList>
<SegmentAssociationTag>
<CarrierCode>LH</CarrierCode>
<FlightNumber>2011</FlightNumber>
<DepartureDate>2019-10-28</DepartureDate>
<BoardPoint>DUS</BoardPoint>
<OffPoint>MUC</OffPoint>
<ClassOfService>H</ClassOfService>
<BookingStatus>HK</BookingStatus>
</SegmentAssociationTag>
</SegmentAssociationList>
<CommercialName>OXYGEN</CommercialName>
<RficCode>E</RficCode>
<RficSubcode>0B4</RficSubcode>
<s-s-rCode>AOXY</s-s-rCode>
<OwningCarrierCode>LH</OwningCarrierCode>
<Vendor>ATP</Vendor>
<EMDType>2</EMDType>
<TTLPrice>
<Price>10800</Price>
<Currency>RUB</Currency>
</TTLPrice>
<OriginalBasePrice>
<Price>150.00</Price>
<Currency>EUR</Currency>
</OriginalBasePrice>
<RefundIndicator>N</RefundIndicator>
<BoardPoint>FRA</BoardPoint>
<OffPoint>YVR</OffPoint>
<LatestTravelDatePermitted>9999-12-31</LatestTravelDatePermitted>
<PurchaseByDate>2020-02-02</PurchaseByDate>
<NumberOfItems>1</NumberOfItems>
<SegmentIndicator>S</SegmentIndicator>
<PurchaseTimestamp>2019-07-14T01:12:00Z</PurchaseTimestamp>
<GroupCode>MD</GroupCode>
</AncillaryServicesUpdate>
</ReservationUpdateItem>
<ReservationUpdateItem UpdateId="s-s-r_1">
<SpecialServiceRequestUpdate op="C" type="G">
<NameAssociationList>
<NameAssociationTag>
<NameRefNumber>01.01</NameRefNumber>
</NameAssociationTag>
</NameAssociationList>
<SegmentAssociationList>
<SegmentAssociationTag>
<CarrierCode>LH</CarrierCode>
<FlightNumber>2011</FlightNumber>
<DepartureDate>2019-10-28</DepartureDate>
<BoardPoint>DUS</BoardPoint>
<OffPoint>MUC</OffPoint>
<ClassOfService>H</ClassOfService>
<BookingStatus>HK</BookingStatus>
</SegmentAssociationTag>
</SegmentAssociationList>
<SpecialService>
<Code>AOXY</Code>
</SpecialService>
</SpecialServiceRequestUpdate>
</ReservationUpdateItem>
<ReservationUpdateItem UpdateId="s-s-r_2">
<SpecialServiceRequestUpdate op="C" type="G">
<NameAssociationList>
<NameAssociationTag>
<NameRefNumber>02.01</NameRefNumber>
</NameAssociationTag>
</NameAssociationList>
<SegmentAssociationList>
<SegmentAssociationTag>
<CarrierCode>LH</CarrierCode>
<FlightNumber>2011</FlightNumber>
<DepartureDate>2019-10-28</DepartureDate>
<BoardPoint>DUS</BoardPoint>
<OffPoint>MUC</OffPoint>
<ClassOfService>H</ClassOfService>
<BookingStatus>HK</BookingStatus>
</SegmentAssociationTag>
</SegmentAssociationList>
<SpecialService>
<Code>AOXY</Code>
</SpecialService>
</SpecialServiceRequestUpdate>
</ReservationUpdateItem>
<ReceivedFrom>
<AgentName>TEST</AgentName>
</ReceivedFrom>
</ReservationUpdateList>
</UpdateReservationRQ>
【讨论】:
【参考方案2】:我不是 100% 肯定的,但我认为您只能通过使用 GetReservationRQ API 来查看该数据,我相信您可以在 UpdateReservationRQ 调用之后立即调用该 API。 schema for that API 确实包含 Air Extras 作为响应的一个元素。
<stl19:GetReservationRS xmlns:stl19="http://webservices.sabre.com/pnrbuilder/v1_19" xmlns:ns6="http://services.sabre.com/res/orr/v0" xmlns:or114="http://services.sabre.com/res/or/v1_14" xmlns:raw="http://tds.sabre.com/itinerary" xmlns:ns4="http://webservices.sabre.com/pnrconn/ReaccSearch" Version="1.19.0">
<stl19:Reservation numberInParty="1" numberOfInfants="0" NumberInSegment="1" isMultiCarrierPlatform="true">
<stl19:BookingDetails>
<stl19:RecordLocator>IJKZUQ</stl19:RecordLocator>
<stl19:CreationTimestamp>2018-12-20T16:05:00</stl19:CreationTimestamp>
<stl19:SystemCreationTimestamp>2018-12-20T16:05:00</stl19:SystemCreationTimestamp>
<stl19:UpdateTimestamp>2018-12-21T11:15:28</stl19:UpdateTimestamp>
<stl19:PNRSequence>3</stl19:PNRSequence>
<stl19:DivideSplitDetails/>
<stl19:EstimatedPurgeTimestamp>2019-04-23T00:00:00</stl19:EstimatedPurgeTimestamp>
<stl19:UpdateToken>74191f26c43e897e966e712381980a19988e77d510b11710</stl19:UpdateToken>
</stl19:BookingDetails>
<stl19:POS AirExtras="false" InhibitCode="U">
【讨论】:
以上是关于如何将空中附加服务添加到 UpdateReservationRQ的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Jquery 或 Javascript 定位附加元素,或者如何将该附加元素添加到 DOM?
如何遍历数据框,将新字段添加到系列,然后将该系列附加到 csv?