Изменения

Перейти к навигации Перейти к поиску

Агентский API Авиабилеты

53 751 байт убрано, 10:47, 27 января 2020
Схема использования агентского API (workflow)
{{Attention|В системе реализован усовершенствованный API-проект «Nemo Connect», настоятельно рекомендуем подключаться по схеме, описанной в документации по [http://docs.nemo.travel/ ссылке]}}
== Схема использования агентского API (workflow) ==
 
[[Категория:Интеграция]]
== Агентский АПИ поиска авиабилетов и бронирования == *[[Веб-служба поиска авиабилетовКатегория:Агентский API]] 1. [[Веб-служба поиска авиабилетов#Подключение|ПодключениеКатегория:Модули]] 2. [[Веб-служба поиска авиабилетов#Просмотр результатов|Просмотр результатовКатегория:Встроенные модули]] 3Для авторизации в системе, в запросе необходимо указать APIKey и ClientID. [[Эти данные можно узнать в разделе Администрирование - Веб-служба поиска авиабилетов#Односторонний перелет|Односторонний перелет]] 4сервис. Авторизация. [[Веб-служба поиска авиабилетов#Перелет туда-обратно|Перелет туда-обратно]] 5Там же можно включить/выключить нотификацию для действий, совершенных через АПИ. [[Веб-служба поиска авиабилетов#Сложный маршрут|Сложный маршрут]]
*Необходимо придерживаться [[Веб-служба бронирования]] 1. [[Веб-служба бронирования#Запрос на бронированиеСхема использования агентского API (workflow) |Запрос на бронированиерекомендованной схемы использования API]] 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://sys.nemo-ibe.com/nemoflights/?version%3D1.0%26for%3DUpdateBook"> <soapenv:Header/> <soapenv:Body> <ver:UpdateBook> <RequestBin> <Request> <UpdateBook> <!--Запрос, обязательный--> <!--BookID - Id заказа в системе Немо, обязательный--> <BookID>260647</BookID> </UpdateBook> </Request> <Source> <!--Авторизация, обязательный--> <!--ClientId, идентификатор клиента, обязательный--> <!--APIKey, API ключ клиента, обязательный--> <!--Language, код языка, обязательный--> <!--Currency код валюты, обязательный--> <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://sys.nemo-ibe.com/nemoflights/?version%3D1.0%26for%3DGetAirRules"> <soapenv:Header/> <soapenv:Body> <ver:GetAirRules> <RequestBin> <Request> <GetAirRules> <!--Запрос, обязательный--> <!--FlightId - Id перелёта в системе Немо, обязательный--> <FlightId>142330001</FlightId> </GetAirRules> </Request> <Source> <!--Авторизация, обязательный--> <!--ClientId, идентификатор клиента, обязательный--> <!--APIKey, API ключ клиента, обязательный--> <!--Language, код языка, обязательный--> <!--Currency код валюты, обязательный--> <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;"><SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://sys.nemo-ibe.com/nemoflights/?version%3D1.0%26for%3DGetAirRules" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SOAP-ENV:Body> <ns1:GetAirRulesResponse> <ResponseBin> <Response> <GetAirRules> <!--FlightId - Id перелёта в системе Немо--> <FlightId>142330001</FlightId> <!--Rules Правила перелета--> <Rules> <!--Code код правила--> <!--Tarrif название тарифа--> <!--Name название правила--> <Rule Code="00" Tarrif="LEXOW1" Name="RULE APPLICATION AND OTHER CONDITIONS"> <!--RuleText Текст правила--> <RuleText>NOTE - THE FOLLOWING TEXT IS INFORMATIONAL AND NOT VALIDATED FOR AUTOPRICING. SU CARRIER VALUE-ECONOMY FARES APPLICATION AREA THESE FARES APPLY BETWEEN RUSSIA AND AREA 2/AREA 3. CLASS OF SERVICE THESE FARES APPLY FOR ECONOMY CLASS SERVICE. TYPES OF TRANSPORTATION 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 CARRIER'S BEST JUDGEMENT.</RuleText> </Rule> <Rule Code="01" Tarrif="LEXOW1" Name="ELIGIBILITY"> <RuleText>NO ELIGIBILITY REQUIREMENTS APPLY.</RuleText> </Rule> <Rule Code="02" Tarrif="LEXOW1" Name="DAY/TIME"> <RuleText>NO DAY/TIME TRAVEL RESTRICTIONS APPLY.</RuleText> </Rule> <Rule Code="03" Tarrif="LEXOW1" Name="SEASONALITY"> <RuleText>NO SEASONAL TRAVEL RESTRICTIONS APPLY.</RuleText> </Rule> <Rule Code="04" Tarrif="LEXOW1" Name="FLIGHT APPLICATION"> <RuleText>THE FARE COMPONENT MUST NOT BE ON ONE OR MORE OF THE FOLLOWING A3 FLIGHTS 1000 THROUGH 1999 A3 FLIGHTS 3000 THROUGH 3999 AF FLIGHTS 3600 THROUGH 3799 AF FLIGHTS 4400 THROUGH 4499 AF FLIGHTS 4600 THROUGH 4999 AF FLIGHTS 6300 THROUGH 6399 AF FLIGHTS 8000 THROUGH 9999 AY FLIGHTS 4000 THROUGH 9999 AZ FLIGHTS 2400 THROUGH 3999 AZ FLIGHTS 7000 THROUGH 7999 AT FLIGHTS 9000 THROUGH 9999 BA FLIGHTS 510 THROUGH 524 BA FLIGHTS 1500 THROUGH 1999 BA FLIGHTS 2290 THROUGH 2539 BA FLIGHTS 2800 THROUGH 2899 BA FLIGHTS 3000 THROUGH 3269 BA FLIGHTS 3300 THROUGH 8449 BA FLIGHTS 8498 THROUGH 8699 BA FLIGHTS 8770 THROUGH 9999 BD FLIGHTS 2000 THROUGH 4999 FB FLIGHTS 999 THROUGH 1999 IB FLIGHTS 5000 THROUGH 5999 IB FLIGHTS 7000 THROUGH 8999 IG FLIGHTS 9000 THROUGH 9999 JK FLIGHTS 7500 THROUGH 7999 JK FLIGHTS 8800 THROUGH 9999 UX FLIGHTS 3000 THROUGH 3999 VV FLIGHTS 4000 THROUGH 4999 JU FLIGHTS 8000 THROUGH 8999 OU FLIGHTS 5000 THROUGH 5999 TP FLIGHTS 6000 THROUGH 9499 F7 FLIGHTS 1000 THROUGH 1999 F7 FLIGHTS 6700 THROUGH 6701 FI FLIGHTS 7000 THROUGH 7999 DE FLIGHTS 9000 THROUGH 9999 YM FLIGHTS 4000 THROUGH 4999. AND THE FARE COMPONENT MUST BE ON ONE OR MORE OF THE FOLLOWING ANY 9B FLIGHT ANY A3 FLIGHT ANY AF FLIGHT OPERATED BY AF ANY AY FLIGHT ANY AZ FLIGHT ANY AT FLIGHT ANY BA FLIGHT ANY B2 FLIGHT OPERATED BY B2 ANY BD FLIGHT OPERATED BY BD ANY BT FLIGHT ANY BU FLIGHT OPERATED BY SK ANY FB FLIGHT ANY IB FLIGHT ANY IG FLIGHT ANY JK FLIGHT ANY KF FLIGHT OPERATED BY KF ANY KK FLIGHT ANY KL FLIGHT ANY OU FLIGHT ANY SK FLIGHT OPERATED BY SK ANY SU FLIGHT ANY SU FLIGHT OPERATED BY AF ANY UX FLIGHT ANY VV FLIGHT ANY YO FLIGHT ANY JU FLIGHT ANY F7 FLIGHT ANY TP FLIGHT ANY FI FLIGHT ANY DE FLIGHT ANY YM FLIGHT.</RuleText> </Rule> <Rule Code="05" Tarrif="LEXOW1" Name="ADVANCE RESERVATIONS/TICKETING"> <RuleText>FOR TICKETING ON/AFTER 08APR13 CONFIRMED RESERVATIONS ARE REQUIRED FOR ALL SECTORS. WHEN RESERVATIONS ARE MADE AT LEAST 100 DAYS BEFORE DEPARTURE, TICKETING MUST BE COMPLETED AT LEAST 93 DAYS BEFORE DEPARTURE. OR - CONFIRMED RESERVATIONS ARE REQUIRED FOR ALL SECTORS. WHEN RESERVATIONS ARE MADE AT LEAST 14 DAYS BEFORE DEPARTURE, TICKETING MUST BE COMPLETED WITHIN 7 DAYS AFTER RESERVATIONS ARE MADE. OR - CONFIRMED RESERVATIONS ARE REQUIRED FOR ALL SECTORS. WHEN RESERVATIONS ARE MADE AT LEAST 12 DAYS BEFORE DEPARTURE, TICKETING MUST BE COMPLETED AT LEAST 11 DAYS BEFORE DEPARTURE. OR - CONFIRMED RESERVATIONS ARE REQUIRED FOR ALL SECTORS. WHEN RESERVATIONS ARE MADE AT LEAST 2 DAYS BEFORE DEPARTURE, TICKETING MUST BE COMPLETED WITHIN 24 HOURS AFTER RESERVATIONS ARE MADE. CONFIRMED RESERVATIONS ARE REQUIRED FOR ALL SECTORS. NOTE - TEXT BELOW NOT VALIDATED FOR AUTOPRICING. DUE TO AUTOMATED TICKETING DEADLINE CONTROL DIFFERENCE COULD EXIST BETWEEN THE FARE RULE LAST TICKETING DATE AND THE SYSTEM GENERATED TICKETING DEADLINE MESSAGE. THE MORE RESTRICTIVE TICKETING DEADLINE APPLIES. -------- FARE IS SUBJECT TO CHANGE AND NOT GUARANTEED UNTIL TICKETED --------</RuleText> </Rule> <Rule Code="06" Tarrif="LEXOW1" Name="MINIMUM STAY"> <RuleText>NO MINIMUM STAY REQUIREMENTS APPLY.</RuleText> </Rule> <Rule Code="07" Tarrif="LEXOW1" Name="MAXIMUM STAY"> <RuleText>TRAVEL FROM LAST STOPOVER MUST COMMENCE NO LATER THAN 345 DAYS AFTER DEPARTURE FROM FARE ORIGIN.</RuleText> </Rule> <Rule Code="08" Tarrif="LEXOW1" Name="STOPOVERS"> <RuleText>UNLIMITED FREE STOPOVERS PERMITTED ON THE PRICING UNIT.</RuleText> </Rule> <Rule Code="09" Tarrif="LEXOW1" Name="TRANSFERS"> <RuleText>UNLIMITED TRANSFERS PERMITTED ON THE PRICING UNIT. FARE BREAK AND EMBEDDED SURFACE SECTORS NOT PERMITTED ON THE FARE COMPONENT.</RuleText> </Rule> <Rule Code="10" Tarrif="LEXOW1" Name="COMBINATIONS"> <RuleText>DOUBLE OPEN JAWS NOT PERMITTED. END-ON-END NOT PERMITTED. SIDE TRIPS PERMITTED WITH NO RESTRICTIONS. OPEN JAWS FARES MAY BE COMBINED ON A HALF ROUND TRIP BASIS -TO FORM SINGLE OPEN JAWS A MAXIMUM OF TWO INTERNATIONAL FARE COMPONENTS PERMITTED. MILEAGE OF THE OPEN SEGMENT MUST BE EQUAL/ LESS THAN MILEAGE OF THE LONGEST FLOWN FARE COMPONENT. PROVIDED - WHEN THE OPEN SEGMENT OCCURS -WITHIN AREA 2 -THE OPEN SEGMENT MUST NOT BE WITHIN RUSSIA COMBINATIONS ARE WITH ANY FARE FOR CARRIER SU/FV IN ANY RULE AND TARIFF. ROUND TRIPS/CIRCLE TRIPS FARES MAY BE COMBINED ON A HALF ROUND TRIP BASIS -TO FORM ROUND TRIPS -TO FORM CIRCLE TRIPS A MAXIMUM OF TWO INTERNATIONAL FARE COMPONENTS PERMITTED. PROVIDED - COMBINATIONS ARE WITH ANY FARE FOR CARRIER SU/FV IN ANY RULE AND TARIFF.</RuleText> </Rule> <Rule Code="11" Tarrif="LEXOW1" Name="BLACKOUT DATES"> <RuleText>NO BLACKOUT DATES APPLY.</RuleText> </Rule> <Rule Code="12" Tarrif="LEXOW1" Name="SURCHARGES"> <RuleText>NOTE - TEXT BELOW NOT VALIDATED FOR AUTOPRICING. EFF 01JUN08 IN CASE PASSENGER VOLUNTARILY REQUESTS TO CONVERT E-TICKET TO PAPER SURCHARGE OF EUR 10.00 PER TICKET SHOULD BE CHARGED. THE SURCHARGE SHALL BE COLLECTED ON MCO/MPD AND WILL BE ASSESSED AT THE RATE IN EFFECT AT THE TIME THE ELECTRONIC TICKET IS CONVERTED TO PAPER. PAPER TICKET SURCHARGE IS NOT REFUNDABLE. IF INFANT WITHOUT A SEAT PSGR UNDER 2. FOR TICKETING ON/AFTER 01NOV13 THERE IS NO MISCELLANEOUS/OTHER SURCHARGE PER ANY PASSENGER. IF REGIONAL PASSES FOR SKY TEAM CARRIERS PSGR. FOR TICKETING ON/AFTER 01NOV13 THERE IS NO MISCELLANEOUS/OTHER SURCHARGE PER ANY PASSENGER. FOR TICKETING ON/AFTER 01NOV13 THE PROVISIONS BELOW APPLY ONLY AS FOLLOWS - TICKETS MUST BE ISSUED ON THE STOCK OF SU. FOR TICKETING ON/AFTER 01NOV13 THERE IS NO MISCELLANEOUS/OTHER SURCHARGE PER ANY PASSENGER. FOR TICKETING ON/AFTER 01NOV13 FUEL SURCHARGE OF EUR 42.00 PER COUPON WILL BE ADDED TO THE APPLICABLE FARE PER ANY PASSENGER WHEN SECTOR OF TRAVEL IS BETWEEN MOW AND AREA 2. AND - FUEL SURCHARGE OF RUB 1500 PER COUPON WILL BE ADDED TO THE APPLICABLE FARE PER ANY PASSENGER WHEN SECTOR OF TRAVEL IS BETWEEN MOW AND RUSSIA. AND - MISCELLANEOUS/OTHER SURCHARGE OF EUR 3.70 PER COUPON WILL BE ADDED TO THE APPLICABLE FARE PER ANY PASSENGER.</RuleText> </Rule> <Rule Code="13" Tarrif="LEXOW1" Name="ACCOMPANIED TRAVEL"> <RuleText>ACCOMPANIED TRAVEL NOT REQUIRED.</RuleText> </Rule> <Rule Code="14" Tarrif="LEXOW1" Name="TRAVEL RESTRICTIONS"> <RuleText>NO TRAVEL DATE RESTRICTIONS APPLY.</RuleText> </Rule> <Rule Code="15" Tarrif="LEXOW1" Name="SALES RESTRICTIONS"> <RuleText>TICKETS MAY NOT BE SOLD IN THR. TICKETS MAY ONLY BE SOLD IN AREA 1/AREA 2/AREA 3.</RuleText> </Rule> <Rule Code="16" Tarrif="LEXOW1" Name="PENALTIES"> <RuleText>FARE RULE ORIGINATING RUSSIA - CANCELLATIONS BEFORE DEPARTURE CANCELLATIONS PERMITTED FOR CANCEL/REFUND. NOTE - TEXT BELOW NOT VALIDATED FOR AUTOPRICING. FULL FARE PAID IF TICKET IS PRESENTED FOR A REFUND MORE THAN 24 HOURS BEFORE DEPARTURE TIME SHOWN ON THE FIRST FLIGHT COUPON. FARE PAID LESS 25 PERCENT IF TICKET IS PRESENTED FOR A REFUND LESS THAN 24 HOURS BEFORE DEPARTURE TIME SHOWN ON THE FIRST FLIGHT COUPON. BEFORE DEPARTURE TICKET IS NON-REFUNDABLE IN CASE OF NO-SHOW. AFTER DEPARTURE CANCELLATIONS PERMITTED FOR CANCEL/REFUND. NOTE - TEXT BELOW NOT VALIDATED FOR AUTOPRICING. REFUND THE DIFFERENCE BETWEEN THE FARE PAID AND THE APPLICABLE FARE FOR THE TRANSPORTATION USED IN EFFECT ON THE DAY OF ORIGINAL TICKET ISSUE IF TICKET IS PRESENTED FOR A REFUND MORE THAN 24 HOURS BEFORE DEPARTURE TIME SHOWN ON THE UNUSED FLIGHT COUPONS. -------- REFUND THE DIFFERENCE BETWEEN THE FARE PAID AND THE APPLICABLE FARE FOR THE TRANSPORTATION USED IN EFFECT ON THE DAY OF ORIGINAL TICKET ISSUE LESS 25 PERCENT OF EACH TARIFF COMPONENT PRESENTED FOR THE REFUND LESS THAN 24 HOURS BEFORE DEPARTURE TIME SHOWN ON THE FLIGHT COUPON. AFTER DEPARTURE TICKET IS NON-REFUNDABLE IN CASE OF NO-SHOW. FOR TICKETING ON/AFTER 01DEC12/FOR TRAVEL ON/AFTER 01FEB13 CHANGES ANY TIME CHARGE EUR 60.00 FOR REISSUE/REVALIDATION. CHANGES NOT PERMITTED IN CASE OF NO-SHOW. NOTE - TEXT BELOW NOT VALIDATED FOR AUTOPRICING. A.IF CHANGES ARE MADE TO THE FIRST TICKETED FLIGHT COUPON - FULL AMOUNT PAID FOR THE ORIGINAL TICKET MAY BE APPLIED TOWARDS PURCHASE OF A NEW TICKET PRICED AT EQUAL OR HIGHER FARE TICKET AMOUNT USING -CURRENT- FARE LEVELS UPON PAYMENT THE DIFFERENCE BETWEEN ORIGINAL AND RECALCULATED FARES PLUS EUR 60.00 CHANGE FEE. ALL RULE PROVISIONS OF THE NEW FARE INCLUDING ADVANCE PURCHASE/MIN STAY/MAX STAY/SEASONALITY/ETC MUST BE MET. ----- B.IF CHANGES ARE MADE TO OTHER THAN THE FIRST TICKETED FLIGHT COUPON- THE FULL AMOUNT PAID FOR ORIGINAL TICKET MAY BE APPLIED TOWARDS PURCHASE OF A NEW TICKET PRICED AT EQUAL OR HIGHER TICKET AMOUNT USING FARES IN EFFECT ON THE DATE OF ORIGINAL TICKET ISSUE FARE LEVELS UPON PAYMENT THE DIFFERENCE BETWEEN ORIGINAL AND RECALCULATED FARES PLUS EUR 60.00 CHANGE FEE. ALL RULE PROVISIONS OF THE NEW FARE EXCEPT ADVP AND TICKETING REQUIREMENTS MUST BE MET. GENERAL RULE - APPLY UNLESS OTHERWISE SPECIFIED NOTE - TEXT BELOW NOT VALIDATED FOR AUTOPRICING. CANCELLATIONS RULES NOTE INFANT FREE OF CHARGE.CHILDREN DISCOUNT NOT APPLY UNLESS OTHERWISE SPECIFIED. WHEN COMBINING ON A HALF ROUNDTRIP BASIS THE PENALTY CONDITIONS OF MORE RESTRICTED RULE APPLY. PENALTIES WAIVED FOR DEATH OF PASSENGER/ TRAVELLING COMPANION OR FAMILY MEMBER FAMILY MEMBER - SPOUSE/CHILDREN/ADOPTED CHILDREN PARENTS REFUND OF UNUSED FEES AND TAXES PERMITTED. REFUND CAN ONLY BE MADE THROUGH ISSUING OFFICE. PERIOD VALIDITY FOR SPECIAL FARE WILL BE MAX STAY OF THE FARE FROM THE DATE ON THE FIRST FLIGHT COUPON. AT ANY TIME - IN CASE OF REFUND - PAPER TICKET SURCHARGE IS NOT REFUNDABLE WHEN APPLIED. FOR REFUND OF FARES ORIGINATING IN RUSSIA - AT ANYTIME IF PASSENGER VOLUNTARILY REQUESTS FOR FULL OR PARTIAL REFUND ADDITIONAL REFUND CHARGE OF 35.00 EUR PER INTERNATIONAL SERVICES OR 1400RUB FOR DOMESTIC -E TICKET OR PAPER TICKET- SHALL APPLY. AFTER DEPARTURE FOR PARTLY USED TRANSPORTATION THE REFUND IF ANY WILL BE THE DIFFERENCE BETWEEN THE FARE PAID AND THE FARE FOR TRANSPORTATION USED WHEN RECALCULATING FARES FOR TRANSPORTATION USED FARES IN LOWER RBD THAN SHOWN IN USED COUPONS CANNOT APPLY ------------------------------------------------- CHANGES NOTE CH DISCOUNT APPLY/INFANT FREE OF CHARGE. A CHANGE IS A ROUTING/DATE/FLIGHT/CLASS/FARE LEVEL MODIFICATION. CHARGE APPLIES PER TRANSACTION. IN CASE OF CHANGES NEW FARE AMOUNT SHOULD BE EQUAL OR HIGHER THAN PREVIOUS AMOUNT. WHEN MORE THAN ONE FARE COMPONENTS IS BEING CHANGED THE HIGHEST PENALTY OF ALL CHANGED FARE COMPONENT WILL APPLY. CHANGES ARE NOT PERMITTED AFTER THE DEPARTURE TIME SHOWN ON THE APPLICABLE FLIGHT COUPON. IN THIS CASE TICKET HAS NO VALUE. EXCEPTION- FARE RULES WHICH ALLOW TO MAKE CHANGES ANY TIME INCLUDING FOR NO-SHOW. THE ORIGINAL NON-REFUNDABLE AMOUNT REMAINS NON REFUNDABLE AND MUST BE PRINTED ON THE NEW TICKET.</RuleText> </Rule> <Rule Code="17" Tarrif="LEXOW1" Name="HIP/MILEAGE EXCEPTIONS"> <RuleText>NO HIP OR MILEAGE EXCEPTIONS APPLY.</RuleText> </Rule> <Rule Code="18" Tarrif="LEXOW1" Name="TICKET ENDORSEMENTS"> <RuleText>TICKET ENDORSEMENT NOT REQUIRED.</RuleText> </Rule> <Rule Code="19" Tarrif="LEXOW1" Name="CHILDREN DISCOUNTS"> <RuleText>CNN/ACCOMPANIED CHILD PSGR 2-11 - CHARGE 75 PERCENT OF THE FARE. TICKET DESIGNATOR - CH AND PERCENT APPLIED. MUST BE ACCOMPANIED ON ALL FLIGHTS IN THE SAME COMPARTMENT BY ADULT PSGR 18 OR OLDER. OR - INS/INFANT WITH A SEAT PSGR UNDER 2 - CHARGE 75 PERCENT OF THE FARE. TICKET DESIGNATOR - CH AND PERCENT APPLIED. MUST BE ACCOMPANIED ON ALL FLIGHTS IN THE SAME COMPARTMENT BY ADULT PSGR 18 OR OLDER. OR - 1ST INF/INFANT WITHOUT A SEAT PSGR UNDER 2 - CHARGE 10 PERCENT OF THE FARE. TICKET DESIGNATOR - IN AND PERCENT APPLIED. MUST BE ACCOMPANIED ON ALL FLIGHTS IN THE SAME COMPARTMENT BY ADULT PSGR 18 OR OLDER. OR - UNN/UNACCOMPANIED CHILD PSGR 5-11 - CHARGE 100 PERCENT OF THE FARE. NOTE - TEXT BELOW NOT VALIDATED FOR AUTOPRICING. PASSENGER BOX - UN FOLLOWED BY THE AGE.</RuleText> </Rule> <Rule Code="20" Tarrif="LEXOW1" Name="TOUR CONDUCTOR DISCOUNTS"> <RuleText>NO DISCOUNTS FOR TOUR CONDUCTORS.</RuleText> </Rule> <Rule Code="21" Tarrif="LEXOW1" Name="AGENT DISCOUNTS"> <RuleText>NO DISCOUNTS FOR SALE AGENTS.</RuleText> </Rule> <Rule Code="22" Tarrif="LEXOW1" Name="ALL OTHER DISCOUNTS"> <RuleText>NO DISCOUNTS FOR OTHERS.</RuleText> </Rule> <Rule Code="23" Tarrif="LEXOW1" Name="MISCELLANEOUS PROVISIONS"> <RuleText>NO PROVISIONS APPLY.</RuleText> </Rule> <Rule Code="25" Tarrif="LEXOW1" Name="FARE BY RULE"> <RuleText>NOT APPLICABLE.</RuleText> </Rule> <Rule Code="26" Tarrif="LEXOW1" Name="GROUPS"> <RuleText>NO GROUP PROVISIONS APPLY.</RuleText> </Rule> <Rule Code="27" Tarrif="LEXOW1" Name="TOURS"> <RuleText>NO TOUR PROVISIONS APPLY.</RuleText> </Rule> <Rule Code="28" Tarrif="LEXOW1" Name="VISIT ANOTHER COUNTRY"> <RuleText>NO VISIT ANOTHER COUNTRY PROVISIONS APPLY.</RuleText> </Rule> <Rule Code="29" Tarrif="LEXOW1" Name="DEPOSITS"> <RuleText>NO DEPOSIT PROVISIONS APPLY.</RuleText> </Rule> <Rule Code="31" Tarrif="LEXOW1" Name="VOLUNTARY CHANGES"> <RuleText>ENTER RD*31 OR RD‡LINE NUM‡*31 FOR VOLUNTARY CHGS.</RuleText> </Rule> <Rule Code="33" Tarrif="LEXOW1" Name="VOLUNTARY REFUNDS"> <RuleText>CHECK CATEGORY 16 OR CONTACT CARRIER FOR DETAILS.</RuleText> </Rule> <Rule Code="35" Tarrif="LEXOW1" Name="NEGOTIATED FARES"> <RuleText>NOT APPLICABLE.</RuleText> </Rule> <Rule Code="IC" Tarrif="LEXOW1" Name="INTERNATIONAL CONSTRUCTION"> <RuleText>NOT A CONSTRUCTED FARE</RuleText> </Rule> </Rules> </GetAirRules> <Requisites/> <RequestType xsi:nil="true"/> <UserID xsi:nil="true"/> <Errors xsi:nil="true"/> </Response> </ResponseBin> </ns1:GetAirRulesResponse> </SOAP-ENV:Body></SOAP-ENV: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://sys.nemo** [[Веб-ibe.com/nemoflights/?version%3D1.0%26for%3DTicketing"> <soapenv:Header/> <soapenv:Body> <ver:Ticketing> <RequestBin>служба выписки#Информация|Информация]] <Request> <Ticketing> <!** [[Веб--Запрос, обязательный--> <!--BookID - Id заказа в системе Немо, обязательный--> <BookID>260650<служба выписки#Общий формат запроса /BookID> <!--Валидирующий перевозчик (тот кто выписывает билет), необязательный--> <ValCompany><ответа выписки|Общий формат запроса /ValCompany>ответа выписки]] <!** [[Веб--Комиссии, указываются или в валюте, или в процентах, для валюты обязательным является код валюты. Если указана и в валюте и в процентах, то у поставщика комиссия устанавливается в валюте.--> <!--Amount - комиссия в валюте--> <!--Percent - комиссия в процентах--> <!--CurrencyCode - код валюты комиссии--> <Comission Amount="" Percent="" CurrencyCode=""/> </Ticketing> </Request> <Source> <!--Авторизация, обязательный--> <!--ClientId, идентификатор клиента, обязательный--> <!--APIKey, API ключ клиента, обязательный--> <!--Language, код языка, обязательный--> <!--Currency код валюты, обязательный--> <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: *[[Агентский API Оплата]]** [[Агентский API Оплата#F9F9F9; border: 1px dashed Фиксация оплаты внешним запросом|Фиксация оплаты внешним запросом]]** [[Агентский API Оплата#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%3DTicketing" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SOAP-ENV:Body> <ns1:TicketingResponse> <ResponseBin> <Response> <!--ID - Ид брони в системе немо, целое число--> <!--Status - Индикатор состояния брони, возможные значения: booked - забронировано, canceled - бронь отменена, ticket - выписана, UNDEFINED - статус не определён--> <!--Code - Код брони в системе бронирования/поиска, строка--> <Ticketing ID="260650" Status="ticket" Code="0PC1V1"> <QueryPlace xsi:nil="true"/> <!--FlightId - Id перелёта в системе Немо--> <Flight FlightId="142350072"> <!--Веб-сервис из которого получен перелёт--> <WebService>SIRENA2000</WebService> <!--Код авиакомпании - валидирующего перевозчика, IATA--> <ValCompany>UT</ValCompany> <URL>http---sys.nemo-ibe.com---</URL> <!--Сегменты в перелёте, обязательный--> <Segments> <!--SegNum - Номер сегмента в перелёте--> <Segment SegNum="1" SegGroupNum="0"> <!--Аэропорт отправления--> <DepAirp CodeType="IATA">VKO</DepAirp> <!--Терминал пункта отправления, если пустое значение, то терминала нет, т.е. в аэропорту всего 1 терминал--> <DepTerminal/> <!--Аэропорт прибытия--> <ArrAirp CodeType="IATA">LED</ArrAirp> <!--Терминал пункта прибытия, если пустое значение, то терминала нет, т.е. в аэропорту всего 1 терминал--> <ArrTerminal/> <!--Авиакомпания перевозчик--> <OpAirline>UT</OpAirline> <!--Авиакомпания, продающая перелёт--> <MarkAirline>UT</MarkAirline> <!--Номер рейса--> <FlightNumber>369</FlightNumber> <!--Тип воздушного судна, код--> <AircraftType>TU5</AircraftType> <!--Дата и время отправления, формат ГГГГ-MM-DDTЧЧ:ММ:СС--> <DepDateTime>2014-02-16T11:05:00</DepDateTime> <!--Дата и время прибытия, формат ГГГГ-MM-DDTЧЧ:ММ:СС--> <ArrDateTime>2014-02-16T12:25:00</ArrDateTime> <!--Количество остановок--> <StopNum/> <BookingCodes> <!--Класс перелета--> <BookingCode ClassType="economy"> <!--Код класса перелета--> <BookingCode>H</BookingCode> </BookingCode> </BookingCodes> <!--Время перелёта, в минутах--> <FlightTime>80</FlightTime> <!--Временные зоны точки отправления и прибытия. Возможные параметры: departure - временная зона аэропорта отправления, arrival - временная зона аэропорта прибытия--> <TimeZone/> <!--Признак электронного билета--> <ETicket/> </Segment> </Segments> <!--Информация о стоимости, может встречаться более 1 раза--> <!--Refundable - возвратный/невозвратный, true/false. Если пустое, то не известно--> <PricingInfo Refundable="false"> <!--Типы пассажиров с ценами, таксами и т.п., может встречаться более 1 раза--> <!--Type - тип пассажира, возможные значения: ADT - взрослые, CNN - дети со взрослыми, UNN - дети без сопровождения взрослых, INF - младенцы, INS - младенцы с местом, обязательный--> <!--Quantity - Количество пассажиров данного типа--> <PassengerFare Type="ADT" Quantity="1"> <!--Базовая стоимость, в базовой валюте--> <!--Currency - код валюты, Amount - значение цены--> <BaseFare Currency="RUB" Amount="990"/> <!--Базовая стоимость, в эквивалентной валюте(валюте продажи)--> <!--Currency - код валюты, Amount - значение цены--> <EquiveFare Currency="RUB" Amount="990"/> <!--Окончательная стоимость в эквивалентной валюте--> <!--Currency - код валюты, Amount - значение цены--> <TotalFare Currency="RUB" Amount="1475"/> <!--Массив такс--> <Taxes> <!--CurCode - код валюты, обязательный--> <!--TaxCode - код таксы, обязательный--> <!--Amount - сумма таксы, обязательный--> <Tax CurCode="RUB" TaxCode="YQ" Amount="360"/> <Tax CurCode="RUB" TaxCode="ZZ" Amount="125"/> </Taxes> <!--Массив тарифов--> <!--Тариф--> <!--Code - код тарифа--> <!--SegNum - номер сегмента, к которому применён тариф--> <Tariffs/> <!--Строка расчёта цены--> <FareCalc/> <!--Дата и время таймлимита по выписке в формате ГГГГ-MM-DDTЧЧ:ММ:СС--> <LastTicketDateTime>2014-02-09T03:13:00</LastTicketDateTime> </PassengerFare> </PricingInfo> <!--Комиссии--> <!--Currency - код валюты--> <Commission Currency="RUB">0</Commission> <!--Сборы--> <!--Currency - код валюты--> <Charges Currency="RUB">0</Charges> <TotalPrice Currency="RUB">1475</TotalPrice> </Flight> <!--Информация об агенстве--> <Agency/> <!--Маршрут квитанция--> <!--Возможные параметры: Encoding - кодировка, Format - формат--> <ItinReceipts xsi:nil="true"/> <FareStored xsi:nil="true"/> <!--Список пассажиров--> <Travellers> <!--Type тип пассажира, обязательный, возможные значения: ADT - взрослые, CNN - дети со взрослыми, UNN - дети без сопровождения взрослых, INF - младенцы, INS - младенцы с местом--> <!--IsContact - если true - то данный пассажир является контактным лицом, если false - то не является, контактное лицо может быть только 1, если среди пассажиров есть взрослые, то только кто-то из них может быть контактным лицом, по умолчанию false--> <!--Num - порядковый номер пассажира , начинается с 1--> <!--LinkedTo - номер взрослого, к которому привязан младенец/ребёнок--> <Traveller Type="ADT" IsContact="false" 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="2986150730166"/> <!--Место пассажира в самолёте, возможные параметры: Number - номер места, Characteristic - характеристика места, SmokingPreference - статус курения на этом месте, SegmentNumber - номер сегмента в перелёте--> <Seats/> <!--Персональные данные--> <!--DateOfBirth - дата рождения в формате dd.mm.yyyy (например 31.12.2000)--> <!--Nationality - национальность--> <!--Gender - пол пассажира, возможные значения: M - мужской(Male) F - женский(Female)--> <PersonalInfo DateOfBirth="20.05.1980" Nationality="RU" Gender="M"> <!--Имя пассажира--> <FirstName>PETR</FirstName> <!--Фамилия пассажира--> <LastName>IVANOV</LastName> <!--Отчество пассажира--> <MiddleName xsi:nil="true"/> </PersonalInfo> <!--Карточка часто летающего пассажира, возможные параметры: OpCode - код авиакомпании, Number - номер карточки--> <LoyaltyCard/> <!--Контактная информация--> <ContactInfo> <!--Контактный email--> <EmailID xsi:nil="true"/> <Telephone> <!--Номер телефона--> <PhoneNumber>79053811900</PhoneNumber> <!--Код страны--> <CountryAccessCode xsi:nil="true"/> <!--Код региона/города--> <AreaCityCode xsi:nil="true"/> </Telephone> </ContactInfo> <!--Данные о документе--> <!--DocType - тип документа, возможные значения: Р - Паспорт A – Паспорт иностранца С - Внутренний гражданский паспорт F – Документ заменяющий паспорт М - Воинское удостоверение N – Сертификат натурализации(специфичный документ США) T – Док.повторного въезда, паспорт беженца V – Документ для пересечения границы--> <!--DocNum - номер документа--> <!--DocElapsedTime - Срок истечения срока действия паспорта в dd.mm.yyyy (например 31.12.2000)--> <!--CountryCode - Код страны--> <DocumentInfo DocType="C" DocNum="109482" CountryCode="RU"/> <!--Информация о визе(Заполняется через 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/> <!--Формат паспортной строки, возможные значения: DOCS - строка формата DOCS, FOID - строка формата FOID--> <DocStringFormats/> </Traveller> </Travellers> </Ticketing> <Requisites/> <RequestType xsi:nil="true"/> <UserID xsi:nil="true"/> <Errors xsi:nil="true"/> </Response> </ResponseBin> </ns1:TicketingResponse> </SOAP-ENV:Body></SOAP-ENV:Envelope></syntaxhighlight>** [[Агентский API Оплата#Выбор конкретного способа оплаты|Выбор конкретного способа оплаты]]
== Войдирование билета Агентский АПИ возврата авиабилетов ==Данный запрос запускается после выписки билета, если необходимо его отменить.
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://sys.nemo-ibe.com/nemoflights/?version%3D1.0%26for%3DVoidTicket"> <soapenv:Header/> <soapenv:Body> <ver:VoidTicket> <RequestBin> <Request> <VoidTicket> <!--Запрос, обязательный--> <!--BookID - Ид брони **[[Дополнительные запросы АПИ авиабилетов#Создание отложенного заказа в системе Nemo|Создание отложенного заказа в системе немо, целое число-->Nemo]] <BookID>260650</BookID>**[[Дополнительные запросы АПИ авиабилетов#Запрос на обновление заказа|Запрос на обновление заказа]] </VoidTicket>**[[Дополнительные запросы АПИ авиабилетов#Запрос на модификацию заказа|Запрос на модификацию заказа]] </Request>**[[Дополнительные запросы АПИ авиабилетов#Чтение тарифных правил|Чтение тарифных правил]] <Source>**[[Дополнительные запросы АПИ авиабилетов#Запрос на чтение очереди|Запрос на чтение очереди]] <!--Авторизация, обязательный-->**[[Дополнительные запросы АПИ авиабилетов#Запрос на удаление заказа из очереди|Запрос на удаление заказа из очереди]] <!--ClientId, идентификатор клиента, обязательный-->**[[Дополнительные запросы АПИ авиабилетов#Запрос на получение семейств тарифов для перелета|Запрос на получение семейств тарифов для перелета]] <!--APIKey, API ключ клиента, обязательный-->**[[Дополнительные запросы АПИ авиабилетов#Запрос на импорт заказа|Запрос на импорт заказа]] <!--Language, код языка, обязательный--> <!--Currency код валюты, обязательный--> <ClientId>102</ClientId> <APIKey>7F48365D42B73307C99C12A578E92B36</APIKey> <Language>RU</Language> <Currency>RUB</Currency> </Source> </RequestBin> </ver:VoidTicket> </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%3DVoidTicket" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SOAP-ENV:Body> <ns1:VoidTicketResponse> <ResponseBin> <Response> <!--BookID - Ид брони в системе немо--> <VoidTicket BookID="260650"> <!--Result, Отмена выписки--> <!--Sucscess - Результат отмены выписки, true или false--> <Result Success="true"/> </VoidTicket> <Requisites/> <RequestType xsi:nil="true"/> <UserID xsi:nil="true"/> <Errors xsi:nil="true"/> </Response> </ResponseBin> </ns1:VoidTicketResponse> </SOAP-ENV:Body></SOAP-ENV:Envelope></syntaxhighlight>
<div class="toccolours mw-collapsible mw-collapsed" style="width:1000px">==== Параметры, используемые в запросах ====<div class="mw-collapsible-content">
<table border="1">
<tr bgcolor="#CCCCCC">
</tr>
<tr>
<td>FlightId </td><td class="col1">да </td><td>число</td><td >ИД Id перелёта для которого будет производится бронирование(поиск тарифных правил, проверка доступности)</td> </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>
<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 class="row24">
<td>Type</td><td>да</td><td>строка</td><td>Тип пассажира возможные значения: ADT - взрослые, CNN - дети со взрослыми, UNN - дети без сопровождения взрослых, INF - младенцы,INS - младенцы с местом</td>
</tr>
</tr>
<tr class="row26">
<td class="col0">LinkedTo </td><td class="col1">нет </td><td class="col2">целое число </td><td class="col3">Номер взрослого, к которому привязан младенец/ребёнок(привязка ребёнка ко взрослому является опциональной)</td>
</tr>
</tr>
<tr class="row68">
<td class="col0">QueueNum CancelBook</td><td class="col1">нет да</td><td class="col2">строкасложный</td><td class="col3">Номер очереди, в которую необходимо поместить бронирование (Специфична Контейнер для поставщика).тела запроса отмены брони</td> 
</tr>
<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>
</tr>
<tr class="row71row70">
<td class="col0">GetAirRules</td><td class="col1">да</td><td class="col2">сложный</td><td class="col3">Контейнер для тела запроса поиска тарифных правил</td>
</tr>
<tr class="row72row71">
<td class="col0">AirAvail</td><td class="col1">да</td><td class="col2">сложный</td><td class="col3">Контейнер для тела запроса проверки доступности перелёта</td>
</tr>
<tr class="row73row72">
<td class="col0">Ticketing</td><td class="col1">да</td><td class="col2">сложный</td><td class="col3">Контейнер для тела запроса выписки брони</td>
</tr>
<tr class="row74row73">
<td class="col0">ValCompany</td><td class="col1">нет</td><td class="col2">строка</td><td class="col3">Валидирующий перевозчик, на бланке которого выписывается билет</td>
</tr>
<tr class="row75row74">
<td class="col0">Comission</td><td class="col1">нет</td><td class="col2">сложный</td><td class="col3">Комиссия</td>
</tr>
<tr class="row76row75">
<td class="col0">Amount</td><td class="col1">нет</td><td class="col2">число с плавающей точкой</td><td class="col3">Значение комиссии в валюте, если указано, то комиссия в процентах игнорируется</td>
</tr>
<tr class="row77row76">
<td class="col0">Percent</td><td class="col1">нет</td><td class="col2">число</td><td class="col3">Комиссия в процентах</td>
</tr>
<tr class="row78row77">
<td class="col0">VoidTicket</td><td class="col1">да</td><td class="col2">сложный</td><td class="col3">Контейнер для тела запроса отмены выписки брони</td>
</tr>
<tr class="row79row78">
<td class="col0">Search</td><td class="col1">да</td><td class="col2">сложный</td><td class="col3">Контейнер для тела запроса поиска</td>
</tr>
<tr class="row80row79">
<td class="col0">ODPairs</td><td class="col1">да</td><td class="col2">сложный</td><td class="col3">Контейнер для информации о перелёте</td>
</tr>
<tr class="row81row80">
<td class="col0">Type</td><td class="col1">да</td><td class="col2">строка</td><td class="col3">Тип перелёта, возможные значения: OW - в одну сторону, RT - туда-обратно, CR - сложный маршрут</td>
</tr>
<tr class="row82row81">
<td class="col0">Direct</td><td class="col1">нет</td><td class="col2">булевский</td><td class="col3">Индикатор, указывающий какие перелёты искать, только прямые или с пересадками, возможные значения: false - с пересадками, true - только прямые. Если не указан, значение по умолчанию false.</td>
</tr>
<tr class="row83row82">
<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 class="row84row83">
<td class="col0">ODPair</td><td class="col1">да</td><td class="col2">сложный</td><td class="col3">Контейнер для информации о сегменте перелёта. Может повторяться 1-6 раз. Поиск по расписанию использует только первый сегмент, поиск сложных перелётов и перелётов туда и обратно не поддерживается</td>
</tr>
<tr class="row85row84">
<td class="col0">DepDate</td><td class="col1">да</td><td class="col2">строка</td><td class="col3">Дата вылета, Формат ГГГГ-MM-DDTЧЧ:ММ:СС</td>
</tr>
<tr class="row86row85">
<td class="col0">DepAirp</td><td class="col1">да</td><td class="col2">строка</td><td class="col3">Трёх буквенный код города отправления или конкретного аэропорта в городе отправления.</td>
</tr>
<tr class="row87row86">
<td class="col0">ArrAirp</td><td class="col1">да</td><td class="col2">строка</td><td class="col3">Трёх буквенный код города прибытия или конкретного аэропорта в городе прибытия.</td>
</tr>
<tr class="row88row87">
<td class="col0">Count</td><td class="col1">да</td><td class="col2">число</td><td class="col3">Число пассажиров данного типа. Общее количество пассажиров всех типов должно быть не более 9.</td>
</tr>
<tr class="row89row88">
<td class="col0">Restrictions</td><td class="col1">нет</td><td class="col2">сложный</td><td class="col3">Контейнер дополнительной информации для поиска.</td>
</tr>
<tr class="row90row89">
<td class="col0">ClassPref</td><td class="col1">нет</td><td class="col2">строка</td><td class="col3">Предпочитаемый класс перелёта, возможные значения: All - все, Economy - эконом, Business - бизнес, First - первый. Если не указан, то по умолчанию All.</td>
</tr>
<tr class="row91row90">
<td class="col0">OnlyAvail</td><td class="col1">нет</td><td class="col2">булевский</td><td class="col3">Искать только доступные, возможные значения: true - только доступные, false - все. Если не указан, то по умолчанию false.</td>
</tr>
<tr class="row92row91">
<td class="col0">AirVPrefs</td><td class="col1">нет</td><td class="col2">сложный</td><td class="col3">Обёртка для списка авиакомпаний, по которым будет или не будет проводиться поиск.</td>
</tr>
<tr class="row93row92">
<td class="col0">AirVPref</td><td class="col1">да</td><td class="col2">сложный</td><td class="col3">Информация об авиакомпании.</td>
</tr>
<tr class="row94row93">
<td class="col0">Include</td><td class="col1">нет</td><td class="col2">булевский</td><td class="col3">Индикатор, показывающий включить или исключить в результатах поиска перелёты данной авиакомпании: true - включить, false - исключить. Если не указан, то по умолчанию false.</td>
</tr>
<tr class="row95row94">
<td class="col0">IncludePrivateFare</td><td class="col1">нет</td><td class="col2">булевский</td><td class="col3">Включать приватные цены в результат или нет, возможные значения: true - включать, false - не включать. Если не указан, то по умолчанию false.</td>
</tr>
<tr class="row96row95">
<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 class="row97">
<td class="col0">ServiceTypeDataItems</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">Тип веб-сервиса(поставщика)ремарки. При указании нескольких элементов ServiceType поиск будет проведён для каждого сервиса. Возможные Может принимать значения: Sirena2000 - поиск в Сирене; SirenaSchedule - поиск в Сирене по расписанию; SabreLFS - поиск в Сэйбр LFS; SabreBFM - поиск в Сэйбр BFM; SabreSchedule - поиск Сэйбр по расписанию; Galileo - поиск в Галилео; AmadeusMPTBS - поиск в Амадеус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>
</table>
</div>
</div>
<div class="toccolours mw-collapsible mw-collapsed" style="width:1000px"> ==== Параметры, используемые в ответах ====<div class="mw-collapsible-content">
<table border="1">
</tr>
<tr class="row2">
<td class="col0">ID </td><td class="col1">да </td><td class="col2">число</td><td class="col3">Номер бронирования в системе НемоNemo.</td>
</tr>
<tr class="row3">
</tr>
<tr class="row60">
<td class="col0">BookingCodes</td><td class="col1">да</td><td class="col2">сложный</td><td class="col3">Контейнер для классов перелёта.</td>
</tr>
<tr class="row61">
<td class="col0">BookingCode</td><td class="col1">да</td><td class="col2">строка</td><td class="col3">Код класса перелёта. Если производится поиск по расписанию, то может встречаться несколько раз. Содержит информацию о классе перелета определенного сегмента.</td>
</tr>
</tr>
<tr class="row66">
<td class="col0">ETicket</td><td class="col1">да</td><td class="col2">булевский</td><td class="col3 rightalign"> Индикатор электронного билета, возможные значения: true - билет является электронным, false - билет не является электронным.</td>
</tr>
<tr class="row67">
</tr>
<tr class="row89">
<td class="col0">LastTicketDateTime</td><td class="col1">да</td><td class="col2">строка</td><td class="col3">Дата и время таймлимита по выписке в формате ГГГГ-MM-ДДTЧЧ:ММ:ССпо московскому времени. Если бронирование не будет аннулировано или выписано до этого времени, то могут быть применены штрафы.</td>
</tr>
</table>
</div>
</div>
{{Attention|В системе реализован усовершенствованный API-проект «Nemo Connect», настоятельно рекомендуем подключаться по схеме, описанной в документации по [http://docs.nemo.travel/ ссылке]}}
== См. также ==
 *[[Односторонний перелет]]*[[Односторонний перелетhttp://docs.nemo. Бронирование]travel Nemo Connect]*[[Подключение и просмотр результатов]]*[[Перелет туда-обратно]]*[[Сложный маршрут]]*[[АПИАгентский интерфейс прикладного программирования (Агентский API)]]*[[Агентский API ОтелейОтели]]
*[[Бронирование]]
*[[Электронный билет]]

Навигация

'