Внесение изменений в заказ.
В зависимости от изменяемых данных меняется структура запроса. Далее рассмотрим примеры изменения документов, карты лояльности, контактов пассажира, ремарки пассажира.
В примере представлена модификация документов. Для удаления документов необходимо заполнить только PassengerServicing.Previous, для добавления документов заполняется только PassengerServicing.New.
Previous.ActionType - действие с контентом, которое требуется выполнить.
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:avi="http://nemo.travel/AviaNDC" xmlns:ns="http://www.iata.org/IATA/EDIST/2017.2">
<soapenv:Header>
<avi:UserID> *** </avi:UserID>
<avi:Requisites>
<avi:Login> *** </avi:Login>
<avi:Password> *** </avi:Password>
<avi:UserContextId> *** </avi:UserContextId>
</avi:Requisites>
</soapenv:Header>
<soapenv:Body>
<ns:OrderChangeRQ Version="17.2">
<ns:Document>
<ns:Name>NEMO NDC GATEWAY</ns:Name>
<ns:ReferenceVersion>1.0</ns:ReferenceVersion>
</ns:Document>
<ns:Party>
<ns:Sender>
<ns:TravelAgencySender>
<ns:AgencyID> *** </ns:AgencyID>
</ns:TravelAgencySender>
</ns:Sender>
</ns:Party>
<ns:Query>
<ns:OrderID>ORD610134</ns:OrderID>
<ns:PassengerServicing>
<ns:New PassengerID="PAX1">
<ns:IdentityDocument>
<ns:IdentityDocumentNumber>911111119</ns:IdentityDocumentNumber>
<ns:IdentityDocumentType>PT</ns:IdentityDocumentType>
<ns:IssuingCountryCode>RU</ns:IssuingCountryCode>
<ns:ExpiryDate>2020-10-10</ns:ExpiryDate>
</ns:IdentityDocument>
<ns:ActionType>Add</ns:ActionType>
</ns:New>
<ns:Previous PassengerID="PAX1">
<ns:IdentityDocument>
<ns:IdentityDocumentNumber>199999991</ns:IdentityDocumentNumber>
<ns:IdentityDocumentType>PT</ns:IdentityDocumentType>
<ns:IssuingCountryCode>RU</ns:IssuingCountryCode>
<ns:ExpiryDate>2039-08-15</ns:ExpiryDate>
</ns:IdentityDocument>
<ns:ActionType>Delete</ns:ActionType>
</ns:Previous>
</ns:PassengerServicing>
<ns:PassengerServicing>
<ns:New PassengerID="PAX2">
<ns:IdentityDocument>
<ns:IdentityDocumentNumber>933333339</ns:IdentityDocumentNumber>
<ns:IdentityDocumentType>PT</ns:IdentityDocumentType>
<ns:IssuingCountryCode>RU</ns:IssuingCountryCode>
<ns:ExpiryDate>2022-12-12</ns:ExpiryDate>
</ns:IdentityDocument>
<ns:ActionType>Add</ns:ActionType>
</ns:New>
<ns:Previous PassengerID="PAX2">
<ns:IdentityDocument>
<ns:IdentityDocumentNumber>399999993</ns:IdentityDocumentNumber>
<ns:IdentityDocumentType>PT</ns:IdentityDocumentType>
<ns:IssuingCountryCode>RU</ns:IssuingCountryCode>
<ns:ExpiryDate>2020-02-02</ns:ExpiryDate>
</ns:IdentityDocument>
<ns:ActionType>Delete</ns:ActionType>
</ns:Previous>
</ns:PassengerServicing>
</ns:Query>
</ns:OrderChangeRQ>
</soapenv:Body>
</soapenv:Envelope>
В примере представлена модификация карты лояльности. Для удаления карты необходимо заполнить только PassengerServicing.Previous, для добавления карты заполняется только PassengerServicing.New.
<ns:Query>
<ns:OrderID>ORD608347</ns:OrderID>
<ns:PassengerServicing>
<ns:New PassengerID="PAX1">
<ns:LoyaltyProgramAccount>
<ns:Airline>
<ns:AirlineDesignator>SU</ns:AirlineDesignator>
</ns:Airline>
<ns:AccountNumber>111333600</ns:AccountNumber>
</ns:LoyaltyProgramAccount>
<ns:ActionType>Add</ns:ActionType>
</ns:New>
<ns:Previous PassengerID="PAX1">
<ns:LoyaltyProgramAccount>
<ns:Airline>
<ns:AirlineDesignator>SU</ns:AirlineDesignator>
</ns:Airline>
<ns:AccountNumber>111333605</ns:AccountNumber>
</ns:LoyaltyProgramAccount>
<ns:ActionType>Delete</ns:ActionType>
</ns:Previous>
</ns:PassengerServicing>
</ns:Query>
В примере представлена модификация номера телефона. Для удаления контаков необходимо заполнить только PassengerServicing.Previous, для добавления контаков заполняется только PassengerServicing.New. Для успешной модификации контактов массив ContactInformation должен содержать все имеющиеся контактые данные пассажира (см. пример).
<ns:Query>
<ns:OrderID>ORD610134</ns:OrderID>
<ns:PassengerServicing>
<ns:New PassengerID="PAX1">
<ns:ContactInfoRef>CTC1</ns:ContactInfoRef>
<ns:ActionType>Add</ns:ActionType>
</ns:New>
<ns:Previous PassengerID="PAX1">
<ns:ContactInfoRef>CTC2</ns:ContactInfoRef>
<ns:ActionType>Delete</ns:ActionType>
</ns:Previous>
</ns:PassengerServicing>
</ns:Query>
<ns:DataLists>
<ns:ContactList>
<ns:ContactInformation ContactID="CTC1">
<ns:ContactProvided>
<ns:Phone>
<ns:Label>Mobile</ns:Label>
<ns:PhoneNumber>77711100111</ns:PhoneNumber>
</ns:Phone>
</ns:ContactProvided>
<ns:ContactProvided>
<ns:EmailAddress>
<ns:EmailAddressValue>PAX1@YANDEX.RU</ns:EmailAddressValue>
</ns:EmailAddress>
</ns:ContactProvided>
</ns:ContactInformation>
<ns:ContactInformation ContactID="CTC2">
<ns:ContactProvided>
<ns:Phone>
<ns:Label>Mobile</ns:Label>
<ns:PhoneNumber>77017389745</ns:PhoneNumber>
</ns:Phone>
</ns:ContactProvided>
<ns:ContactProvided>
<ns:EmailAddress>
<ns:EmailAddressValue>PAX1@YANDEX.RU</ns:EmailAddressValue>
</ns:EmailAddress>
</ns:ContactProvided>
</ns:ContactInformation>
</ns:ContactList>
</ns:DataLists>
В примере представлена модификация ремарки пассажира. Для удаления ремарки необходимо заполнить только PassengerServicing.Previous, для добавления ремарки заполняется только PassengerServicing.New.
<ns:Query>
<ns:OrderID>ORD608353</ns:OrderID>
<ns:PassengerServicing>
<ns:New PassengerID="PAX1">
<ns:Remark>
<ns:Remark>NEW REMARK</ns:Remark>
</ns:Remark>
<ns:ActionType>Add</ns:ActionType>
</ns:New>
<ns:Previous PassengerID="PAX1">
<ns:Remark>
<ns:Remark>OLD REMARK</ns:Remark>
</ns:Remark>
<ns:ActionType>Delete</ns:ActionType>
</ns:Previous>
</ns:PassengerServicing>
</ns:Query>
Структура ответа OrderChange соответствует OrderCreate.