Агентский API Авиабилеты: различия между версиями

Материал из Центр поддержки системы бронировании
Перейти к навигации Перейти к поиску
(Отмена бронирования)
(Схема использования агентского API (workflow))
 
(не показаны 93 промежуточные версии 14 участников)
Строка 1: Строка 1:
 +
{{Attention|В системе реализован усовершенствованный API-проект «Nemo Connect», настоятельно рекомендуем подключаться по схеме, описанной в документации по [http://docs.nemo.travel/ ссылке]}}
 +
== Схема использования агентского API (workflow) ==
 +
 
[[Категория:Интеграция]]
 
[[Категория:Интеграция]]
+
[[Категория:Агентский API]]
== Агентский АПИ поиска авиабилетов и бронирования ==
+
[[Категория:Модули]]  
 
+
[[Категория:Встроенные модули]]
*[[Веб-служба поиска авиабилетов]]
+
Для авторизации в системе, в запросе необходимо указать APIKey и ClientID. Эти данные можно узнать в разделе Администрирование - Веб-сервис. Авторизация. Там же можно включить/выключить нотификацию для действий, совершенных через АПИ.
    1. [[Веб-служба поиска авиабилетов#Подключение|Подключение]]
 
    2. [[Веб-служба поиска авиабилетов#Просмотр результатов|Просмотр результатов]]  
 
    3. [[Веб-служба поиска авиабилетов#Односторонний перелет|Односторонний перелет]]
 
    4. [[Веб-служба поиска авиабилетов#Перелет туда-обратно|Перелет туда-обратно]] 
 
    5. [[Веб-служба поиска авиабилетов#Сложный маршрут|Сложный маршрут]]
 
  
*[[Веб-служба бронирования]]
+
Необходимо придерживаться [[Схема использования агентского API (workflow) | рекомендованной схемы использования API]]. Если вы планируете отступать от этой схемы - пожалуйста, согласуйте отклонения от нее со службой технической поддержки.
    1. [[Веб-служба бронирования#Запрос на бронирование|Запрос на бронирование]]  
 
    2. [[Веб-служба бронирования#Односторонний перелет: Москва - Санкт-Петербург|Односторонний перелет: Москва - Санкт-Петербург]]
 
    3. [[Веб-служба бронирования#Перелет Москва - Санкт-Петербург|Перелет Москва - Санкт-Петербург]]
 
  
== Агентский АПИ выписки ==
+
{{Attention| Пользователь и агентство из Немо Тревел 2.0 и Немо Тревел 1.0 должны соответствовать друг другу. }}
  
Агентский АПИ выписки позволяет определить валидирующего перевозчика и значение комиссии от авиакомпании для брони, а также запустить процедуру выписки билета.
+
== Агентский АПИ поиска авиабилетов ==
  
<span style="background-color:#fff0f5;"><span style="font-size:large;"><span style="color:#ff0000;">!</span></span> Как правило для выписки билета достаточно сформировать запрос на проставление статуса "ОПЛАЧЕНО". При включенной опции «Производить оформление билета: автоматически» билет будет выпущен в фоновом режиме.
+
*[[Веб-служба поиска авиабилетов]]
 +
** [[Веб-служба поиска авиабилетов#Подключение|Подключение]]
 +
** [[Веб-служба поиска авиабилетов#Общий формат запроса / ответа поиска|Общий формат запроса / ответа поиска]]
 +
** [[Веб-служба поиска авиабилетов#Примеры использования|Примеры использования]]
  
В Nemo 2.0 в агентский сервис (интерфейс к серверу бронирования) добавлены дополнительные настройками для выписки авиабилетов. В новой версии АПИ позволяет:
+
== Агентский АПИ бронирования авиабилетов ==
 
*принимать запросы на возможность тикетинга;
 
*сообщать ВП (валидирующего перевозчика) по данной комбинации;
 
*сообщать комиссию по данной комбинации;
 
*сообщать эндорсменты по данной комбинации;
 
*принимать запрос на тикетинг;
 
*проверять наличие брони в ГДС;
 
*синхронизировать бронь;
 
*выписывать билет
 
*присылать маршрут-квитанцию;
 
*войдировать билет;
 
  
== Отмена бронирования ==
+
*[[Веб-служба бронирования]]
 +
** [[Веб-служба бронирования#Подключение|Подключение]]
 +
** [[Веб-служба бронирования#Общий формат запроса / ответа бронирования|Общий формат запроса / ответа бронирования]]
 +
** [[Веб-служба бронирования#Пример использования|Пример использования]]
 +
** [[Веб-служба бронирования#Общий формат запроса / ответа отмены бронирования|Общий формат запроса / ответа отмены бронирования]]
  
После бронирования, если не истек таймлимит можно аннулировать сделанный заказ. Аннуляция заказа в Nemo может быть ручной (сделанной пользователем) и автоматической - по истечению таймлимита, установленного для заказа система сама аннулирует заказ.
+
== Агентский АПИ выписки ==
 
 
WSDL: http://sys.nemo-ibe.com/nemoflights/wsdl.php?for=CancelBook
 
 
 
'''Пример запроса и ответа на аннуляцию заказа:'''
 
 
 
'''REQUEST'''
 
<syntaxhighlight lang="xml" line enclose="div" style="font-size:9pt;background: #F9F9F9; border: 1px dashed #2F6FAB; padding: 10px 5px; margin: 10px 0;">
 
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ver="http://sys.nemo-ibe.com/nemoflights/?version%3D1.0%26for%3DCancelBook">
 
  <soapenv:Header/>
 
  <soapenv:Body>
 
      <ver:CancelBook>
 
        <RequestBin>
 
            <Request>
 
              <!--Запрос, обязательный-->
 
              <!--BookID - Ид брони в системе немо, целое число, обязательный-->
 
              <CancelBook BookID="260646"/>
 
            </Request>
 
            <Source>
 
              <!--Авторизация, обязательный-->
 
      <!--ClientId, идентификатор клиента, обязательный-->
 
      <!--APIKey, API ключ клиента, обязательный-->
 
      <!--Language, код языка, обязательный-->
 
      <!--Currency код валюты, обязательный-->
 
              <ClientId>102</ClientId>
 
              <APIKey>7F48365D42B73307C99C12A578E92B36</APIKey>
 
              <Language>RU</Language>
 
              <Currency>RUB</Currency>
 
            </Source>
 
        </RequestBin>
 
      </ver:CancelBook>
 
  </soapenv:Body>
 
</soapenv:Envelope>
 
</syntaxhighlight>
 
 
 
'''RESPONSE'''
 
<syntaxhighlight lang="xml" line enclose="div" style="font-size:9pt;background: #F9F9F9; border: 1px dashed #2F6FAB; padding: 10px 5px; margin: 10px 0;">
 
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://sys.nemo-ibe.com/nemoflights/?version%3D1.0%26for%3DCancelBook" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 
  <SOAP-ENV:Body>
 
      <ns1:CancelBookResponse>
 
        <ResponseBin>
 
            <Response>
 
              <!--BookID - Ид брони в системе немо, целое число-->
 
              <CancelBook BookID="260646">
 
                  <!--Result, Отмена брони-->
 
                  <!--Sucscess, Результат отмены брони, true или false-->
 
                  <Result Success="true"/>
 
              </CancelBook>
 
              <Requisites/>
 
              <RequestType xsi:nil="true"/>
 
              <UserID xsi:nil="true"/>
 
              <Errors xsi:nil="true"/>
 
            </Response>
 
        </ResponseBin>
 
      </ns1:CancelBookResponse>
 
  </SOAP-ENV:Body>
 
</SOAP-ENV:Envelope>
 
</syntaxhighlight>
 
 
 
== Проверка на доступность ==
 
 
 
Данный запрос отправляется из Nemo после того как пользователь на результатах поиска нажимает ссылку «забронировать». Он необходим для того чтобы перед подтверждением бронирования повторно проверить перелет на доступность и исключить максимально возможное количество заказов, которые нельзя будет забронировать из-за сервисных ошибок, либо изменения условий (например, снятия мест).
 
 
 
WSDL: http://sys.nemo-ibe.com/nemoflights/wsdl.php?for=AirAvail
 
 
 
'''Пример запроса и ответа:'''
 
 
 
'''REQUEST'''
 
<syntaxhighlight lang="xml" line enclose="div" style="font-size:9pt;background: #F9F9F9; border: 1px dashed #2F6FAB; padding: 10px 5px; margin: 10px 0;">
 
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ver="http://sys.nemo-ibe.com/nemoflights/?version%3D1.0%26for%3DAirAvail">
 
  <soapenv:Header/>
 
  <soapenv:Body>
 
      <ver:AirAvail>
 
        <RequestBin>
 
            <Request>
 
              <AirAvail>
 
                  <!--Запрос, обязательный-->
 
                  <!--FlightId ид перелёта в системе Немо, обязательный-->
 
                  <FlightId>142330001</FlightId>
 
              </AirAvail>
 
            </Request>
 
            <Source>
 
              <!--Авторизация, обязательный-->
 
              <!--ClientId, идентификатор клиента, обязательный-->
 
              <!--APIKey, API ключ клиента, обязательный-->
 
              <!--Language, код языка, обязательный-->
 
              <!--Currency код валюты, обязательный-->
 
              <ClientId>102</ClientId>
 
              <APIKey>7F48365D42B73307C99C12A578E92B36</APIKey>
 
              <Language>RU</Language>
 
              <Currency>RUB</Currency>
 
            </Source>
 
        </RequestBin>
 
      </ver:AirAvail>
 
  </soapenv:Body>
 
</soapenv:Envelope>
 
</syntaxhighlight>
 
 
 
'''RESPONSE'''
 
<syntaxhighlight lang="xml" line enclose="div" style="font-size:9pt;background: #F9F9F9; border: 1px dashed #2F6FAB; padding: 10px 5px; margin: 10px 0;">
 
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://sys.nemo-ibe.com/nemoflights/?version%3D1.0%26for%3DAirAvail" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 
  <SOAP-ENV:Body>
 
      <ns1:AirAvailResponse>
 
        <ResponseBin>
 
            <Response>
 
              <!--FlightId ид перелёта в системе Немо-->
 
              <!--IsAvail доступность перелёта, true или false-->
 
              <AirAvail FlightId="142330001" IsAvail="true"/>
 
              <Requisites/>
 
              <RequestType xsi:nil="true"/>
 
              <UserID xsi:nil="true"/>
 
              <Errors xsi:nil="true"/>
 
            </Response>
 
        </ResponseBin>
 
      </ns1:AirAvailResponse>
 
  </SOAP-ENV:Body>
 
</SOAP-ENV:Envelope>
 
</syntaxhighlight>
 
 
 
== Запрос на обновление заказа ==
 
'''Запрос на обновление заказа'''
 
 
 
WSDL: http://sys.nemo-ibe.com/nemoflights/wsdl.php?for=UpdateBook
 
 
 
'''REQUEST'''
 
<syntaxhighlight lang="xml" line enclose="div" style="font-size:9pt;background: #F9F9F9; border: 1px dashed #2F6FAB; padding: 10px 5px; margin: 10px 0;">
 
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ver="http://tst.nemo-ibe.com/nemoflights/?version%3D1.0%26for%3DVoidTicket">
 
  <soapenv:Header/>
 
  <soapenv:Body> 
 
      <ver:UpdateBook>
 
        <RequestBin>
 
            <Request>
 
              <!--Запрос, обязательный-->
 
              <UpdateBook>
 
                  <!--BookID Id заказа в системе Немо, обязательный-->
 
                  <BookID>234567</BookID>
 
              </UpdateBook>
 
            </Request>
 
              <!--Авторизация, обязательный-->
 
              <!--@ClientId, идентификатор клиента, обязательный-->
 
              <!--@APIKey, API ключ клиента, обязательный-->
 
              <!--@Language, код языка, обязательный-->
 
              <!--@Currency код валюты, обязательный-->
 
            <Source>
 
              <ClientId>102</ClientId>
 
              <APIKey>7F48365D42B73307C99C12A578E92B36</APIKey>
 
              <Language>RU</Language>
 
              <Currency>RUB</Currency>
 
            </Source>
 
        </RequestBin>
 
      </ver:UpdateBook>
 
  </soapenv:Body>
 
</soapenv:Envelope>
 
</syntaxhighlight>
 
 
 
== Чтение тарифных правил ==
 
'''Чтение тарифных правил''' - это запрос, который отправляется после того, как пользователь на результатах поиска выбрал перелет и нажал «Забронировать». При помощи него Nemo получает информацию от поставщика о возвратности/невозвратности тарифов, а так же иную полезную информацию, которая доступна пользователю на странице подтверждения бронировании по клику на названии тарифного правила.
 
 
 
WSDL: http://sys.nemo-ibe.com/nemoflights/wsdl.php?for=GetAirRules
 
 
 
'''Пример запроса и ответа:'''
 
 
 
'''REQUEST'''
 
<syntaxhighlight lang="xml" line enclose="div" style="font-size:9pt;background: #F9F9F9; border: 1px dashed #2F6FAB; padding: 10px 5px; margin: 10px 0;">
 
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ver="http://tst.nemo-ibe.com/nemoflights/?version%3D1.0%26for%3DVoidTicket">
 
  <soapenv:Header/>
 
  <soapenv:Body> 
 
      <ver:GetAirRules>
 
        <RequestBin>
 
            <Request>
 
<!--Запрос, обязательный-->
 
<GetAirRules>
 
<!--FlightId ид перелёта в системе Немо, обязательный-->
 
<FlightId>531846</FlightId>
 
</GetAirRules>
 
    </Request>
 
<!--Авторизация, обязательный-->
 
<!--@ClientId, идентификатор клиента, обязательный-->
 
<!--@APIKey, API ключ клиента, обязательный-->
 
<!--@Language, код языка, обязательный-->
 
<!--@Currency код валюты, обязательный-->
 
            <Source>
 
              <ClientId>102</ClientId>
 
              <APIKey>7F48365D42B73307C99C12A578E92B36</APIKey>
 
              <Language>RU</Language>
 
              <Currency>RUB</Currency>
 
            </Source>
 
        </RequestBin>
 
      </ver:GetAirRules>
 
  </soapenv:Body>
 
</soapenv:Envelope>
 
</syntaxhighlight>
 
 
 
'''RESPONSE'''
 
 
 
<syntaxhighlight lang="xml" line enclose="div" style="font-size:9pt;background: #F9F9F9; border: 1px dashed #2F6FAB; padding: 10px 5px; margin: 10px 0;">
 
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ver="http://tst.nemo-ibe.com/nemoflights/?version%3D1.0%26for%3DVoidTicket">
 
  <soapenv:Header/>
 
  <soapenv:Body>
 
      <ver:GetAirRules>
 
        <ResponseBin>
 
            <Response>
 
<!--Запрос, обязательный-->
 
<GetAirRules>
 
<!--FlightId ид перелёта в системе Немо, обязательный-->
 
<FlightId>531846</FlightId>
 
<!--Rules Правила перелета, обязательный-->
 
<Rules>
 
<!--@Code код правила, обязательный-->
 
<!--@Tarrif название тарифа, обязательный-->
 
<!--@Name название правила, обязательный-->
 
<Rule Code="6" Tarrif="VSSOW" Name="MINIMUM STAY">
 
<!--Текст правила, обязательный-->
 
<RuleText>No Minimum Stay</RuleText>
 
</Rule>
 
<Rule Code="7" Tarrif="VSSOW" Name="MAXIMUM STAY">
 
<RuleText>No Maximum Stay</RuleText>
 
</Rule>
 
<Rule Code="5" Tarrif="VSSOW" Name="ADVANCE RESERVATIONS/TICKETING">
 
<RuleText>Advanced reservations anytime Advanced ticketing departure
 
                                                        time - 0  Advanced ticketing reservation time - 24 hours</RuleText>
 
</Rule>
 
<Rule Code="2" Tarrif="VSSOW" Name="DAY/TIME">
 
<RuleText>Most restrictive ticketing date 20110524</RuleText>
 
</Rule>
 
<Rule Code="12" Tarrif="VSSOW" Name="SURCHARGES">
 
<RuleText>No surcharges</RuleText>
 
</Rule>
 
<Rule Code="16" Tarrif="VSSOW" Name="PENALTIES">
 
<RuleText>Condition: If Itinerary is changed requiring reissue of ticket.
 
                                                        Amount -  Condition: If canceled. Amount -</RuleText>
 
</Rule>
 
<Rule Code="0" Tarrif="VSSOW" Name="APPLICATION AND OTHER CONDITIONS">
 
<RuleText>Application and other conditions 
 
rule - 304/ut23                                               
 
unless otherwise specified                                   
 
one way instant purchase fare                                 
 
application                                                 
 
  area                                                       
 
these fares apply                                       
 
within russia.                                           
 
  class of service                                           
 
these fares apply for economy class service.             
 
  types of transportation                                   
 
this rule governs one-way fares.                         
 
fares governed by this rule can be used to create       
 
one-way journeys.                                       
 
capacity limitations                                         
 
  the carrier shall limit the number of passengers carried   
 
  on any one flight at fares governed by this rule and such 
 
  fares will not necessarily be available on all flights.   
 
  the number of seats which the carrier shall make           
 
  available on a given flight will be determined by the     
 
  carriers best judgment
 
</RuleText>
 
</Rule>
 
<Rule Code="4" Tarrif="VSSOW" Name="FLIGHT APPLICATION">
 
<RuleText>Flight application                                       
 
                                unless otherwise specified                                   
 
                                the fare component must be on                               
 
                        one or more of the following                           
 
                any ut flight.</RuleText>
 
</Rule>
 
<Rule Code="5" Tarrif="VSSOW" Name="ADVANCE RES/TICKETING">
 
<RuleText>Advance res/ticketing                                     
 
                                unless otherwise specified                                   
 
                                reservations are required for all sectors.                 
 
                                ticketing must be completed within 24 hours after           
 
                                reservations are made.</RuleText>
 
</Rule>
 
<Rule Code="8" Tarrif="VSSOW" Name="STOPOVERS">
 
<RuleText>Stopovers                                                 
 
                                unless otherwise specified                                   
 
                                unlimited stopovers permitted.</RuleText>
 
</Rule>
 
<Rule Code="9" Tarrif="VSSOW" Name="TRANSFERS">
 
<RuleText>Transfers                                                 
 
                                unless otherwise specified                                   
 
                                unlimited transfers permitted on the pricing unit           
 
                        fare break and embedded surface sectors permitted on the 
 
                        fare component.</RuleText>
 
</Rule>
 
<Rule Code="10" Tarrif="VSSOW" Name="PERMITTED COMBINATIONS">
 
<RuleText>Permitted combinations                                   
 
                                unless otherwise specified                                   
 
                                single/double open jaws/round trips/circle trips not       
 
                                permitted.                                 
 
                                add-ons not permitted.                                     
 
                                end-on-end                                                 
 
                        end-on-end combinations permitted with ut fares.         
 
                        validate all fare components.                             
 
                                provided -                                                 
 
                        combinations are with any one way fare for carrier ut.</RuleText>
 
</Rule>
 
<Rule Code="15" Tarrif="VSSOW" Name="SALES RESTRICTIONS">
 
<RuleText>Sales restrictions                                       
 
                                unless otherwise specified                                   
 
                                tickets must be issued on ut.
 
</RuleText>
 
</Rule>
 
<Rule Code="16" Tarrif="VSSOW" Name="PENALTIES">
 
<RuleText>Penalties                                                 
 
                                unless otherwise specified                                   
 
                                cancellations                                               
 
                        cancellations permitted for cancel/no-show/refund.       
 
                note -                                               
 
                -full refund if ticket is presented for the refund 
 
                more than 24hrs before departure time shown on the 
 
                flight coupon.                                     
 
                -refund the fare paid less 25 percent if ticket is 
 
                presented for the refund less than 24hrs before     
 
                departure time shown on the flight coupon or after 
 
                departure time shown on the flight coupon/no-show/ 
 
                ---------------------                               
 
                refund of unused fees and taxes permitted           
 
                ---------------------                               
 
                penalties waived in case of involuntary refund     
 
                ---------------------                               
 
                refund permitted at any time within one year from   
 
                the day of original ticket issue.                   
 
                                changes                                                     
 
                        changes permitted.                                       
 
                note -                                               
 
                permitted upon payment to any higher applicable     
 
                ow fare. the difference in fares has to be         
 
                collected.                                         
 
                ----------------                                   
 
                changes permitted if the ticket is presented for   
 
                the change within 1 month from the date of         
 
                departure shown on the original flight coupon.     
 
                                involuntary changes                                         
 
                        involuntary changes permitted.
 
</RuleText>
 
</Rule>
 
<Rule Code="17" Tarrif="VSSOW" Name="HIP/MILEAGE EXCEPTIONS">
 
<RuleText>Hip/mileage exceptions                                   
 
                                unless otherwise specified                                   
 
                note -                                               
 
                higher intermediate rule applies.                   
 
                                unless otherwise specified                                   
 
                note -                                               
 
                higher intermediate rule applies.
 
</RuleText>
 
</Rule>
 
<Rule Code="19" Tarrif="VSSOW" Name="CHILDREN DISCOUNTS">
 
<RuleText>Children discounts                                       
 
                                within russia
 
</RuleText>
 
</Rule>
 
<Rule Code="6" Tarrif="VSSOW" Name="PENALTIES">
 
<RuleText>Penalties                                                 
 
                                unless otherwise specified                                   
 
                                cancellations                                               
 
                        cancellations permitted for cancel/no-show/refund.       
 
                note -                                               
 
                -full refund if ticket is presented for the refund 
 
                more than 24hrs before departure time shown on the 
 
                flight coupon.                                     
 
                -refund the fare paid less 25 percent if ticket is 
 
                presented for the refund less than 24hrs before     
 
                departure time shown on the flight coupon or after 
 
                departure time shown on the flight coupon/no-show/ 
 
                ---------------------                               
 
                refund of unused fees and taxes permitted           
 
                ---------------------                               
 
                penalties waived in case of involuntary refund     
 
                ---------------------                               
 
                refund permitted at any time within one year from   
 
                the day of original ticket issue.                   
 
                                changes                                                     
 
                        changes permitted.                                       
 
                note -                                               
 
                permitted upon payment to any higher applicable     
 
                ow fare. the difference in fares has to be         
 
                collected.                                         
 
                ----------------                                   
 
                changes permitted if the ticket is presented for   
 
                the change within 1 month from the date of         
 
                departure shown on the original flight coupon.     
 
                                involuntary changes                                         
 
                        involuntary changes permitted.                           
 
                                17. hip/mileage exceptions                                   
 
                                unless otherwise specified                                   
 
                note -                                               
 
                higher intermediate rule applies.                   
 
                                unless otherwise specified                                   
 
                note -                                               
 
                higher intermediate rule applies.                   
 
                                19. children discounts                                       
 
                                within russia                                                 
 
                                accompanied child 2-11 - charge 67 percent of the fare.     
 
                ticket designator - cn and percent of discount.       
 
                note -                                               
 
                discount applies if the number of children is 6     
 
                or less                                             
 
                -----------------------------------------------     
 
                unaccompanied children not permitted               
 
                                or - 1st and each additional group child 2-11 - charge 95   
 
                percent of the fare.                                 
 
        ticket designator - cn and percent of discount. 
 
                note -                                               
 
                discount applies if the number of children in the   
 
                group is more than 6. group required to travel     
 
                together for the entire pricing unit.               
 
                -------------                                       
 
                unaccompanied children not permitted               
 
                                or - 1st infant under 2 without a seat - no charge         
 
        ticket designator - in and percent of discount   
 
                                or - 2nd and each additional infant under 2 without a       
 
                seat- charge 67 percent of the fare.                 
 
        ticket designator - cn and percent of discount   
 
                                or - infant under 2 with a seat - charge 67 percent of the 
 
                fare.                                               
 
        ticket designator - cn and percent of discount. 
 
                note -                                               
 
                unaccompanied infants not permitted
 
</RuleText>
 
</Rule>
 
<Rule Code="20" Tarrif="VSSOW" Name="TOUR CONDUCTOR DISCOUNTS">
 
<RuleText>Tourconductor                                                      discounts                                 
 
unless otherwise specified                                   
 
note -                                               
 
  tour conductor discounts not permitted.
 
</RuleText>
 
</Rule>
 
<Rule Code="21" Tarrif="VSSOW" Name="AGENT DISCOUNTS">
 
<RuleText>Agent discounts                                           
 
unless otherwise specified                                   
 
note -                                               
 
  agent discounts not permitted.
 
</RuleText>
 
</Rule>
 
<Rule Code="22" Tarrif="VSSOW" Name="ALL OTHER DISCOUNTS">
 
<RuleText>All other discounts                                       
 
unless otherwise specified                                   
 
note -                                               
 
  not permitted.
 
</RuleText>
 
</Rule>
 
</Rules>
 
</GetAirRules>
 
</Response>
 
<!--Авторизация, обязательный-->
 
<!--@ClientId, идентификатор клиента, обязательный-->
 
<!--@APIKey, API ключ клиента, обязательный-->
 
<!--@Language, код языка, обязательный-->
 
<!--@Currency код валюты, обязательный-->
 
            <Source>
 
              <ClientId>102</ClientId>
 
              <APIKey>7F48365D42B73307C99C12A578E92B36</APIKey>
 
              <Language>RU</Language>
 
              <Currency>RUB</Currency>
 
            </Source>
 
        </ResponseBin>
 
      </ver:AirAvail>
 
  </soapenv:Body>
 
</soapenv:Envelope>
 
</syntaxhighlight>
 
 
 
== Запрос на выписку ==
 
Данный запрос запускается после оплаты заказа, может быть запущен как в ручную - пользователем, у которого есть на это права, так и автоматически при использовании соответствующей опции. Выписать неоплаченный заказ через Nemo возможности нет. При запуске запроса на выписку также запускается процесс обновления заказа, в ходе которого сверяется цена и остальные параметры заказа, а также проверяется его актуальность. Заказы, с истекшим таймлимитом выписаны через Nemo быть не могут.
 
 
 
WSDL: http://sys.nemo-ibe.com/nemoflights/wsdl.php?for=Ticketing
 
 
 
 
 
'''Примеры запроса и ответа:'''
 
 
 
'''REQUEST'''
 
  
<syntaxhighlight lang="xml" line enclose="div" style="font-size:9pt;background: #F9F9F9; border: 1px dashed #2F6FAB; padding: 10px 5px; margin: 10px 0;">
+
*[[Веб-служба выписки]]
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ver="http://tst.nemo-ibe.com/nemoflights/?version%3D1.0%26for%3DTicketing">
+
** [[Веб-служба выписки#Информация|Информация]]
  <soapenv:Header/>
+
** [[Веб-служба выписки#Общий формат запроса / ответа выписки|Общий формат запроса / ответа выписки]]
  <soapenv:Body>
+
** [[Веб-служба выписки#Общий формат запроса / ответа войдирования|Общий формат запроса / ответа войдирования]]
      <ver:Ticketing>
 
        <RequestBin>
 
            <Request>
 
        <!--Запрос, обязательный-->
 
<Ticketing>
 
<BookID>21032</BookID>
 
<!--Валидирующий перевозчик (тот кто выписывает билет), необязательный-->
 
<ValCompany></ValCompany>
 
<!--Комиссии, указывается или в валюте, или в процентах, для валюты обязательным является код валюты.
 
Если указана и в валюте и в процентах, то у поставщика комиссия устанавливается в валюте.-->
 
<!--@Amount - комиссия в валюте-->
 
<!--@Percent - комиссия в процентах-->
 
<!--@CurrencyCode - код валюты комиссии-->
 
<!--Optional:-->
 
<Comission Amount="" Percent="" CurrencyCode=""/>
 
</Ticketing>
 
    </Request> 
 
            <!--Авторизация, обязательный-->
 
<!--@ClientId, идентификатор клиента, обязательный-->
 
<!--@APIKey, API ключ клиента, обязательный-->
 
<!--@Language, код языка, обязательный-->
 
<!--@Currency код валюты, обязательный-->
 
            <Source>
 
              <ClientId>102</ClientId>
 
              <APIKey>7F48365D42B73307C99C12A578E92B36</APIKey>
 
              <Language>RU</Language>
 
              <Currency>RUB</Currency>
 
            </Source>
 
        </RequestBin>
 
      </ver:Ticketing>
 
  </soapenv:Body>
 
</soapenv:Envelope>
 
</syntaxhighlight>
 
  
'''RESPONSE'''
+
== Агентский АПИ Оплаты==
  
<syntaxhighlight lang="xml" line enclose="div" style="font-size:9pt;background: #F9F9F9; border: 1px dashed #2F6FAB; padding: 10px 5px; margin: 10px 0;">
+
*[[Агентский API Оплата]]
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ver="http://tst.nemo-ibe.com/nemoflights/?version%3D1.0%26for%3DTicketing">
+
** [[Агентский API Оплата#Фиксация оплаты внешним запросом|Фиксация оплаты внешним запросом]]
  <soapenv:Header/>
+
** [[Агентский API Оплата#Получение списка доступных способов оплаты|Получение списка доступных способов оплаты]]
  <soapenv:Body>
+
** [[Агентский API Оплата#Выбор конкретного способа оплаты|Выбор конкретного способа оплаты]]
      <ver:Ticketing>
 
        <ResponseBin>
 
    <Response>
 
<!--Ответ, обязательный-->
 
<!--@ID - Ид брони в системе немо, целое число, обязательный-->
 
<!--@Status - Индикатор состояния брони, обязательный, возможные значения:
 
      booked - забронировано,
 
      canceled - бронь отменена,
 
      ticket - выписана
 
      UNDEFINED - статус не определён
 
-->
 
<!--@Code - Код брони в системе бронирования/поиска, строка, обязательный-->
 
<BookFlight ID="21032" Status="booked" Code="QCH3DA">
 
<!--Положение брони в очереди, необязательный-->
 
<!--@Number - номер брони в очереди, обязательный-->
 
<QueryPlace/>
 
<!--@FlightId ид перелёта в системе Немо, обязательный-->
 
<Flight FlightId="534733">
 
<!--Веб-сервис из которого получен перелёт, обязательный-->
 
<WebService>GALILEO</WebService>
 
<!--Код авиакомпании - валидирующего перевозчика, IATA, обязательный-->
 
<ValCompany>UN</ValCompany>
 
<URL>http:///</URL>
 
<!--Сегменты в перелёте, обязательный-->
 
<Segments>
 
<!--SegNum - Номер сегмента в перелёте, обязательный-->
 
<Segment SegNum="1">
 
<!--Аэропорт отправления. Обязательный-->
 
<DepAirp CodeType="IATA">DME</DepAirp>
 
<!--Терминал пункта отправления, если пустое значение, то терминала нет, т.е. в аэропорту всего 1 терминал, необязательный-->
 
<DepTerminal/>
 
<!--Аэропорт прибытия. Обязательный-->
 
<ArrAirp CodeType="IATA">LED</ArrAirp>
 
<!--Терминал пункта прибытия, если пустое значение, то терминала нет, т.е. в аэропорту всего 1 терминал, необязательный-->
 
<ArrTerminal>1</ArrTerminal>
 
<!--Авиакомпания перевозчик. Обязательный-->
 
<OpAirline>UN</OpAirline>
 
<!--Авиакомпания, продающая перелёт. Обязательный-->
 
<MarkAirline>UN</MarkAirline>
 
<!--Номер рейса. Обязательный-->
 
<FlightNumber>5</FlightNumber>
 
<!--Тип воздушного судна, код. Обязательный-->
 
<AircraftType>735</AircraftType>
 
<!--Дата и время отправления, формат ГГГГ-MM-DDTЧЧ:ММ:СС. Обязательный-->
 
<DepDateTime>2011-06-28T19:25:00</DepDateTime>
 
<!--Дата и время прибытия, формат ГГГГ-MM-DDTЧЧ:ММ:СС. Обязательный-->
 
<ArrDateTime>2011-06-28T20:50:00</ArrDateTime>
 
<!--Количество остановок. Обязательный-->
 
<StopNum>0</StopNum>
 
<!--Код класса бронирования. Обязательный-->
 
<BookingCodes>
 
<BookingCode>W</BookingCode>
 
</BookingCodes>
 
<!--Время перелёта, в минутах. Обязательный-->
 
<FlightTime>85</FlightTime>
 
<!--Временные зоны точки отправления и прибытия. Необязательный-->
 
<!--@departure временная зона аэропорта отправления-->
 
<!--@arrival - временная зона аэропорта прибытия-->
 
<TimeZone Departure="" Arrival=""/>
 
<!--Признак электронного билета. Значения: true или false. Обязательный-->
 
<ETicket>true</ETicket>
 
</Segment>
 
</Segments>
 
<!--информация о стоимости, может встречаться более 1 раза, обязательный-->
 
<!--@Refundable возвратный/невозвратный, true/false. Если пустое, то не известно, необязательный-->
 
<PricingInfo Refundable="true">
 
<!--Типы пассажиров с ценами, таксами и тп, может встречаться более 1 раза, необязательный-->
 
<!--@Type тип пассажира, возможные значения:
 
ADT - взрослые,
 
CNN - дети со взрослыми,
 
UNN - дети без сопровождения взрослых,
 
INF - младенцы,
 
INS - младенцы с местом, обязательный-->
 
<!--@Quantity Количество пассажиров данного типа, обязательный-->
 
<PassengerFare Type="ADT" Quantity="1">
 
<!--Базовая стоимость, в базовой валюте, обязательный-->
 
<!--@Currency код валюты, @Amount значение цены, обязательный-->
 
<BaseFare Currency="RUB" Amount="300"/>
 
<!--Базовая стоимость, в эквивалентной валюте(валюте продажи), обязательный-->
 
<!--@Currency код валюты, @Amount значение цены, обязательный-->
 
<EquiveFare Currency="RUB" Amount="300"/>
 
<!--Суммарная стоимость в эквивалентной валюте, необязательный-->
 
<!--@Currency код валюты, @Amount значение цены, обязательный-->
 
<TotalFare Currency="RUB" Amount="1735"/>
 
<!--Массив такс, необязательный-->
 
<Taxes>
 
<!--@CurCode код валюты, обязательный-->
 
<!--@TaxCode код таксы, обязательный-->
 
<!--@Amount сумма таксы, обязательный-->
 
<Tax CurCode="RUB" TaxCode="RU" Amount="41"/>
 
<Tax CurCode="RUB" TaxCode="YQ" Amount="779"/>
 
<Tax CurCode="RUB" TaxCode="YR" Amount="615"/>
 
</Taxes>
 
<!--Массив тарифов, необязательный-->
 
  <Tariffs>
 
<!--Тариф, обязательный-->
 
<!--@Code код тарифа, обязательный-->
 
<!--@SegNum номер сегмента, к которому применён тариф, обязательный-->
 
<Tariff Code="WPROW" SegNum="1"/>
 
</Tariffs>
 
<!--Строка расчёта цены, необязательный-->
 
<FareCalc/>
 
<!--Дата и время таймлимита по выписке в формате ГГГГ-MM-DDTЧЧ:ММ:СС, обязательный-->
 
<LastTicketDateTime>2011-05-27T10:11:32</LastTicketDateTime>
 
</PassengerFare>
 
</PricingInfo>
 
<!--Комиссии, обязательный-->
 
<!--@Currency код валюты, обязательный-->
 
<Commission Currency="RUB">173.5</Commission>
 
<!--Сборы, обязательный-->
 
<!--@Currency код валюты, обязательный-->
 
<Charges Currency="RUB">0</Charges>
 
</Flight>
 
<!--Информация об агенстве, обязательный-->
 
<Agency Name="">
 
<!--Телефон агентсва, необязательный-->
 
<!--@Type - тип номера, обязательный, возможные значения:
 
M - мобильный,
 
H - домашний,
 
B - рабочий,
 
A - агенство-->
 
<Telephone Type="">
 
<!--Номер телефона, обязательный-->
 
<PhoneNumber></PhoneNumber>
 
<!--Код страны, необязательный-->
 
<CountryAccessCode></CountryAccessCode>
 
<!--Код региона/города, необязательный-->
 
<AreaCityCode></AreaCityCode>
 
</Telephone>
 
<!--Адресс агенства. Обязательный.-->
 
<Address>
 
<!--Город. Обязательный.-->
 
<City></City>
 
<!--Адрес в городе (улица, дом, корпус, офис и т.д.). Необязательный.-->
 
<StreetAddress></StreetAddress>
 
<!--Почтовый индекс. Необязательный.-->
 
<PostalCode></PostalCode>
 
<!--Код страны (RU, UA и т.п.). Необязательный.-->
 
<CountryCode></CountryCode>
 
</Address>
 
</Agency>
 
<!--Маршрут квитанция, необязательный-->
 
<!--@Encoding - кодировка, обязательный-->
 
<!--@Format - формат, обязательный-->
 
<ItinReceipts Encoding="" Format="">
 
<FareStored/>
 
<!--Список пассажиров, обязательный-->
 
<Travellers>
 
<!--@Type тип пассажира, обязательный, возможные значения:
 
ADT - взрослые,
 
CNN - дети со взрослыми,
 
UNN - дети без сопровождения взрослых,
 
INF - младенцы,
 
INS - младенцы с местом-->
 
<!--@IsContact - если true - то данный пассажир является контактным лицом, если false - то не является, контактное лицо может быть только 1, если среди пассажиров есть взрослые, то только кто-то из них может быть контактным лицом, по умолчанию false, обязательный-->
 
<!--@Num - порядковый номер пассажира , начинается с 1, обязательный-->
 
<!--@LinkedTo - номер взрослого, к которому привязан младенец/ребёнок, необязательный-->
 
<Traveller Type="ADT" IsContact="true" Num="1">
 
<!--Код типа питания, необязательный, возможные значения:
 
NONE - отсутствует
 
AVML - Азиатская вегетарианская кухня
 
BLML - Блюда щадящей диеты
 
CHML - Детское питание
 
CHPC - Детский холодный завтрак
 
СНСС - Детский горячий завтрак
 
CHHC - Детский ланч, ветчина и сыр
 
PBJS - Детский ланч, ореховое масло
 
CHMC - Детский обед макароны с сыром
 
DBML - Диабетическое питание
 
FPML - Фрукты
 
GFML - Питание без клейковины
 
HFML - Питание богатое клетчаткой
 
HNML - Индусская кухня
 
BBML - Питание для младенцев
 
KSML - Кошерная кухня
 
SMKB - Кошерный завтрак
 
SMKL - Кошерный ланч
 
SMKD - Кошерный обед
 
LPML - Малобелковое питание
 
LCML - Низкокалорийное питание
 
LFML - Низкохолестериновое питание
 
PRML - Низкопуриновое питание
 
LSML - Малосоленое питание
 
MOML - Мюсли
 
NLML - Безмолочные продукты
 
ORML - Восточная кухня
 
RVML - Сырые овощи
 
SFML - Морепродукты
 
SPML - Особое питание
 
VLML - Вегетарианское, молоко и яйца
 
VGML - Строго вегетарианское питание
 
VJML - Джайнизское вегетарианское
 
VOML - Восточное вегетарианское питание-->
 
<Meal/>
 
<!--Билет, обязательный-->
 
<!--@TickectNum - номер билета, обязательный-->
 
<Ticket TickectNum="0000777751"/>
 
<Seats>
 
<!--Место пассажира в самолёте, обязательный-->
 
<!--@Number - номер места, обязательный-->
 
<!--@Characteristic - характеристика места, необязательный-->
 
<!--@SmokingPreference - статус курения на этом месте, необязательный-->
 
<!--@SegmentNumber - номер сегмента в перелёте, обязательный-->
 
<Seat Number="" Characteristic="" SmokingPreference="" SegmentNumber=""/>
 
<!--Персональные данные, обязательный-->
 
<!--@DateOfBirth - дата рождения в формате dd.mm.yyyy (например 31.12.2000), обязательный-->
 
<!--@Gender - пол пассажира, обязательный, возможные значения:
 
M - мужской(Male)
 
F - женский(Female)-->
 
</Seats>
 
<!--Персональные данные, обязательный-->
 
<!--@DateOfBirth - дата рождения в формате dd.mm.yyyy (например 31.12.2000), обязательный-->
 
<!--@Gender - пол пассажира, обязательный, возможные значения:
 
M - мужской(Male)
 
F - женский(Female)-->
 
<PersonalInfo DateOfBirth="15.05.1975" Gender="M">
 
<!--Имя пассажира, обязательный-->
 
<FirstName>IVAN</FirstName>
 
<!--Фамилия пассажира, обязательный-->
 
<LastName>IVANOV</LastName>
 
<!--Отчество пассажира, обязательный-->
 
<MiddleName/>
 
</PersonalInfo>
 
<!--Карточка часто летающего пассажира, необязательный -->
 
<!--@OpCode -  код авиакомпании, обязательный-->
 
<!--@Number - номер карточки, обязательный -->
 
<LoyaltyCard OpCode="" Number=""/>
 
<!--Контактная информация, необязательный-->
 
<ContactInfo>
 
<!--Контактный email, необязательный-->
 
  <EmailID/>
 
  <!--Контактный телефон, необязательный-->
 
<!--@Type - тип номера, обязательный, возможные значения:
 
M - мобильный,
 
H - домашний,
 
B - рабочий-->
 
<Telephone Type="">
 
  <!--Номер телефона, обязательный-->
 
  <PhoneNumber/>
 
  <!--Код страны, необязательный-->
 
  <CountryAccessCode/>
 
  <!--Код региона/города, необязательный-->
 
  <AreaCityCode/>
 
  </Telephone>
 
</ContactInfo>
 
<!--Паспортные данные, обязательный-->
 
<!--@DocType - тип документа, обязательный, возможные значения:
 
Р - Паспорт
 
A – Паспорт иностранца
 
С - Внутренний гражданский паспорт
 
F – Документ заменяющий паспорт
 
М - Воинское удостоверение
 
N – Сертификат натурализации(специфичный документ США)
 
T – Док.повторного въезда, паспорт беженца
 
V – Документ для пересечения границы-->
 
<!--@DocNum - номер документа, обязательный-->
 
<!--@DocElapsedTime - Срок истечения срока действия паспорта в dd.mm.yyyy (например 31.12.2000), обязательный-->
 
<DocumentInfo DocType="P" DocNum="1234123456" DocElapsedTime="15.06.2025"/>
 
<!--информация о визе, необязательная.(Заполняется через SSR DOCO)
 
@Num - номер визы, обязательный
 
@IssueDate - дата(dd.mm.yyyy) выдачи визы, обязательный
 
@IssueCountry - страна выдачи визы, обязательный
 
@IssuePlace - место выдачи визы, обязательный
 
@BirthCountry - страна рождения(IATA код страны), необязательный
 
@BirthCity - город рождения(название), необязательный
 
-->
 
<VisaInfo/>
 
<!--Адрес прибытия, необязательный.(Заполняется через SSR DOCA)
 
Но для въезжающих в США(неграждан США) информация является обязательной. Если она не заполняется
 
при оформлении брони, то её всё равно придётся заполнить при посадке на самолёт.
 
@CountryCode - Код страны. Обязательный
 
@State - Штат или область въезда. Обязательный
 
@PostalCode - Почтовый код. Обязательный
 
@City - Город. Обязательный
 
@StreetAddress - Адрес: улица, номер дома, квартиры и тп. Обязательный
 
-->
 
<ArrAddress/>
 
<!--Информация о предпочитаемом месте. Если указаны номер ряда и номер места, то параметры @Smoking и @Location игнорируются и могут быть не указаны. Необязательный-->
 
<!--@SmokingAllowed - булевское значение, true - место для курящих, false - место для некурящих, необязательный-->
 
<!--@Location - положение места в ряде, необязательный, возможные значения:
 
W - у окна (Window)
 
M - где-то в середине ряда (Middle)
 
NPW - возле прохода (NearPassengerWay)
 
NS - нет предпочтения (NotSpecified)
 
-->
 
<!--@RowNumber - Номер ряда, строка, необязательный-->
 
<!--@PlaceNumber - Номер места, строка, необязательный-->
 
<!--@SegNumber - Номер сегмента, строка, обязательный-->
 
<PreferedPlace SmokingAllowed="" Location="" RowNumber="" PlaceNumber="" SegNumber=""/>
 
<PreferedPlace/>
 
<DocStringFormats>
 
<!--Формат паспортной строки, обязательный, возможные значения:
 
DOCS - строка формата DOCS,
 
FOID - строка формата FOID-->
 
<DocStringFormat></DocStringFormat>
 
</DocStringFormats>
 
</Traveller>
 
</Travellers>
 
</BookFlight>   
 
</Response>
 
      <!--Авторизация, обязательный-->
 
<!--@ClientId, идентификатор клиента, обязательный-->
 
<!--@APIKey, API ключ клиента, обязательный-->
 
<!--@Language, код языка, обязательный-->
 
<!--@Currency код валюты, обязательный-->
 
            <Source>
 
              <ClientId>102</ClientId>
 
              <APIKey>7F48365D42B73307C99C12A578E92B36</APIKey>
 
              <Language>RU</Language>
 
              <Currency>RUB</Currency>
 
            </Source>
 
        </ResponseBin>
 
      </ver:Ticketing>
 
  </soapenv:Body>
 
</soapenv:Envelope>
 
</syntaxhighlight>
 
  
== Войдирование билета ==
+
== Агентский АПИ возврата авиабилетов ==
Данный запрос запускается после выписки билета, если необходимо его отменить.
 
  
WSDL: http://sys.nemo-ibe.com/nemoflights/wsdl.php?for=VoidTicket
+
*[[Веб-служба возврата билетов]]
 +
** [[Веб-служба возврата билетов#Информация|Информация]]
 +
** [[Веб-служба возврата билетов#Общий формат запроса / ответа получения информации по возврату|Общий формат запроса / ответа получения информации по возврату]]
 +
** [[Веб-служба возврата билетов#Общий формат запроса / ответа возврата билетов|Общий формат запроса / ответа возврата билетов]]
  
'''Пример запроса и ответа:'''
+
== Агентский АПИ дополнительных запросов ==
  
'''REQUEST'''
+
*[[Дополнительные запросы АПИ авиабилетов]]
<syntaxhighlight lang="xml" line enclose="div" style="font-size:9pt;background: #F9F9F9; border: 1px dashed #2F6FAB; padding: 10px 5px; margin: 10px 0;">
+
**[[Дополнительные запросы АПИ авиабилетов#Проверка на доступность|Проверка на доступность]]
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"   
+
**[[Дополнительные запросы АПИ авиабилетов#Получение документа|Получение документа]]
xmlns:ver="http://tst.nemo-ibe.com/nemoflights/?version%3D1.0%26for%3DVoidTicket">
+
**[[Дополнительные запросы АПИ авиабилетов#Создание отложенного заказа в системе Nemo|Создание отложенного заказа в системе Nemo]]
  <soapenv:Header/>
+
**[[Дополнительные запросы АПИ авиабилетов#Запрос на обновление заказа|Запрос на обновление заказа]]
  <soapenv:Body>
+
**[[Дополнительные запросы АПИ авиабилетов#Запрос на модификацию заказа|Запрос на модификацию заказа]]
      <ver:VoidTicket>
+
**[[Дополнительные запросы АПИ авиабилетов#Чтение тарифных правил|Чтение тарифных правил]]
        <RequestBin>
+
**[[Дополнительные запросы АПИ авиабилетов#Запрос на чтение очереди|Запрос на чтение очереди]]
            <Request>
+
**[[Дополнительные запросы АПИ авиабилетов#Запрос на удаление заказа из очереди|Запрос на удаление заказа из очереди]]
      <!--Запрос, обязательный-->
+
**[[Дополнительные запросы АПИ авиабилетов#Запрос на получение семейств тарифов для перелета|Запрос на получение семейств тарифов для перелета]]
      <VoidTicket>
+
**[[Дополнительные запросы АПИ авиабилетов#Запрос на импорт заказа|Запрос на импорт заказа]]
  <!--BookID - Ид брони в системе немо, целое число, обязательный-->
+
**[[Дополнительные запросы АПИ авиабилетов#Запрос на получение изменившихся заказов|Запрос на получение изменившихся заказов]]
  <BookID>20990</BookID>
 
    </Request> 
 
    <!--Авторизация, обязательный-->
 
    <!--@ClientId, идентификатор клиента, обязательный-->
 
    <!--@APIKey, API ключ клиента, обязательный-->
 
    <!--@Language, код языка, обязательный-->
 
    <!--@Currency код валюты, обязательный-->
 
            <Source>
 
              <ClientId>102</ClientId>
 
              <APIKey>7F48365D42B73307C99C12A578E92B36</APIKey>
 
              <Language>RU</Language>
 
              <Currency>RUB</Currency>
 
            </Source>
 
        </RequestBin>
 
      </ver:VoidTicket>
 
  </soapenv:Body>
 
</soapenv:Envelope>
 
</env:Envelope>
 
</syntaxhighlight>
 
  
'''RESPONSE'''
+
== Дополнительная информация по параметрам ==
<syntaxhighlight lang="xml" line enclose="div" style="font-size:9pt;background: #F9F9F9; border: 1px dashed #2F6FAB; padding: 10px 5px; margin: 10px 0;">
 
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
 
xmlns:ver="http://tst.nemo-ibe.com/nemoflights/?version%3D1.0%26for%3DVoidTicket">
 
  <soapenv:Header/>
 
  <soapenv:Body>
 
      <ver:VoidTicket>
 
        <ResponseBin>
 
            <Response>
 
<!--Запрос, обязательный-->
 
<!--@BookID, обязательный-->
 
<VoidTicket BookID="20990">
 
    <!--Result, Отмена выписки, обязательный-->
 
    <!--@Sucscess, Результат отмены выписки, true или false, обязательный-->
 
    <Result Success="true"/>
 
</VoidTicket>
 
    </Response>   
 
    <!--Авторизация, обязательный-->
 
    <!--@ClientId, идентификатор клиента, обязательный-->
 
    <!--@APIKey, API ключ клиента, обязательный-->
 
    <!--@Language, код языка, обязательный-->
 
    <!--@Currency код валюты, обязательный-->
 
            <Source>
 
              <ClientId>102</ClientId>
 
              <APIKey>7F48365D42B73307C99C12A578E92B36</APIKey>
 
              <Language>RU</Language>
 
              <Currency>RUB</Currency>
 
            </Source>
 
        </ResponseBin>
 
      </ver:VoidTicket>
 
  </soapenv:Body>
 
</soapenv:Envelope>
 
</syntaxhighlight>
 
  
== Параметры, используемые в запросах ==
+
<div class="toccolours mw-collapsible mw-collapsed" style="width:1000px">
 +
==== Параметры, используемые в запросах ====
 +
<div class="mw-collapsible-content">
 
<table border="1">
 
<table border="1">
 
<tr bgcolor="#CCCCCC">
 
<tr bgcolor="#CCCCCC">
Строка 949: Строка 77:
 
</tr>
 
</tr>
 
<tr>
 
<tr>
<td>FlightId </td><td class="col1">да </td><td>число</td><td >ИД перелёта для которого будет производится бронирование(поиск тарифных правил, проверка доступности)</td>
+
<td>FlightId </td><td class="col1">да </td><td>число</td><td >Id перелёта для которого будет производится бронирование(поиск тарифных правил, проверка доступности)</td>
</tr>
+
</tr>
 
 
<tr>
 
<td>ValidatingCompany </td><td>нет</td><td>строка </td><td>Код авиакомпании, на бланке которой будет выписываться билет</td>
 
</tr>
 
<tr>
 
<td>BookingCodes </td><td >нет</td><td>сложный </td><td>Список классов авиа перелётов для бронирования. Рекомендуется заполнять, если бронируется перелёт из результатов поиска по расписанию.</td>
 
 
 
</tr>
 
<tr>
 
<td>BookingCode </td><td>да </td><td>сложный </td><td>Класс авиа перелёта для конкретного сегмента перелёта</td>
 
</tr>
 
<tr>
 
<td>Code</td><td>да </td><td>строка </td><td>Литера класса перелёта (Двух буквенный код авиакомпании)</td>
 
 
 
</tr>
 
<tr>
 
<td>SegNumber </td><td class="col1">да </td><td>число </td><td class="col>Номер сегмента</td>
 
</tr>
 
 
<tr>
 
<tr>
 
<td>CurrencyCode </td><td>нет</td><td>строка</td><td>Трёх буквенный код валюты (обязателен для комиссии в валюте)</td>
 
<td>CurrencyCode </td><td>нет</td><td>строка</td><td>Трёх буквенный код валюты (обязателен для комиссии в валюте)</td>
  
</tr>
 
<tr>
 
<td>TicketTimeLimit</td><td>нет </td><td">строка </td><td >Таймлимит выписки, формат: ГГГГ-ММ-ДДTЧЧ:мм:СС. Используется для установки своего собственного таймлимита вручную</td>
 
 
</tr>
 
</tr>
 
<tr>
 
<tr>
Строка 1026: Строка 133:
 
</tr>
 
</tr>
 
<tr class="row24">
 
<tr class="row24">
<td>Type</td><td>да</td><td>строка</td><td>Тип пассажира возможные значения: ADT - взрослые, CNN - дети со взрослыми, UNN - дети без сопровождения взрослых, INF - младенцы,INS - младенцы с местом</td>
+
<td>Type</td><td>да</td><td>строка</td><td>Тип пассажира возможные значения: ADT - взрослые, CNN - дети, UNN - дети без сопровождения взрослых, INF - младенцы, INS - младенцы с местом</td>
  
 
</tr>
 
</tr>
Строка 1033: Строка 140:
 
</tr>
 
</tr>
 
<tr class="row26">
 
<tr class="row26">
<td class="col0">LinkedTo </td><td class="col1">нет </td><td class="col2">целое число </td><td class="col3">Номер взрослого, к которому привязан младенец/ребёнок</td>
+
<td class="col0">LinkedTo </td><td class="col1">нет </td><td class="col2">целое число </td><td class="col3">Номер взрослого, к которому привязан младенец/ребёнок (привязка ребёнка ко взрослому является опциональной)</td>
  
 
</tr>
 
</tr>
Строка 1175: Строка 282:
 
</tr>
 
</tr>
 
<tr class="row68">
 
<tr class="row68">
<td class="col0">QueueNum </td><td class="col1">нет </td><td class="col2">строка</td><td class="col3">Номер очереди, в которую необходимо поместить бронирование (Специфична для поставщика).</td>
+
<td class="col0">CancelBook</td><td class="col1">да</td><td class="col2">сложный</td><td class="col3">Контейнер для тела запроса отмены брони</td>
 
 
 
</tr>
 
</tr>
 
<tr class="row69">
 
<tr class="row69">
<td class="col0">CancelBook</td><td class="col1">да</td><td class="col2">сложный</td><td class="col3">Контейнер для тела запроса отмены брони</td>
 
</tr>
 
<tr class="row70">
 
 
<td class="col0">BookID</td><td class="col1">да</td><td class="col2">число</td><td class="col3">Номер брони, которая будет отменяться (для которой будет производится выписка, отмена выписки)</td>
 
<td class="col0">BookID</td><td class="col1">да</td><td class="col2">число</td><td class="col3">Номер брони, которая будет отменяться (для которой будет производится выписка, отмена выписки)</td>
  
 
</tr>
 
</tr>
<tr class="row71">
+
<tr class="row70">
 
<td class="col0">GetAirRules</td><td class="col1">да</td><td class="col2">сложный</td><td class="col3">Контейнер для тела запроса поиска тарифных правил</td>
 
<td class="col0">GetAirRules</td><td class="col1">да</td><td class="col2">сложный</td><td class="col3">Контейнер для тела запроса поиска тарифных правил</td>
 
</tr>
 
</tr>
<tr class="row72">
+
<tr class="row71">
 
<td class="col0">AirAvail</td><td class="col1">да</td><td class="col2">сложный</td><td class="col3">Контейнер для тела запроса проверки доступности перелёта</td>
 
<td class="col0">AirAvail</td><td class="col1">да</td><td class="col2">сложный</td><td class="col3">Контейнер для тела запроса проверки доступности перелёта</td>
  
 
</tr>
 
</tr>
<tr class="row73">
+
<tr class="row72">
 
<td class="col0">Ticketing</td><td class="col1">да</td><td class="col2">сложный</td><td class="col3">Контейнер для тела запроса выписки брони</td>
 
<td class="col0">Ticketing</td><td class="col1">да</td><td class="col2">сложный</td><td class="col3">Контейнер для тела запроса выписки брони</td>
 
</tr>
 
</tr>
<tr class="row74">
+
<tr class="row73">
 
<td class="col0">ValCompany</td><td class="col1">нет</td><td class="col2">строка</td><td class="col3">Валидирующий перевозчик, на бланке которого выписывается билет</td>
 
<td class="col0">ValCompany</td><td class="col1">нет</td><td class="col2">строка</td><td class="col3">Валидирующий перевозчик, на бланке которого выписывается билет</td>
  
 
</tr>
 
</tr>
<tr class="row75">
+
<tr class="row74">
 
<td class="col0">Comission</td><td class="col1">нет</td><td class="col2">сложный</td><td class="col3">Комиссия</td>
 
<td class="col0">Comission</td><td class="col1">нет</td><td class="col2">сложный</td><td class="col3">Комиссия</td>
 
</tr>
 
</tr>
<tr class="row76">
+
<tr class="row75">
 
<td class="col0">Amount</td><td class="col1">нет</td><td class="col2">число с плавающей точкой</td><td class="col3">Значение комиссии в валюте, если указано, то комиссия в процентах игнорируется</td>
 
<td class="col0">Amount</td><td class="col1">нет</td><td class="col2">число с плавающей точкой</td><td class="col3">Значение комиссии в валюте, если указано, то комиссия в процентах игнорируется</td>
  
 
</tr>
 
</tr>
<tr class="row77">
+
<tr class="row76">
 
<td class="col0">Percent</td><td class="col1">нет</td><td class="col2">число</td><td class="col3">Комиссия в процентах</td>
 
<td class="col0">Percent</td><td class="col1">нет</td><td class="col2">число</td><td class="col3">Комиссия в процентах</td>
 
</tr>
 
</tr>
<tr class="row78">
+
<tr class="row77">
 
<td class="col0">VoidTicket</td><td class="col1">да</td><td class="col2">сложный</td><td class="col3">Контейнер для тела запроса отмены выписки брони</td>
 
<td class="col0">VoidTicket</td><td class="col1">да</td><td class="col2">сложный</td><td class="col3">Контейнер для тела запроса отмены выписки брони</td>
  
 
</tr>
 
</tr>
<tr class="row79">
+
<tr class="row78">
 
<td class="col0">Search</td><td class="col1">да</td><td class="col2">сложный</td><td class="col3">Контейнер для тела запроса поиска</td>
 
<td class="col0">Search</td><td class="col1">да</td><td class="col2">сложный</td><td class="col3">Контейнер для тела запроса поиска</td>
 
</tr>
 
</tr>
<tr class="row80">
+
<tr class="row79">
 
<td class="col0">ODPairs</td><td class="col1">да</td><td class="col2">сложный</td><td class="col3">Контейнер для информации о перелёте</td>
 
<td class="col0">ODPairs</td><td class="col1">да</td><td class="col2">сложный</td><td class="col3">Контейнер для информации о перелёте</td>
  
 
</tr>
 
</tr>
<tr class="row81">
+
<tr class="row80">
 
<td class="col0">Type</td><td class="col1">да</td><td class="col2">строка</td><td class="col3">Тип перелёта, возможные значения: OW - в одну сторону, RT - туда-обратно, CR - сложный маршрут</td>
 
<td class="col0">Type</td><td class="col1">да</td><td class="col2">строка</td><td class="col3">Тип перелёта, возможные значения: OW - в одну сторону, RT - туда-обратно, CR - сложный маршрут</td>
 
</tr>
 
</tr>
<tr class="row82">
+
<tr class="row81">
 
<td class="col0">Direct</td><td class="col1">нет</td><td class="col2">булевский</td><td class="col3">Индикатор, указывающий какие перелёты искать, только прямые или с пересадками, возможные значения: false - с пересадками, true - только прямые. Если не указан, значение по умолчанию false.</td>
 
<td class="col0">Direct</td><td class="col1">нет</td><td class="col2">булевский</td><td class="col3">Индикатор, указывающий какие перелёты искать, только прямые или с пересадками, возможные значения: false - с пересадками, true - только прямые. Если не указан, значение по умолчанию false.</td>
 
</tr>
 
</tr>
<tr class="row83">
+
<tr class="row82">
 
<td class="col0">AroundDates</td><td class="col1">нет</td><td class="col2">число</td><td class="col3">Включает поиск по окружным датам, количество дней +/- от даты заезда/возвращения. Применим только для типов перелёта в одну сторону(OW) и туда-обратно(RT). Возможные значения: 0, 1, 2, 3</td>
 
<td class="col0">AroundDates</td><td class="col1">нет</td><td class="col2">число</td><td class="col3">Включает поиск по окружным датам, количество дней +/- от даты заезда/возвращения. Применим только для типов перелёта в одну сторону(OW) и туда-обратно(RT). Возможные значения: 0, 1, 2, 3</td>
 
</tr>
 
</tr>
<tr class="row84">
+
<tr class="row83">
 
<td class="col0">ODPair</td><td class="col1">да</td><td class="col2">сложный</td><td class="col3">Контейнер для информации о сегменте перелёта. Может повторяться 1-6 раз. Поиск по расписанию использует только первый сегмент, поиск сложных перелётов и перелётов туда и обратно не поддерживается</td>
 
<td class="col0">ODPair</td><td class="col1">да</td><td class="col2">сложный</td><td class="col3">Контейнер для информации о сегменте перелёта. Может повторяться 1-6 раз. Поиск по расписанию использует только первый сегмент, поиск сложных перелётов и перелётов туда и обратно не поддерживается</td>
  
 
</tr>
 
</tr>
<tr class="row85">
+
<tr class="row84">
 
<td class="col0">DepDate</td><td class="col1">да</td><td class="col2">строка</td><td class="col3">Дата вылета, Формат ГГГГ-MM-DDTЧЧ:ММ:СС</td>
 
<td class="col0">DepDate</td><td class="col1">да</td><td class="col2">строка</td><td class="col3">Дата вылета, Формат ГГГГ-MM-DDTЧЧ:ММ:СС</td>
 
</tr>
 
</tr>
<tr class="row86">
+
<tr class="row85">
 
<td class="col0">DepAirp</td><td class="col1">да</td><td class="col2">строка</td><td class="col3">Трёх буквенный код города отправления или конкретного аэропорта в городе отправления.</td>
 
<td class="col0">DepAirp</td><td class="col1">да</td><td class="col2">строка</td><td class="col3">Трёх буквенный код города отправления или конкретного аэропорта в городе отправления.</td>
  
 
</tr>
 
</tr>
<tr class="row87">
+
<tr class="row86">
 
<td class="col0">ArrAirp</td><td class="col1">да</td><td class="col2">строка</td><td class="col3">Трёх буквенный код города прибытия или конкретного аэропорта в городе прибытия.</td>
 
<td class="col0">ArrAirp</td><td class="col1">да</td><td class="col2">строка</td><td class="col3">Трёх буквенный код города прибытия или конкретного аэропорта в городе прибытия.</td>
 
</tr>
 
</tr>
<tr class="row88">
+
<tr class="row87">
 
<td class="col0">Count</td><td class="col1">да</td><td class="col2">число</td><td class="col3">Число пассажиров данного типа. Общее количество пассажиров всех типов должно быть не более 9.</td>
 
<td class="col0">Count</td><td class="col1">да</td><td class="col2">число</td><td class="col3">Число пассажиров данного типа. Общее количество пассажиров всех типов должно быть не более 9.</td>
  
 
</tr>
 
</tr>
<tr class="row89">
+
<tr class="row88">
 
<td class="col0">Restrictions</td><td class="col1">нет</td><td class="col2">сложный</td><td class="col3">Контейнер дополнительной информации для поиска.</td>
 
<td class="col0">Restrictions</td><td class="col1">нет</td><td class="col2">сложный</td><td class="col3">Контейнер дополнительной информации для поиска.</td>
 
</tr>
 
</tr>
<tr class="row90">
+
<tr class="row89">
 
<td class="col0">ClassPref</td><td class="col1">нет</td><td class="col2">строка</td><td class="col3">Предпочитаемый класс перелёта, возможные значения: All - все, Economy - эконом, Business - бизнес, First - первый. Если не указан, то по умолчанию All.</td>
 
<td class="col0">ClassPref</td><td class="col1">нет</td><td class="col2">строка</td><td class="col3">Предпочитаемый класс перелёта, возможные значения: All - все, Economy - эконом, Business - бизнес, First - первый. Если не указан, то по умолчанию All.</td>
  
 
</tr>
 
</tr>
<tr class="row91">
+
<tr class="row90">
 
<td class="col0">OnlyAvail</td><td class="col1">нет</td><td class="col2">булевский</td><td class="col3">Искать только доступные, возможные значения: true - только доступные, false - все. Если не указан, то по умолчанию false.</td>
 
<td class="col0">OnlyAvail</td><td class="col1">нет</td><td class="col2">булевский</td><td class="col3">Искать только доступные, возможные значения: true - только доступные, false - все. Если не указан, то по умолчанию false.</td>
 
</tr>
 
</tr>
<tr class="row92">
+
<tr class="row91">
 
<td class="col0">AirVPrefs</td><td class="col1">нет</td><td class="col2">сложный</td><td class="col3">Обёртка для списка авиакомпаний, по которым будет или не будет проводиться поиск.</td>
 
<td class="col0">AirVPrefs</td><td class="col1">нет</td><td class="col2">сложный</td><td class="col3">Обёртка для списка авиакомпаний, по которым будет или не будет проводиться поиск.</td>
  
 
</tr>
 
</tr>
<tr class="row93">
+
<tr class="row92">
 
<td class="col0">AirVPref</td><td class="col1">да</td><td class="col2">сложный</td><td class="col3">Информация об авиакомпании.</td>
 
<td class="col0">AirVPref</td><td class="col1">да</td><td class="col2">сложный</td><td class="col3">Информация об авиакомпании.</td>
 
</tr>
 
</tr>
<tr class="row94">
+
<tr class="row93">
 
<td class="col0">Include</td><td class="col1">нет</td><td class="col2">булевский</td><td class="col3">Индикатор, показывающий включить или исключить в результатах поиска перелёты данной авиакомпании: true - включить, false - исключить. Если не указан, то по умолчанию false.</td>
 
<td class="col0">Include</td><td class="col1">нет</td><td class="col2">булевский</td><td class="col3">Индикатор, показывающий включить или исключить в результатах поиска перелёты данной авиакомпании: true - включить, false - исключить. Если не указан, то по умолчанию false.</td>
  
 
</tr>
 
</tr>
<tr class="row95">
+
<tr class="row94">
 
<td class="col0">IncludePrivateFare</td><td class="col1">нет</td><td class="col2">булевский</td><td class="col3">Включать приватные цены в результат или нет, возможные значения: true - включать, false - не включать. Если не указан, то по умолчанию false.</td>
 
<td class="col0">IncludePrivateFare</td><td class="col1">нет</td><td class="col2">булевский</td><td class="col3">Включать приватные цены в результат или нет, возможные значения: true - включать, false - не включать. Если не указан, то по умолчанию false.</td>
 
</tr>
 
</tr>
<tr class="row96">
+
<tr class="row95">
 
<td class="col0">ServiceTypes</td><td class="col1">нет</td><td class="col2">сложный хмл</td><td class="col3">Контейнер массива используемых веб-сервисов при поиске.</td>
 
<td class="col0">ServiceTypes</td><td class="col1">нет</td><td class="col2">сложный хмл</td><td class="col3">Контейнер массива используемых веб-сервисов при поиске.</td>
  
 +
</tr>
 +
<tr class="row96">
 +
<td class="col0">ServiceType</td><td class="col1">нет</td><td class="col2">строка</td><td class="col3">Тип веб-сервиса(поставщика). При указании нескольких элементов ServiceType поиск будет проведён для каждого сервиса. Возможные значения: Sirena2000 - поиск в Сирене; SirenaSchedule - поиск в Сирене по расписанию; SabreLFS - поиск в Сэйбр LFS; SabreBFM - поиск в Сэйбр BFM; SabreSchedule - поиск Сэйбр по расписанию; Galileo - поиск в Галилео; AmadeusMPTBS - поиск в Амадеус.</td>
 
</tr>
 
</tr>
 
<tr class="row97">
 
<tr class="row97">
<td class="col0">ServiceType</td><td class="col1">нет</td><td class="col2">строка</td><td class="col3">Тип веб-сервиса(поставщика). При указании нескольких элементов ServiceType поиск будет проведён для каждого сервиса. Возможные значения: Sirena2000 - поиск в Сирене; SirenaSchedule - поиск в Сирене по расписанию; SabreLFS - поиск в Сэйбр LFS; SabreBFM - поиск в Сэйбр BFM; SabreSchedule - поиск Сэйбр по расписанию; Galileo - поиск в Галилео; AmadeusMPTBS - поиск в Амадеус.</td>
+
<td class="col0">DataItems</td><td class="col1">нет</td><td class="col2">сложный</td><td class="col3">Уницифированный блок данных для хранения различного контента брони.</td>
 +
</tr>
 +
<tr class="row98">
 +
<td class="col0">DataItem</td><td class="col1">нет</td><td class="col2">сложный</td><td class="col3">Контейнер для определенного типа передаваемой с запросом выписки информации.</td>
 +
</tr>
 +
<tr class="row99">
 +
<td class="col0">Remark</td><td class="col1">нет</td><td class="col2">сложный</td><td class="col3">Контейнер для записи ремарок.</td>
 +
</tr>
 +
<tr class="row100">
 +
<td class="col0">Type</td><td class="col1">нет</td><td class="col2">строка</td><td class="col3">Тип ремарки. Может принимать значения: General, Itinerary, Invoice, Historical, QueueControl, Vendor, NemoInternal, Confidential, MiniItinerary.</td>
 +
</tr>
 +
<tr class="row101">
 +
<td class="col0">Text</td><td class="col1">нет</td><td class="col2">строка</td><td class="col3">Содержание ремаркаи.</td>
 
</tr>
 
</tr>
 
</table>
 
</table>
 +
</div>
 +
</div>
  
== Параметры, используемые в ответах ==
+
<div class="toccolours mw-collapsible mw-collapsed" style="width:1000px">
 +
 
 +
==== Параметры, используемые в ответах ====
 +
<div class="mw-collapsible-content">
 
<table border="1">
 
<table border="1">
  
Строка 1291: Строка 414:
 
</tr>
 
</tr>
 
<tr class="row2">
 
<tr class="row2">
<td class="col0">ID </td><td class="col1">да </td><td class="col2">число</td><td class="col3">Номер бронирования в системе Немо.</td>
+
<td class="col0">ID </td><td class="col1">да </td><td class="col2">число</td><td class="col3">Номер бронирования в системе Nemo.</td>
 
</tr>
 
</tr>
 
<tr class="row3">
 
<tr class="row3">
Строка 1494: Строка 617:
 
</tr>
 
</tr>
 
<tr class="row60">
 
<tr class="row60">
<td class="col0">BookingCodes</td><td class="col1">да</td><td class="col2">сложный</td><td class="col3">Контейнер для классов перелёта</td>
+
<td class="col0">BookingCodes</td><td class="col1">да</td><td class="col2">сложный</td><td class="col3">Контейнер для классов перелёта.</td>
 
</tr>
 
</tr>
 
<tr class="row61">
 
<tr class="row61">
<td class="col0">BookingCode</td><td class="col1">да</td><td class="col2">строка</td><td class="col3">Код класса перелёта. Если производится поиск по расписанию, то может встречаться несколько раз.</td>
+
<td class="col0">BookingCode</td><td class="col1">да</td><td class="col2">строка</td><td class="col3">Код класса перелёта. Если производится поиск по расписанию, то может встречаться несколько раз. Содержит информацию о классе перелета определенного сегмента.</td>
  
 
</tr>
 
</tr>
Строка 1515: Строка 638:
 
</tr>
 
</tr>
 
<tr class="row66">
 
<tr class="row66">
<td class="col0">ETicket</td><td class="col1">да</td><td class="col2">булевский</td><td class="col3 rightalign"> Индикатор электронного билета,  возможные значения: true - билет является электронным, false - билет не является электронным.</td>
+
<td class="col0">ETicket</td><td class="col1">да</td><td class="col2">булевский</td><td class="col3 rightalign">Индикатор электронного билета,  возможные значения: true - билет является электронным, false - билет не является электронным.</td>
 
</tr>
 
</tr>
 
<tr class="row67">
 
<tr class="row67">
Строка 1595: Строка 718:
 
</tr>
 
</tr>
 
<tr class="row89">
 
<tr class="row89">
<td class="col0">LastTicketDateTime</td><td class="col1">да</td><td class="col2">строка</td><td class="col3">Дата и время таймлимита по выписке в формате ГГГГ-MM-ДДTЧЧ:ММ:СС. Если бронирование не будет аннулировано или выписано до этого времени, то могут быть применены штрафы.</td>
+
<td class="col0">LastTicketDateTime</td><td class="col1">да</td><td class="col2">строка</td><td class="col3">Дата и время таймлимита по выписке в формате ГГГГ-MM-ДДTЧЧ:ММ:СС по московскому времени. Если бронирование не будет аннулировано или выписано до этого времени, то могут быть применены штрафы.</td>
  
 
</tr>
 
</tr>
 
</table>
 
</table>
 +
</div>
 +
</div>
  
 +
{{Attention|В системе реализован усовершенствованный API-проект «Nemo Connect», настоятельно рекомендуем подключаться по схеме, описанной в документации по [http://docs.nemo.travel/ ссылке]}}
 
== См. также ==
 
== См. также ==
 
+
*[http://docs.nemo.travel Nemo Connect]
*[[Односторонний перелет]]
+
*[[Агентский интерфейс прикладного программирования (Агентский API)]]
*[[Односторонний перелет. Бронирование]]
+
*[[Агентский API Отели]]
*[[Подключение и просмотр результатов]]
 
*[[Перелет туда-обратно]]
 
*[[Сложный маршрут]]
 
*[[АПИ]]
 
*[[Агентский API Отелей]]
 
 
*[[Бронирование]]
 
*[[Бронирование]]
 
*[[Электронный билет]]
 
*[[Электронный билет]]

Текущая версия на 10:47, 27 января 2020

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

Схема использования агентского API (workflow)

Для авторизации в системе, в запросе необходимо указать APIKey и ClientID. Эти данные можно узнать в разделе Администрирование - Веб-сервис. Авторизация. Там же можно включить/выключить нотификацию для действий, совершенных через АПИ.

Необходимо придерживаться рекомендованной схемы использования API. Если вы планируете отступать от этой схемы - пожалуйста, согласуйте отклонения от нее со службой технической поддержки.

Внимание! Пользователь и агентство из Немо Тревел 2.0 и Немо Тревел 1.0 должны соответствовать друг другу.

Агентский АПИ поиска авиабилетов

Агентский АПИ бронирования авиабилетов

Агентский АПИ выписки

Агентский АПИ Оплаты

Агентский АПИ возврата авиабилетов

Агентский АПИ дополнительных запросов

Дополнительная информация по параметрам

Параметры, используемые в запросах

Имя элемента Обязательный Тип Описание
BookFlight да сложный Контейнер для тела запроса бронирования
FlightId да числоId перелёта для которого будет производится бронирование(поиск тарифных правил, проверка доступности)
CurrencyCode нетстрокаТрёх буквенный код валюты (обязателен для комиссии в валюте)
Agency да сложный Информация об агентстве
Name да строка Название агентства
Telephone нет сложный Контактный телефон агентства
Typeда строка Тип номера, возможные значения: M - мобильный, H - домашний, B - рабочий, A - агентство
PhoneNumber да строка Номер телефона
CountryAccessCode нет строка Код страны
AreaCityCode нет строкаКод региона/города
Addressда сложный Адрес агентства
Cityда строка Город, в котором расположено агентство
StreetAddress нет сложный Адрес агентства в городе (улица, дом, корпус, офис и т.д.)
PostalCode нет строка Почтовый код, индекс.
CountryCode нет строка Код страны (RU, UA, US и т.д.)
Travellers да сложный Контейнер для информации о пассажирах (для которых будет производится поиск перелёта, бронирование)
Traveller да сложный Информация о пассажире
TypeдастрокаТип пассажира возможные значения: ADT - взрослые, CNN - дети, UNN - дети без сопровождения взрослых, INF - младенцы, INS - младенцы с местом
IsContact нетбулевский Индикатор показывающий является ли данное лицо контактным, возможные значение: true - пассажир является контактным лицом, false - не является. Контактное лицо может быть только одно, если среди пассажиров есть взрослые, то только кто-то из них может быть контактным лицом. Если не указано, то по умолчанию false.
LinkedTo нет целое число Номер взрослого, к которому привязан младенец/ребёнок (привязка ребёнка ко взрослому является опциональной)
Num да число Номер пассажира.
PreferedPlace нет сложный Информация о предпочитаемом месте. Если указаны номер ряда и номер места, то параметры Smoking и Location игнорируются и могут быть не указаны.
SmokingAllowed нет булевский true - место для курящих, false - место для некурящих. По умолчанию false.
Location нет строка Расположение места, возможные значения: W - у окна (Window); M - где-то в середине ряда (Middle); NPW - возле прохода (NearPassengerWay); NS - нет предпочтения (NotSpecified).
RowNumberнетстрока Номер ряда
PlaceNumber нет строка Номер места
SegNumber да строка Номер сегмента
DocumentInfo да сложный Паспортные данные
DocType да строка Тип документа, обязательный.
DocNum да строка Номер документа
CountryCode да строка Страна выдачи, двух буквенный код(RU, US и т.д.)
DocElapsedTimeда строка Срок истечения срока действия паспорта в фирмате dd.mm.yyyy (например 31.12.2012)
VisaInfo нет сложный Информация о визе
Num да строка Номер визы
IssueDate да строка Дата выдачи визы в формате dd.mm.yyyy
IssueCountry да строка Страна выдачи визы
IssuePlace да строка Место выдачи визы
BirthCountry нет строка Страна рождения (IATA код страны)
BirthCity нетстрокаГород рождения (название)
ArrAddress нет сложный Адрес прибытия, для въезжающих в США (не граждан США) информация является обязательной. Если она не заполняется при оформлении брони, то её всё равно придётся заполнять при посадке на самолёт.
CountryCode да строка IATA код страны
State да строка Штат или область въезда
PostalCode да строка Почтовый код
City да строка Город
StreetAddress да строка Адрес: улица, номер дома, квартиры и тп
DocStringFormats нет сложный Список форматов строк паспортных данных, которые будут отправлены в дополнение к стандартным.
DocStringFormat да строка Формат данных, возможные значения: DOCS - строка формата DOCS, FOID - строка формата FOID. Установка данных в формате DOCS как правило необходима для последующей выписки в BSP среде. Установка FOID - всреде ТКП.
PersonalInfo да сложный Персональные данные пассажира
DateOfBirthда строка Дата рождения в формате dd.mm.yyyy (например 31.12.2000)
Nationality да строка Национальность/гражданство, двух буквенный код страны (RU, UA, US и т.д.)
Gender да строка Пол пассажира, обязательный, возможные значения: M - мужской(Male); F - женский(Female).
FirstName да строка Имя пассажира
LastName да строка Фамилия пассажира
BMiddleName да строка Отчество пассажира
Meal нетстрока Код типа питания, возможные значения: NONE - отсутствует (по умолчанию); AVML - Азиатская вегетарианская кухня; BLML - Блюда щадящей диеты; CHML - Детское питание; CHPC - Детский холодный завтрак; СНСС - Детский горячий завтрак; CHHC - Детский ланч, ветчина и сыр; PBJS - Детский ланч, ореховое масло; CHMC - Детский обед макароны с сыром; DBML - Диабетическое питание; FPML - Фрукты; GFML - Питание без клейковины; HFML - Питание богатое клетчаткой; HNML - Индусская кухня; BBML - Питание для младенцев; KSML - Кошерная кухня; SMKB - Кошерный завтрак; SMKL - Кошерный ланч; SMKD - Кошерный обед; LPML - Малобелковое питание; LCML - Низкокалорийное питание; LFML - Низкохолестериновое питание; PRML - Низкопуриновое питание; LSML - Малосоленое питание; MOML - Мюсли; NLML - Безмолочные продукты; ORML - Восточная кухня; RVML - Сырые овощи; SFML - Морепродукты; SPML - Особое питание; VLML - Вегетарианское, молоко и яйца; VGML - Строго вегетарианское питание; VJML - Джайнизское вегетарианское; VOML - Восточное вегетарианское питание.
LoyaltyCard нет сложный Карточка часто летающего пассажира
OpCode да строка IATA код компании авиаперевозчика
Number да строка Номер карточки
ContactInfoнет сложный Контактная информация для пассажира
EmailID нет строка Контактный email
Telephone нет сложный Контактный телефон пассажира, описание аналогично описанию телефона агентства
CancelBookдасложныйКонтейнер для тела запроса отмены брони
BookIDдачислоНомер брони, которая будет отменяться (для которой будет производится выписка, отмена выписки)
GetAirRulesдасложныйКонтейнер для тела запроса поиска тарифных правил
AirAvailдасложныйКонтейнер для тела запроса проверки доступности перелёта
TicketingдасложныйКонтейнер для тела запроса выписки брони
ValCompanyнетстрокаВалидирующий перевозчик, на бланке которого выписывается билет
ComissionнетсложныйКомиссия
Amountнетчисло с плавающей точкойЗначение комиссии в валюте, если указано, то комиссия в процентах игнорируется
PercentнетчислоКомиссия в процентах
VoidTicketдасложныйКонтейнер для тела запроса отмены выписки брони
SearchдасложныйКонтейнер для тела запроса поиска
ODPairsдасложныйКонтейнер для информации о перелёте
TypeдастрокаТип перелёта, возможные значения: OW - в одну сторону, RT - туда-обратно, CR - сложный маршрут
DirectнетбулевскийИндикатор, указывающий какие перелёты искать, только прямые или с пересадками, возможные значения: false - с пересадками, true - только прямые. Если не указан, значение по умолчанию false.
AroundDatesнетчислоВключает поиск по окружным датам, количество дней +/- от даты заезда/возвращения. Применим только для типов перелёта в одну сторону(OW) и туда-обратно(RT). Возможные значения: 0, 1, 2, 3
ODPairдасложныйКонтейнер для информации о сегменте перелёта. Может повторяться 1-6 раз. Поиск по расписанию использует только первый сегмент, поиск сложных перелётов и перелётов туда и обратно не поддерживается
DepDateдастрокаДата вылета, Формат ГГГГ-MM-DDTЧЧ:ММ:СС
DepAirpдастрокаТрёх буквенный код города отправления или конкретного аэропорта в городе отправления.
ArrAirpдастрокаТрёх буквенный код города прибытия или конкретного аэропорта в городе прибытия.
CountдачислоЧисло пассажиров данного типа. Общее количество пассажиров всех типов должно быть не более 9.
RestrictionsнетсложныйКонтейнер дополнительной информации для поиска.
ClassPrefнетстрокаПредпочитаемый класс перелёта, возможные значения: All - все, Economy - эконом, Business - бизнес, First - первый. Если не указан, то по умолчанию All.
OnlyAvailнетбулевскийИскать только доступные, возможные значения: true - только доступные, false - все. Если не указан, то по умолчанию false.
AirVPrefsнетсложныйОбёртка для списка авиакомпаний, по которым будет или не будет проводиться поиск.
AirVPrefдасложныйИнформация об авиакомпании.
IncludeнетбулевскийИндикатор, показывающий включить или исключить в результатах поиска перелёты данной авиакомпании: true - включить, false - исключить. Если не указан, то по умолчанию false.
IncludePrivateFareнетбулевскийВключать приватные цены в результат или нет, возможные значения: true - включать, false - не включать. Если не указан, то по умолчанию false.
ServiceTypesнетсложный хмлКонтейнер массива используемых веб-сервисов при поиске.
ServiceTypeнетстрокаТип веб-сервиса(поставщика). При указании нескольких элементов ServiceType поиск будет проведён для каждого сервиса. Возможные значения: Sirena2000 - поиск в Сирене; SirenaSchedule - поиск в Сирене по расписанию; SabreLFS - поиск в Сэйбр LFS; SabreBFM - поиск в Сэйбр BFM; SabreSchedule - поиск Сэйбр по расписанию; Galileo - поиск в Галилео; AmadeusMPTBS - поиск в Амадеус.
DataItemsнетсложныйУницифированный блок данных для хранения различного контента брони.
DataItemнетсложныйКонтейнер для определенного типа передаваемой с запросом выписки информации.
RemarkнетсложныйКонтейнер для записи ремарок.
TypeнетстрокаТип ремарки. Может принимать значения: General, Itinerary, Invoice, Historical, QueueControl, Vendor, NemoInternal, Confidential, MiniItinerary.
TextнетстрокаСодержание ремаркаи.

Параметры, используемые в ответах

Имя элемента Обязательный Тип Описание
BookFlightResult да сложный Контейнер для тела ответа бронирования
ID да числоНомер бронирования в системе Nemo.
Status да строка Статус брони, возможные значения: booked - забронировано, canceled - бронь отменена, ticket - выписана; UNDEFINED - статус не определён.
Code да строка Номер бронирования в системе поставщика (в sabre, sirena и т.д.)/код тарифного правила
QueryPlace нет сложный Очередь, в которую помещено бронирование
Number да число Номер очереди
Flight да сложный Перелёт, по которому была сделана бронь (Результаты проверки доступности для перелёта)
Agency да сложный Информация об агентстве
ItinReceiptsнет сложный Маршрут квитанция. Содержит строку в кодировки Encoding (как правило в base64), представляющую маршрут квитанцию в формате Format.
Encoding да строка Кодировка
Format да строкаФормат
Travellersда сложный Контейнер для информации о пассажирах
Traveller да сложный Информация о пассажире
Ticket нет сложный Билет пассажира.
TickectNum да строка Номер билета
Seatsнет сложный Контейнер мест пассажира.
Seat да сложный Место в самолёте
Number да строкаНомер места(ряд+номер в ряду)
Characteristic нетстрока Характеристика места в соответствии со стандартом EDIFACT. См справочник “Таблица характеристик мест”.
SmokingPreference нет строка Статус курения на этом месте, если Y - место для курящих, если N - место для некурящих.
SegmentNumber да число Номер сегмента
PersonalInfo да сложный Личные данные
LoyaltyCard нет сложный Карточка часто летающего пассажира
ContactInfo нет сложный Контактная информация для пассажира
FareStored нет срока: Yes/No Указывает установлена ли / гарантируется ли цена у поставщика. Если параметр отсутствует в ответе, то по умолчанию значение “Yes”.
CancelBookResultдасложныйКонтейнер для тела ответа отмены брони
BookIDдачислоНомер брони, которая отменялась (Номер выписанной брони, выписка которой отменялась)
ResultдасложныйРезультат отмены (войдирования)
SuccessдабулевскийИндикатор, показывающий успешно или нет прошла отмена, возможные значения: true - успешно отменена (войдирование); false - не отменена
GetAirRulesResultдасложныйКонтейнер для тела ответа поиска тарифных правил
FlightIdдачислоНомер перелёта, для которого найдены тарифные правила (будет проводилась проверка доступности)
RulesдасложныйКонтейнер для правил
RuleдасложныйПравило
TarrifдастрокаКод тарифа, для которого правило применяется
NameдастрокаИмя правила
RuleTextдастрокаТекст правила
AirAvailResultдасложныйКонтейнер для тела ответа помещения брони в очередь
IsAvailдабулевскийИндикатор, показывающий доступность перелёта, возможные значения: true - доступен; false - недоступен
VoidTicketResultдасложныйКонтейнер для тела ответа отмены выписки брони
SearchResultнетсложныйКонтейнер тела ответа для результатов поиска.
FlightsдасложныйКонтейнер для перелётов
FlightнетсложныйПредставляет информацию о перелёте. Отсутствует если перелётов не найдено (используется в поисковом ответе)
WebServiceдастрокаВеб-сервис (поставщик) от которого был получен перелёт.
ValCompanyнетстрокаIATA код авиакомпании. Валидирующий перевозчик, на бланках которого должен выписываться билет.
SegmentsдасложныйКонтейнер для сегментов перелёта
SegmentдасложныйПредставляет информацию о сегменте
SegNumдачислоНомер сегмента в перелёте
DepAirpдастрокаIATA код аэропорта отправления
DepTerminalнетстрокаКод терминала отправления
ArrAirpдастрокаIATA код аэропорта прибытия
ArrTerminalнетстрокаКод терминала прибытия
OpAirlineдастрокаКод авиакомпании, выполняющей рейс
MarkAirlineдастрокаКод авиакомпании, продающей билет
FlightNumberдачислоНомер рейса
AircraftTypeдастрокаКод типа самолёта
DepDateTimeдастрокаДата и время отправления, формат ГГГГ-MM-ДДTЧЧ:ММ:СС
ArrDateTimeдастрокаДата и время прибытия, формат ГГГГ-MM-ДДTЧЧ:ММ:СС
StopNumдачислоЧисло остановок
MealдастрокаТип питания, возможные значения: UNDEFINED - неизвестно; N - Нет питания; P - Алкогольные напитки в продаже; B - Завтрак; O - Холодная еда; C - Бесплатные алкогольные напитки; K - Континтальный завтрак; D - Обед; F - Еда в продаже; G - Еда/напитки в продаже; H - Горячая еда; L - Ланч; M - Еда; R - Освежающие еда/напитки бесплатно; V - Освежающие еда/напитки за отдельную плату; S - Закуска
BookingCodesдасложныйКонтейнер для классов перелёта.
BookingCodeдастрокаКод класса перелёта. Если производится поиск по расписанию, то может встречаться несколько раз. Содержит информацию о классе перелета определенного сегмента.
FlightTimeнетчислоВремя перелёта в минутах
TimeZoneнет сложныйИнформация о временных зона прибытия и отправления
DepartureдачислоЧасовой пояс отправления, UTC (смещение относительно Гринвича)
ArrivalдачислоЧасовой пояс прибытия, UTC (смещение относительно Гринвича)
ETicketдабулевскийИндикатор электронного билета, возможные значения: true - билет является электронным, false - билет не является электронным.
BaggageнетсложныйИнформация о багаже
MeasureдастрокаМера веса. K - килограммы, PC - сумки/клади
ValueдастрокаКоличество багажа
PricingInfoнетсложныйКонтейнер для информации о ценах. Отсутствует в случае, если производится поиск по расписанию.
RefundableдабулевскийИндикатор показывающий является ли билет возвратным или нет, возможные значения: true - возвратный (нет штрафов за возврат), false - невозвратный (могут быть штрафы за возврат)
PassengerFareдасложныйИнформация о ценах для конкретного типа пассажиров.
QuantityдачислоЧисло пассажиров данного типа
BaseFareдасложныйЦена в базовой валюте(за одного пассажира)
EquiveFareнетсложныйЦена в эквивалентной валюте(за одного пассажира), при поиске цены не возвращается
TotalFareнетсложныйПолная стоимость для пассажиров данного типа включая таксы (за одного пассажира), при поиске цены не возвращается
CurrencyдастрокаТрёх буквенный код валюты.
Amountдачисло с плавающей точкойЗначение стоимости.
TaxesнетсложныйКонтейнер для такс, при поиске цены не возвращается
TaxдасложныйОдна такса
CurCodeдастрокаТрёх буквенный код валюты для таксы
TaxCodeдастрокаКод таксы
Amountдачисло с плавающей точкойЗначение таксы
TariffsдасложныйКонтейнер для тарифов
TariffдасложныйКонтейнер для одного тарифа
CodeдастрокаКод тарифа
SegNumдачислоНомер сегмента для которого применяется тариф, если тариф применяется для всех сегментов, то возвращается 0.
FareCalcнетстрокаСтрока расчёта цены
LastTicketDateTimeдастрокаДата и время таймлимита по выписке в формате ГГГГ-MM-ДДTЧЧ:ММ:СС по московскому времени. Если бронирование не будет аннулировано или выписано до этого времени, то могут быть применены штрафы.

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

См. также