Веб-служба выписки: различия между версиями

Материал из Центр поддержки системы бронировании
Перейти к навигации Перейти к поиску
(Запрос)
(Информация)
 
(не показано 59 промежуточных версий 14 участников)
Строка 1: Строка 1:
= Агентский АПИ выписки =
+
{{Attention|В системе реализован усовершенствованный API-проект «Nemo Connect», настоятельно рекомендуем подключаться по схеме, описанной в документации по [http://docs.nemo.travel/ ссылке]}}
 +
 
 +
[[Категория:Интеграция]]
 +
[[Категория:Агентский API]]
 +
<!-- -->
 +
== Информация ==
  
 
Агентский АПИ выписки позволяет определить валидирующего перевозчика и значение комиссии от авиакомпании для брони, а также запустить процедуру выписки билета.
 
Агентский АПИ выписки позволяет определить валидирующего перевозчика и значение комиссии от авиакомпании для брони, а также запустить процедуру выписки билета.
  
<span style="background-color:#fff0f5;"><span style="font-size:large;"><span style="color:#ff0000;">!</span></span> Как правило для выписки билета достаточно чтобы у заказа был статус "Оплачено". При включенной опции '''''«Для успешных бронирований производить оформление: автоматически после изменения статуса на "Оплачено"»''''' из раздела '''«Заказы»''' ⇨ '''«Настройки бронирования»''' билет будет автоматически выписан после оплаты.
+
Как правило для выписки билета достаточно чтобы у заказа был статус «Оплачено». При включенной опции {{Setting|Для успешных бронирований производить оформление: автоматически после изменения статуса на «Оплачено»}} из раздела '''Для техподдержки → Устаревшие настройки → Настройки бронирования''' билет будет автоматически выписан после оплаты. Однако, это является обязательным условием только для пользователей, имеется возможность получения выписки билета, не требующей оплаты, для этого необходимо чтобы у АПИ пользователя были соответствующие права. К примеру, АПИ учётка должна быть заведена на менеджера агентства.
  
В Nemo 2.0 в агентский сервис (интерфейс к серверу бронирования) добавлены дополнительные настройки для выписки авиабилетов. В новой версии АПИ позволяет:
+
Дополнительно была реализована настройка {{Setting|Допустимые IP адреса}} в разделе '''Настройки системы → Интеграция → Nemo 1.0 (SOAP API)''' , определяющая диапазон IP-адресов  для дополнительной защиты учётных записей, под которыми происходит выписка билета без оплаты или фиксации оплаты. IP-адреса имеют следующий допустимый формат: <syntaxhighlight lang="text" enclose="none" style="font-size: 1em; padding: 0 3px; background: #F0F0F0; border: 1px dashed #2F6FAB;">125.125.25.5/8</syntaxhighlight>, то есть возможно задавать с маской подсети. Выполнение запроса Ticketing без оплаты возможно только при работе под менеджером головного агентства, либо в случае использования значения "CC" в элементе PassengerFops.
 +
 
 +
{{Attention|При отсутствии в нашей системе данных о локаторе брони в системе авиакомпании операция выписки невозможна. Поэтому в ответе на запрос Ticketing может возвращаться ошибка вида «Запрошенная операция не разрешена для данного объекта».
 +
В случае отсутствия на стороне GDS данных о локаторе брони в системе авиакомпании, в параметре Segments.Segment.SupplierCode в ответе на запрос BookFlight будет возвращено пустое значение. В этом случае необходимо произвести отправку запроса [[Дополнительные_запросы_АПИ_авиабилетов#.D0.97.D0.B0.D0.BF.D1.80.D0.BE.D1.81_.D0.BD.D0.B0_.D0.BE.D0.B1.D0.BD.D0.BE.D0.B2.D0.BB.D0.B5.D0.BD.D0.B8.D0.B5_.D0.B7.D0.B0.D0.BA.D0.B0.D0.B7.D0.B0 | UpdateBook]] несколько раз, пока  на стороне GDS информация не будет получена о локаторе брони в системе авиакомпании. После этого наша система получит от GDS данное значение. Запрос выписки билетов может быть отправлен только после того, как в параметре Segments.Segment.SupplierCode в ответе от Агентского API Nemo 1 будет получено ненулевое значение.}}
 +
 
 +
В {{NameProject2}} в агентский сервис (интерфейс к серверу бронирования) добавлены дополнительные настройки для выписки авиабилетов. В новой версии АПИ позволяет:
 
   
 
   
*сообщать ВП (валидирующего перевозчика) по данной комбинации;
+
* сообщать ВП (валидирующего перевозчика) по данной комбинации
*сообщать комиссию по данной комбинации;
+
* сообщать комиссию по данной комбинации;
*сообщать эндорсменты по данной комбинации;
+
* сообщать эндорсменты по данной комбинации;
*принимать запрос на тикетинг;
+
* принимать запрос на тикетинг;
*проверять наличие брони в ГДС;
+
* проверять наличие брони в ГРС;
*синхронизировать бронь;
+
* синхронизировать бронь;
*выписывать билет;
+
* выписывать билет;
*войдировать билет.
+
* передавать дополнительную информацию в ремарках;
 +
* войдировать билет.
  
= Выписка билета =
+
== Общий формат запроса / ответа выписки ==
Данный запрос запускается после оплаты заказа, может быть запущен как в ручную - пользователем, у которого есть на это права, так и автоматически при использовании соответствующей опции. Выписать неоплаченный заказ через Nemo возможности нет. При запуске запроса на выписку также запускается процесс обновления заказа, в ходе которого сверяется цена и остальные параметры заказа, а также проверяется его актуальность. Заказы, с истекшим таймлимитом выписаны через Nemo быть не могут.
+
Данный запрос запускается после оплаты заказа, может быть запущен как в ручном режиме — пользователем, у которого есть на это права, так и автоматически. Выписать не оплаченный заказ через {{NameSystem}} можно только с определенный IP-адресов, список которых настраивается в разделе настроек, описанном выше. При запуске запроса на выписку также запускается процесс обновления заказа, в ходе которого сверяется цена и остальные параметры заказа, а также проверяется его актуальность. Заказы с истекшим таймлимитом выписать нельзя.
  
 
WSDL: http://CLIENT_DOMAIN/nemoflights/wsdl.php?for=Ticketing
 
WSDL: http://CLIENT_DOMAIN/nemoflights/wsdl.php?for=Ticketing
Строка 33: Строка 44:
 
               <Ticketing>
 
               <Ticketing>
 
                   <BookID>?</BookID>
 
                   <BookID>?</BookID>
                   <!--BookID - Id заказа в системе Nemo-->
+
                   <!--BookID Id заказа в системе nemo.travel-->
 
                   <ValCompany>?</ValCompany>
 
                   <ValCompany>?</ValCompany>
                   <!--ValCompany - валидирующий перевозчик (тот кто выписывает билет)-->
+
                   <!--ValCompany валидирующий перевозчик (тот кто выписывает билет)-->
 
                   <Comission Amount="?" Percent="?" CurrencyCode="?"/>
 
                   <Comission Amount="?" Percent="?" CurrencyCode="?"/>
                   <!--Comission Amount - комиссии, указываются или в валюте, или в процентах, для валюты обязательным является  
+
                   <!--Comission Amount комиссии, указываются или в валюте, или в процентах, для валюты обязательным является  
 
                   код валюты. Если указана и в валюте и в процентах, то у поставщика комиссия устанавливается в валюте-->
 
                   код валюты. Если указана и в валюте и в процентах, то у поставщика комиссия устанавливается в валюте-->
                   <!--Amount - комиссия в валюте-->
+
                   <!--Amount комиссия в валюте-->
                   <!--Percent - комиссия в процентах-->
+
                   <!--Percent комиссия в процентах-->
                   <!--CurrencyCode - код валюты комиссии-->
+
                   <!--CurrencyCode — код валюты комиссии-->
 +
                  <PassengerFops>
 +
                    <!--Zero or more repetitions:-->
 +
                    <PassengerFop>
 +
                        <PassengerId>?</PassengerId>
 +
                        <!--PassengerId — порядковый номер пассажира в перелете-->
 +
                        <Fops>
 +
                          <!--Zero or more repetitions:-->
 +
                          <Fop>
 +
                              <Type>?</Type>
 +
                              <!--Type — форма оплаты: CC (по кредитной карте) или СА (наличными)-->
 +
                              <Money Currency="?">?</Money>
 +
                              <!--Money — сумма платежа-->
 +
                              <!--Currency — код валюты-->
 +
                              <VendorCode>?</VendorCode>
 +
                              <!--VendorCode — код типа карты: (например, VI — Visa,
 +
                                                                          MC — MasterCard,
 +
                                                                          AX — American Express
 +
                                                                          DC — DCL,
 +
                                                                          CA — EURO,
 +
                                                                          IK — EURO,
 +
                                                                          JB — JCB,
 +
                                                                          JC — JCB,
 +
                                                                          BA — Visa)-->
 +
                              <Number>?</Number>
 +
                              <!--Number — номер карты-->
 +
                              <ExpireDate>?</ExpireDate>
 +
                              <!--ExpireDate — срок действия карты, например 12.2020-->
 +
                              <ManualApprovalCode>?</ManualApprovalCode>
 +
                              <!--ManualApprovalCode - Код преавторизации транзакции, по которой были заблокированы средства для выписки. Это НЕ CVV код. Необязательный. Если не указан, то он будет автоматически получен нашей системой через ГРС/-->
 +
                          </Fop>
 +
                        </Fops>
 +
                    </PassengerFop>
 +
                  </PassengerFops>
 +
                  <DataItems>
 +
                    <!--Zero or more repetitions:-->
 +
                    <DataItem>
 +
                        <Type>Remark</Type>
 +
                        <!--Type — тип контента в данном блоке, например: Meal, Remark-->
 +
                        <Remark>
 +
                          <Type>?</Type>
 +
                          <!--Type — тип ремарки, например: General, Historical-->
 +
                          <Text>?</Text>
 +
                          <!--Text — содержание ремарки-->
 +
                        </Remark>
 +
                    </DataItem>
 +
                  </DataItems>
 
               </Ticketing>
 
               </Ticketing>
 
             </Request>
 
             </Request>
 
             <Source>
 
             <Source>
 
               <ClientId>?</ClientId>
 
               <ClientId>?</ClientId>
               <!--ClientId - ID клиента в системе Nemo. Можно посмотреть/добавить в разделе
+
               <!--ClientId ID клиента в системе nemo.travel. Можно посмотреть/добавить в разделе
               "Администрирование" ⇨ "Веб-служба. Авторизация".-->
+
               «Настройки системы» → «Интеграция» → «Nemo 1.0 (SOAP API)».-->
 
               <APIKey>?</APIKey>
 
               <APIKey>?</APIKey>
               <!--APIKey - секретный ключ доступа к API Nemo. Можно посмотреть/добавить в разделе
+
               <!--APIKey секретный ключ доступа к API nemo.travel. Можно посмотреть/добавить в разделе
               "Администрирование" ⇨ "Веб-служба. Авторизация".-->
+
               «Настройки системы» → «Интеграция» → «Nemo 1.0 (SOAP API)».-->
 
               <Language>?</Language>
 
               <Language>?</Language>
               <!--Language - язык, например: RU-->
+
               <!--Language язык, например: RU-->
 
               <Currency>?</Currency>
 
               <Currency>?</Currency>
               <!-- Currency - валюта, например: RUB, EUR-->
+
               <!-- Currency валюта, например: RUB, EUR-->
 
             </Source>
 
             </Source>
 
         </RequestBin>
 
         </RequestBin>
Строка 75: Строка 132:
 
             <Response>
 
             <Response>
 
               <Ticketing ID="?" Status="?" Code="?">
 
               <Ticketing ID="?" Status="?" Code="?">
               <!--ID - Id брони в системе немо, целое число, обязательный-->
+
               <!--ID Id брони в системе nemo.travel, целое число, обязательный-->
               <!--Status - индикатор состояния брони, возможные значения:
+
               <!--Status индикатор состояния брони, возможные значения:
                                                 booked - забронировано,
+
                                                 booked забронировано,
                                                 canceled - бронь отменена,
+
                                                 canceled бронь отменена,
                                                 ticket - выписана
+
                                                 ticket выписана
                                                 UNDEFINED - статус не определён-->
+
                                                 UNDEFINED статус не определён-->
               <!--Code - код брони в системе поставщика-->
+
               <!--Code код брони в системе поставщика-->
 
                   <QueryPlace xsi:nil="true"/>
 
                   <QueryPlace xsi:nil="true"/>
                   <!--QueryPlace - положение брони в очереди, Number - номер брони в очереди-->
+
                   <!--QueryPlace положение брони в очереди, Number номер брони в очереди-->
 
                   <Flight FlightId="?">
 
                   <Flight FlightId="?">
                   <!--FlightId - Id перелёта в системе Nemo-->
+
                   <!--FlightId Id перелёта в системе nemo.travel-->
 
                     <WebService>?</WebService>
 
                     <WebService>?</WebService>
                     <!--WebService - поставщик перелёта-->
+
                     <!--WebService поставщик перелёта-->
 
                     <ValCompany>?</ValCompany>
 
                     <ValCompany>?</ValCompany>
                     <!--ValCompany - код авиакомпании, являющейся валидирующим перевозчиком, IATA-->
+
                     <!--ValCompany код авиакомпании, являющейся валидирующим перевозчиком, IATA-->
 
                     <URL>?</URL>
 
                     <URL>?</URL>
                     <!--URL - ссылка на бронирование конкретного перелета-->
+
                     <!--URL ссылка на бронирование конкретного перелета-->
 
                     <Segments>
 
                     <Segments>
 
                         <Segment SegNum="?" SegGroupNum="?">
 
                         <Segment SegNum="?" SegGroupNum="?">
                         <!--SegNum - номер сегмента в перелёте-->
+
                         <!--SegNum номер сегмента в перелёте-->
 
                         <!--SegGroupNum – номер плеча перелёта-->
 
                         <!--SegGroupNum – номер плеча перелёта-->
 +
                          <SupplierCode>?</SupplierCode>
 +
                          <!--SupplierCode – номер заказа в системе АК-->
 
                           <DepAirp CodeType="IATA">?</DepAirp>
 
                           <DepAirp CodeType="IATA">?</DepAirp>
                           <!--DepAirp - аэропорт отправления, например: MOW - любой аэропорт в г.Москва
+
                           <!--DepAirp аэропорт отправления, например: MOW любой аэропорт в г.Москва
                           или SVO - Шереметьево-->
+
                           или SVO Шереметьево-->
 
                           <DepTerminal>?</DepTerminal>
 
                           <DepTerminal>?</DepTerminal>
                           <!--DepTerminal - терминал пункта отправления, если пустое значение,
+
                           <!--DepTerminal терминал пункта отправления, если пустое значение,
 
                           то в аэропорту всего 1 терминал-->
 
                           то в аэропорту всего 1 терминал-->
 
                           <ArrAirp CodeType="IATA">?</ArrAirp>
 
                           <ArrAirp CodeType="IATA">?</ArrAirp>
                           <!--ArrAirp - аэропорт прибытия-->
+
                           <!--ArrAirp аэропорт прибытия-->
 
                           <ArrTerminal>?</ArrTerminal>
 
                           <ArrTerminal>?</ArrTerminal>
                           <!--ArrTerminal - терминал пункта прибытия, если пустое значение,
+
                           <!--ArrTerminal терминал пункта прибытия, если пустое значение,
 
                           то в аэропорту всего 1 терминал-->
 
                           то в аэропорту всего 1 терминал-->
 
                           <OpAirline>?</OpAirline>
 
                           <OpAirline>?</OpAirline>
                           <!--OpAirline - авиакомпания перевозчик, например: SU - Аэрофлот-->
+
                           <!--OpAirline авиакомпания перевозчик, например: SU Аэрофлот-->
 
                           <MarkAirline>?</MarkAirline>
 
                           <MarkAirline>?</MarkAirline>
                           <!--MarkAirline - авиакомпания, продающая перелёт-->
+
                           <!--MarkAirline авиакомпания, продающая перелёт-->
 +
                          <MarkAirlineName>?</MarkAirlineName>
 +
                          <!--MarkAirlineName - полное наименование АК на кириллице-->
 
                           <FlightNumber>?</FlightNumber>
 
                           <FlightNumber>?</FlightNumber>
                           <!--FlightNumber - номер рейса-->
+
                           <!--FlightNumber номер рейса-->
 +
                          <AircraftName>?</AircraftName>
 +
                          <!--AircraftName — наименование воздушного судна-->
 
                           <AircraftType>?</AircraftType>
 
                           <AircraftType>?</AircraftType>
                           <!--AircraftType - тип воздушного судна, код-->
+
                           <!--AircraftType тип воздушного судна, код-->
 
                           <DepDateTime>?</DepDateTime>
 
                           <DepDateTime>?</DepDateTime>
                           <!--DepDateTime - дата и время отправления, формат ГГГГ-MM-ДДTЧЧ:ММ:СС-->
+
                           <!--DepDateTime дата и время отправления, формат ГГГГ-MM-ДДTЧЧ:ММ:СС-->
 
                           <ArrDateTime>?</ArrDateTime>
 
                           <ArrDateTime>?</ArrDateTime>
                           <!--ArrDateTime - дата и время прибытия, формат ГГГГ-MM-ДДTЧЧ:ММ:СС-->
+
                           <!--ArrDateTime дата и время прибытия, формат ГГГГ-MM-ДДTЧЧ:ММ:СС-->
 
                           <StopNum>?</StopNum>
 
                           <StopNum>?</StopNum>
                           <!--StopNum - количество остановок-->
+
                           <!--StopNum количество остановок-->
 +
                          <StopPoints>
 +
                          <!--StopPoints — информация о технических остановках, если они есть-->
 +
                              <StopPoint>
 +
                                <AirportCode>?</AirportCode>
 +
                                <!--AirportCode — код аэропорта остановки, трех символьный iata код-->
 +
                                <UTC>?</UTC>
 +
                                <!--UTC — сдвиг часового пояса аэропорта-->
 +
                                <ArrDateTime>?</ArrDateTime>
 +
                                <!--ArrDateTime — дата и время прибытия, формат ГГГГ-MM-ДДTЧЧ:ММ:СС-->
 +
                                <DepDateTime>?</DepDateTime>
 +
                                <!--DepDateTime — дата и время отправления, формат ГГГГ-MM-ДДTЧЧ:ММ:СС-->
 +
                              </StopPoint>
 +
                          </StopPoints>
 
                           <BookingCodes>
 
                           <BookingCodes>
 
                               <BookingCode ClassType="?">
 
                               <BookingCode ClassType="?">
                               <!--ClassType - класс перелета, например: economy-->
+
                               <!--ClassType класс перелета, например: economy-->
 
                                 <BookingCode>?</BookingCode>
 
                                 <BookingCode>?</BookingCode>
                                 <!--BookingCode - код класса бронирования, у разных авиакомпаний один и тот же класс
+
                                 <!--BookingCode код класса бронирования, у разных авиакомпаний один и тот же класс
 
                                 может записываться разными литерами, например: L-->
 
                                 может записываться разными литерами, например: L-->
 
                               </BookingCode>
 
                               </BookingCode>
 
                           </BookingCodes>
 
                           </BookingCodes>
 
                           <FlightTime>?</FlightTime>
 
                           <FlightTime>?</FlightTime>
                           <!--FlightTime - время перелёта в минутах-->
+
                           <!--FlightTime время перелёта в минутах-->
 
                           <TimeZone Departure="?" Arrival="?"/>
 
                           <TimeZone Departure="?" Arrival="?"/>
 
                           <!--Departure временная зона аэропорта отправления-->
 
                           <!--Departure временная зона аэропорта отправления-->
                           <!--Arrival - временная зона аэропорта прибытия-->
+
                           <!--Arrival временная зона аэропорта прибытия-->
 
                           <ETicket>?</ETicket>
 
                           <ETicket>?</ETicket>
                           <!--ETicket - признак электронного билета, значения: true / false-->
+
                           <!--ETicket признак электронного билета, значения: true / false-->
 +
                          <isCharter>?</isCharter>
 +
                          <!--isCharter — признак чартерного перелета, значения: true / false-->
 +
                          <BaggageAllowances>
 +
                          <!--BaggageAllowances — информация о багаже-->
 +
                              <BaggageAllowance>
 +
                                <PassengerType>?</PassengerType>
 +
                                <!--PassengerType — тип пассажира, соответстует типу тарифа в PricingInfo -->
 +
                                <Value>?</Value>
 +
                                <!--Value — количество-->
 +
                                <Measurement>?</Measurement>
 +
                                <!--Measurement — мера измерения, может принимать значения: kg — килограмм, pc — багажное место, lb — фунт-->
 +
                              </BaggageAllowance>
 +
                          </BaggageAllowances>
 
                         </Segment>
 
                         </Segment>
 
                     </Segments>
 
                     </Segments>
 
                     <PricingInfo Refundable="?">
 
                     <PricingInfo Refundable="?">
                     <!--Refundable - возвратный/невозвратный, true/false. Если пустое, то не известно-->
+
                     <!--Refundable возвратный/невозвратный, true/false. Если пустое, то не известно-->
 
                         <PassengerFare Type="?" Quantity="?">
 
                         <PassengerFare Type="?" Quantity="?">
                         <!--Type - тип пассажира, возможные значения: ADT - взрослые, CNN - дети,
+
                         <!--Type тип тарифа-->
                        INF - младенцы, INS - младенцы с местом-->
+
                         <!--Quantity количество пассажиров данного типа-->
                         <!--Quantity - количество пассажиров данного типа-->
 
 
                           <BaseFare Currency="?" Amount="?"/>
 
                           <BaseFare Currency="?" Amount="?"/>
                           <!--BaseFare - базовая стоимость, в базовой валюте. Currency - код валюты, Amount - значение цены-->
+
                           <!--BaseFare базовая стоимость, в базовой валюте. Currency код валюты, Amount значение цены-->
 
                           <EquiveFare Currency="?" Amount="?"/>
 
                           <EquiveFare Currency="?" Amount="?"/>
                           <!--EquiveFare - базовая стоимость, в эквивалентной валюте(валюте продажи).
+
                           <!--EquiveFare базовая стоимость, в эквивалентной валюте(валюте продажи).
                           Currency - код валюты, Amount - значение цены-->
+
                           Currency код валюты, Amount значение цены-->
 
                           <TotalFare Currency="?" Amount="?"/>
 
                           <TotalFare Currency="?" Amount="?"/>
                           <!--TotalFare - суммарная стоимость, в эквивалентной валюте.
+
                           <!--TotalFare суммарная стоимость, в эквивалентной валюте.
                           Currency - код валюты, Amount - значение цены-->
+
                           Currency код валюты, Amount значение цены-->
 
                           <Taxes>
 
                           <Taxes>
 
                               <Tax CurCode="?" TaxCode="?" Amount="?"/>
 
                               <Tax CurCode="?" TaxCode="?" Amount="?"/>
                               <!--CurCode - код валюты, TaxCode - код таксы, Amount - сумма таксы-->
+
                               <!--CurCode код валюты, TaxCode код таксы, Amount сумма таксы-->
 
                           </Taxes>
 
                           </Taxes>
 
                           <Tariffs>
 
                           <Tariffs>
 
                               <Tariff Code="?" SegNum="?"/>
 
                               <Tariff Code="?" SegNum="?"/>
                               <!--Code - код тарифа, SegNum - номер сегмента, к которому применён тариф-->
+
                               <!--Code код тарифа, SegNum номер сегмента, к которому применён тариф-->
 
                           </Tariffs>
 
                           </Tariffs>
 
                           <FareCalc>?</FareCalc>
 
                           <FareCalc>?</FareCalc>
                           <!--FareCalc - строка расчёта цены-->
+
                           <!--FareCalc строка расчёта цены-->
 
                           <LastTicketDateTime>?</LastTicketDateTime>
 
                           <LastTicketDateTime>?</LastTicketDateTime>
                           <!--LastTicketDateTime - дата и время таймлимита по выписке в формате ГГГГ-MM-ДДTЧЧ:ММ:СС-->
+
                           <!--LastTicketDateTime дата и время таймлимита по выписке в формате ГГГГ-MM-ДДTЧЧ:ММ:СС. Если включена настройка "Применение временной зоны - Для расчетов таймлимитов в агентском API", дата и время таймлимита будут переведены во временную зону пользователя. При отключенной настройке по умолчанию дата и время будут в Московском часовом поясе.-->
 
                         </PassengerFare>
 
                         </PassengerFare>
 
                     </PricingInfo>
 
                     </PricingInfo>
                     <Commission/>
+
                     <Commission Currency="?">?</Commission>
 
                     <Charges Currency="?">?</Charges>
 
                     <Charges Currency="?">?</Charges>
                     <!--Charges - сборы, Currency - код валюты-->
+
                     <!--Charges сборы, Currency код валюты-->
 
                     <TotalPrice Currency="?">?</TotalPrice>
 
                     <TotalPrice Currency="?">?</TotalPrice>
                     <!--TotalPrice - итоговая цена, Currency - код валюты-->
+
                     <!--TotalPrice итоговая цена, Currency код валюты-->
 
                   </Flight>
 
                   </Flight>
 
                   <Agency Name="?">
 
                   <Agency Name="?">
                   <!--Name - название агентства-->
+
                   <!--Name название агентства-->
 
                     <Telephone Type="?">
 
                     <Telephone Type="?">
                     <!--Type - тип номера, обязательный, возможные значения:
+
                     <!--Type тип номера, обязательный, возможные значения:
                     M - мобильный, H - домашний, B - рабочий, A - агенство-->
+
                     M мобильный, H домашний, B рабочий, A агенство-->
 
                         <!--Optional:-->
 
                         <!--Optional:-->
 
                         <PhoneNumber>?</PhoneNumber>
 
                         <PhoneNumber>?</PhoneNumber>
                         <!--PhoneNumber - номер телефона-->
+
                         <!--PhoneNumber номер телефона-->
 
                         <!--Optional:-->
 
                         <!--Optional:-->
 
                         <CountryAccessCode>?</CountryAccessCode>
 
                         <CountryAccessCode>?</CountryAccessCode>
                         <!--CountryAccessCode - код страны-->
+
                         <!--CountryAccessCode код страны-->
 
                         <!--Optional:-->
 
                         <!--Optional:-->
 
                         <AreaCityCode>?</AreaCityCode>
 
                         <AreaCityCode>?</AreaCityCode>
                         <!--AreaCityCode - код региона/города-->
+
                         <!--AreaCityCode код региона/города-->
 
                     </Telephone>
 
                     </Telephone>
 
                     <Address City="?" State="?" StreetAddress="?" PostalCode="?" CountryCode="?"/>
 
                     <Address City="?" State="?" StreetAddress="?" PostalCode="?" CountryCode="?"/>
                     <!--City - город-->
+
                     <!--City город-->
                     <!--State - штат-->
+
                     <!--State штат-->
                     <!--StreetAddress - адрес в городе (улица, дом, корпус, офис и т.д.)-->
+
                     <!--StreetAddress адрес в городе (улица, дом, корпус, офис и т.д.)-->
                     <!--PostalCode - почтовый индекс-->
+
                     <!--PostalCode почтовый индекс-->
                     <!--CountryCode - код страны (RU, UA и т.п.)-->
+
                     <!--CountryCode код страны (RU, UA и т.п.)-->
 
                   </Agency>
 
                   </Agency>
 
                   <ItinReceipts Encoding="?" Format="?">
 
                   <ItinReceipts Encoding="?" Format="?">
                   <!--ItinReceipts - маршрут квитанция, Encoding - кодировка, Format - формат-->
+
                   <!--ItinReceipts маршрут квитанция, Encoding кодировка, Format формат-->
 
                   <FareStored xsi:nil="true"/>
 
                   <FareStored xsi:nil="true"/>
 +
                  <PaymentTransactions>
 +
                    <Transaction>
 +
                        <Id>?</Id>
 +
                        <!--Id — номер транзакции в Немо-->
 +
                        <Status>?</Status>
 +
                        <!--Status — статус транзакции-->
 +
                        <GatewayName>?</GatewayName>
 +
                        <!--GatewayName — название платежного шлюза-->
 +
                        <MoneyPaid Currency="?">?</MoneyPaid>
 +
                        <!--MoneyPaid — сумма оплаты-->
 +
                        <!--Currency — валюта-->
 +
                        <PaymentDateTime>?</PaymentDateTime>
 +
                        <!--PaymentDateTime — дата и время оплаты-->
 +
                        <CreateDateTime>?</CreateDateTime>
 +
                        <!--CreateDateTime — дата и время создания платежной транзакции-->
 +
                        <Description/>
 +
                    </Transaction>
 +
                  </PaymentTransactions>
 +
                  <PaymentStatus>?</PaymentStatus>
 +
                  <!--PaymentStatus — статус оплаты:
 +
                                        not_paid — не оплачено
 +
                                        partly_paid — оплачено, частично
 +
                                        fully_paid — оплачено, полностью-->
 
                   <Travellers>
 
                   <Travellers>
 
                     <!--Zero or more repetitions:-->
 
                     <!--Zero or more repetitions:-->
 
                     <Traveller Type="?" IsContact="?" LinkedTo="?" Num="?" TravellerId="?">
 
                     <Traveller Type="?" IsContact="?" LinkedTo="?" Num="?" TravellerId="?">
                     <!--Type - тип пассажира, обязательный, возможные значения: ADT - взрослые,
+
                     <!--Type тип пассажира, обязательный, возможные значения: ADT взрослые,
                     CNN - дети со взрослыми,UNN - дети без сопровождения взрослых, INF - младенцы, INS - младенцы с местом-->
+
                     CNN дети, UNN дети без сопровождения взрослых, INF младенцы, INS младенцы с местом-->
                     <!--IsContact - если true - то данный пассажир является контактным лицом, если false - то не является,
+
                     <!--IsContact если true то данный пассажир является контактным лицом, если false то не является,
 
                       контактное лицо может быть только 1, если среди пассажиров есть взрослые, то только кто-то из них
 
                       контактное лицо может быть только 1, если среди пассажиров есть взрослые, то только кто-то из них
 
                     может быть контактным лицом, по умолчанию false-->
 
                     может быть контактным лицом, по умолчанию false-->
                     <!--Num - порядковый номер пассажира, начинается с 1-->
+
                     <!--Num порядковый номер пассажира, начинается с 1-->
                     <!--LinkedTo - номер взрослого, к которому привязан младенец/ребёнок-->
+
                     <!--LinkedTo номер взрослого, к которому привязан младенец/ребёнок (привязка ребёнка ко взрослому является опциональной)-->
                    <!--TravellerId - устаревший параметр, не используется-->
+
                    <!--TravellerId — актуализированный номер пассажира, который возвращается в ответе на запрос бронирования и в дальнейшем ссылки на пассажиров даются на основании этого параметра-->
 
                         <Meal>?</Meal>
 
                         <Meal>?</Meal>
                         <!--Meal - код типа питания, возможные значения:
+
                         <!--Meal код типа питания, возможные значения:
                                                 NONE - отсутствует
+
                                                 NONE отсутствует
                                                 AVML - Азиатская вегетарианская кухня
+
                                                 AVML Азиатская вегетарианская кухня
                                                 BLML - Блюда щадящей диеты
+
                                                 BLML Блюда щадящей диеты
                                                 CHML - Детское питание
+
                                                 CHML Детское питание
                                                 CHPC - Детский холодный завтрак
+
                                                 CHPC Детский холодный завтрак
                                                 СНСС - Детский горячий завтрак
+
                                                 СНСС Детский горячий завтрак
                                                 CHHC - Детский ланч, ветчина и сыр
+
                                                 CHHC Детский ланч, ветчина и сыр
                                                 PBJS - Детский ланч, ореховое масло
+
                                                 PBJS Детский ланч, ореховое масло
                                                 CHMC - Детский обед макароны с сыром
+
                                                 CHMC Детский обед макароны с сыром
                                                 DBML - Диабетическое питание
+
                                                 DBML Диабетическое питание
                                                 FPML - Фрукты
+
                                                 FPML Фрукты
                                                 GFML - Питание без клейковины
+
                                                 GFML Питание без клейковины
                                                 HFML - Питание богатое клетчаткой
+
                                                 HFML Питание богатое клетчаткой
                                                 HNML - Индусская кухня
+
                                                 HNML Индусская кухня
                                                 BBML - Питание для младенцев
+
                                                 BBML Питание для младенцев
                                                 KSML - Кошерная кухня
+
                                                 KSML Кошерная кухня
                                                 SMKB - Кошерный завтрак
+
                                                 SMKB Кошерный завтрак
                                                 SMKL - Кошерный ланч
+
                                                 SMKL Кошерный ланч
                                                 SMKD - Кошерный обед
+
                                                 SMKD Кошерный обед
                                                 LPML - Малобелковое питание
+
                                                 LPML Малобелковое питание
                                                 LCML - Низкокалорийное питание
+
                                                 LCML Низкокалорийное питание
                                                 LFML - Низкохолестериновое питание
+
                                                 LFML Низкохолестериновое питание
                                                 PRML - Низкопуриновое питание
+
                                                 PRML Низкопуриновое питание
                                                 LSML - Малосоленое питание
+
                                                 LSML Малосоленое питание
                                                 MOML - Мюсли
+
                                                 MOML Мюсли
                                                 NLML - Безмолочные продукты
+
                                                 NLML Безмолочные продукты
                                                 ORML - Восточная кухня
+
                                                 ORML Восточная кухня
                                                 RVML - Сырые овощи
+
                                                 RVML Сырые овощи
                                                 SFML - Морепродукты
+
                                                 SFML Морепродукты
                                                 SPML - Особое питание
+
                                                 SPML Особое питание
                                                 VLML - Вегетарианское, молоко и яйца
+
                                                 VLML Вегетарианское, молоко и яйца
                                                 VGML - Строго вегетарианское питание
+
                                                 VGML Строго вегетарианское питание
                                                 VJML - Джайнизское вегетарианское
+
                                                 VJML Джайнизское вегетарианское
                                                 VOML - Восточное вегетарианское питание-->
+
                                                 VOML Восточное вегетарианское питание-->
 
                         <PersonalInfo DateOfBirth="?" Nationality="?" Gender="?">
 
                         <PersonalInfo DateOfBirth="?" Nationality="?" Gender="?">
                         <!--DateOfBirth - дата рождения в формате ДД.ММ.ГГГГ (например 31.12.2000)-->
+
                         <!--DateOfBirth дата рождения в формате ДД.ММ.ГГГГ (например 31.12.2000)-->
                         <!--Nationality - гражданство, двух буквенный код страны (RU, UA, US и т.д.)-->
+
                         <!--Nationality гражданство, двух буквенный код страны (RU, UA, US и т.д.)-->
                         <!--Gender - пол пассажира, возможные значения: M - мужской(Male), F - женский(Female)-->
+
                         <!--Gender пол пассажира, возможные значения: M мужской(Male), F женский(Female)-->
 
                           <FirstName>?</FirstName>
 
                           <FirstName>?</FirstName>
                           <!--FirstName - имя пассажира-->
+
                           <!--FirstName имя пассажира-->
 
                           <LastName>?</LastName>
 
                           <LastName>?</LastName>
                           <!--LastName - фамилия пассажира-->
+
                           <!--LastName фамилия пассажира-->
 
                           <!--Optional:-->
 
                           <!--Optional:-->
 
                           <MiddleName>?</MiddleName>
 
                           <MiddleName>?</MiddleName>
                           <!--MiddleName - отчество пассажира-->
+
                           <!--MiddleName отчество пассажира-->
 
                         </PersonalInfo>
 
                         </PersonalInfo>
 
                         <LoyaltyCard OpCode="?" Number="?"/>
 
                         <LoyaltyCard OpCode="?" Number="?"/>
                         <!--OpCode - код авиакомпании-->
+
                         <!--OpCode код авиакомпании-->
                         <!--Number - номер карточки-->
+
                         <!--Number номер карточки-->
 
                         <ContactInfo>
 
                         <ContactInfo>
 
                           <!--Optional:-->
 
                           <!--Optional:-->
 
                           <EmailID>?</EmailID>
 
                           <EmailID>?</EmailID>
                           <!--EmailID - контактный email-->
+
                           <!--EmailID контактный email-->
 
                           <!--Optional:-->
 
                           <!--Optional:-->
 
                           <Telephone Type="?">
 
                           <Telephone Type="?">
                           <!--Type - тип номера, возможные значения: M - мобильный, H - домашний, B - рабочий-->
+
                           <!--Type тип номера, возможные значения: M мобильный, H домашний, B рабочий-->
 
                               <!--Optional:-->
 
                               <!--Optional:-->
 
                               <PhoneNumber>?</PhoneNumber>
 
                               <PhoneNumber>?</PhoneNumber>
                               <!--PhoneNumber - номер телефона-->
+
                               <!--PhoneNumber номер телефона-->
 
                               <!--Optional:-->
 
                               <!--Optional:-->
 
                               <CountryAccessCode>?</CountryAccessCode>
 
                               <CountryAccessCode>?</CountryAccessCode>
                               <!--CountryAccessCode - код страны-->
+
                               <!--CountryAccessCode код страны-->
 
                               <!--Optional:-->
 
                               <!--Optional:-->
 
                               <AreaCityCode>?</AreaCityCode>
 
                               <AreaCityCode>?</AreaCityCode>
                               <!--AreaCityCode - код региона/города-->
+
                               <!--AreaCityCode код региона/города-->
 
                           </Telephone>
 
                           </Telephone>
 
                         </ContactInfo>
 
                         </ContactInfo>
 
                         <DocumentInfo DocType="?" DocNum="?" CountryCode="?" DocElapsedTime="?"/>
 
                         <DocumentInfo DocType="?" DocNum="?" CountryCode="?" DocElapsedTime="?"/>
                         <!--DocType - тип документа, возможные значения:
+
                         <!--DocType тип документа, возможные значения:
                                                                 Р - Паспорт
+
                                                                 Р Паспорт
 
                                                                 A – Паспорт иностранца
 
                                                                 A – Паспорт иностранца
                                                                 С - Внутренний гражданский паспорт
+
                                                                 С Внутренний гражданский паспорт
 
                                                                 F – Документ заменяющий паспорт
 
                                                                 F – Документ заменяющий паспорт
                                                                 М - Воинское удостоверение
+
                                                                 М Воинское удостоверение
 
                                                                 N – Сертификат натурализации(специфичный документ США)
 
                                                                 N – Сертификат натурализации(специфичный документ США)
 
                                                                 T – Док.повторного въезда, паспорт беженца
 
                                                                 T – Док.повторного въезда, паспорт беженца
 
                                                                 V – Документ для пересечения границы-->
 
                                                                 V – Документ для пересечения границы-->
                         <!--DocNum - номер документа-->
+
                         <!--DocNum номер документа-->
                         <!--CountryCode - двух буквенный код страны выдачи паспорта (RU, UA, US и т.д.)-->
+
                         <!--CountryCode двух буквенный код страны выдачи паспорта (RU, UA, US и т.д.)-->
                         <!--DocElapsedTime - срок истечения срока действия паспорта в ДД.ММ.ГГГ (например 31.12.2000)-->
+
                         <!--DocElapsedTime срок истечения срока действия паспорта в ДД.ММ.ГГГ (например 31.12.2000)-->
 +
                        <Ticket TicketNum="?">
 +
                        <!-- TicketNum — номер выписанного билета-->
 
                         <VisaInfo Num="?" IssueCountry="?" IssuePlace="?" BirthCountry="?" BirthCity="?" IssueDate="?"/>
 
                         <VisaInfo Num="?" IssueCountry="?" IssuePlace="?" BirthCountry="?" BirthCity="?" IssueDate="?"/>
                         <!--Num - номер визы-->
+
                         <!--Num номер визы-->
                         <!--IssueDate - дата(ДД.ММ.ГГГГ) выдачи визы-->
+
                         <!--IssueDate дата(ДД.ММ.ГГГГ) выдачи визы-->
                         <!--IssueCountry - страна выдачи визы-->
+
                         <!--IssueCountry страна выдачи визы-->
                         <!--IssuePlace - место выдачи визы-->
+
                         <!--IssuePlace место выдачи визы-->
                         <!--BirthCountry - страна рождения(IATA код страны)-->
+
                         <!--BirthCountry страна рождения(IATA код страны)-->
                         <!--BirthCity - город рождения(название)-->
+
                         <!--BirthCity город рождения(название)-->
 
                         <ArrAddress City="?" State="?" StreetAddress="?" PostalCode="?" CountryCode="?"/>
 
                         <ArrAddress City="?" State="?" StreetAddress="?" PostalCode="?" CountryCode="?"/>
                         <!--City - город-->
+
                         <!--City город-->
                         <!--State - штат или область въезда-->
+
                         <!--State штат или область въезда-->
                         <!--StreetAddress - адрес: улица, номер дома, квартиры и т.д.-->
+
                         <!--StreetAddress адрес: улица, номер дома, квартиры и т.д.-->
                         <!--PostalCode - почтовый код-->
+
                         <!--PostalCode почтовый код-->
                         <!--CountryCode - код страны-->
+
                         <!--CountryCode код страны-->
 
                         <PreferedPlace SmokingAllowed="?" Location="?" RowNumber="?" PlaceNumber="?" SegNumber="?"/>
 
                         <PreferedPlace SmokingAllowed="?" Location="?" RowNumber="?" PlaceNumber="?" SegNumber="?"/>
 
                         <!--Если указаны номер ряда и номер места, то параметры SmokingAllowed и Location игнорируются-->
 
                         <!--Если указаны номер ряда и номер места, то параметры SmokingAllowed и Location игнорируются-->
                         <!--SmokingAllowed - булевское значение, true - место для курящих, false - место для некурящих-->
+
                         <!--SmokingAllowed булевское значение, true место для курящих, false место для некурящих-->
                         <!--Location - положение места в ряде, возможные значения:
+
                         <!--Location положение места в ряде, возможные значения:
                                                         W - у окна (Window)
+
                                                         W у окна (Window)
                                                         M - где-то в середине ряда (Middle)
+
                                                         M где-то в середине ряда (Middle)
                                                         NPW - возле прохода (NearPassengerWay)
+
                                                         NPW возле прохода (NearPassengerWay)
                                                         NS - нет предпочтения (NotSpecified)-->
+
                                                         NS нет предпочтения (NotSpecified)-->
                         <!--RowNumber - номер ряда-->
+
                         <!--RowNumber номер ряда-->
                         <!--PlaceNumber - номер места-->
+
                         <!--PlaceNumber номер места-->
                         <!--SegNumber - номер сегмента-->
+
                         <!--SegNumber номер сегмента-->
 
                         <DocStringFormats>
 
                         <DocStringFormats>
 
                           <!--Zero or more repetitions:-->
 
                           <!--Zero or more repetitions:-->
 
                           <DocStringFormat>?</DocStringFormat>
 
                           <DocStringFormat>?</DocStringFormat>
                           <!--DocStringFormat - формат паспортной строки, возможные значения:
+
                           <!--DocStringFormat формат паспортной строки, возможные значения:
                           DOCS - строка формата DOCS, FOID - строка формата FOID-->
+
                           DOCS строка формата DOCS, FOID строка формата FOID-->
 
                         </DocStringFormats>
 
                         </DocStringFormats>
 
                     </Traveller>
 
                     </Traveller>
 
                   </Travellers>
 
                   </Travellers>
               </BookFlight>
+
                  <AutoCancelDate>?</AutoCancelDate>
 +
                  <!--AutoCancelDate — дата и время таймлимита автоаннуляции в формате ГГГГ-MM-ДДTЧЧ:ММ:СС определяемые по настройкам агентства-->
 +
                  <TimeLimits>
 +
                    <TicketingTimeLimit>?</TicketingTimeLimit>
 +
                    <!--TicketingTimeLimit — Таймлимит на выписку в формате ГГГГ-MM-ДДTЧЧ:ММ:СС-->
 +
                    <PriceTimeLimit>?</PriceTimeLimit>
 +
                    <!--PriceTimeLimit — Таймлимит цены из ГРС в формате ГГГГ-MM-ДДTЧЧ:ММ:СС-->
 +
                    <AdvancedPurchaseTimeLimit>?</AdvancedPurchaseTimeLimit>
 +
                    <!--AdvancedPurchaseTimeLimit — Таймлимит цены из тарифных правил в формате ГГГГ-MM-ДДTЧЧ:ММ:СС-->
 +
                    <AgencyTimeLimit>?</AgencyTimeLimit>
 +
                    <!--AgencyTimeLimit - Таймлимит по настройкам в формате ГГГГ-MM-ДДTЧЧ:ММ:СС-->
 +
                  </TimeLimits>
 +
               </Ticketing>
 
               <Requisites/>
 
               <Requisites/>
 
               <RequestType xsi:nil="true"/>
 
               <RequestType xsi:nil="true"/>
 
               <UserID xsi:nil="true"/>
 
               <UserID xsi:nil="true"/>
               <Errors>
+
               <Error Code="?">Сообщение об ошибке</Error>
                  <Error Code="?">
 
                  <!--Code - код ошибки в системе Nemo-->
 
                    <ServiceErrorMessage>?</ServiceErrorMessage>
 
                    <!--ServiceErrorMessage - сообщение об ошибке полученное от веб-сервиса поставщика-->
 
                    <Message>?</Message>
 
                    <!--Message - сообщение об ошибке от системы Nemo-->
 
                  </Error>
 
              </Errors>
 
 
             </Response>
 
             </Response>
 
         </ResponseBin>
 
         </ResponseBin>
Строка 344: Строка 461:
 
</div>
 
</div>
  
= Войдирование билета =
+
== Общий формат запроса / ответа войдирования ==
 
Данный запрос запускается после выписки билета, если необходимо его отменить.
 
Данный запрос запускается после выписки билета, если необходимо его отменить.
  
Строка 361: Строка 478:
 
               <VoidTicket>
 
               <VoidTicket>
 
                   <BookID>?</BookID>
 
                   <BookID>?</BookID>
                   <!--BookID - Id брони в системе Nemo, целое число-->
+
                   <!--BookID Id брони в системе nemo.travel, целое число-->
 
               </VoidTicket>
 
               </VoidTicket>
 
             </Request>
 
             </Request>
 
             <Source>
 
             <Source>
 
               <ClientId>?</ClientId>
 
               <ClientId>?</ClientId>
               <!--ClientId - ID клиента в системе Nemo. Можно посмотреть/добавить в разделе
+
               <!--ClientId ID клиента в системе nemo.travel. Можно посмотреть/добавить в разделе
               "Администрирование" ⇨ "Веб-служба. Авторизация".-->
+
               «Настройки системы» → «Интеграция» → «Nemo 1.0 (SOAP API)».-->
 
               <APIKey>?</APIKey>
 
               <APIKey>?</APIKey>
               <!--APIKey - секретный ключ доступа к API Nemo. Можно посмотреть/добавить в разделе
+
               <!--APIKey секретный ключ доступа к API nemo.travel. Можно посмотреть/добавить в разделе
               "Администрирование" ⇨ "Веб-служба. Авторизация".-->
+
               «Настройки системы» → «Интеграция» → «Nemo 1.0 (SOAP API)».-->
 
               <Language>?</Language>
 
               <Language>?</Language>
               <!--Language - язык, например: RU-->
+
               <!--Language язык, например: RU-->
 
               <Currency>?</Currency>
 
               <Currency>?</Currency>
               <!-- Currency - валюта, например: RUB, EUR-->
+
               <!-- Currency валюта, например: RUB, EUR-->
 
             </Source>
 
             </Source>
 
         </RequestBin>
 
         </RequestBin>
Строка 394: Строка 511:
 
             <Response>
 
             <Response>
 
               <VoidTicket BookID="?">
 
               <VoidTicket BookID="?">
               <!--BookID - Id брони в системе Nemo, целое число-->
+
               <!--BookID Id брони в системе nemo.travel, целое число-->
 
                   <Result Success="?"/>
 
                   <Result Success="?"/>
                   <!--Sucscess - результат отмены выписки, true или false-->
+
                   <!--Sucscess результат отмены выписки, true или false-->
 
               </VoidTicket>
 
               </VoidTicket>
 
               <Requisites/>
 
               <Requisites/>
 
               <RequestType xsi:nil="true"/>
 
               <RequestType xsi:nil="true"/>
 
               <UserID xsi:nil="true"/>
 
               <UserID xsi:nil="true"/>
               <Errors xsi:nil="true"/>
+
               <Error Code="?">Сообщение об ошибке</Error>
 
             </Response>
 
             </Response>
 
         </ResponseBin>
 
         </ResponseBin>
Строка 413: Строка 530:
 
== См. также ==
 
== См. также ==
  
*[[Агентский АПИ]]
+
* [[Агентский API Авиабилеты]]
*[[Бронирование]]
+
* [[Бронирование]]
 
+
* [[Дополнительные запросы АПИ авиабилетов]]
[[Категория:Интеграция]]
 

Текущая версия на 17:09, 20 сентября 2022

Внимание! В системе реализован усовершенствованный API-проект «Nemo Connect», настоятельно рекомендуем подключаться по схеме, описанной в документации по ссылке

Информация

Агентский АПИ выписки позволяет определить валидирующего перевозчика и значение комиссии от авиакомпании для брони, а также запустить процедуру выписки билета.

Как правило для выписки билета достаточно чтобы у заказа был статус «Оплачено». При включенной опции Для успешных бронирований производить оформление: автоматически после изменения статуса на «Оплачено» из раздела Для техподдержки → Устаревшие настройки → Настройки бронирования билет будет автоматически выписан после оплаты. Однако, это является обязательным условием только для пользователей, имеется возможность получения выписки билета, не требующей оплаты, для этого необходимо чтобы у АПИ пользователя были соответствующие права. К примеру, АПИ учётка должна быть заведена на менеджера агентства.

Дополнительно была реализована настройка Допустимые IP адреса в разделе Настройки системы → Интеграция → Nemo 1.0 (SOAP API) , определяющая диапазон IP-адресов для дополнительной защиты учётных записей, под которыми происходит выписка билета без оплаты или фиксации оплаты. IP-адреса имеют следующий допустимый формат: 125.125.25.5/8, то есть возможно задавать с маской подсети. Выполнение запроса Ticketing без оплаты возможно только при работе под менеджером головного агентства, либо в случае использования значения "CC" в элементе PassengerFops.

Внимание! При отсутствии в нашей системе данных о локаторе брони в системе авиакомпании операция выписки невозможна. Поэтому в ответе на запрос Ticketing может возвращаться ошибка вида «Запрошенная операция не разрешена для данного объекта». В случае отсутствия на стороне GDS данных о локаторе брони в системе авиакомпании, в параметре Segments.Segment.SupplierCode в ответе на запрос BookFlight будет возвращено пустое значение. В этом случае необходимо произвести отправку запроса UpdateBook несколько раз, пока на стороне GDS информация не будет получена о локаторе брони в системе авиакомпании. После этого наша система получит от GDS данное значение. Запрос выписки билетов может быть отправлен только после того, как в параметре Segments.Segment.SupplierCode в ответе от Агентского API Nemo 1 будет получено ненулевое значение.

В Nemo Connect в агентский сервис (интерфейс к серверу бронирования) добавлены дополнительные настройки для выписки авиабилетов. В новой версии АПИ позволяет:

  • сообщать ВП (валидирующего перевозчика) по данной комбинации
  • сообщать комиссию по данной комбинации;
  • сообщать эндорсменты по данной комбинации;
  • принимать запрос на тикетинг;
  • проверять наличие брони в ГРС;
  • синхронизировать бронь;
  • выписывать билет;
  • передавать дополнительную информацию в ремарках;
  • войдировать билет.

Общий формат запроса / ответа выписки

Данный запрос запускается после оплаты заказа, может быть запущен как в ручном режиме — пользователем, у которого есть на это права, так и автоматически. Выписать не оплаченный заказ через Nemo.Travel можно только с определенный IP-адресов, список которых настраивается в разделе настроек, описанном выше. При запуске запроса на выписку также запускается процесс обновления заказа, в ходе которого сверяется цена и остальные параметры заказа, а также проверяется его актуальность. Заказы с истекшим таймлимитом выписать нельзя.

WSDL: http://CLIENT_DOMAIN/nemoflights/wsdl.php?for=Ticketing

Запрос

 1 <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ver="http://CLIENT_DOMAIN/nemoflights/?version%3D1.0%26for%3DTicketing">
 2    <soapenv:Header/>
 3    <soapenv:Body>
 4       <ver:Ticketing>
 5          <RequestBin>
 6             <Request>
 7                <Ticketing>
 8                   <BookID>?</BookID>
 9                   <!--BookID — Id заказа в системе nemo.travel-->
10                   <ValCompany>?</ValCompany>
11                   <!--ValCompany — валидирующий перевозчик (тот кто выписывает билет)-->
12                   <Comission Amount="?" Percent="?" CurrencyCode="?"/>
13                   <!--Comission Amount — комиссии, указываются или в валюте, или в процентах, для валюты обязательным является 
14                    код валюты. Если указана и в валюте и в процентах, то у поставщика комиссия устанавливается в валюте-->
15                   <!--Amount — комиссия в валюте-->
16                   <!--Percent — комиссия в процентах-->
17                   <!--CurrencyCode — код валюты комиссии-->
18                   <PassengerFops>
19                      <!--Zero or more repetitions:-->
20                      <PassengerFop>
21                         <PassengerId>?</PassengerId>
22                         <!--PassengerId — порядковый номер пассажира в перелете-->
23                         <Fops>
24                            <!--Zero or more repetitions:-->
25                            <Fop>
26                               <Type>?</Type>
27                               <!--Type — форма оплаты: CC (по кредитной карте) или СА (наличными)-->
28                               <Money Currency="?">?</Money>
29                               <!--Money — сумма платежа-->
30                               <!--Currency — код валюты-->
31                               <VendorCode>?</VendorCode>
32                               <!--VendorCode — код типа карты: (например, VI — Visa, 
33                                                                            MC — MasterCard, 
34                                                                            AX — American Express
35                                                                            DC — DCL,
36                                                                            CA — EURO,
37                                                                            IK — EURO,
38                                                                            JB — JCB,
39                                                                            JC — JCB,
40                                                                            BA — Visa)-->
41                               <Number>?</Number>
42                               <!--Number — номер карты-->
43                               <ExpireDate>?</ExpireDate>
44                               <!--ExpireDate — срок действия карты, например 12.2020-->
45                               <ManualApprovalCode>?</ManualApprovalCode>
46                               <!--ManualApprovalCode - Код преавторизации транзакции, по которой были заблокированы средства для выписки. Это НЕ CVV код. Необязательный. Если не указан, то он будет автоматически получен нашей системой через ГРС/-->
47                            </Fop>
48                         </Fops>
49                      </PassengerFop>
50                   </PassengerFops>
51                   <DataItems>
52                      <!--Zero or more repetitions:-->
53                      <DataItem>
54                         <Type>Remark</Type>
55                         <!--Type — тип контента в данном блоке, например: Meal, Remark-->
56                         <Remark>
57                            <Type>?</Type>
58                            <!--Type — тип ремарки, например: General, Historical-->
59                            <Text>?</Text>
60                            <!--Text — содержание ремарки-->
61                         </Remark>
62                      </DataItem>
63                   </DataItems>
64                </Ticketing>
65             </Request>
66             <Source>
67                <ClientId>?</ClientId>
68                <!--ClientId — ID клиента в системе nemo.travel. Можно посмотреть/добавить в разделе
69                «Настройки системы» → «Интеграция» → «Nemo 1.0 (SOAP API)».-->
70                <APIKey>?</APIKey>
71                <!--APIKey — секретный ключ доступа к API nemo.travel. Можно посмотреть/добавить в разделе
72                «Настройки системы» → «Интеграция» → «Nemo 1.0 (SOAP API)».-->
73                <Language>?</Language>
74                <!--Language — язык, например: RU-->
75                <Currency>?</Currency>
76                <!-- Currency — валюта, например: RUB, EUR-->
77             </Source>
78          </RequestBin>
79       </ver:Ticketing>
80    </soapenv:Body>
81 </soapenv:Envelope>

Ответ

  1 <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://CLIENT_DOMAIN/nemoflights/?version%3D1.0%26for%3DTicketing" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  2    <SOAP-ENV:Body>
  3       <ns1:TicketingResponse>
  4          <ResponseBin>
  5             <Response>
  6                <Ticketing ID="?" Status="?" Code="?">
  7                <!--ID — Id брони в системе nemo.travel, целое число, обязательный-->
  8                <!--Status — индикатор состояния брони, возможные значения:
  9                                                 booked — забронировано,
 10                                                 canceled — бронь отменена,
 11                                                 ticket — выписана
 12                                                 UNDEFINED — статус не определён-->
 13                <!--Code — код брони в системе поставщика-->
 14                   <QueryPlace xsi:nil="true"/>
 15                   <!--QueryPlace — положение брони в очереди, Number — номер брони в очереди-->
 16                   <Flight FlightId="?">
 17                   <!--FlightId — Id перелёта в системе nemo.travel-->
 18                      <WebService>?</WebService>
 19                      <!--WebService — поставщик перелёта-->
 20                      <ValCompany>?</ValCompany>
 21                      <!--ValCompany — код авиакомпании, являющейся валидирующим перевозчиком, IATA-->
 22                      <URL>?</URL>
 23                      <!--URL — ссылка на бронирование конкретного перелета-->
 24                      <Segments>
 25                         <Segment SegNum="?" SegGroupNum="?">
 26                         <!--SegNum — номер сегмента в перелёте-->
 27                         <!--SegGroupNum – номер плеча перелёта-->
 28                            <SupplierCode>?</SupplierCode>
 29                            <!--SupplierCode – номер заказа в системе АК--> 
 30                            <DepAirp CodeType="IATA">?</DepAirp>
 31                            <!--DepAirp — аэропорт отправления, например: MOW — любой аэропорт в г.Москва
 32                            или SVO — Шереметьево-->
 33                            <DepTerminal>?</DepTerminal>
 34                            <!--DepTerminal — терминал пункта отправления, если пустое значение,
 35                            то в аэропорту всего 1 терминал-->
 36                            <ArrAirp CodeType="IATA">?</ArrAirp>
 37                            <!--ArrAirp — аэропорт прибытия-->
 38                            <ArrTerminal>?</ArrTerminal>
 39                            <!--ArrTerminal — терминал пункта прибытия, если пустое значение,
 40                            то в аэропорту всего 1 терминал-->
 41                            <OpAirline>?</OpAirline>
 42                            <!--OpAirline — авиакомпания перевозчик, например: SU — Аэрофлот-->
 43                            <MarkAirline>?</MarkAirline>
 44                            <!--MarkAirline — авиакомпания, продающая перелёт-->
 45                            <MarkAirlineName>?</MarkAirlineName>
 46                            <!--MarkAirlineName - полное наименование АК на кириллице-->
 47                            <FlightNumber>?</FlightNumber>
 48                            <!--FlightNumber — номер рейса-->
 49                            <AircraftName>?</AircraftName>
 50                            <!--AircraftName — наименование воздушного судна-->
 51                            <AircraftType>?</AircraftType>
 52                            <!--AircraftType — тип воздушного судна, код-->
 53                            <DepDateTime>?</DepDateTime>
 54                            <!--DepDateTime — дата и время отправления, формат ГГГГ-MM-ДДTЧЧ:ММ:СС-->
 55                            <ArrDateTime>?</ArrDateTime>
 56                            <!--ArrDateTime — дата и время прибытия, формат ГГГГ-MM-ДДTЧЧ:ММ:СС-->
 57                            <StopNum>?</StopNum>
 58                            <!--StopNum — количество остановок-->
 59                            <StopPoints>
 60                            <!--StopPoints — информация о технических остановках, если они есть-->
 61                               <StopPoint>
 62                                  <AirportCode>?</AirportCode>
 63                                  <!--AirportCode — код аэропорта остановки, трех символьный iata код-->
 64                                  <UTC>?</UTC>
 65                                  <!--UTC — сдвиг часового пояса аэропорта-->
 66                                  <ArrDateTime>?</ArrDateTime>
 67                                  <!--ArrDateTime — дата и время прибытия, формат ГГГГ-MM-ДДTЧЧ:ММ:СС-->
 68                                  <DepDateTime>?</DepDateTime>
 69                                  <!--DepDateTime — дата и время отправления, формат ГГГГ-MM-ДДTЧЧ:ММ:СС-->
 70                               </StopPoint>
 71                            </StopPoints>
 72                            <BookingCodes>
 73                               <BookingCode ClassType="?">
 74                               <!--ClassType — класс перелета, например: economy-->
 75                                  <BookingCode>?</BookingCode>
 76                                  <!--BookingCode — код класса бронирования, у разных авиакомпаний один и тот же класс
 77                                  может записываться разными литерами, например: L-->
 78                               </BookingCode>
 79                            </BookingCodes>
 80                            <FlightTime>?</FlightTime>
 81                            <!--FlightTime — время перелёта в минутах-->
 82                            <TimeZone Departure="?" Arrival="?"/>
 83                            <!--Departure временная зона аэропорта отправления-->
 84                            <!--Arrival — временная зона аэропорта прибытия-->
 85                            <ETicket>?</ETicket>
 86                            <!--ETicket — признак электронного билета, значения: true / false-->
 87                            <isCharter>?</isCharter>
 88                            <!--isCharter — признак чартерного перелета, значения: true / false-->
 89                            <BaggageAllowances>
 90                            <!--BaggageAllowances — информация о багаже-->
 91                               <BaggageAllowance>
 92                                  <PassengerType>?</PassengerType>
 93                                  <!--PassengerType — тип пассажира, соответстует типу тарифа в PricingInfo -->
 94                                  <Value>?</Value>
 95                                  <!--Value — количество-->
 96                                  <Measurement>?</Measurement>
 97                                  <!--Measurement — мера измерения, может принимать значения: kg — килограмм, pc — багажное место, lb — фунт-->
 98                               </BaggageAllowance>
 99                            </BaggageAllowances>
100                         </Segment>
101                      </Segments>
102                      <PricingInfo Refundable="?">
103                      <!--Refundable — возвратный/невозвратный, true/false. Если пустое, то не известно-->
104                         <PassengerFare Type="?" Quantity="?">
105                         <!--Type — тип тарифа-->
106                         <!--Quantity — количество пассажиров данного типа-->
107                            <BaseFare Currency="?" Amount="?"/>
108                            <!--BaseFare — базовая стоимость, в базовой валюте. Currency — код валюты, Amount — значение цены-->
109                            <EquiveFare Currency="?" Amount="?"/>
110                            <!--EquiveFare — базовая стоимость, в эквивалентной валюте(валюте продажи).
111                            Currency — код валюты, Amount — значение цены-->
112                            <TotalFare Currency="?" Amount="?"/>
113                            <!--TotalFare — суммарная стоимость, в эквивалентной валюте.
114                            Currency — код валюты, Amount — значение цены-->
115                            <Taxes>
116                               <Tax CurCode="?" TaxCode="?" Amount="?"/>
117                               <!--CurCode — код валюты, TaxCode — код таксы, Amount — сумма таксы-->
118                            </Taxes>
119                            <Tariffs>
120                               <Tariff Code="?" SegNum="?"/>
121                               <!--Code — код тарифа, SegNum — номер сегмента, к которому применён тариф-->
122                            </Tariffs>
123                            <FareCalc>?</FareCalc>
124                            <!--FareCalc — строка расчёта цены-->
125                            <LastTicketDateTime>?</LastTicketDateTime>
126                            <!--LastTicketDateTime — дата и время таймлимита по выписке в формате ГГГГ-MM-ДДTЧЧ:ММ:СС. Если включена настройка "Применение временной зоны - Для расчетов таймлимитов в агентском API", дата и время таймлимита будут переведены во временную зону пользователя. При отключенной настройке по умолчанию дата и время будут в Московском часовом поясе.-->
127                         </PassengerFare>
128                      </PricingInfo>
129                      <Commission Currency="?">?</Commission>
130                      <Charges Currency="?">?</Charges>
131                      <!--Charges — сборы, Currency — код валюты-->
132                      <TotalPrice Currency="?">?</TotalPrice>
133                      <!--TotalPrice — итоговая цена, Currency — код валюты-->
134                   </Flight>
135                   <Agency Name="?">
136                   <!--Name — название агентства-->
137                      <Telephone Type="?">
138                      <!--Type — тип номера, обязательный, возможные значения:
139                      M — мобильный, H — домашний, B — рабочий, A — агенство-->
140                         <!--Optional:-->
141                         <PhoneNumber>?</PhoneNumber>
142                         <!--PhoneNumber — номер телефона-->
143                         <!--Optional:-->
144                         <CountryAccessCode>?</CountryAccessCode>
145                         <!--CountryAccessCode — код страны-->
146                         <!--Optional:-->
147                         <AreaCityCode>?</AreaCityCode>
148                         <!--AreaCityCode — код региона/города-->
149                      </Telephone>
150                      <Address City="?" State="?" StreetAddress="?" PostalCode="?" CountryCode="?"/>
151                      <!--City — город-->
152                      <!--State — штат-->
153                      <!--StreetAddress — адрес в городе (улица, дом, корпус, офис и т.д.)-->
154                      <!--PostalCode — почтовый индекс-->
155                      <!--CountryCode — код страны (RU, UA и т.п.)-->
156                   </Agency>
157                   <ItinReceipts Encoding="?" Format="?">
158                   <!--ItinReceipts — маршрут квитанция, Encoding — кодировка, Format — формат-->
159                   <FareStored xsi:nil="true"/>
160                    <PaymentTransactions>
161                      <Transaction>
162                         <Id>?</Id>
163                         <!--Id — номер транзакции в Немо-->
164                         <Status>?</Status>
165                         <!--Status — статус транзакции-->
166                         <GatewayName>?</GatewayName>
167                         <!--GatewayName — название платежного шлюза-->
168                         <MoneyPaid Currency="?">?</MoneyPaid>
169                         <!--MoneyPaid — сумма оплаты-->
170                         <!--Currency — валюта-->
171                         <PaymentDateTime>?</PaymentDateTime>
172                         <!--PaymentDateTime — дата и время оплаты-->
173                         <CreateDateTime>?</CreateDateTime>
174                         <!--CreateDateTime — дата и время создания платежной транзакции-->
175                         <Description/>
176                      </Transaction>
177                   </PaymentTransactions>
178                   <PaymentStatus>?</PaymentStatus>
179                   <!--PaymentStatus — статус оплаты:
180                                          not_paid — не оплачено
181                                          partly_paid — оплачено, частично
182                                          fully_paid — оплачено, полностью-->
183                   <Travellers>
184                      <!--Zero or more repetitions:-->
185                      <Traveller Type="?" IsContact="?" LinkedTo="?" Num="?" TravellerId="?">
186                      <!--Type — тип пассажира, обязательный, возможные значения: ADT — взрослые,
187                      CNN — дети, UNN — дети без сопровождения взрослых, INF — младенцы, INS — младенцы с местом-->
188                      <!--IsContact — если true — то данный пассажир является контактным лицом, если false — то не является,
189                       контактное лицо может быть только 1, если среди пассажиров есть взрослые, то только кто-то из них
190                      может быть контактным лицом, по умолчанию false-->
191                      <!--Num — порядковый номер пассажира, начинается с 1-->
192                      <!--LinkedTo — номер взрослого, к которому привязан младенец/ребёнок (привязка ребёнка ко взрослому является опциональной)-->
193                     <!--TravellerId — актуализированный номер пассажира, который возвращается в ответе на запрос бронирования и в дальнейшем ссылки на пассажиров даются на основании этого параметра-->
194                         <Meal>?</Meal>
195                         <!--Meal — код типа питания, возможные значения:
196                                                 NONE — отсутствует
197                                                 AVML — Азиатская вегетарианская кухня
198                                                 BLML — Блюда щадящей диеты
199                                                 CHML — Детское питание
200                                                 CHPC — Детский холодный завтрак
201                                                 СНСС — Детский горячий завтрак
202                                                 CHHC — Детский ланч, ветчина и сыр
203                                                 PBJS — Детский ланч, ореховое масло
204                                                 CHMC — Детский обед макароны с сыром
205                                                 DBML — Диабетическое питание
206                                                 FPML — Фрукты
207                                                 GFML — Питание без клейковины
208                                                 HFML — Питание богатое клетчаткой
209                                                 HNML — Индусская кухня
210                                                 BBML — Питание для младенцев
211                                                 KSML — Кошерная кухня
212                                                 SMKB — Кошерный завтрак
213                                                 SMKL — Кошерный ланч
214                                                 SMKD — Кошерный обед
215                                                 LPML — Малобелковое питание
216                                                 LCML — Низкокалорийное питание
217                                                 LFML — Низкохолестериновое питание
218                                                 PRML — Низкопуриновое питание
219                                                 LSML — Малосоленое питание
220                                                 MOML — Мюсли
221                                                 NLML — Безмолочные продукты
222                                                 ORML — Восточная кухня
223                                                 RVML — Сырые овощи
224                                                 SFML — Морепродукты
225                                                 SPML — Особое питание
226                                                 VLML — Вегетарианское, молоко и яйца
227                                                 VGML — Строго вегетарианское питание
228                                                 VJML — Джайнизское вегетарианское
229                                                 VOML — Восточное вегетарианское питание-->
230                         <PersonalInfo DateOfBirth="?" Nationality="?" Gender="?">
231                         <!--DateOfBirth — дата рождения в формате ДД.ММ.ГГГГ (например 31.12.2000)-->
232                         <!--Nationality — гражданство, двух буквенный код страны (RU, UA, US и т.д.)-->
233                         <!--Gender — пол пассажира, возможные значения: M — мужской(Male), F — женский(Female)-->
234                            <FirstName>?</FirstName>
235                            <!--FirstName — имя пассажира-->
236                            <LastName>?</LastName>
237                            <!--LastName — фамилия пассажира-->
238                            <!--Optional:-->
239                            <MiddleName>?</MiddleName>
240                            <!--MiddleName — отчество пассажира-->
241                         </PersonalInfo>
242                         <LoyaltyCard OpCode="?" Number="?"/>
243                         <!--OpCode — код авиакомпании-->
244                         <!--Number — номер карточки-->
245                         <ContactInfo>
246                            <!--Optional:-->
247                            <EmailID>?</EmailID>
248                            <!--EmailID — контактный email-->
249                            <!--Optional:-->
250                            <Telephone Type="?">
251                            <!--Type — тип номера, возможные значения: M — мобильный, H — домашний, B — рабочий-->
252                               <!--Optional:-->
253                               <PhoneNumber>?</PhoneNumber>
254                               <!--PhoneNumber — номер телефона-->
255                               <!--Optional:-->
256                               <CountryAccessCode>?</CountryAccessCode>
257                               <!--CountryAccessCode — код страны-->
258                               <!--Optional:-->
259                               <AreaCityCode>?</AreaCityCode>
260                               <!--AreaCityCode — код региона/города-->
261                            </Telephone>
262                         </ContactInfo>
263                         <DocumentInfo DocType="?" DocNum="?" CountryCode="?" DocElapsedTime="?"/>
264                         <!--DocType — тип документа, возможные значения:
265                                                                 Р — Паспорт
266                                                                 A – Паспорт иностранца
267                                                                 С — Внутренний гражданский паспорт
268                                                                 F – Документ заменяющий паспорт
269                                                                 М — Воинское удостоверение
270                                                                 N – Сертификат натурализации(специфичный документ США)
271                                                                 T – Док.повторного въезда, паспорт беженца
272                                                                 V – Документ для пересечения границы-->
273                         <!--DocNum — номер документа-->
274                         <!--CountryCode — двух буквенный код страны выдачи паспорта (RU, UA, US и т.д.)-->
275                         <!--DocElapsedTime — срок истечения срока действия паспорта в ДД.ММ.ГГГ (например 31.12.2000)-->
276                         <Ticket TicketNum="?">
277                         <!-- TicketNum — номер выписанного билета-->
278                         <VisaInfo Num="?" IssueCountry="?" IssuePlace="?" BirthCountry="?" BirthCity="?" IssueDate="?"/>
279                         <!--Num — номер визы-->
280                         <!--IssueDate — дата(ДД.ММ.ГГГГ) выдачи визы-->
281                         <!--IssueCountry — страна выдачи визы-->
282                         <!--IssuePlace — место выдачи визы-->
283                         <!--BirthCountry — страна рождения(IATA код страны)-->
284                         <!--BirthCity — город рождения(название)-->
285                         <ArrAddress City="?" State="?" StreetAddress="?" PostalCode="?" CountryCode="?"/>
286                         <!--City — город-->
287                         <!--State — штат или область въезда-->
288                         <!--StreetAddress — адрес: улица, номер дома, квартиры и т.д.-->
289                         <!--PostalCode — почтовый код-->
290                         <!--CountryCode — код страны-->
291                         <PreferedPlace SmokingAllowed="?" Location="?" RowNumber="?" PlaceNumber="?" SegNumber="?"/>
292                         <!--Если указаны номер ряда и номер места, то параметры SmokingAllowed и Location игнорируются-->
293                         <!--SmokingAllowed — булевское значение, true — место для курящих, false — место для некурящих-->
294                         <!--Location — положение места в ряде, возможные значения:
295                                                         W — у окна (Window)
296                                                         M — где-то в середине ряда (Middle)
297                                                         NPW — возле прохода (NearPassengerWay)
298                                                         NS — нет предпочтения (NotSpecified)-->
299                         <!--RowNumber — номер ряда-->
300                         <!--PlaceNumber — номер места-->
301                         <!--SegNumber — номер сегмента-->
302                         <DocStringFormats>
303                            <!--Zero or more repetitions:-->
304                            <DocStringFormat>?</DocStringFormat>
305                            <!--DocStringFormat — формат паспортной строки, возможные значения:
306                            DOCS — строка формата DOCS, FOID — строка формата FOID-->
307                         </DocStringFormats>
308                      </Traveller>
309                   </Travellers>
310                   <AutoCancelDate>?</AutoCancelDate>
311                   <!--AutoCancelDate — дата и время таймлимита автоаннуляции в формате ГГГГ-MM-ДДTЧЧ:ММ:СС определяемые по настройкам агентства-->
312                   <TimeLimits>
313                     <TicketingTimeLimit>?</TicketingTimeLimit>
314                     <!--TicketingTimeLimit — Таймлимит на выписку в формате ГГГГ-MM-ДДTЧЧ:ММ:СС-->
315                     <PriceTimeLimit>?</PriceTimeLimit>
316                     <!--PriceTimeLimit — Таймлимит цены из ГРС в формате ГГГГ-MM-ДДTЧЧ:ММ:СС-->
317                     <AdvancedPurchaseTimeLimit>?</AdvancedPurchaseTimeLimit>
318                     <!--AdvancedPurchaseTimeLimit — Таймлимит цены из тарифных правил в формате ГГГГ-MM-ДДTЧЧ:ММ:СС-->
319                     <AgencyTimeLimit>?</AgencyTimeLimit>
320                     <!--AgencyTimeLimit - Таймлимит по настройкам в формате ГГГГ-MM-ДДTЧЧ:ММ:СС-->
321                   </TimeLimits>
322                </Ticketing>
323                <Requisites/>
324                <RequestType xsi:nil="true"/>
325                <UserID xsi:nil="true"/>
326                <Error Code="?">Сообщение об ошибке</Error>
327             </Response>
328          </ResponseBin>
329       </ns1:TicketingResponse>
330    </SOAP-ENV:Body>
331 </SOAP-ENV:Envelope>

Общий формат запроса / ответа войдирования

Данный запрос запускается после выписки билета, если необходимо его отменить.

WSDL: http://CLIENT_DOMAIN/nemoflights/wsdl.php?for=VoidTicket

Запрос

 1 <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ver="http://CLIENT_DOMAIN/nemoflights/?version%3D1.0%26for%3DVoidTicket">
 2    <soapenv:Header/>
 3    <soapenv:Body>
 4       <ver:VoidTicket>
 5          <RequestBin>
 6             <Request>
 7                <VoidTicket>
 8                   <BookID>?</BookID>
 9                   <!--BookID — Id брони в системе nemo.travel, целое число-->
10                </VoidTicket>
11             </Request>
12             <Source>
13                <ClientId>?</ClientId>
14                <!--ClientId — ID клиента в системе nemo.travel. Можно посмотреть/добавить в разделе
15                «Настройки системы» → «Интеграция» → «Nemo 1.0 (SOAP API)».-->
16                <APIKey>?</APIKey>
17                <!--APIKey — секретный ключ доступа к API nemo.travel. Можно посмотреть/добавить в разделе
18                «Настройки системы» → «Интеграция» → «Nemo 1.0 (SOAP API)».-->
19                <Language>?</Language>
20                <!--Language — язык, например: RU-->
21                <Currency>?</Currency>
22                <!-- Currency — валюта, например: RUB, EUR-->
23             </Source>
24          </RequestBin>
25       </ver:VoidTicket>
26    </soapenv:Body>
27 </soapenv:Envelope>

Ответ

 1 <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://CLIENT_DOMAIN/nemoflights/?version%3D1.0%26for%3DVoidTicket" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 2    <SOAP-ENV:Body>
 3       <ns1:VoidTicketResponse>
 4          <ResponseBin>
 5             <Response>
 6                <VoidTicket BookID="?">
 7                <!--BookID — Id брони в системе nemo.travel, целое число-->
 8                   <Result Success="?"/>
 9                   <!--Sucscess — результат отмены выписки, true или false-->
10                </VoidTicket>
11                <Requisites/>
12                <RequestType xsi:nil="true"/>
13                <UserID xsi:nil="true"/>
14                <Error Code="?">Сообщение об ошибке</Error>
15             </Response>
16          </ResponseBin>
17       </ns1:VoidTicketResponse>
18    </SOAP-ENV:Body>
19 </SOAP-ENV:Envelope>

См. также