Агентский API Авиабилеты
Содержание
- 1 Агентский АПИ поиска авиабилетов и бронирования
- 2 Отмена бронирования
- 3 Проверка на доступность
- 4 Параметры, используемые в запросах
- 5 Параметры, используемые в ответах
- 6 Чтение тарифных правил
- 7 Пример запроса и ответа
- 8 Запрос на выписку
- 9 Примеры запроса и ответа
- 10 Войдирование билета
- 11 Пример запроса и ответа
- 12 См. также
Агентский АПИ поиска авиабилетов и бронирования
1. Запрос на бронирование 2. Односторонний перелет: Москва - Санкт-Петербург 3. Перелет Москва - Санкт-петербург
1. Подключение 2. Просмотр результатов 3. Односторонний перелет 4. Перелет туда-обратно 5. Сложный маршрут
Отмена бронирования
После бронирования, если не истек таймлимит можно аннулировать сделанный заказ. Аннуляция заказа в Nemo может быть ручной (сделанной пользователем) и автоматической - по истечению таймлимита, установленного для заказа система сама аннулирует заказ.
WSDL: http://sys.nemo-ibe.com/nemoflights/wsdl.php?for=CancelBook
Пример запроса и ответа на аннуляцию заказа:
REQUEST
<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:CancelBook> <RequestBin> <Request> <!--Запрос, обязательный--> <CancelBook> <!--BookID - Ид брони в системе немо, целое число, обязательный--> <BookID>20990</BookID> </CancelBook> </Request> <!--Авторизация, обязательный--> <!--@ClientId, идентификатор клиента, обязательный--> <!--@APIKey, API ключ клиента, обязательный--> <!--@Language, код языка, обязательный--> <!--@Currency код валюты, обязательный--> <Source> <ClientId>102</ClientId> <APIKey>7F48365D42B73307C99C12A578E92B36</APIKey> <Language>RU</Language> <Currency>RUB</Currency> </Source> </RequestBin> </ver:CancelBook> </soapenv:Body> </soapenv:Envelope>
RESPONSE
<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:CancelBook> <ResponseBin> <Response> <!--Запрос, обязательный--> <!--@BookID - Ид брони в системе немо, целое число, обязательный--> <CancelBook BookID="20990"> <!--Result, Отмена брони, обязательный--> <!--@Sucscess, Результат отмены брони, true или false, обязательный--> <Result Success="true"/> </CancelBook> </Response> <!--Авторизация, обязательный--> <!--@ClientId, идентификатор клиента, обязательный--> <!--@APIKey, API ключ клиента, обязательный--> <!--@Language, код языка, обязательный--> <!--@Currency код валюты, обязательный--> <Source> <ClientId>102</ClientId> <APIKey>7F48365D42B73307C99C12A578E92B36</APIKey> <Language>RU</Language> <Currency>RUB</Currency> </Source> </ResponseBin> </ver:CancelBook> </soapenv:Body> </soapenv:Envelope>
Проверка на доступность
Данный запрос отправляется из Nemo после того как пользователь на результатах поиска нажимает ссылку «забронировать». Он необходим для того чтобы перед подтверждением бронирования повторно проверить перелет на доступность и исключить максимально возможное количество заказов, которые нельзя будет забронировать из-за сервисных ошибок, либо изменения условий (например, снятия мест).
WSDL: http://sys.nemo-ibe.com/nemoflights/wsdl.php?for=AirAvail
Пример запроса и ответа:
REQUEST
<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:AirAvail> <RequestBin> <Request> <AirAvail> <!--Запрос, обязательный--> <!--FlightId ид перелёта в системе Немо, обязательный--> <FlightId>534733</FlightId> </AirAvail> </Request> <!--Авторизация, обязательный--> <!--@ClientId, идентификатор клиента, обязательный--> <!--@APIKey, API ключ клиента, обязательный--> <!--@Language, код языка, обязательный--> <!--@Currency код валюты, обязательный--> <Source> <ClientId>102</ClientId> <APIKey>7F48365D42B73307C99C12A578E92B36</APIKey> <Language>RU</Language> <Currency>RUB</Currency> </Source> </RequestBin> </ver:AirAvail> </soapenv:Body> </soapenv:Envelope>
RESPONSE
<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:AirAvail> <ResponseBin> <Response> <!--Запрос, обязательный--> <!--@FlightId ид перелёта в системе Немо, обязательный--> <!--@IsAvail доступность перелёта, true или false, обязательный--> <AirAvail FlightId="534733" IsAvail="true"/> </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>
Параметры, используемые в запросах
Параметры, используемые в ответах
Чтение тарифных правил
Чтение тарифных правил - это запрос, который отправляется после того, как пользователь на результатах поиска выбрал перелет и нажал «Забронировать». При помощи него Nemo получает информацию от поставщика о возвратности/невозвратности тарифов, а так же иную полезную информацию, которая доступна пользователю на странице подтверждения бронировании по клику на названии тарифного правила.
WSDL: http://sys.nemo-ibe.com/nemoflights/wsdl.php?for=GetAirRules
Пример запроса и ответа
REQUEST
<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>
RESPONSE
<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>Tour conductor 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>
Запрос на выписку
Данный запрос запускается после оплаты заказа, может быть запущен как в ручную - пользователем, у которого есть на это права, так и автоматически при использовании соответствующей опции. Выписать неоплаченный заказ через Nemo возможности нет. При запуске запроса на выписку также запускается процесс обновления заказа, в ходе которого сверяется цена и остальные параметры заказа, а также проверяется его актуальность. Заказы, с истекшим таймлимитом выписаны через Nemo быть не могут.
WSDL: http://sys.nemo-ibe.com/nemoflights/wsdl.php?for=Ticketing
Примеры запроса и ответа
REQUEST
<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>
RESPONSE
<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> <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>
Войдирование билета
Данный запрос запускается после выписки билета, если необходимо его отменить.
WSDL: http://sys.nemo-ibe.com/nemoflights/wsdl.php?for=VoidTicket
Пример запроса и ответа
REQUEST
<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> <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>
RESPONSE
<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>