Into the workflow Air Extras Search and Book:
But into the service UpdateReservationRQ I can't find the schema for include the ancillary for each passenger.
<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>
This is an example that worked for me and let me add the ancillaries I obtained with GetAncillaryOffers. I obtained the product ids and data from there, and they proceeded to book those with UpdateReservationRQ. Please bear in mind that depending on the ancillary you may need to send also SSR messages to the carrier, I would recommend to get in touch with the helpdesk for more details on that:
<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>
<SSRCode>AOXY</SSRCode>
<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>
<SSRCode>AOXY</SSRCode>
<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="ssr_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="ssr_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>