Изменения

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

Дополнительные запросы АПИ авиабилетов

91 295 байт добавлено, 18:46, 6 мая 2019
Нет описания правки
{{Attention|В системе реализован усовершенствованный API-проект «Nemo Connect», настоятельно рекомендуем подключаться по схеме, описанной в документации по [http://docs.nemo.travel/ ссылке]}}
 
[[Категория:Интеграция]]
[[Категория:Агентский API]]
 
=== Проверка на доступность ===
Данный запрос отправляется из Nemo после того , как пользователь выбирает интересующий его перелет на странице выдачи с поиска. Он необходим для того , чтобы перед подтверждением бронирования повторно проверить перелет на доступность(статусы сегментов и актуализация цены).
Использование запроса проверки доступности позволяет не бронировать заведомо недоступные перелеты (IsAvail="false"), но значение IsAvail="true" не дает гарантии, что перелёт будет доступен к моменту бронирования, лишь до некоторой степени увеличивает такую вероятность.
<div class="toccolours mw-collapsible mw-collapsed" style="width:1000px">
 
==== Ответ ====
<div class="mw-collapsible-content">
<ResponseBin>
<Response>
<!--FlightId — Id перелёта в системе Nemo1.0 --> <!--Nemo2FlightId — Id перелёта в Nemo Connect -->
<!--IsAvail доступность перелёта, true или false-->
<AirAvail FlightId="1423300011450770003" Nemo2FlightId="143013905000000" IsAvail="true" PriceChanged="true">
<!--PriceChanged - принимает значение true или false. Показывает, изменилась ли цена перелета в результате проверки доступности. Если да, то в ответе появляется элемент PriceChange, содержащий старую и новую цены перелета-->
<PriceChange>
</div>
=== Получение документа === Запрос на обновление получение документа из заказа ===системы Nemo
WSDL: http://CLIENT_DOMAIN/nemoflights/wsdl.php?for=UpdateBookGetDocument
<div class="toccolours mw-collapsible mw-collapsed" style="width:1000px">
<div class="mw-collapsible-content">
<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://CLIENT_DOMAIN/nemoflights/?version%3D1.0%26for%3DUpdateBook3DAirAvail">
<soapenv:Header/>
<soapenv:Body>
<ver:UpdateBookAirAvail>
<RequestBin>
<Request>
<UpdateBook> <BookID>?</BookIDGetDocument> <!--BookID BookId — Id заказа в системе Nemo, обязательныйнеобязательный--> <!--Optional:--> <UpdateOrderBookId>?</UpdateOrderBookId> <!--Отправка запроса к GDS на обновление BookNemo2Id — Id заказав системе Nemo2, значения true/false. Если не указан, по умолчанию trueнеобязательный--> <UpdatePaymentTransactionsBookNemo2Id>?</UpdatePaymentTransactionsBookNemo2Id> <!--Обновление данных об оплатеDocType — Тип запрашиваемого документа, возможные значения true/false: ItinReceiptNemo - маршрут квитанция в формате Nemo --> <!--Optional:--DocType>?</DocType> </UpdateBookGetDocument>
</Request>
<Source>
<ClientId>?</ClientId!--Авторизация, обязательный--> <!--ClientId — ID , идентификатор клиента в системе Nemo. Можно посмотреть/добавить в разделе "Администрирование" - "Веб-служба. Авторизация"., обязательный--> <APIKey>?</APIKey> <!--APIKey — секретный , API ключ доступа к API Nemo. Можно посмотреть/добавить в разделе "Администрирование" - "Веб-служба. Авторизация".клиента, обязательный--> <!--Language>?</Language, код языка, обязательный--> <!--Language — языкCurrency код валюты, например: RUобязательный--> <CurrencyClientId>?---</CurrencyClientId> <!APIKey>-- Currency — валюта, например: RUB, EUR--</APIKey> <ShowNamesLanguage>?RU</ShowNamesLanguage> <!-- ShowNames — отображение названий аэропортов, авиакомпаний и воздушных судов: true - отображать, false - не отображать. Возвращает значение на том языке, который был указан в запросе. Для RU - русский вариант, для UKR, EN, ES - латинский вариант. Опциональный элемент. --Currency>RUB</Currency>
</Source>
</RequestBin>
</ver:UpdateBookAirAvail>
</soapenv:Body>
</soapenv:Envelope>
<div class="toccolours mw-collapsible mw-collapsed" style="width:1000px">
 
==== Ответ ====
<div class="mw-collapsible-content">
<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://CLIENT_DOMAIN/nemoflights/?version%3D1.0%26for%3DUpdateBook3DAirAvail" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<SOAP-ENV:Body>
<ns1:UpdateBookResponseAirAvailResponse>
<ResponseBin>
<Response> <UpdateBook ID BookId="?" Status="?" CodeBookNemo2Id="?"> <!--ID BookId — Id брони заказа в системе Nemo, целое число, обязательный1.0 --> <!--Status BookNemo2Id индикатор состояния брони, возможные значения:Id заказа в Nemo Connect --> booked — забронировано, <PaperDocument> canceled — бронь отменена, ticket — выписана UNDEFINED — статус не определён--> <!--Code Type код брони в системе поставщикаТип возвращаемого документа --> <QueryPlace xsi:nil="true"/Type>?</Type> <!--QueryPlace Format положение брони в очереди, Number — номер брони в очередиФормат возвращаемого документа --> <Flight FlightId="Format>?"</Format> <!--FlightId Encoding Id перелёта в системе NemoКодировка возвращаемого документа (не используется) --> <WebServiceEncoding>?</WebServiceEncoding> <!--WebService DocumentData поставщик перелётаСодержимое документа --> <ValCompanyDocumentData>?</ValCompanyDocumentData> <!--ValCompany IsBase64Wrapped код авиакомпаниипараметр указывает, являющейся валидирующим перевозчиком, IATAзакодировано ли содержимое документа в Base64 --> <URLIsBase64Wrapped>?</URLIsBase64Wrapped> </PaperDocument> <!--URL — ссылка на страницу данного заказа в системе Немо--Requisites/> <SegmentsRequestType xsi:nil="true"/> <Segment SegNumUserID xsi:nil="?true" SegGroupNum/> <Error Code="?"> Сообщение об ошибке<!--SegNum — номер сегмента в перелёте--/Error> <!--SegGroupNum – номер плеча перелёта--/Response> <SupplierCode/ResponseBin>? </SupplierCodens1:AirAvailResponse> <!--SupplierCode – номер заказа в системе АК/SOAP-ENV:Body></SOAP-ENV:Envelope> <DepAirp CodeType="IATA" Name="?"/syntaxhighlight>?</DepAirpdiv> <!--DepAirp — аэропорт отправления/div> === Создание отложенного заказа в системе Nemo === Данный запрос используется для того, чтобы создать в системе Nemo отложенный заказ, например: MOW — любой аэропорт в гкотором будет информация о перелете. Пустой заказ создается на основании данных перелета из результатов поиска.Москва или SVO — Шереметьево--> <DepTerminal>?</DepTerminal> <!--DepTerminal — терминал пункта отправления, если пустое значениеЕсли у пользователя настроен репрайсинг, то запрос на репрайсинг будет запущен при выполнении операции ActualizeFlight. При создании отложенного заказа в аэропорту всего 1 терминал-->системе Nemo, не происходит бронирования билета в ГДС. WSDL: http://CLIENT_DOMAIN/nemoflights/wsdl.php?for=EmptyBook  <ArrAirp CodeTypediv class="IATAtoccolours mw-collapsible mw-collapsed" Namestyle="?width:1000px">?</ArrAirp> ==== Запрос ====<!--ArrAirp — аэропорт прибытияdiv class="mw-collapsible-content"> <ArrTerminal>?</ArrTerminalsyntaxhighlight lang="xml" line enclose="div" style="font-size:9pt;background: #F9F9F9; border: 1px dashed #2F6FAB; padding: 10px 5px; margin: 10px 0;"> <!--ArrTerminal — терминал пункта прибытия, если пустое значение, то в аэропорту всего 1 терминал--> <OpAirline>?<soapenv:Envelope xmlns:soapenv="http://OpAirline> <!--OpAirline — авиакомпания перевозчик, напримерschemas.xmlsoap.org/soap/envelope/" xmlns:ver="http: SU — Аэрофлот--//CLIENT_DOMAIN/nemoflights/?version%3D1.0%26for%3DEmptyBook"> <OpAirlineNamesoapenv:Header/>? </OpAirlineNamesoapenv:Body> <!--OpAirlineName - полное наименование АК на кириллице--ver:AirAvail> <MarkAirlineRequestBin>? </MarkAirlineRequest> <!--MarkAirline — авиакомпания, продающая перелёт-->EmptyBook> <MarkAirlineNameFlightId>?</MarkAirlineNameFlightId> <!--MarkAirlineName - полное наименование АК на кириллицеFlightId номер перелета с результатов поиска--> <FlightNumberFlightIdNemo2>?</FlightNumberFlightIdNemo2> <!--FlightNumber — FlightIdNemo2 номер рейса-перелета Nemo2 с результатов поиска, нужно указать любой известный номер перелета--> <AircraftNameReferrer>?</AircraftNameReferrer> <!--AircraftName - наименование воздушного суднаReferrer название источника метрики заведенного в настройках--> <AdditionalOperations> <AircraftTypeOperation>?</AircraftTypeOperation> <!--AircraftType — Operation тип воздушного суднаопераций, кодкоторые будут выполнены при создании заказа--> <DepDateTime>? <!--Доступные значения: ActualizeFlight (актуализация перелета в гдс), GetFareFamilies (поиск семейств тарифов), GetFareRules (получение текста тарифных правил)--> </DepDateTimeAdditionalOperations> <DeviceId> <!--DepDateTime — дата и время отправления, формат ГГГГ-MM-ДДTЧЧ:ММ:ССнеобязательный--> <ArrDateTimeType>?</ArrDateTimeType> <!--ArrDateTime Type дата и время прибытия, формат ГГГГ-MM-ДДTЧЧ:ММ:ССТип мобильного устройства (apple/android)--> <StopNumToken>?</StopNumToken> <!--StopNum Token количество остановокТокен мобильного устройства--> <BookingCodes/DeviceId> <BookingCode ClassType="Marker>?"</Marker> <!--ClassType Marker класс перелетаМаркер пользователя--> </EmptyBook> </Request> <Source> <!--Авторизация, например: economyобязательный--> <BookingCodeClientId>?</BookingCodeClientId> <!--BookingCode — код класса бронированияClientId, идентификатор клиента, у разных авиакомпаний один и тот же класс может записываться разными литерами, например: Lобязательный--> </BookingCode> </BookingCodes> <FlightTimeAPIKey>?</FlightTimeAPIKey> <!--FlightTime — время перелёта в минутахAPIKey, API ключ клиента, обязательный--> <Language>RU<TimeZone Departure="?" Arrival="?"/Language> <!--Departure временная зона аэропорта отправленияLanguage, код языка, обязательный--> <Currency>RUB</Currency> <!--Arrival — временная зона аэропорта прибытияCurrency код валюты, обязательный--> <ETicket/Source>? </ETicketRequestBin> <!--ETicket — признак электронного билета, значения/ver: true / false--AirAvail> <isCharter>? </isChartersoapenv:Body> <!--isCharter — признак чартерного перелета, значения/soapenv: true / false--Envelope> <BaggageAllowances/syntaxhighlight> <!--BaggageAllowances — информация о багаже--/div> <BaggageAllowance/div> <PassengerType>?</PassengerTypediv class="toccolours mw-collapsible mw-collapsed" style="width:1000px"> ==== Ответ ====<!--PassengerType — тип пассажира, соответстует типу тарифа в PricingInfo div class="mw-collapsible-content"> <Value>?</Value> <!--Value — количество-syntaxhighlight lang="xml" line enclose="div" style="font-size:9pt;background: #F9F9F9; border: 1px dashed #2F6FAB; padding: 10px 5px; margin: 10px 0;"> <Measurement>?</Measurement> <!SOAP-ENV:Envelope xmlns:SOAP-Measurement — мера измерения, может принимать значенияENV="http: kg — килограмм, pc — багажное место, lb — фунт--> </BaggageAllowance> </BaggageAllowances> <schemas.xmlsoap.org/soap/Segment> <envelope/Segments> <PricingInfo Refundable" xmlns:ns1="http://CLIENT_DOMAIN/nemoflights/?version%3D1.0%26for%3DEmptyBook"> <!--Refundable — возвратныйxmlns:xsi="http:/невозвратный, true/falsewww.w3. Если пустое, то не известноorg/2001/XMLSchema-instance"> <SOAP-ENV:Body> <PassengerFare Typens1:EmptyBookResponse> <ResponseBin> <Response> <EmptyBook ID="?" QuantityStatus="?" Code="?"> <!--Type ID тип тарифаId брони в системе Nemo, целое число, обязательный--> <!--Quantity Status количество пассажиров данного типа-->индикатор состояния брони, возможные значения: <TravellerRef> pending — отложенный заказ, <!--TravellerRef booked Ссылка на пассажировзабронировано, к которым относится данный тариф--> <Ref>?</Ref canceled — бронь отменена, ticket — выписана UNDEFINED — статус не определён--> <!--Ref Code Номера пассажиров, к которым относится данный тарифкод брони в системе поставщика--> </TravellerRef> <BaseFare CurrencyQueryPlace xsi:nil="?" Amount="?true"/> <!--BaseFare QueryPlace базовая стоимость, положение брони в базовой валюте. Currency — код валютыочереди, Amount Number значение ценыномер брони в очереди--> <EquiveFare Currency="IsPossibleToTicket>?" Amount="?"</IsPossibleToTicket> <!--EquiveFare — базовая стоимость, в эквивалентной валюте(валюте продажи). Currency IsPossibleToTicket код валютывозможность провести выписку ПНРа, Amount — значение ценыboolean--> <TotalFare CurrencyFlight FlightId="?" Amount="?"/>> <!--TotalFare FlightId суммарная стоимость, Id перелёта в эквивалентной валюте. Currency — код валюты, Amount — значение ценысистеме Nemo--> <WebService>?<Taxes/WebService> <Tax CurCode="!--WebService — поставщик перелёта--> <ValCompany>?" TaxCode="?" Amount="?"</ValCompany> <!--CurCode ValCompany — код валютыавиакомпании, TaxCode — код таксыявляющейся валидирующим перевозчиком, Amount — сумма таксыIATA--> <URL>?</TaxesURL> <!--URL — ссылка на страницу данного заказа в системе Немо--> <TariffsSegments> <Tariff CodeSegment SegNum="?" SegNumSegGroupNum="?"/> <!--Code — код тарифа, SegNum — номер сегмента, к которому применён тарифв перелёте--> <FareFamilies!--SegGroupNum – номер плеча перелёта--> <FullNameSupplierCode>?</FullNameSupplierCode> <!--FullName — название тарифаSupplierCode – номер заказа в системе АК--> </FareFamilies> </Tariffs> <FareCalcDepAirp CodeType="IATA" Name="?">?</FareCalcDepAirp> <!--FareCalc DepAirp — аэропорт отправления, например: MOW строка расчёта цены-->любой аэропорт в г.Москва или SVO — Шереметьево--> <LastTicketDateTimeDepTerminal>?</LastTicketDateTimeDepTerminal> <!--LastTicketDateTime DepTerminal дата и время таймлимита по выписке терминал пункта отправления, если пустое значение, то в формате ГГГГаэропорту всего 1 терминал-MM-ДДTЧЧ:ММ:СС-->> </PassengerFare> </PricingInfo> <Commission CurrencyArrAirp CodeType="?IATA">?</Commission> <Charges CurrencyName="?">?</ChargesArrAirp> <!--Charges ArrAirp сборы, Currency — код валютыаэропорт прибытия--> <TotalPrice Currency="?"ArrTerminal>?</TotalPriceArrTerminal> <!--TotalPrice ArrTerminal итоговая ценатерминал пункта прибытия, если пустое значение, Currency — код валютыто в аэропорту всего 1 терминал--> </FlightOpAirline> ?<Agency Name="?"/OpAirline> <!--Name OpAirline — авиакомпания перевозчик, например: SU название агентстваАэрофлот--> <Telephone Type="OpAirlineName>?"</OpAirlineName> <!--Type — тип номера, обязательный, возможные значения: M — мобильный, H — домашний, B — рабочий, A — агенствоOpAirlineName - полное наименование АК на кириллице--> <!--Optional:--> <PhoneNumberMarkAirline>?</PhoneNumberMarkAirline> <!--PhoneNumber MarkAirline номер телефонаавиакомпания, продающая перелёт--> <MarkAirlineName>?</MarkAirlineName> <!--Optional:MarkAirlineName - полное наименование АК на кириллице--> <CountryAccessCodeFlightNumber>?</CountryAccessCodeFlightNumber> <!--CountryAccessCode FlightNumber код страныномер рейса--> <AircraftName>?</AircraftName> <!--Optional:AircraftName - наименование воздушного судна--> <AreaCityCodeAircraftType>?</AreaCityCodeAircraftType> <!--AreaCityCode AircraftType тип воздушного судна, код региона/города--> </TelephoneDepDateTime> ?<Address City="?" State="?" StreetAddress="?" PostalCode="?" CountryCode="?"/DepDateTime> <!--City DepDateTime город-дата и время отправления, формат ГГГГ-MM-ДДTЧЧ:ММ:СС--> <ArrDateTime>?<!--State — штат--/ArrDateTime> <!--StreetAddress ArrDateTime адрес в городе (улицадата и время прибытия, дом, корпус, офис и т.д.)формат ГГГГ-MM-ДДTЧЧ:ММ:СС--> <StopNum>?</StopNum> <!--PostalCode StopNum почтовый индексколичество остановок--> <StopPoints> <!--CountryCode StopPoints код страны (RUинформация о технических остановках, UA и т.п.)если они есть--> </AgencyStopPoint> <ItinReceipts Encoding="AirportCode>?" Format="?"</AirportCode> <!--ItinReceipts AirportCode маршрут квитанциякод аэропорта остановки, Encoding — кодировка, Format — форматтрех символьный iata код--> <FareStored xsi:nil="true"/UTC> ?<PaymentTransactions/UTC> <Transaction!--UTC — сдвиг часового пояса аэропорта--> <IdArrDateTime>?</IdArrDateTime> <!--Id - номер транзакции в НемоArrDateTime — дата и время прибытия, формат ГГГГ-MM-ДДTЧЧ:ММ:СС--> <StatusDepDateTime>?</StatusDepDateTime> <!--Status DepDateTime — дата и время отправления, формат ГГГГ-MM- статус транзакцииДДTЧЧ: new_billing ММ:СС- новая транзакция (оплата еще не производилась) wait_payment_billing - ожидание оплаты> cancel_billing - оплата отменена </StopPoint> payment_refund - возврат средств </StopPoints> pre-authorized <BookingCodes> <BookingCode ClassType="?"> <!- преавторизация paid_billing - оплаченоClassType — класс перелета, например: economy--> <GatewayNameBookingCode>?</GatewayNameBookingCode> <!--GatewayName - название платежного шлюзаBookingCode — код класса бронирования, у разных авиакомпаний один и тот же класс может записываться разными литерами, например: L--> <MoneyPaid Currency="?"/BookingCode>? </MoneyPaidBookingCodes> <FlightTime>?<!--MoneyPaid - сумма оплаты--/FlightTime> <!--Currency - валютаFlightTime — время перелёта в минутах--> <PaymentDateTime>TimeZone Departure="?" Arrival="?<"/PaymentDateTime> <!--PaymentDateTime Departure временная зона аэропорта отправления-- дата и время оплаты> <!--Arrival — временная зона аэропорта прибытия--> <CreateDateTimeETicket>?</CreateDateTimeETicket> <!--CreateDateTime - дата и время создания платежной транзакцииETicket — признак электронного билета, значения: true / false--> <Description/isCharter> ?</TransactionisCharter> <!--isCharter — признак чартерного перелета, значения: true /PaymentTransactionsfalse--> <PaymentStatus>?</PaymentStatusBaggageAllowances> <!--PaymentStatus - статус оплаты: not_paid — не оплачено partly_paid — оплачено, частично fully_paid — оплачено, полностьюBaggageAllowances — информация о багаже--> <BaggageAllowance> <PassengerType>?<Travellers/PassengerType> <!--Zero or more repetitions:PassengerType — тип пассажира, соответстует типу тарифа в PricingInfo --> <Traveller Type="Value>?" IsContact="?" LinkedTo="?" Num="?" TravellerId="?"</Value> <!--Value — количество--> <Measurement>?</Measurement> <!--Type Measurement тип пассажирамера измерения, обязательный, возможные может принимать значения: ADT kg взрослыекилограмм, CNN pc детибагажное место, UNN lb дети без сопровождения взрослых, INF — младенцы, INS — младенцы с местомфунт--> </BaggageAllowance> </BaggageAllowances> </Segment> <!--IsContact /Segments> <PricingInfo Refundable="?"> <!--Refundable если возвратный/невозвратный, true — то данный пассажир является контактным лицом/false. Если пустое, если false — то не является,известно--> контактное лицо может быть только 1, если среди пассажиров есть взрослые, то только кто-то из них <PassengerFare Type="?" Quantity="?"> может быть контактным лицом, по умолчанию false <!--Type — тип тарифа--> <!--Num Quantity порядковый номер пассажира, начинается с 1количество пассажиров данного типа--> <TravellerRef> <!--LinkedTo TravellerRef номер взрослогоСсылка на пассажиров, к которому привязан младенец/ребеноккоторым относится данный тариф--> <Ref>?</Ref> <!--TravellerId Ref устаревший параметрНомера пассажиров, не используетсяк которым относится данный тариф--> <Meal>? </MealTravellerRef> <!--Meal BaseFare Currency="?" Amount="?"/> <!--BaseFare — базовая стоимость, в базовой валюте. Currency — код типа питаниявалюты, возможные значения: NONE Amount отсутствуетзначение цены--> AVML — Азиатская вегетарианская кухня <EquiveFare Currency="?" Amount="?"/> BLML <!--EquiveFare Блюда щадящей диетыбазовая стоимость, в эквивалентной валюте(валюте продажи). CHML Currency Детское питание CHPC код валюты, Amount Детский холодный завтракзначение цены--> СНСС — Детский горячий завтрак <TotalFare Currency="?" Amount="?"/> CHHC — Детский ланч <!--TotalFare — суммарная стоимость, ветчина и сырв эквивалентной валюте. PBJS Currency Детский ланчкод валюты, ореховое масло CHMC Amount Детский обед макароны с сыромзначение цены--> DBML — Диабетическое питание <Taxes> FPML — Фрукты <Tax CurCode="?" TaxCode="?" Amount="?"/> GFML <!--CurCode Питание без клейковины HFML код валюты, TaxCode Питание богатое клетчаткой HNML код таксы, Amount Индусская кухнясумма таксы--> BBML — Питание для младенцев </Taxes> KSML — Кошерная кухня <Tariffs> SMKB — Кошерный завтрак <Tariff Code="?" SegNum="?"/> SMKL <!--Code Кошерный ланч SMKD код тарифа, SegNum Кошерный обедномер сегмента, к которому применён тариф--> LPML — Малобелковое питание <FareFamilies> LCML — Низкокалорийное питание <FullName>?</FullName> LFML <!--FullName Низкохолестериновое питаниеназвание тарифа--> PRML — Низкопуриновое питание </FareFamilies> LSML — Малосоленое питание </Tariffs> MOML — Мюсли <FareCalc>?</FareCalc> NLML <!--FareCalc Безмолочные продуктыстрока расчёта цены--> ORML — Восточная кухня <LastTicketDateTime>?</LastTicketDateTime> RVML <!--LastTicketDateTime Сырые овощи SFML — Морепродукты SPML — Особое питание VLML — Вегетарианское, молоко дата и яйца VGML — Строго вегетарианское питание VJML — Джайнизское вегетарианское VOML — Восточное вегетарианское питаниевремя таймлимита по выписке в формате ГГГГ-MM-ДДTЧЧ:ММ:СС--> <Ticket/PassengerFare> <!--Ticket - номер билета (если заказ выписан)--/PricingInfo> <Commission Currency="?">?</Commission> <Seats xsi:nilCharges Currency="true?">?</Charges> <!--Seats - выбранные места (если есть информация)Charges — сборы, Currency — код валюты--> <PersonalInfo DateOfBirthTotalPrice Currency="?" Nationality=">?" Gender="?"</TotalPrice> <!--DateOfBirth TotalPrice дата рождения в формате ДД.ММ.ГГГГ (например 31.12.2000)итоговая цена, Currency — код валюты--> </Flight> <Agency Name="?"> <!--Nationality Name гражданство, двух буквенный код страны (RU, UA, US и т.д.)--название агентства--> <Telephone Type="?"> <!--Gender Type пол пассажиратип номера, обязательный, возможные значения: M — мужской(Male)мобильный, F H — домашний, B — рабочий, A женский(Female)агенство--> <FirstName>?</FirstName> <!--FirstName — имя пассажираOptional:--> <LastNamePhoneNumber>?</LastNamePhoneNumber> <!--LastName PhoneNumber фамилия пассажираномер телефона--> <!--Optional:--> <MiddleNameCountryAccessCode>?</MiddleNameCountryAccessCode> <!--MiddleName CountryAccessCode отчество пассажиракод страны--> </PersonalInfo!--Optional:--> <LoyaltyCard OpCode="AreaCityCode>?" Number="?"</AreaCityCode> <!--OpCode AreaCityCode — код авиакомпаниирегиона/города--> <!--Number — номер карточки--/Telephone> <ContactInfo> <!--Optional:--> <EmailID>Address City="?</EmailID" State="?" StreetAddress="?" PostalCode="?" CountryCode="?"/> <!--EmailID City контактный emailгород--> <!--Optional:State — штат--> <Telephone Type="?"> <!--Type !--StreetAddress тип номераадрес в городе (улица, возможные значения: M — мобильныйдом, H — домашнийкорпус, B — рабочийофис и т.д.)--> <!--Optional:PostalCode — почтовый индекс--> <PhoneNumber>?</PhoneNumber> <!--PhoneNumber CountryCode номер телефонакод страны (RU, UA и т.п.)--> <!--Optional:--/Agency> <CountryAccessCode>ItinReceipts Encoding="?" Format="?</CountryAccessCode"> <!--CountryAccessCode ItinReceipts — маршрут квитанция, Encoding — кодировка, Format код страныформат--> <!--OptionalFareStored xsi:--nil="true"/> <PaymentTransactions> <Transaction> <AreaCityCodeId>?</AreaCityCodeId> <!--AreaCityCode — код региона/городаId - номер транзакции в Немо--> </TelephoneStatus> ?</ContactInfo> <DocumentInfo DocType="?" DocNum="?" CountryCode="?" DocElapsedTime="?"/Status> <!--DocType — тип документа, возможные значенияStatus - статус транзакции: Р — Паспорт new_billing - новая транзакция (оплата еще не производилась) A – Паспорт иностранца wait_payment_billing - ожидание оплаты С — Внутренний гражданский паспорт cancel_billing - оплата отменена F – Документ заменяющий паспорт payment_refund - возврат средств М — Воинское удостоверение pre-authorized - преавторизация N – Сертификат натурализации(специфичный документ США) T – Док.повторного въезда, паспорт беженца V – Документ для пересечения границы paid_billing - оплачено--> <!--DocNum — номер документа--GatewayName>?</GatewayName> <!--CountryCode — двух буквенный код страны выдачи паспорта (RU, UA, US и т.д.)GatewayName - название платежного шлюза--> <!--DocElapsedTime — срок истечения срока действия паспорта в ДД.ММ.ГГГ (например 31.12.2000)MoneyPaid Currency="?">?</MoneyPaid> <!--MoneyPaid - сумма оплаты--> <VisaInfo Num="!--Currency - валюта--> <PaymentDateTime>?" IssueCountry="?" IssuePlace="?" BirthCountry="?" BirthCity="?" IssueDate="?"</PaymentDateTime> <!--Num — номер визыPaymentDateTime - дата и время оплаты--> <!--IssueDate — дата(ДД.ММ.ГГГГ) выдачи визы--CreateDateTime>?</CreateDateTime> <!--IssueCountry — страна выдачи визыCreateDateTime - дата и время создания платежной транзакции--> <!--IssuePlace — место выдачи визы--Description/> <!--BirthCountry — страна рождения(IATA код страны)--/Transaction> </PaymentTransactions> <PaymentStatus>?</PaymentStatus> <!--BirthCity — город рождения(название)PaymentStatus -->статус оплаты: <ArrAddress City="?" State="?" StreetAddress="?" PostalCode="?" CountryCode="?"/> not_paid — не оплачено <!--City partly_paid город-->оплачено, частично <!--State fully_paid штат или область въездаоплачено, полностью--> <Travellers> <!--StreetAddress — адресZero or more repetitions: улица, номер дома, квартиры и т.д.--> <!--PostalCode — почтовый код--> <!--CountryCode — код страны--> <PreferedPlace SmokingAllowedTraveller Type="?" LocationIsContact="?" RowNumberLinkedTo="?" PlaceNumberNum="?" SegNumberTravellerId="?"/> <!--Если указаны номер ряда и номер местаType — тип пассажира, обязательный, возможные значения: ADT — взрослые, то параметры SmokingAllowed и Location игнорируются--> <!--SmokingAllowed CNN — дети, UNN булевское значениедети без сопровождения взрослых, true INF место для курящихмладенцы, false INS место для некурящихмладенцы с местом--> <!--Location IsContact положение места в рядеесли true — то данный пассажир является контактным лицом, возможные значения: W если false у окна (Window)то не является, M — где контактное лицо может быть только 1, если среди пассажиров есть взрослые, то только кто-то в середине ряда (Middle)из них NPW — возле прохода (NearPassengerWay) NS — нет предпочтения (NotSpecified) может быть контактным лицом, по умолчанию false--> <!--RowNumber Num порядковый номер рядапассажира, начинается с 1--> <!--PlaceNumber LinkedTo — номер меставзрослого, к которому привязан младенец/ребенок--> <!--SegNumber TravellerId актуализированный номер сегментапассажира, который возвращается в ответе на запрос бронирования и в дальнейшем ссылки на пассажиров даются на основании этого параметра--> <DocStringFormats> <!--Zero or more repetitions:--> <DocStringFormatMeal>?</DocStringFormatMeal> <!--DocStringFormat Meal формат паспортной строкикод типа питания, возможные значения: DOCS NONE строка формата DOCS, FOID отсутствует AVML строка формата FOID-->Азиатская вегетарианская кухня </DocStringFormats> BLML — Блюда щадящей диеты </Traveller> CHML — Детское питание </Travellers> CHPC — Детский холодный завтрак </UpdateBook> СНСС — Детский горячий завтрак <Requisites/> CHHC — Детский ланч, ветчина и сыр <RequestType xsi:nil="true"/> PBJS — Детский ланч, ореховое масло <UserID xsi:nil="true"/> CHMC — Детский обед макароны с сыром <Error Code="?">Сообщение об ошибке</Error> DBML — Диабетическое питание </Response> FPML — Фрукты </ResponseBin> GFML — Питание без клейковины </ns1:UpdateBookResponse> HFML — Питание богатое клетчаткой </SOAP-ENV:Body> HNML — Индусская кухня</SOAP-ENV:Envelope> BBML — Питание для младенцев</syntaxhighlight> KSML — Кошерная кухня</div> SMKB — Кошерный завтрак</div> SMKL — Кошерный ланч SMKD — Кошерный обед=== Запрос на модификацию заказа === LPML — Малобелковое питание LCML — Низкокалорийное питаниеИспользование запроса модификации заказа позволяет внести паспортные данные, визу, карту лояльности,а также изменить значения паспортных данных или визы, если они уже были внесены. LFML — Низкохолестериновое питание PRML — Низкопуриновое питаниеWSDL: http://CLIENT_DOMAIN/nemoflights/wsdl.php?for=ModifyInformation LSML — Малосоленое питание MOML — Мюсли NLML — Безмолочные продукты ORML — Восточная кухня<div class="toccolours mw-collapsible mw-collapsed" style="width:1000px"> RVML — Сырые овощи==== Запрос ==== SFML — Морепродукты<div class="mw-collapsible-content"> SPML — Особое питание VLML — Вегетарианское, молоко и яйца VGML — Строго вегетарианское питание VJML — Джайнизское вегетарианское VOML — Восточное вегетарианское питание--> <Ticket/> <syntaxhighlight lang="xml" line enclose!--Ticket - номер билета (если заказ выписан)--> <Seats xsi:nil="divtrue" style="font/> <!--Seats - выбранные места (если есть информация)--size:9pt;background: #F9F9F9; border: 1px dashed #2F6FAB; padding: 10px 5px; margin: 10px 0;"> <soapenv:Envelope xmlns:soapenvPersonalInfo DateOfBirth="http://schemas.xmlsoap.org/soap/envelope/?" Nationality="?" xmlns:verGender="http://nemo-one/nemoflights/?version%3D1.0%26for%3DModifyInformation"> <soapenv:Header/!--DateOfBirth — дата рождения в формате ДД.ММ.ГГГГ (например 31.12.2000)--> <soapenv:Body> <ver:ModifyInformation!--Nationality — гражданство, двух буквенный код страны (RU, UA, US и т.д.)--> <RequestBin> <Request> <ModifyInformation> <BookID>?</BookID> <!--BookID Gender Id заказа в системе Nemoпол пассажира, возможные значения: M — мужской(Male), обязательныйF — женский(Female)--> <FirstName>?<InformationToModify/FirstName> <!--Zero or more repetitions:FirstName — имя пассажира--> <InformationLastName> ?</LastName> <!--LastName — фамилия пассажира--> <!--Optional:--> <TravellerNumberMiddleName>?</TravellerNumberMiddleName> <!--TravellerNumber MiddleName номер отчество пассажира из ответа бронирования--> <DocumentInfo DocType/PersonalInfo> <LoyaltyCard OpCode="?" DocNum="?" CountryCode="?" DocElapsedTimeNumber="?"/> <!--DocType OpCode тип документа, возможные значения:код авиакомпании--> Р <!--Number — номер карточки--> <ContactInfo> <!--Optional:--> <EmailID>?</EmailID> <!--EmailID — контактный email--> <!--Optional:--> <Telephone Type="?"> <!--Type — тип номера, возможные значения: M — мобильный, H — домашний, B — рабочий--> <!--Optional:--> <PhoneNumber>?</PhoneNumber> <!--PhoneNumber — номер телефона--> <!--Optional:--> <CountryAccessCode>?</CountryAccessCode> <!--CountryAccessCode — код страны--> <!--Optional:--> <AreaCityCode>?</AreaCityCode> <!--AreaCityCode — код региона/города--> </Telephone> </ContactInfo> <DocumentInfo DocType="?" DocNum="?" CountryCode="?" DocElapsedTime="?"/> <!--DocType — тип документа, возможные значения: Р — Паспорт A – Паспорт иностранца С — Внутренний гражданский паспорт F – Документ заменяющий паспорт М — Воинское удостоверение N – Сертификат натурализации(специфичный документ США) T – Док.повторного въезда, паспорт беженца A – Паспорт иностранца С — Внутренний гражданский паспорт F – Документ заменяющий паспорт М — Воинское удостоверение N – Сертификат натурализации(специфичный документ США) T – Док.повторного въезда, паспорт беженца V – Документ для пересечения границы--> <!--DocNum — номер документа--> <!--CountryCode — двух буквенный код страны выдачи паспорта (RU, UA, US и т.д.)--> <!--DocElapsedTime — срок истечения срока действия паспорта в ДД.ММ.ГГГ (например 31.12.2000)--> <VisaInfo Num="?" IssueCountry="?" IssuePlace="?" BirthCountry="?" BirthCity="?" IssueDate="?"/> <!--Num — номер визы--> <!--IssueDate — дата(ДД.ММ.ГГГГ) выдачи визы--> <!--IssueCountry — страна выдачи визы-->
<!--IssuePlace — место выдачи визы-->
<!--BirthCountry — страна рождения(IATA код страны)-->
<!--BirthCity — город рождения(название)-->
<LoyaltyCardsArrAddress City="?" State="?" StreetAddress="?" PostalCode="?" CountryCode="?"/> <!--City — город--> <!--State — штат или область въезда--> <!--Zero or more repetitionsStreetAddress — адрес:улица, номер дома, квартиры и т.д.--> <!--PostalCode — почтовый код--> <!--CountryCode — код страны--> <LoyaltyCard OpCodePreferedPlace SmokingAllowed="?" Location="?" RowNumber="?" PlaceNumber="?" NumberSegNumber="?"/> <!--необязательныйЕсли указаны номер ряда и номер места, то параметры SmokingAllowed и Location игнорируются--> <!--SmokingAllowed — булевское значение, true — место для курящих, false — место для некурящих--> <!--Location — положение места в ряде, возможные значения: W — у окна (Window) M — где-то в середине ряда (Middle) NPW — возле прохода (NearPassengerWay) NS — нет предпочтения (NotSpecified)--> <!--OpCode RowNumber код авиакомпанииномер ряда--> <!--PlaceNumber — номер места--> <!--Number SegNumber — номер карточкисегмента--> <DocStringFormats> <!--Zero or more repetitions:--> <DocStringFormat>?</DocStringFormat> <!--DocStringFormat — формат паспортной строки, возможные значения: DOCS — строка формата DOCS, FOID — строка формата FOID--> </LoyaltyCardsDocStringFormats> </InformationTraveller> </InformationToModifyTravellers> <AutoCancelDate>?<DeviceId/AutoCancelDate> <!--необязательныйAutoCancelDate — дата и время таймлимита автоаннуляции в формате ГГГГ-MM-ДДTЧЧ:ММ:СС определяемые по настройкам агентства--> <TimeLimits> <TicketingTimeLimit xsi:nil="true"/> <Type!--TicketingTimeLimit — Таймлимит на выписку в формате ГГГГ-MM-ДДTЧЧ:ММ:СС-->? <PriceTimeLimit xsi:nil="true"/Type> <!--Type PriceTimeLimit Тип мобильного устройства (appleТаймлимит цены из ГРС в формате ГГГГ-MM-ДДTЧЧ:ММ:СС--> <AdvancedPurchaseTimeLimit xsi:nil="true"/android)> <!--AdvancedPurchaseTimeLimit — Таймлимит цены из тарифных правил в формате ГГГГ-MM-ДДTЧЧ:ММ:СС--> <TokenAgencyTimeLimit>?</TokenAgencyTimeLimit> <!--Token — Токен мобильного устройстваAgencyTimeLimit - Таймлимит по настройкам в формате ГГГГ-MM-ДДTЧЧ:ММ:СС--> </DeviceIdTimeLimits> </ModifyInformationEmptyBook> <AirRules> <!-- AirRules появляется если был получен результат для GetFareRules--> <!--Code код правила--> <!--Tarrif название тарифа--> <!--Name название правила--> <Rule Code="?" Tarrif="?" Name="?"> <!--RuleText Текст правила--> <RuleText>?</RuleText> </RequestRule> <Rule Code="?" Tarrif="?" Name="?"> <Source!--RuleText Текст правила--> <ClientIdRuleText>?</ClientIdRuleText> </Rule> </AirRules> <AlternateFlights> <!--ClientId — ID клиента в системе Nemo. Можно посмотреть/добавить в разделеAlternateFlights появляется если был получен результат для GetFareFamilies--> <Flight FlightId="?"Администрирование> <!-- FlightId номер перелета, можно использовать для бронирования с указанным семейством тарифа--> <Price Currency=" ? "Веб>?</Price> <!-- Price общая стоимость заказа с учетом сбора--> <!-- Currency валюта указанной стоимости--> <FareFamily> <Name>?</Name> <!-служба. Авторизация".- Name имя семества тарифов--> <Features> <Carryon>?</Carryon> <!-- Carryon информация о ручной клади --> <Miles>?</Miles> <!-- Miles информация о расчете миль на данном тарифе--> <APIKeySpecialMeal>?</APIKeySpecialMeal> <!--APIKey — секретный ключ доступа к API Nemo. Можно посмотретьSpecialMeal информация о наличии специального питания true/добавить в разделеfalse --> <Meals xsi:nil="Администрированиеtrue" /> <!-- Meals информация о возможных вариантах питания --> <VIP>? "Веб</VIP> <!--служба. Авторизация".VIP наличие услуг повышенного качества true/false --> <LanguageBaggage>?</LanguageBaggage> <!--Language — языкBaggage информация о доступном для провоза богаже --> <CurrencyExchangable>?</CurrencyExchangable> <!-- CUrrency Exchangable валютаДоступность изменений в билете true/false --> <EndUserDataExchangePenalty> <!--Блок с данными о конечном пользователе, необязательный, но необходим при при использовании запросов поиска и бронирования для поставщика TravelFusionExchangePenalty — Удержание за изменения в билете до вылета --> <EndUserIPValue Currency="?">123.123.123.123?</EndUserIPValue> <!-- Value стоимость услуги --> <!--IP адрес пользователяCurrency валюта стоимости услуги --> <Type>Segment</Type> <!--Type сбор будет применятся для каждого сегмента если в поле указан "Segment" или на весь билет если значение "Ticket"> </ExchangePenalty> <EndUserBrowserAgentRefundable>firefox?</EndUserBrowserAgentRefundable> <!--Браузер пользователяRefundable — Признак возвратности билета true/false --> <RequestOriginRefundPenalty xsi:nil="true"/>Russia <!--RefundPenalty — Удержание за возврат true/false --nemo.travel> <Value Currency="?">?</RequestOriginValue> <!-- Value стоимость услуги --> <!--Страна и домен, с которого пользователь совершает поискCurrency валюта стоимости услуги --> <Type>Segment</бронированиеType> <!-- Type сбор будет применятся для каждого сегмента если в поле указан "Segment" или на весь билет если значение "Ticket" --> </Features> </FareFamily> </Flight> </AlternateFlights> <Requisites/EndUserData> <RequestType xsi:nil="true"/> <UserID xsi:nil="true"/> <Error Code="?">Сообщение об ошибке</Error> </SourceResponse> </RequestBinResponseBin> </verns1:ModifyInformationAirAvailResponse> </soapenvSOAP-ENV:Body></soapenvSOAP-ENV:Envelope>
</syntaxhighlight>
</div>
</div>
 
=== Запрос на обновление заказа ===
 
WSDL: http://CLIENT_DOMAIN/nemoflights/wsdl.php?for=UpdateBook
<div class="toccolours mw-collapsible mw-collapsed" style="width:1000px">
==== Ответ Запрос ====
<div class="mw-collapsible-content">
<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://CLIENT_DOMAIN/nemoflights/?version%3D1.0%26for%3DBookFlight" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SOAP-ENV:Body> <ns1:ModifyInformationResponse> <ResponseBin> <Response> <BookFlight ID="?" Status="?" Code="?"> <!--ID — Id брони в системе Nemo, целое число, обязательный--> <!--Status — индикатор состояния брони, возможные значения: booked — забронировано, canceled — бронь отменена, ticket — выписана UNDEFINED — статус не определён--> <!--Code — код брони в системе поставщика--> <QueryPlace xsi:nil="true"/> <!--QueryPlace — положение брони в очереди, Number — номер брони в очереди--> <Flight FlightId="?"> <!--FlightId — Id перелёта в системе Nemo--> <WebService>?</WebService> <!--WebService — поставщик перелёта--> <ValCompany>?</ValCompany> <!--ValCompany — код авиакомпании, являющейся валидирующим перевозчиком, IATA--> <URL>?</URL> <!--URL — ссылка на бронирование конкретного перелета--> <Segments> <Segment SegNum="?" SegGroupNum="?"> <!--SegNum — номер сегмента в перелёте--> <!--SegGroupNum – номер плеча перелёта--> <SupplierCode>?</SupplierCode> <!--SupplierCode – номер заказа в системе АК--> <DepAirp CodeType="IATA">?</DepAirp> <!--DepAirp — аэропорт отправления, например: MOW — любой аэропорт в г.Москва или SVO — Шереметьево--> <DepTerminal>?</DepTerminal> <!--DepTerminal — терминал пункта отправления, если пустое значение, то в аэропорту всего 1 терминал--> <ArrAirp CodeType="IATA">?</ArrAirp> <!--ArrAirp — аэропорт прибытия--> <ArrTerminal>?</ArrTerminal> <!--ArrTerminal — терминал пункта прибытия, если пустое значение, то в аэропорту всего 1 терминал--> <OpAirline>?</OpAirline> <!--OpAirline — авиакомпания перевозчик, например: SU — Аэрофлот--> <MarkAirline>?</MarkAirline> <!--MarkAirline — авиакомпания, продающая перелёт--> <FlightNumber>?</FlightNumber> <!--FlightNumber — номер рейса--> <AircraftType>?</AircraftType> <!--AircraftType — тип воздушного судна, код--> <DepDateTime>?</DepDateTime> <!--DepDateTime — дата и время отправления, формат ГГГГ-MM-ДДTЧЧ:ММ:СС--> <ArrDateTime>?</ArrDateTime> <!--ArrDateTime — дата и время прибытия, формат ГГГГ-MM-ДДTЧЧ:ММ:СС--> <StopNum>?</StopNum> <!--StopNum — количество остановок--> <BookingCodes> <BookingCode ClassType="?"> <!--ClassType — класс перелета, например: economy--> <BookingCode>?</BookingCode> <!--BookingCode — код класса бронирования, у разных авиакомпаний один и тот же класс может записываться разными литерами, например: L--> </BookingCode> </BookingCodes> <FlightTime>?</FlightTime> <!--FlightTime — время перелёта в минутах--> <TimeZone Departure="?" Arrival="?"/> <!--Departure временная зона аэропорта отправления--> <!--Arrival — временная зона аэропорта прибытия--> <ETicket>?</ETicket> <!--ETicket — признак электронного билета, значения: true / false--> <isCharter>?</isCharter> <!--isCharter — признак чартерного перелета, значения: true / false--> <BaggageAllowances> <!--BaggageAllowances — информация о багаже--> <BaggageAllowance> <PassengerType>?</PassengerType> <!--PassengerType — тип пассажира, соответствует типу тарифа в PricingInfo --> <Value>?</Value> <!--Value — количество--> <Measurement>?</Measurement> <!--Measurement — мера измерения, может принимать значения: kg — килограмм, pc — <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ver="http://CLIENT_DOMAIN/nemoflights/?version%3D1.0%26for%3DUpdateBook"> <soapenv:Header/> <soapenv:Body> <ver:UpdateBook> <RequestBin> <Request> <UpdateBook> <BookID>?</BookID> <!--BookID — Id заказа в системе Nemo, обязательный--> <!--Optional:--> <UpdateOrder>?</UpdateOrder> <!--Отправка запроса к GDS на обновление заказа, значения true/false. Если не указан, по умолчанию true--> <UpdatePaymentTransactions>?</UpdatePaymentTransactions> <!--Обновление данных об оплате, значения true/false--> <!--Optional:--> </UpdateBook> </Request> <Source> <ClientId>?</ClientId> <!--ClientId — ID клиента в системе Nemo. Можно посмотреть/добавить в разделе "Администрирование" - "Веб-служба. Авторизация".--> <APIKey>?</APIKey> <!--APIKey — секретный ключ доступа к API Nemo. Можно посмотреть/добавить в разделе "Администрирование" - "Веб-служба. Авторизация".--> <Language>?</Language> <!--Language — язык, например: RU--> <Currency>?</Currency> <!-- Currency — валюта, например: RUB, EUR--> <ShowNames>?</ShowNames> <!-- ShowNames — отображение названий аэропортов, авиакомпаний и воздушных судов: true - отображать, false - не отображать. Возвращает значение на том языке, который был указан в запросе. Для RU - русский вариант, для UKR, EN, ES - латинский вариант. Опциональный элемент. --> </Source> </RequestBin> </ver:UpdateBook> </soapenv:Body></soapenv:Envelope></syntaxhighlight></div></div> <div class="toccolours mw-collapsible mw-collapsed" style="width:1000px">==== Ответ ====<div class="mw-collapsible-content"><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://CLIENT_DOMAIN/nemoflights/?version%3D1.0%26for%3DUpdateBook" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SOAP-ENV:Body> <ns1:UpdateBookResponse> <ResponseBin> <Response> <UpdateBook ID="?" Status="?" Code="?"> <!--ID — Id брони в системе Nemo, целое число, обязательный--> <!--Status — индикатор состояния брони, возможные значения: booked — забронировано, canceled — бронь отменена, ticket — выписана UNDEFINED — статус не определён--> <!--Code — код брони в системе поставщика--> <QueryPlace xsi:nil="true"/> <!--QueryPlace — положение брони в очереди, Number — номер брони в очереди--> <IsPossibleToTicket>?</IsPossibleToTicket> <!--IsPossibleToTicket — возможность провести выписку ПНРа, boolean--> <Flight FlightId="?"> <!--FlightId — Id перелёта в системе Nemo--> <WebService>?</WebService> <!--WebService — поставщик перелёта--> <ValCompany>?</ValCompany> <!--ValCompany — код авиакомпании, являющейся валидирующим перевозчиком, IATA--> <URL>?</URL> <!--URL — ссылка на страницу данного заказа в системе Немо--> <Segments> <Segment SegNum="?" SegGroupNum="?"> <!--SegNum — номер сегмента в перелёте--> <!--SegGroupNum – номер плеча перелёта--> <SupplierCode>?</SupplierCode> <!--SupplierCode – номер заказа в системе АК--> <DepAirp CodeType="IATA" Name="?">?</DepAirp> <!--DepAirp — аэропорт отправления, например: MOW — любой аэропорт в г.Москва или SVO — Шереметьево--> <DepTerminal>?</DepTerminal> <!--DepTerminal — терминал пункта отправления, если пустое значение, то в аэропорту всего 1 терминал--> <ArrAirp CodeType="IATA" Name="?">?</ArrAirp> <!--ArrAirp — аэропорт прибытия--> <ArrTerminal>?</ArrTerminal> <!--ArrTerminal — терминал пункта прибытия, если пустое значение, то в аэропорту всего 1 терминал--> <OpAirline>?</OpAirline> <!--OpAirline — авиакомпания перевозчик, например: SU — Аэрофлот--> <OpAirlineName>?</OpAirlineName> <!--OpAirlineName - полное наименование АК на кириллице--> <MarkAirline>?</MarkAirline> <!--MarkAirline — авиакомпания, продающая перелёт--> <MarkAirlineName>?</MarkAirlineName> <!--MarkAirlineName - полное наименование АК на кириллице--> <FlightNumber>?</FlightNumber> <!
</div>
 
=== Запрос на чтение очереди ===
 
Чтение осуществляется из пакетов реквизитов, настроенных и включенных для пользователя на текущий момент. Необходимо учесть, что пользователю отображаются только доступные ему заказы. В ответе на запрос приходят списки из названий очередей с соответствующими им заказами.
 
Список очередей:<br>
* GeneralQueue - в очередь попадают заказы, изменения в которых не соотносятся с другими именными очередями.
* ScheduleChanged - предназначена для заказов с изменениями в расписании.
* TicketsAdded - очередь для заказов, в которых добавлены номера билетов.
* SegmentsCancelled - помещаются заказы с отмененными сегментами.
* UnconfirmedSegments - в очередь попадают заказы с неподтвержденными сегментами.
* WaitingConfirmation - представлены заказы, сегменты которых ожидают подтверждения.
* ServiceInfoChanged - предназначена для заказов с изменениями в SSR.
* TimeLimit - определена для заказов, параметр "таймлимит" которых был изменен авиакомпанией.
* VendorRemarks - предназначена для поддержки бронирования с ремарками от авиакомпаний, например автоотмена брони
 
WSDL: http://CLIENT_DOMAIN/nemoflights/wsdl.php?for=ListQueue
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:1000px">
==== Запрос ====
<div class="mw-collapsible-content">
<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://CLIENT_DOMAIN/nemoflights/?version%3D1.0%26for%3DListQueue">
<soapenv:Header/>
<soapenv:Body>
<ver:ListQueue>
<RequestBin>
<Request>
<ListQueue>
<QueueNames>
<!--Zero or more repetitions:-->
<QueueName>?</QueueName>
<!--QueueName — название очереди. Возможные значения представлены в списке очередей.-->
</QueueNames>
<DeleteAfterRead>?</DeleteAfterRead>
<!--DeleteAfterRead — удаление очереди после прочтения: true — включить, false — выключить-->
</ListQueue>
</Request>
<Source>
<ClientId>?</ClientId>
<!--ClientId — ID клиента в системе Nemo. Можно посмотреть/добавить в разделе «Настройки системы» > «Интеграция» > «Nemo 1.0 (SOAP API)».-->
<APIKey>?</APIKey>
<!--APIKey — секретный ключ доступа к API Nemo. Можно посмотреть/добавить в разделе «Настройки системы» > «Интеграция» > «Nemo 1.0 (SOAP API)».-->
<Language>?</Language>
<!--Language — язык, например: RU-->
<Currency>?</Currency>
<!-- Currency — валюта, например: RUB, EUR-->
</Source>
</RequestBin>
</ver:ListQueue>
</soapenv:Body>
</soapenv:Envelope>
</syntaxhighlight>
</div>
</div>
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:1000px">
 
==== Ответ ====
<div class="mw-collapsible-content">
<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://CLIENT_DOMAIN/nemoflights/?version%3D1.0%26for%3DListQueue" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<SOAP-ENV:Body>
<ns1:ListQueueResponse>
<ResponseBin>
<Response>
<ListQueue>
<Queue>
<Queue>
<QueueName>ScheduleChanged</QueueName>
<!--QueueName — название очереди-->
<BookInfos>
<BookInfo>
<BookID>318150</BookID>
<!--BookID — идентификатор заказа в Nemo Travel-->
<PNRLocator>111WX1</PNRLocator>
<!--PNRLocator — идентификатор заказа в системе поставщика-->
<Supplier>SIRENA2000</Supplier>
<!--Supplier — поставщик перелёта-->
</BookInfo>
<BookInfo>
<BookID>318161</BookID>
<PNRLocator>222WW2</PNRLocator>
<Supplier>SIRENA2000</Supplier>
</BookInfo>
</BookInfos>
</Queue>
<Queue>
<QueueName>TicketsAdded</QueueName>
<BookInfos>
<BookInfo>
<BookID>318220</BookID>
<PNRLocator>333WX3</PNRLocator>
<Supplier>SIRENA2000</Supplier>
</BookInfo>
<BookInfo>
<BookID>318245</BookID>
<PNRLocator>444WW4</PNRLocator>
<Supplier>SIRENA2000</Supplier>
</BookInfo>
</BookInfos>
</Queue>
</Queue>
</ListQueue>
<Requisites/>
<RequestType xsi:nil="true"/>
<UserID xsi:nil="true"/>
<Errors xsi:nil="true"/>
</Response>
</ResponseBin>
</ns1:ListQueueResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
</syntaxhighlight>
</div>
</div>
 
=== Запрос на удаление заказа из очереди ===
Для удаления заказа из очереди необходимо передать список ID заказов в Nemo Travel и список очередей. Если у пользователя нет доступа к заказу, то этот заказ будет удален из списка.
 
WSDL: http://CLIENT_DOMAIN/nemoflights/wsdl.php?for=DeleteFromQueue
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:1000px">
==== Запрос ====
<div class="mw-collapsible-content">
<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://CLIENT_DOMAIN/nemoflights/?version%3D1.0%26for%3DDeleteFromQueue">
<soapenv:Header/>
<soapenv:Body>
<ver:DeleteFromQueue>
<RequestBin>
<Request>
<DeleteFromQueue>
<BookQueueLists>
<!--Zero or more repetitions:-->
<BookQueueList>
<BookID>?</BookID>
<!--BookID — идентификатор заказа в Nemo Travel-->
<QueueNames>
<!--Zero or more repetitions:-->
<QueueName>?</QueueName>
<!--QueueName — название очереди. Возможные значения представлены в списке очередей.-->
</QueueNames>
</BookQueueList>
</BookQueueLists>
</DeleteFromQueue>
</Request>
<Source>
<ClientId>?</ClientId>
<!--ClientId — ID клиента в системе Nemo. Можно посмотреть/добавить в разделе «Настройки системы» > «Интеграция» > «Nemo 1.0 (SOAP API)».-->
<APIKey>?</APIKey>
<!--APIKey — секретный ключ доступа к API Nemo. Можно посмотреть/добавить в разделе «Настройки системы» > «Интеграция» > «Nemo 1.0 (SOAP API)».-->
<Language>?</Language>
<!--Language — язык, например: RU-->
<Currency>?</Currency>
<!-- Currency — валюта, например: RUB, EUR-->
</Source>
</RequestBin>
</ver:DeleteFromQueue>
</soapenv:Body>
</soapenv:Envelope>
</syntaxhighlight>
</div>
</div>
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:1000px">
 
==== Ответ ====
<div class="mw-collapsible-content">
<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://CLIENT_DOMAIN/nemoflights/?version%3D1.0%26for%3DDeleteFromQueue" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<SOAP-ENV:Body>
<ns1:DeleteFromQueueResponse>
<ResponseBin>
<Response>
<DeleteFromQueue>
<Result>Success</Result>
<!--Result — результата выполнения запроса на удаления брони из очереди-->
</DeleteFromQueue>
<Requisites/>
<RequestType xsi:nil="true"/>
<UserID xsi:nil="true"/>
<Errors xsi:nil="true"/>
</Response>
</ResponseBin>
</ns1:DeleteFromQueueResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
</syntaxhighlight>
</div>
</div>
 
=== Запрос на получение семейства тарифов для определенного перелета ===
Данный запрос возвращает список перелетов с описанием семейства тарифов. Для каждого варианта указан его идентификатор и стоимость. Поскольку информация по семействам представлена в ответе GetFareFamilies, то последующая проверка доступности не возвращает данные по семействам тарифов. <br>
{{Attention|Доступ к методу предоставляется только при включенном модуле «Семейства тарифов».}}<br>
WSDL: http://CLIENT_DOMAIN/nemoflights/wsdl.php?for=GetFareFamilies
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:1000px">
==== Запрос ====
<div class="mw-collapsible-content">
<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:/CLIENT_DOMAIN/nemoflights/?version%3D1.0%26for%3DGetFareFamilies">
<soapenv:Header/>
<soapenv:Body>
<ver:GetFareFamilies>
<RequestBin>
<Request>
<GetFareFamilies>
<FlightId>?</FlightId>
<!--FlightId — Id перелёта в системе Nemo.-->
</GetFareFamilies>
</Request>
<Source>
<ClientId>?</ClientId>
<!--ClientId — ID клиента в системе Nemo. Можно посмотреть/добавить в разделе "Администрирование" - "Веб-служба. Авторизация".-->
<APIKey>?</APIKey>
<!--APIKey — секретный ключ доступа к API Nemo. Можно посмотреть/добавить в разделе "Администрирование" - "Веб-служба. Авторизация".-->
<Language>?</Language>
<!--Language — язык, например: RU-->
<Currency>?</Currency>
<!-- Currency — валюта, например: RUB, EUR-->
<ShowNames>?</ShowNames>
<!-- ShowNames — отображение названий аэропортов, авиакомпаний и воздушных судов: true - отображать, false - не отображать. Возвращает значение на том языке, который был указан в запросе. Для RU - русский вариант, для UKR, EN, ES - латинский вариант. Опциональный элемент. -->
</Source>
</RequestBin>
</ver:GetFareFamilies>
</soapenv:Body>
</soapenv:Envelope>
</syntaxhighlight>
</div>
</div>
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:1000px">
==== Ответ ====
<div class="mw-collapsible-content">
<syntaxhighlight lang="xml" line enclose="div" style="font-size:9pt;background: #F9F9F9; border: 1px dashed #2F6FAB; padding: 10px 5px; margin: 10px 0;">
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://tez.nemo.travel/nemoflights/?version=1.0&for=GetFareFamilies" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<SOAP-ENV:Body>
<ns1:GetFareFamiliesResponse>
<ResponseBin>
<Response>
<GetFareFamilies>
<AlternateFlights>
<AlternateFlight FlightId="272233830001" Nemo2FlightId="12109646892000000">
<!--FlightId — Id перелёта в Nemo 1.0 -->
<!--Nemo2FlightId — Id перелёта в Nemo Connect -->
<Price Currency="EUR">867.95</Price>
<!--Price Currency — стоимость перелета в базовой валюте.-->
<FareFamily>
<!--FareFamily — deprecated; описание услуг семейства тарифов в старом формате. Впоследствии передача информации в данном формате будет удалена. -->
<Name>Эконом Гибкий</Name>
<!--Name — наименование тарифа.-->
<Features>
<Carryon>1 место до 7 кг</Carryon>
<!--Carryon — ручная кладь.-->
<Miles>50%</Miles>
<!--Miles — мили.-->
<SpecialMeal>false</SpecialMeal>
<!--SpecialMeal — специальное питание на борту.-->
<Meals xsi:nil="true"/>
<!--Meals — закуска/горячее питание.-->
<VIP>true</VIP>
<!--VIP — Бизнес зал.-->
<Baggage> не включен в тариф</Baggage>
<!--Baggage — Багаж.-->
<Exchangable>true</Exchangable>
<!--Exchangable — Доступность изменений в билете.-->
<ExchangePenalty>
<!--ExchangePenalty — Удержание за изменения в билете до вылета. Величина неустойки в базовой валюте за сегмент.-->
<Value Currency="RUB">3000</Value>
<Type>Segment</Type>
</ExchangePenalty>
<!--ExchangePenalty — Удержание за изменения в билете до вылета. Величина неустойки в базовой валюте за сегмент.-->
<Refundable>true</Refundable>
<!--Refundable — Признак возвратности билета.-->
<RefundPenalty xsi:nil="true"/>
<!--RefundPenalty — Удержание за возврат.-->
</Features>
</FareFamily>
<FareFamilyDesc>
<!--AlternateFlight.FareFamilyDesc — описание услуг семейства тарифов в актуальном формате.-->
<!--Внимание! Рекомендуется использовать информацию о семействах тарифов из элемента AlternateFlight.FareFamilyDescArray.FareFamilyDesc. Так как в элементе AlternateFlight.FareFamilyDesc содержится актуальная информация только в том случае, если для всех сегментов перелета применено одно и то же семейство тарифов.-->
<Name>Эконом Гибкий</Name>
<!--Name — наименование тарифа.-->
<Parameters>
<!--Parameters — универсальные параметры, описывающие условия семейства тарифов.-->
<FareFamilyParameter>
<Type>carry_on</Type>
<!--Type — категория параметра. Может принимать значения: carry_on (Ручная кладь), baggage (Багаж), refundable (Возвратность), exchangeable (Возможность обмена), vip_service (VIP сервис), seats_registration (Выбор места), miles (Мили), meal (Питание), sales_restrictions (Ограничение тарифа).-->
<NeedToPay>Free</NeedToPay>
<!--NeedToPay — признак платности услуги.-->
<ShortDescription>
<!--ShortDescription — краткое описание универсального параметра.-->
<LangItem>
<!--LangItem — краткое описание может быть задано на нескольких языках.-->
<Language>EN</Language>
<!--Language — язык краткого описания. Краткое описание параметра может быть задано на следующих языках: RU (русский), EN (английский), DE (немецкий), KZ (казахский), AZ (азербайджанский).-->
<Value>1 item up to 7 kg</Value>
<!--Value — значение краткого описания.-->
</LangItem>
<LangItem>
<Language>RU</Language>
<Value>1 место до 7 кг</Value>
</LangItem>
</ShortDescription>
<FullDescription>
<!--FullDescription — полное описание универсального параметра.-->
<LangItem>
<!--LangItem — полное описание может быть задано на нескольких языках.-->
<Language>EN</Language>
<!--Language — язык полного описания. Полное описание параметра может быть задано на следующих языках: RU (русский), EN (английский), DE (немецкий), KZ (казахский), AZ (азербайджанский).-->
<Value>General allowance — 1 item up to 7 kg. For Panorama Premium cardholders — 1 item up to 12 kg.</Value>
<!--Value — значение полного описания.-->
</LangItem>
<LangItem>
<Language>RU</Language>
<Value>Общая норма — 1 место до 7 кг. Для владельцев карт Panorama Club Premium — 1 место до 12 кг.</Value>
</LangItem>
</FullDescription>
</FareFamilyParameter>
</Parameters>
</FareFamilyDesc>
<FareFamilyDescArray>
<!--FareFamilyDescArray — массив с описаниями услуг всех семейств тарифов, присутствующих в перелете -->
<FareFamilyDesc>
<!--FareFamilyDesc — описание услуг семейства тарифов в актуальном формате.-->
<Name>Эконом Гибкий</Name>
<!--Name — наименование тарифа.-->
<Parameters>
<FareFamilyParameter>
<Type>carry_on</Type>
<!--Type — категория параметра. Может принимать значения: carry_on (Ручная кладь), baggage (Багаж), refundable (Возвратность), exchangeable (Возможность обмена), vip_service (VIP сервис), seats_registration (Выбор места), miles (Мили), meal (Питание), sales_restrictions (Ограничение тарифа).-->
<NeedToPay>Free</NeedToPay>
<!--NeedToPay — признак платности услуги.-->
<ShortDescription>
<LangItem>
<!--LangItem — краткое описание может быть задано на нескольких языках.-->
<Language>EN</Language>
<!--Language — язык краткого описания. Краткое описание параметра может быть задано на следующих языках: RU (русский), EN (английский), DE (немецкий), KZ (казахский), AZ (азербайджанский).-->
<Value>1 item up to 7 kg</Value>
<!--Value — значение краткого описания.-->
</LangItem>
<LangItem>
<Language>RU</Language>
<Value>1 место до 7 кг</Value>
</LangItem>
</ShortDescription>
<FullDescription>
<!--FullDescription — полное описание универсального параметра.-->
<LangItem>
<!--LangItem — полное описание может быть задано на нескольких языках.-->
<Language>EN</Language>
<!--Language — язык полного описания. Полное описание параметра может быть задано на следующих языках: RU (русский), EN (английский), DE (немецкий), KZ (казахский), AZ (азербайджанский).-->
<Value>General allowance — 1 item up to 7 kg. For Panorama Premium cardholders — 1 item up to 12 kg.</Value>
<!--Value — значение полного описания.-->
</LangItem>
<LangItem>
<Language>RU</Language>
<Value>Общая норма — 1 место до 7 кг. Для владельцев карт Panorama Club Premium — 1 место до 12 кг.</Value>
</LangItem>
</FullDescription>
</FareFamilyParameter>
...
</Parameters>
</FareFamilyDesc>
<FareFamilyDesc>
<Name>Эконом Базовый</Name>
<Parameters>
<FareFamilyParameter>
<Type>carry_on</Type>
<NeedToPay>Free</NeedToPay>
<ShortDescription>
<LangItem>
<Language>EN</Language>
<Value>1 item up to 7 kg</Value>
</LangItem>
<LangItem>
<Language>RU</Language>
<Value>1 место до 7 кг</Value>
</LangItem>
</ShortDescription>
<FullDescription>
<LangItem>
<Language>EN</Language>
<Value>General allowance — 1 item up to 7 kg. For Panorama Premium cardholders — 1 item up to 12 kg.</Value>
</LangItem>
<LangItem>
<Language>RU</Language>
<Value>Общая норма — 1 место до 7 кг. Для владельцев карт Panorama Club Premium — 1 место до 12 кг.</Value>
</LangItem>
</FullDescription>
</FareFamilyParameter>
...
</Parameters>
</FareFamilyDesc>
</FareFamilyDescArray>
<PricingInfo Refundable="false">
<!--Refundable — возвратный/невозвратный, true/false. Если пустое, то не известно-->
<PassengerFare Type="ADT" Quantity="2">
<!--Type — тип тарифа-->
<!--Quantity — количество пассажиров данного типа-->
<TravellerRef>
<!--TravellerRef — Ссылка на пассажиров, к которым относится данный тариф-->
<Ref>?</Ref>
<!--Ref — Номера пассажиров, к которым относится данный тариф-->
</TravellerRef>
<BaseFare Currency="USD" Amount="305"/>
<!--BaseFare — базовая стоимость, в базовой валюте. Currency — код валюты, Amount — значение цены-->
<EquiveFare Currency="UAH" Amount="7990"/>
<!--EquiveFare — базовая стоимость, в эквивалентной валюте(валюте продажи).
Currency — код валюты, Amount — значение цены-->
<TotalFare Currency="UAH" Amount="11604"/>
<!--TotalFare — суммарная стоимость, в эквивалентной валюте.
Currency — код валюты, Amount — значение цены-->
<Taxes>
<Tax CurCode="UAH" TaxCode="YQ" Amount="106"/>
<!--CurCode — код валюты, TaxCode — код таксы, Amount — сумма таксы-->
</Taxes>
<Tariffs>
<Tariff Code="M2LUP1" SegNum="1">
<!--Code — код тарифа, SegNum — номер сегмента, к которому применён тариф-->
<FareFamilies>
<FullName>Эконом Гибкий</FullName>
<!--FullName — название тарифа-->
</FareFamilies>
</Tariff>
<Tariff Code="M2ZUP1" SegNum="2">
<!--Code — код тарифа, SegNum — номер сегмента, к которому применён тариф-->
<FareFamilies>
<FullName>Эконом Базовый</FullName>
<!--FullName — название тарифа-->
</FareFamilies>
</Tariff>
</Tariffs>
<FareCalc>17AUG18IEV PS NCE160.00PS IEV145.00NUC305.00END ROE1.000000</FareCalc>
<!--FareCalc — строка расчёта цены-->
<LastTicketDateTime>2018-08-17T09:50:00</LastTicketDateTime>
<!--LastTicketDateTime — дата и время таймлимита по выписке в формате ГГГГ-MM-ДДTЧЧ:ММ:СС. Если включена настройка "Применение временной зоны - Для расчетов таймлимитов в агентском API", дата и время таймлимита будут переведены во временную зону пользователя. При отключенной настройке по умолчанию дата и время будут в Московском часовом поясе.-->
</PassengerFare>
</PricingInfo>
</AlternateFlight>
</AlternateFlights>
</GetFareFamilies>
</Response>
</ResponseBin>
</ns1:GetFareFamiliesResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
</syntaxhighlight>
</div>
</div>
 
=== Запрос на импорт заказа ===
 
Данный запрос позволяет перенести информацию из ГДС по указанному ПНР в заказ системы Nemo, ID которого указан в запросе.
 
WSDL: http://CLIENT_DOMAIN/nemoflights/wsdl.php?version=1.0&for=ImportBook
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:1000px">
==== Запрос ====
<div class="mw-collapsible-content">
<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://CLIENT_DOMAIN/nemoflights/?version%3D1.0%26for%3DImportBook">
<soapenv:Header/>
<soapenv:Body>
<ver:ImportBook>
<RequestBin>
<Request>
<ImportBook>
<!--BookID — Id заказа в системе Nemo, необязательный. Если BookID не указан, будет создан новый заказ, в который и произойдет импорт-->
<BookID>?</BookID>
<!--PNRLocator — ПНР заказа из которого будет произведен импорт, обязательный-->
<PNRLocator>?</PNRLocator>
<!--RequisitesID — порядковый номер реквизитов подключения к ГДС из Немо1, обязательный. Необходимо вводить реквизиты своего агентства-->
<RequisitesID>?</RequisitesID>
<!--MainPassengerLastName — фамилия пассажира из заказа, является обязательным, если используются реквизиты Сирены-->
<MainPassengerLastName>?</MainPassengerLastName>
</ImportBook>
</Request>
<Source>
<!--Авторизация, обязательный-->
<!--ClientId, идентификатор клиента, обязательный-->
<!--APIKey, API ключ клиента, обязательный-->
<!--Language, код языка, обязательный-->
<!--Currency код валюты, обязательный-->
<ClientId>?</ClientId>
<APIKey>?</APIKey>
<Language>?</Language>
<Currency>?</Currency>
</Source>
</RequestBin>
</ver:ImportBook>
</soapenv:Body>
</soapenv:Envelope>
</syntaxhighlight>
</div>
</div>
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:1000px">
 
==== Ответ ====
<div class="mw-collapsible-content">
<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://CLIENT_DOMAIN/nemoflights/?version%3D1.0%26for%3DImportBook">
<SOAP-ENV:Body>
<ns1:ImportBookResponse>
<ResponseBin>
<Response>
<ImportBook ID="?" Status="?" Code="?">
<!--ID — Id заказа в системе Nemo, целое число, обязательный-->
<!--Status — индикатор состояния заказа, возможные значения:
booked — забронировано,
canceled — бронь отменена,
ticket — выписана
UNDEFINED — статус не определён-->
<!--Code — код заказа в системе поставщика-->
<QueryPlace/>
<Flight FlightId="?">
<!--FlightId — Id перелёта в системе Nemo-->
<WebService>?</WebService>
<!--WebService — поставщик перелёта-->
<ValCompany>?</ValCompany>
<!--ValCompany — код авиакомпании, являющейся валидирующим перевозчиком-->
<URL>?</URL>
<!--URL — ссылка на бронирование конкретного перелета-->
<Segments>
<Segment SegNum="?" SegGroupNum="?">
<!--SegNum — номер сегмента в перелёте-->
<!--SegGroupNum – номер плеча перелёта-->
<SupplierCode>?</SupplierCode>
<!--SupplierCode – номер заказа в системе АК-->
<DepAirp CodeType="IATA">?</DepAirp>
<!--DepAirp — аэропорт отправления, например: MOW — любой аэропорт в г.Москва
или SVO — Шереметьево-->
<DepTerminal>?</DepTerminal>
<!--DepTerminal — терминал пункта отправления, если пустое значение,
то в аэропорту всего 1 терминал-->
<ArrAirp CodeType="IATA">?</ArrAirp>
<!--ArrAirp — аэропорт прибытия-->
<ArrTerminal>?</ArrTerminal>
<!--ArrTerminal — терминал пункта прибытия, если пустое значение,
то в аэропорту всего 1 терминал-->
<OpAirline>?</OpAirline>
<!--OpAirline — авиакомпания перевозчик, например: SU — Аэрофлот-->
 
<OpAirlineName/>
<OpAirlineLogo/>
<MarkAirline>?</MarkAirline>
<!--MarkAirline — авиакомпания, продающая перелёт-->
<MarkAirlineName/>
<MarkAirlineLogo/>
<FlightNumber>?</FlightNumber>
<!--FlightNumber — номер рейса-->
<AircraftName/>
<AircraftType>?</AircraftType>
<!--AircraftType — тип воздушного судна, код-->
<DepDateTime>?</DepDateTime>
<!--DepDateTime — дата и время отправления, формат ГГГГ-MM-ДДTЧЧ:ММ:СС-->
<ArrDateTime>?</ArrDateTime>
<!--ArrDateTime — дата и время прибытия, формат ГГГГ-MM-ДДTЧЧ:ММ:СС-->
<StopNum>?</StopNum>
<!--StopNum — количество остановок-->
<StopPoints>
<BookingCodes>
<BookingCode ClassType="?">
<!--ClassType — класс перелета, например: economy-->
<BookingCode>?</BookingCode>
<!--BookingCode — код класса бронирования, у разных авиакомпаний один и тот же класс
может записываться разными литерами, например: L-->
</BookingCode>
</BookingCodes>
<FlightTime>?</FlightTime>
<!--FlightTime — время перелёта в минутах-->
<RemainingSeats/>
<TimeZone Departure="?" Arrival="?"/>
<!--Departure временная зона аэропорта отправления-->
<!--Arrival — временная зона аэропорта прибытия-->
<ETicket>?</ETicket>
<!--ETicket — признак электронного билета, значения: true / false-->
<isCharter>?</isCharter>
<!--isCharter — признак чартерного перелета, значения: true / false-->
<BaggageAllowances>
<!--BaggageAllowances — информация о багаже-->
<BaggageAllowance>
<PassengerType>?</PassengerType>
<!--PassengerType — тип пассажира, соответствует типу тарифа в PricingInfo -->
<Value>?</Value>
<!--Value — количество-->
<Measurement>?</Measurement>
<!--Measurement — мера измерения, может принимать значения: kg — килограмм, pc — багажное место, lb — фунт-->
</BaggageAllowance>
</BaggageAllowances>
</Segment>
</Segments>
<PricingInfo Refundable="?">
<!--Refundable — возвратный/невозвратный, true/false. Если пустое, то не известно-->
<PassengerFare Type="?" Quantity="?">
<!--Type — тип тарифа-->
<!--Quantity — количество пассажиров данного типа-->
<TravellerRef>
<!--TravellerRef — Ссылка на пассажиров, к которым относится данный тариф-->
<Ref>?</Ref>
<!--Ref — Номера пассажиров, к которым относится данный тариф-->
</TravellerRef>
<BaseFare Currency="?" Amount="?"/>
<!--BaseFare — базовая стоимость, в базовой валюте. Currency — код валюты, Amount — значение цены-->
<EquiveFare Currency="?" Amount="?"/>
<!--EquiveFare — базовая стоимость, в эквивалентной валюте(валюте продажи).
Currency — код валюты, Amount — значение цены-->
<TotalFare Currency="?" Amount="?"/>
<!--TotalFare — суммарная стоимость, в эквивалентной валюте.
Currency — код валюты, Amount — значение цены-->
<Taxes>
<Tax CurCode="?" TaxCode="?" Amount="?"/>
<!--CurCode — код валюты, TaxCode — код таксы, Amount — сумма таксы-->
</Taxes>
<Tariffs>
<Tariff Code="?" SegNum="?"/>
<!--Code — код тарифа, SegNum — номер сегмента, к которому применён тариф-->
<FareFamilies>
<FullName>?</FullName>
<!--FullName — название тарифа-->
</FareFamilies>
</Tariff>
</Tariffs>
<FareCalc>?</FareCalc>
<!--FareCalc — строка расчёта цены-->
<LastTicketDateTime>?</LastTicketDateTime>
<!--LastTicketDateTime — дата и время таймлимита по выписке в формате ГГГГ-MM-ДДTЧЧ:ММ:СС. Если включена настройка "Применение временной зоны - Для расчетов таймлимитов в агентском API", дата и время таймлимита будут переведены во временную зону пользователя. При отключенной настройке по умолчанию дата и время будут в Московском часовом поясе.-->
</PassengerFare>
</PricingInfo>
<Commission/>
<Charges Currency="?">?</Charges>
<!--Charges — сборы, Currency — код валюты-->
<TotalPrice Currency="?">?</TotalPrice>
<!--TotalPrice — итоговая цена, Currency — код валюты-->
</Flight>
<Agency/>
<ItinReceipts Encoding="?" Format="?">
<!--ItinReceipts — маршрут квитанция, Encoding — кодировка, Format — формат-->
<FareStored xsi:nil="true"/>
<PaymentTransactions>
<Transaction>
<Id>?</Id>
<!--Id - номер транзакции в Немо-->
<Status>?</Status>
<!--Status - статус транзакции:
new_billing - новая транзакция (оплата еще не производилась)
wait_payment_billing - ожидание оплаты
cancel_billing - оплата отменена
payment_refund - возврат средств
pre-authorized - преавторизация
paid_billing - оплачено-->
<GatewayName>?</GatewayName>
<!--GatewayName - название платежного шлюза-->
<MoneyPaid Currency="?">?</MoneyPaid>
<!--MoneyPaid - сумма оплаты-->
<!--Currency - валюта-->
<PaymentDateTime>?</PaymentDateTime>
<!--PaymentDateTime - дата и время оплаты-->
<CreateDateTime>?</CreateDateTime>
<!--CreateDateTime - дата и время создания платежной транзакции-->
<Description/>
</Transaction>
</PaymentTransactions>
<PaymentStatus>?</PaymentStatus>
<!--PaymentStatus - статус оплаты:
not_paid — не оплачено
partly_paid — оплачено, частично
fully_paid — оплачено, полностью-->
<Travellers>
<Traveller Type="ADT" IsContact="false" Num="1">
<Meal/>
<Ticket/>
<Seats/>
<PersonalInfo DateOfBirth="?" Nationality="?" Gender="?">
<!--DateOfBirth — дата рождения в формате ДД.ММ.ГГГГ (например 31.12.2000)-->
<!--Nationality — гражданство, двух буквенный код страны (RU, UA, US и т.д.)-->
<!--Gender — пол пассажира, возможные значения: M — мужской(Male), F — женский(Female)-->
<FirstName>?</FirstName>
<!--FirstName — имя пассажира-->
<LastName>?</LastName>
<!--LastName — фамилия пассажира-->
<!--Optional:-->
<MiddleName>?</MiddleName>
<!--MiddleName — отчество пассажира-->
</PersonalInfo>
<LoyaltyCard/>
<ContactInfo>
<!--Optional:-->
<EmailID>?</EmailID>
<!--EmailID — контактный email-->
<!--Optional:-->
<Telephone Type="?">
<!--Type — тип номера, возможные значения: M — мобильный, H — домашний, B — рабочий-->
<!--Optional:-->
<PhoneNumber>?</PhoneNumber>
<!--PhoneNumber — номер телефона-->
<!--Optional:-->
<CountryAccessCode>?</CountryAccessCode>
<!--CountryAccessCode — код страны-->
<!--Optional:-->
<AreaCityCode>?</AreaCityCode>
<!--AreaCityCode — код региона/города-->
</Telephone>
</ContactInfo>
<DocumentInfo DocType="?" DocNum="?" CountryCode="?" DocElapsedTime="?"/>
<!--DocType — тип документа, возможные значения:
Р — Паспорт
A – Паспорт иностранца
С — Внутренний гражданский паспорт
F – Документ заменяющий паспорт
М — Воинское удостоверение
N – Сертификат натурализации(специфичный документ США)
T – Док.повторного въезда, паспорт беженца
V – Документ для пересечения границы-->
<!--DocNum — номер документа-->
<!--CountryCode — двух буквенный код страны выдачи паспорта (RU, UA, US и т.д.)-->
<!--DocElapsedTime — срок истечения срока действия паспорта в ДД.ММ.ГГГ (например 31.12.2000)-->
<VisaInfo/>
<ArrAddress/>
<PreferedPlace/>
<DocStringFormats/>
</Traveller>
</Travellers>
<TimeLimits>
<TicketingTimeLimit>?</TicketingTimeLimit>
<!--TicketingTimeLimit — Таймлимит на выписку в формате ГГГГ-MM-ДДTЧЧ:ММ:СС-->
<PriceTimeLimit>?</PriceTimeLimit>
<!--PriceTimeLimit — Таймлимит цены из ГРС в формате ГГГГ-MM-ДДTЧЧ:ММ:СС-->
<AdvancedPurchaseTimeLimit>?</AdvancedPurchaseTimeLimit>
<!--AdvancedPurchaseTimeLimit — Таймлимит цены из тарифных правил в формате ГГГГ-MM-ДДTЧЧ:ММ:СС-->
<AgencyTimeLimit>?</AgencyTimeLimit>
<!--AgencyTimeLimit - Таймлимит по настройкам в формате ГГГГ-MM-ДДTЧЧ:ММ:СС-->
</TimeLimits>
</ImportBook>
<Requisites/>
<RequestType/>
<UserID/>
<Errors/>
</Response>
</ResponseBin>
</ns1:ImportBookResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
</syntaxhighlight>
</div>
</div>
 
=== Запрос на получение изменившихся заказов ===
 
Данный запрос возвращает список неотложенных заказов, последние изменения по которым произведены в указанный период. Период задается в запросе и не должен превышать 10 суток.
 
Пример использования для организации автообновления заказов в сторонней базе данных:
 
Если LastSyncDate не изменился, заказ выгружать не нужно
 
Если LastSyncDate изменился - значит заказ требует выгрузки:
 
1. Нужно прочитать весь заказ запросом UpdateBook с параметром <UpdateOrder>false</UpdateOrder> (без обращений к GDS)
 
2. Нужно обновить данные заказа у себя
 
3. Нужно зафиксировать дату изменения заказа LastSyncDate на своей стороне (чтобы в следующий раз не повторять выгрузку без необходимости)
 
WSDL: http://CLIENT_DOMAIN/nemoflights/wsdl.php?for=GetOrdersList
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:1000px">
==== Запрос ====
<div class="mw-collapsible-content">
<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://CLIENT_DOMAIN/nemoflights/?version%3D1.0%26for%3DGetOrdersList">
<soapenv:Header/>
<soapenv:Body>
<ver:GetOrdersList>
<RequestBin>
<Request>
<GetOrdersList>
<LastSyncDateFrom>2018-01-15T00:00:00</LastSyncDateFrom>
<!--LastSyncDateFrom — самая ранняя дата последней синхронизации заказа для определения периода. Формат — ISO 8601 -->
<LastSyncDateTo>2018-01-16T00:00:00</LastSyncDateTo>
<!--LastSyncDateTo — самая поздняя дата последней синхронизации заказа для определения периода. Формат — ISO 8601 -->
<OrderType>?</OrderType>
<!--OrderType — тип заказов, обязательный. Возможные значения: Avia-->
<ReturnQueue>?</ReturnQueue>
<!--ReturnQueue — булевское значение: true — возвращать данные об очередях заказа, false — не возвращать данные об очередях.-->
</GetOrdersList>
</Request>
<Source>
<ClientId>?</ClientId>
<!--ClientId — ID клиента в системе {{NameSystem}}. Можно посмотреть/добавить в разделе «Настройки системы» > «Интеграция» > «Nemo 1.0 (SOAP API)».-->
<APIKey>?</APIKey>
<!--APIKey — секретный ключ доступа к API {{NameSystem}}. Можно посмотреть/добавить в разделе «Настройки системы» > «Интеграция» > «Nemo 1.0 (SOAP API)».-->
<Language>?</Language>
<!--Language — язык, например: RU-->
<Currency>?</Currency>
<!-- Currency — валюта, например: RUB, EUR-->
<ShowNames>?</ShowNames>
<!-- ShowNames — отображение названий аэропортов, авиакомпаний и воздушных судов: true - отображать, false - не отображать. Возвращает значение на том языке, который был указан в запросе. Для RU - русский вариант, для UKR, EN, ES - латинский вариант. Опциональный элемент. -->
<EndUserData>
<!--Блок с данными о конечном пользователе, необязательный, но необходим при при использовании запросов поиска и бронирования для поставщика TravelFusion-->
<EndUserIP>?</EndUserIP>
<!--IP адрес пользователя-->
<EndUserBrowserAgent>?</EndUserBrowserAgent>
<!--Браузер пользователя-->
<RequestOrigin>?</RequestOrigin>
<!--Страна и домен, с которого пользователь совершает поиск/бронирование-->
</EndUserData>
</Source>
</RequestBin>
</ver:GetOrdersList>
</soapenv:Body>
</soapenv:Envelope>
</syntaxhighlight>
</div>
</div>
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:1000px">
 
==== Ответ ====
<div class="mw-collapsible-content">
<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://CLIENT_DOMAIN/nemoflights/?version%3D1.0%26for%3DGetOrdersList">
<SOAP-ENV:Body>
<ns1:GetOrdersListResponse>
<ResponseBin>
<Response>
<GetOrdersList>
<Orders>
<!--Orders — список заказов, подходящих под условия запроса. -->
<Order>
<BookId>?</BookId>
<!--BookId — идентификатор заказа в Nemo 1.0 -->
<BookNemo2Id>?</BookNemo2Id>
<!--BookNemo2Id — идентификатор бронирования в Nemo Connect -->
<Locator>?</Locator>
<!--Locator — локатор бронирования. -->
<Supplier>?</Supplier>
<!--Supplier — поставщик контента в данном заказе. -->
<LastSyncDate>?</LastSyncDate>
<!--LastSyncDate — дата последней синхронизации заказа в формате ISO 8601 (как в запросе) -->
<TotalPrice Currency="?" Amount="?"/>
<!--TotalPrice — конечная стоимость заказа. -->
<Queues>
<!--Queues — список очередей поставщика, в которых числится заказ. -->
<Queue AddedDate="?">?</Queue>
<!--Queue — очередь, в которой числится заказ. Возможные значения: GeneralQueue, ScheduleChanged, TicketsAdded, SegmentsCancelled, UnconfirmedSegments, WaitingConfirmation, ServiceInfoChanged, TimeLimit. Атрибут AddedDate — дата ввода заказа в очередь, формат — ISO 8601 (как в запросе) -->
</Queues>
</Order>
</Orders>
</GetOrdersList>
<Requisites/>
<RequestType/>
<UserID/>
<Errors/>
</Response>
</ResponseBin>
</ns1:GetOrdersListResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
</syntaxhighlight>
</div>
</div>
 
== См. также ==
 
* [[Агентский API Авиабилеты]]

Навигация

'