Изменения

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

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

58 155 байт добавлено, 18:46, 6 мая 2019
Нет описания правки
{{Attention|В системе реализован усовершенствованный API-проект «Nemo Connect», настоятельно рекомендуем подключаться по схеме, описанной в документации по [http://docs.nemo.travel/ ссылке]}}
 
[[Категория:Интеграция]]
[[Категория:Агентский API]]
 
=== Проверка на доступность ===
Данный запрос отправляется из Nemo после того , как пользователь выбирает интересующий его перелет на странице выдачи с поиска. Он необходим для того , чтобы перед подтверждением бронирования повторно проверить перелет на доступность(статусы сегментов и актуализация цены).
Использование запроса проверки доступности позволяет не бронировать заведомо недоступные перелеты (IsAvail="false"), но значение IsAvail="true" не дает гарантии, что перелёт будет доступен к моменту бронирования, лишь до некоторой степени увеличивает такую вероятность.
</AirAvail>
</Request>
{{AgentApiRequest_Source}} <Source> <!--Авторизация, обязательный--> <!--ClientId, идентификатор клиента, обязательный--> <!--APIKey, API ключ клиента, обязательный--> <!--Language, код языка, обязательный--> <!--Currency код валюты, обязательный--> <ClientId>---</ClientId> <APIKey>---</APIKey> <Language>RU</Language> <Currency>RUB</Currency> </Source>
</RequestBin>
</ver:AirAvail>
<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 Получение документа ===
Данный запрос используется для того что бы создать в системе Nemo отложенный заказ, в котором будет информация о перелете. Пустой заказ создается Запрос на основании перелета получение документа из результатов поиска.заказа системы Nemo
При создании отложенного заказа в системе Nemo, не происходит бронирования билета в ГДС. WSDL: http://CLIENT_DOMAIN/nemoflights/wsdl.php?for=EmptyBookGetDocument
<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%3DEmptyBook3DAirAvail">
<soapenv:Header/>
<soapenv:Body>
<RequestBin>
<Request>
<EmptyBook> <FlightId>?</FlightIdGetDocument> <!--FlightId номер перелета с результатов поискаBookId — Id заказа в системе Nemo, необязательный--> <ReferrerBookId>?</ReferrerBookId> <!--Referrer название источника метрики заведенного BookNemo2Id — Id заказа в настройкахсистеме Nemo2, необязательный--> <AdditionalOperations> <OperationBookNemo2Id>?</OperationBookNemo2Id> <!--Operation тип операцийDocType — Тип запрашиваемого документа, которые будут выполнены при создании заказа--> <!--Доступные возможные значения: ActualizeFlight (актуализация перелета ItinReceiptNemo - маршрут квитанция в гдс), GetFareFamilies (поиск семейств тарифов), GetFareRules (получение текста тарифных правил)формате Nemo --> <DocType>?</AdditionalOperationsDocType> </EmptyBookGetDocument>
</Request>
<Source>
<!--Авторизация, обязательный-->
<ClientId>?</ClientId>
<!--ClientId, идентификатор клиента, обязательный-->
<APIKey>?</APIKey>
<!--APIKey, API ключ клиента, обязательный-->
<!--Language, код языка, обязательный-->
<!--Currency код валюты, обязательный-->
<ClientId>---</ClientId>
<APIKey>---</APIKey>
<Language>RU</Language>
<!--Language, код языка, обязательный-->
<Currency>RUB</Currency>
<!--Currency код валюты, обязательный-->
</Source>
</RequestBin>
<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%3DEmptyBook3DAirAvail" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<SOAP-ENV:Body>
<ns1:EmptyBookResponseAirAvailResponse>
<ResponseBin>
<Response> <EmptyBook ID="?" Status BookId="?" CodeBookNemo2Id="?"> <!--ID BookId — Id брони заказа в системе Nemo, целое число, обязательный1.0 --> <!--Status BookNemo2Id индикатор состояния брони, возможные значения:Id заказа в Nemo Connect --> <PaperDocument> pending — отложенный заказ, booked — забронировано, 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> <!--URL — ссылка на страницу данного заказа в системе Немо--/PaperDocument> <SegmentsRequisites/> <RequestType xsi:nil="true"/> <Segment SegNumUserID xsi:nil="?true" SegGroupNum/> <Error Code="?">Сообщение об ошибке</Error> <!--SegNum — номер сегмента в перелёте--/Response> <!--SegGroupNum – номер плеча перелёта--/ResponseBin> <SupplierCode/ns1:AirAvailResponse>? </SupplierCodeSOAP-ENV:Body> <!--SupplierCode – номер заказа в системе АК-/SOAP-ENV:Envelope></syntaxhighlight> <DepAirp CodeType="IATA" Name="?"/div>?</DepAirpdiv> <!--DepAirp — аэропорт отправления, например: MOW — любой аэропорт в г.Москва или SVO — Шереметьево--> <DepTerminal>?</DepTerminal>=== Создание отложенного заказа в системе Nemo ===  <!--DepTerminal — терминал пункта отправления, если пустое значениеДанный запрос используется для того, то чтобы создать в аэропорту всего 1 терминал-->системе Nemo отложенный заказ, в котором будет информация о перелете. Пустой заказ создается на основании данных перелета из результатов поиска. Если у пользователя настроен репрайсинг, то запрос на репрайсинг будет запущен при выполнении операции ActualizeFlight. <ArrAirp CodeType="IATA" Name="?">?</ArrAirp> <!--ArrAirp — аэропорт прибытия-->При создании отложенного заказа в системе Nemo, не происходит бронирования билета в ГДС.  <ArrTerminal>WSDL: http://CLIENT_DOMAIN/nemoflights/wsdl.php?</ArrTerminal>for=EmptyBook  <!--ArrTerminal — терминал пункта прибытия, если пустое значение, то в аэропорту всего 1 терминалdiv class="toccolours mw-collapsible mw-collapsed" style="width:1000px"> ==== Запрос ====<OpAirline>?</OpAirline> <!--OpAirline — авиакомпания перевозчик, например: SU — Аэрофлотdiv class="mw-collapsible-content"> <OpAirlineName>?</OpAirlineName> <!--OpAirlineName - полное наименование АК на кириллице-syntaxhighlight lang="xml" line enclose="div" style="font-size:9pt;background: #F9F9F9; border: 1px dashed #2F6FAB; padding: 10px 5px; margin: 10px 0;"> <MarkAirline>soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ver="http://CLIENT_DOMAIN/nemoflights/?</MarkAirlineversion%3D1.0%26for%3DEmptyBook"> <!--MarkAirline — авиакомпания, продающая перелёт--soapenv:Header/> <MarkAirlineNamesoapenv:Body>? </MarkAirlineNamever:AirAvail> <!--MarkAirlineName - полное наименование АК на кириллице--RequestBin> <FlightNumberRequest> <EmptyBook> <FlightId>?</FlightNumberFlightId> <!--FlightNumber — FlightId номер рейсаперелета с результатов поиска--> <AircraftNameFlightIdNemo2>?</AircraftNameFlightIdNemo2> <!--AircraftName - наименование воздушного суднаFlightIdNemo2 номер перелета Nemo2 с результатов поиска, нужно указать любой известный номер перелета--> <AircraftTypeReferrer>?</AircraftTypeReferrer> <!--AircraftType — тип воздушного судна, кодReferrer название источника метрики заведенного в настройках--> <AdditionalOperations> <DepDateTimeOperation>?</DepDateTimeOperation> <!--DepDateTime — дата и время отправленияOperation тип операций, формат ГГГГ-MM-ДДTЧЧ:ММ:ССкоторые будут выполнены при создании заказа--> <ArrDateTime>?</ArrDateTime> <!--ArrDateTime — дата и время прибытияДоступные значения: ActualizeFlight (актуализация перелета в гдс), GetFareFamilies (поиск семейств тарифов), формат ГГГГ-MM-ДДTЧЧ:ММ:ССGetFareRules (получение текста тарифных правил)--> <StopNum/AdditionalOperations>? </StopNumDeviceId> <!--StopNum — количество остановокнеобязательный--> <StopPointsType> ?</Type> <!--StopPoints Type информация о технических остановках, если они естьТип мобильного устройства (apple/android)--> <StopPoint> <AirportCodeToken>?</AirportCodeToken> <!--AirportCode Token код аэропорта остановки, трех символьный iata кодТокен мобильного устройства--> </DeviceId> <UTCMarker>?</UTCMarker> <!--UTC Marker сдвиг часового пояса аэропортаМаркер пользователя--> <ArrDateTime/EmptyBook>? </ArrDateTimeRequest> <Source> <!--ArrDateTime — дата и время прибытияАвторизация, формат ГГГГ-MM-ДДTЧЧ:ММ:ССобязательный--> <DepDateTimeClientId>?</DepDateTimeClientId> <!--DepDateTime — дата и время отправленияClientId, идентификатор клиента, формат ГГГГ-MM-ДДTЧЧ:ММ:ССобязательный--> </StopPointAPIKey> ?</StopPointsAPIKey> <BookingCodes!--APIKey, API ключ клиента, обязательный--> <Language>RU<BookingCode ClassType="?"/Language> <!--ClassType — класс перелетаLanguage, код языка, например: economyобязательный--> <BookingCodeCurrency>?RUB</BookingCodeCurrency> <!--BookingCode — Currency код класса бронированиявалюты, у разных авиакомпаний один и тот же классобязательный--> может записываться разными литерами, например: L-- </Source> </BookingCodeRequestBin> </BookingCodesver:AirAvail> <FlightTime/soapenv:Body>?</FlightTimesoapenv:Envelope> <!--FlightTime — время перелёта в минутах--/syntaxhighlight> <TimeZone Departure="?" Arrival="?"/div> <!--Departure временная зона аэропорта отправления--/div> <!--Arrival — временная зона аэропорта прибытияdiv class="toccolours mw-collapsible mw-collapsed" style="width:1000px"> ==== Ответ ====<ETicket>?</ETicketdiv class="mw-collapsible-content"> <!--ETicket — признак электронного билета, значенияsyntaxhighlight lang="xml" line enclose="div" style="font-size:9pt;background: #F9F9F9; border: true / false--> <isCharter>?</isCharter1px dashed #2F6FAB; padding: 10px 5px; margin: 10px 0;"> <!SOAP-ENV:Envelope xmlns:SOAP-isCharter — признак чартерного перелета, значенияENV="http: true / false--> <BaggageAllowances/schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://CLIENT_DOMAIN/nemoflights/?version%3D1.0%26for%3DEmptyBook" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <!--BaggageAllowances — информация о багаже-SOAP-ENV:Body> <BaggageAllowancens1:EmptyBookResponse> <PassengerType>?</PassengerTypeResponseBin> <!--PassengerType — тип пассажира, соответстует типу тарифа в PricingInfo --Response> <Value>EmptyBook ID="?" Status="?" Code="?</Value"> <!--Value ID количествоId брони в системе Nemo, целое число, обязательный--> <Measurement>?</Measurement> <!--Measurement Status мера измеренияиндикатор состояния брони, может принимать возможные значения: kg pending — отложенный заказ, booked килограммзабронировано, pc canceled багажное местобронь отменена, lb ticket — выписана UNDEFINED фунтстатус не определён--> </BaggageAllowance!--Code — код брони в системе поставщика--> </BaggageAllowances> </Segment> </Segments> <PricingInfo RefundableQueryPlace xsi:nil="?true"/> <!--Refundable QueryPlace возвратный/невозвратныйположение брони в очереди, true/false. Если пустое, то не известноNumber — номер брони в очереди--> <PassengerFare Type="IsPossibleToTicket>?" Quantity="?"</IsPossibleToTicket> <!--Type IsPossibleToTicket тип тарифавозможность провести выписку ПНРа, boolean--> <!--Quantity — количество пассажиров данного типа--Flight FlightId="?"> <TravellerRef> <!--TravellerRef FlightId Ссылка на пассажиров, к которым относится данный тарифId перелёта в системе Nemo--> <RefWebService>?</RefWebService> <!--Ref WebService Номера пассажиров, к которым относится данный тарифпоставщик перелёта--> </TravellerRefValCompany> ?<BaseFare Currency="?" Amount="?"/ValCompany> <!--BaseFare ValCompany базовая стоимостькод авиакомпании, в базовой валюте. Currency — код валютыявляющейся валидирующим перевозчиком, Amount — значение ценыIATA--> <URL>?</URL> <!--URL — ссылка на страницу данного заказа в системе Немо--> <Segments> <EquiveFare CurrencySegment SegNum="?" AmountSegGroupNum="?"/> <!--EquiveFare SegNum базовая стоимость, номер сегмента в эквивалентной валюте(валюте продажи). Currency — код валюты, Amount — значение ценыперелёте--> <TotalFare Currency="?" Amount="?"/!--SegGroupNum – номер плеча перелёта--> <!SupplierCode>?</SupplierCode> <!--TotalFare — суммарная стоимость, SupplierCode – номер заказа в эквивалентной валюте. Currency — код валюты, Amount — значение ценысистеме АК--> <Taxes> <Tax CurCodeDepAirp CodeType="?IATA" TaxCodeName="?" Amount=">?"</DepAirp> <!--CurCode DepAirp код валютыаэропорт отправления, TaxCode например: MOW код таксы, Amount любой аэропорт в г.Москва или SVO сумма таксыШереметьево--> </TaxesDepTerminal> ?<Tariffs/DepTerminal> <Tariff Code!--DepTerminal — терминал пункта отправления, если пустое значение, то в аэропорту всего 1 терминал--> <ArrAirp CodeType="?IATA" SegNumName="?">?</ArrAirp> <!--Code ArrAirp код тарифа, SegNum — номер сегмента, к которому применён тариф--> аэропорт прибытия--> <FareFamilies> <FullNameArrTerminal>?</FullNameArrTerminal> <!--FullName ArrTerminal название тарифатерминал пункта прибытия, если пустое значение, то в аэропорту всего 1 терминал--> </FareFamiliesOpAirline>?</OpAirline> </Tariffs!--OpAirline — авиакомпания перевозчик, например: SU — Аэрофлот--> <FareCalcOpAirlineName>?</FareCalcOpAirlineName> <!--FareCalc — строка расчёта ценыOpAirlineName - полное наименование АК на кириллице--> <LastTicketDateTimeMarkAirline>?</LastTicketDateTimeMarkAirline> <!--LastTicketDateTime MarkAirline дата и время таймлимита по выписке в формате ГГГГ-MM-ДДTЧЧ:ММ:ССавиакомпания, продающая перелёт--> <MarkAirlineName>?</PassengerFareMarkAirlineName> </PricingInfo!--MarkAirlineName - полное наименование АК на кириллице--> <Commission Currency="?">FlightNumber>?</CommissionFlightNumber> <Charges Currency="?">?</Charges> <!--Charges FlightNumber сборы, Currency — код валютыномер рейса--> <TotalPrice Currency="?"AircraftName>?</TotalPriceAircraftName> <!--TotalPrice — итоговая цена, Currency — код валютыAircraftName - наименование воздушного судна--> </FlightAircraftType> ?<Agency Name="?"/AircraftType> <!--Name AircraftType название агентстватип воздушного судна, код--> <Telephone Type="DepDateTime>?"</DepDateTime> <!--Type DepDateTime тип номерадата и время отправления, обязательный, возможные значенияформат ГГГГ-MM-ДДTЧЧ:ММ: M — мобильный, H — домашний, B — рабочий, A — агенствоСС--> <!--Optional:--> <PhoneNumber>ArrDateTime>?</PhoneNumberArrDateTime> <!--PhoneNumber ArrDateTime номер телефонадата и время прибытия, формат ГГГГ-MM-> <!--OptionalДДTЧЧ:ММ:СС--> <CountryAccessCodeStopNum>?</CountryAccessCodeStopNum> <!--CountryAccessCode StopNum код страныколичество остановок--> <StopPoints> <!--Optional:StopPoints — информация о технических остановках, если они есть--> <StopPoint> <AreaCityCodeAirportCode>?</AreaCityCodeAirportCode> <!--AreaCityCode AirportCode — код региона/города-аэропорта остановки, трех символьный iata код--> </TelephoneUTC> ?<Address City="?" State="?" StreetAddress="?" PostalCode="?" CountryCode="?"/UTC> <!--City UTC городсдвиг часового пояса аэропорта--> <ArrDateTime>?</ArrDateTime> <!--State ArrDateTime штатдата и время прибытия, формат ГГГГ-MM-ДДTЧЧ:ММ:СС--> <DepDateTime>?</DepDateTime> <!--StreetAddress DepDateTime адрес в городе (улицадата и время отправления, дом, корпус, офис и т.д.)формат ГГГГ-MM-ДДTЧЧ:ММ:СС--> <!--PostalCode — почтовый индекс--/StopPoint> <!--CountryCode — код страны (RU, UA и т.п.)--> /StopPoints> </AgencyBookingCodes> <ItinReceipts Encoding="?" FormatBookingCode ClassType="?"> <!--ItinReceipts ClassType маршрут квитанциякласс перелета, Encoding — кодировка, Format — формат-например: economy--> <FareStored xsi:nil="true"/> <PaymentTransactions> <Transaction> <IdBookingCode>?</IdBookingCode> <!--Id - номер транзакции в НемоBookingCode — код класса бронирования, у разных авиакомпаний один и тот же класс может записываться разными литерами, например: L--> </BookingCode> </BookingCodes> <StatusFlightTime>?</StatusFlightTime> <!--Status FlightTime — время перелёта в минутах-- статус транзакции:> <TimeZone Departure="?" Arrival="?"/> new_billing <!-- новая транзакция (оплата еще не производилась) wait_payment_billing Departure временная зона аэропорта отправления- ожидание оплаты cancel_billing - оплата отменена> payment_refund <!- возврат средств pre-authorized - преавторизация paid_billing - оплаченоArrival — временная зона аэропорта прибытия--> <GatewayNameETicket>?</GatewayNameETicket> <!--GatewayName - название платежного шлюзаETicket — признак электронного билета, значения: true / false--> <MoneyPaid Currency="?"isCharter>?</MoneyPaidisCharter> <!--MoneyPaid - сумма оплатыisCharter — признак чартерного перелета, значения: true / false--> <BaggageAllowances> <!--Currency - валютаBaggageAllowances — информация о багаже--> <PaymentDateTimeBaggageAllowance> <PassengerType>?</PaymentDateTimePassengerType> <!--PaymentDateTime - дата и время оплатыPassengerType — тип пассажира, соответстует типу тарифа в PricingInfo --> <CreateDateTimeValue>?</CreateDateTimeValue> <!--CreateDateTime - дата и время создания платежной транзакцииValue — количество--> <Description/Measurement> ?</TransactionMeasurement> </PaymentTransactions!--Measurement — мера измерения, может принимать значения: kg — килограмм, pc — багажное место, lb — фунт--> <PaymentStatus/BaggageAllowance>? </PaymentStatusBaggageAllowances> <!--PaymentStatus - статус оплаты:/Segment> not_paid — не оплачено partly_paid — оплачено, частично fully_paid — оплачено, полностью-- </Segments> <TravellersPricingInfo Refundable="?"> <!--Zero or more repetitions:Refundable — возвратный/невозвратный, true/false. Если пустое, то не известно--> <Traveller PassengerFare Type="?" IsContact="?" LinkedTo="?" Num="?" TravellerIdQuantity="?"> <!--Type — тип пассажира, обязательный, возможные значения: ADT — взрослые,тарифа--> CNN <!--Quantity дети, UNN — дети без сопровождения взрослых, INF — младенцы, INS — младенцы с местомколичество пассажиров данного типа--> <TravellerRef> <!--IsContact TravellerRef если true — то данный пассажир является контактным лицом, если false — то не является, контактное лицо может быть только 1, если среди Ссылка на пассажиров есть взрослые, то только кток которым относится данный тариф--то из них> может быть контактным лицом, по умолчанию false-- <Ref> ?<!--Num — порядковый номер пассажира, начинается с 1--/Ref> <!--LinkedTo Ref номер взрослогоНомера пассажиров, к которому привязан младенец/ребеноккоторым относится данный тариф--> <!--TravellerId — устаревший параметр, не используется--/TravellerRef> <Meal>BaseFare Currency="?" Amount="?<"/Meal> <!--Meal BaseFare — базовая стоимость, в базовой валюте. Currency — код типа питаниявалюты, возможные значения:Amount — значение цены--> <EquiveFare Currency="?" Amount="?"/> NONE <!--EquiveFare отсутствуетбазовая стоимость, в эквивалентной валюте(валюте продажи). AVML Currency Азиатская вегетарианская кухня BLML код валюты, Amount Блюда щадящей диетызначение цены--> CHML — Детское питание <TotalFare Currency="?" Amount="?"/> CHPC <!--TotalFare Детский холодный завтрак СНСС — Детский горячий завтрак CHHC — Детский ланчсуммарная стоимость, ветчина и сырв эквивалентной валюте. 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 Сырые овощидата и время таймлимита по выписке в формате ГГГГ-MM-ДДTЧЧ:ММ:СС--> SFML — Морепродукты </PassengerFare> SPML — Особое питание </PricingInfo> VLML — Вегетарианское, молоко и яйца VGML — Строго вегетарианское питание VJML — Джайнизское вегетарианское VOML — Восточное вегетарианское питание-- <Commission Currency="?"> ?<Ticket/Commission> <!--Ticket Charges Currency="?">?</Charges> <!-- номер билета (если заказ выписан)Charges — сборы, Currency — код валюты--> <Seats xsi:nilTotalPrice Currency="true?">?</TotalPrice> <!--Seats - выбранные места (если есть информация)TotalPrice — итоговая цена, Currency — код валюты--> </Flight> <PersonalInfo DateOfBirth="?" Nationality="?" GenderAgency Name="?"> <!--DateOfBirth Name дата рождения в формате ДД.ММ.ГГГГ (например 31.12.2000)--название агентства--> <Telephone Type="?"> <!--Nationality Type гражданствотип номера, двух буквенный код страны (RUобязательный, UA, US и т.д.)возможные значения: M — мобильный, H — домашний, B — рабочий, A — агенство--> <!--Gender — пол пассажира, возможные значенияOptional: M — мужской(Male), F — женский(Female)--> <FirstNamePhoneNumber>?</FirstNamePhoneNumber> <!--FirstName PhoneNumber имя пассажираномер телефона--> <!--Optional:--> <LastNameCountryAccessCode>?</LastNameCountryAccessCode> <!--LastName CountryAccessCode фамилия пассажиракод страны--> <!--Optional:--> <MiddleNameAreaCityCode>?</MiddleNameAreaCityCode> <!--MiddleName AreaCityCode отчество пассажиракод региона/города--> </PersonalInfoTelephone> <LoyaltyCard OpCodeAddress City="?" State="?" StreetAddress="?" PostalCode="?" NumberCountryCode="?"/> <!--OpCode City код авиакомпаниигород--> <!--Number State номер карточкиштат--> <ContactInfo> <!!--Optional:StreetAddress — адрес в городе (улица, дом, корпус, офис и т.д.)--> <EmailID>?</EmailID> <!--EmailID PostalCode контактный emailпочтовый индекс--> <!--Optional:CountryCode — код страны (RU, UA и т.п.)--> </Agency> <Telephone TypeItinReceipts Encoding="?" Format="?"> <!--Type ItinReceipts тип номерамаршрут квитанция, возможные значения: M Encoding мобильныйкодировка, H Format домашний, B — рабочийформат--> <!--OptionalFareStored xsi:--nil="true"/> <PaymentTransactions> <Transaction> <PhoneNumberId>?</PhoneNumberId> <!--PhoneNumber — Id - номер телефонатранзакции в Немо--> <!--Optional:--> <CountryAccessCodeStatus>?</CountryAccessCodeStatus> <!--CountryAccessCode — код страныStatus -статус транзакции: new_billing ->новая транзакция (оплата еще не производилась) <! wait_payment_billing --Optional:ожидание оплаты cancel_billing - оплата отменена payment_refund - возврат средств pre-authorized - преавторизация paid_billing - оплачено--> <AreaCityCodeGatewayName>?</AreaCityCodeGatewayName> <!--AreaCityCode — код региона/городаGatewayName - название платежного шлюза--> </TelephoneMoneyPaid Currency="?"> ?</ContactInfoMoneyPaid> <DocumentInfo DocType="?" DocNum="?" CountryCode="?" DocElapsedTime="?"/!--MoneyPaid - сумма оплаты--> <!--DocType — тип документа, возможные значения:Currency - валюта--> Р — Паспорт <PaymentDateTime>?</PaymentDateTime> A – Паспорт иностранца <!--PaymentDateTime - дата и время оплаты--> С — Внутренний гражданский паспорт <CreateDateTime>?</CreateDateTime> F – Документ заменяющий паспорт <!--CreateDateTime - дата и время создания платежной транзакции--> М — Воинское удостоверение <Description/> N – Сертификат натурализации(специфичный документ США) </Transaction> T – Док.повторного въезда, паспорт беженца </PaymentTransactions> V – Документ для пересечения границы-- <PaymentStatus>?</PaymentStatus> <!--DocNum — номер документаPaymentStatus -->статус оплаты: not_paid — не оплачено <!--CountryCode partly_paid двух буквенный код страны выдачи паспорта (RUоплачено, UAчастично fully_paid — оплачено, US и т.д.)полностью--> <Travellers> <!--DocElapsedTime — срок истечения срока действия паспорта в ДД.ММ.ГГГ (например 31.12.2000)Zero or more repetitions:--> <VisaInfo NumTraveller Type="?" IssueCountryIsContact="?" IssuePlaceLinkedTo="?" BirthCountryNum="?" BirthCity="?" IssueDateTravellerId="?"/> <!--Num Type — тип пассажира, обязательный, возможные значения: ADT — взрослые, CNN — дети, UNN — дети без сопровождения взрослых, INF — младенцы, INS номер визымладенцы с местом--> <!--IssueDate IsContact — если true дата(ДД.ММ.ГГГГ) выдачи визы--> <!--IssueCountry то данный пассажир является контактным лицом, если false страна выдачи визы-->то не является, <! контактное лицо может быть только 1, если среди пассажиров есть взрослые, то только кто--IssuePlace — место выдачи визыто из них может быть контактным лицом, по умолчанию false--> <!--BirthCountry Num страна рождения(IATA код страны)порядковый номер пассажира, начинается с 1--> <!--BirthCity LinkedTo город рождения(название)номер взрослого, к которому привязан младенец/ребенок--> <ArrAddress City="?" State="?" StreetAddress="?" PostalCode="?" CountryCode="?"/> <!--City TravellerId городактуализированный номер пассажира, который возвращается в ответе на запрос бронирования и в дальнейшем ссылки на пассажиров даются на основании этого параметра--> <!--State — штат или область въезда--Meal>?</Meal> <!--StreetAddress Meal адрескод типа питания, возможные значения: улица, номер дома, квартиры и т.д.--> <!--PostalCode NONE — отсутствует AVML почтовый код-->Азиатская вегетарианская кухня <!--CountryCode BLML код страны-->Блюда щадящей диеты <PreferedPlace SmokingAllowed="?" Location="?" RowNumber="?" PlaceNumber="?" SegNumber="?"/> CHML — Детское питание CHPC — Детский холодный завтрак <!--Если указаны номер ряда и номер места СНСС — Детский горячий завтрак CHHC — Детский ланч, то параметры SmokingAllowed ветчина и Location игнорируются-->сыр <!--SmokingAllowed PBJS булевское значениеДетский ланч, true ореховое масло CHMC место для курящих, false Детский обед макароны с сыром DBML место для некурящих-->Диабетическое питание <!--Location FPML положение места в ряде, возможные значения:Фрукты W GFML у окна (Window)Питание без клейковины M HFML где-то в середине ряда (Middle)Питание богатое клетчаткой NPW HNML возле прохода (NearPassengerWay)Индусская кухня NS BBML нет предпочтения (NotSpecified)-->Питание для младенцев <!--RowNumber KSML номер ряда-->Кошерная кухня <!--PlaceNumber SMKB номер места-->Кошерный завтрак <!--SegNumber SMKL номер сегмента-->Кошерный ланч <DocStringFormats> SMKD — Кошерный обед <!--Zero or more repetitions:--> LPML — Малобелковое питание <DocStringFormat>?</DocStringFormat> LCML — Низкокалорийное питание <!--DocStringFormat LFML формат паспортной строки, возможные значения:Низкохолестериновое питание DOCS PRML строка формата DOCS, FOID Низкопуриновое питание LSML строка формата FOID-->Малосоленое питание </DocStringFormats> MOML — Мюсли </Traveller> NLML — Безмолочные продукты </Travellers> ORML — Восточная кухня </EmptyBook> RVML — Сырые овощи <AirRules> SFML — Морепродукты <!--Code код правила--> SPML — Особое питание <!--Tarrif название тарифа VLML — Вегетарианское, молоко и яйца VGML — Строго вегетарианское питание VJML — Джайнизское вегетарианское VOML — Восточное вегетарианское питание--> <Ticket/> <!--Name название правилаTicket - номер билета (если заказ выписан)--> <Rule CodeSeats xsi:nil="true"/> <!--Seats - выбранные места (если есть информация)--> <PersonalInfo DateOfBirth="?" TarrifNationality="?" NameGender="?"> <!--RuleText Текст правила--> <RuleText>?</RuleText> </Rule> <Rule Code="?" Tarrif="?" Name="?"DateOfBirth — дата рождения в формате ДД.ММ.ГГГГ (например 31.12.2000)--> <!--RuleText Текст правилаNationality — гражданство, двух буквенный код страны (RU, UA, US и т.д.)--> <RuleText>?</RuleText> </Rule!--Gender — пол пассажира, возможные значения: M — мужской(Male), F — женский(Female)--> </AirRulesFirstName> ?<Requisites/FirstName> <RequestType xsi:nil="true"/!--FirstName — имя пассажира--> <UserID xsi:nil="true"/> <Error Code="LastName>?">Сообщение об ошибке</ErrorLastName> </Response!--LastName — фамилия пассажира--> </ResponseBin!--Optional:--> </ns1:AirAvailResponseMiddleName> ?</SOAP-ENV:BodyMiddleName> </SOAP!--MiddleName — отчество пассажира--ENV:Envelope> </syntaxhighlightPersonalInfo> <LoyaltyCard OpCode="?" Number="?"/div> </div!--OpCode — код авиакомпании--> <!--Number — номер карточки-->=== Запрос на обновление заказа === <ContactInfo> <!--Optional:-->WSDL: http: <EmailID>?<//CLIENT_DOMAIN/nemoflights/wsdl.php?for=UpdateBookEmailID> <div class="toccolours mw!--EmailID — контактный email-collapsible mw-collapsed" style="width:1000px">==== Запрос ==== <!--Optional:--> <div classTelephone Type="mw-collapsible-content?"> <syntaxhighlight lang="xml" line enclose="div" style="font!--sizeType — тип номера, возможные значения:9pt;background: #F9F9F9; border: 1px dashed #2F6FAB; padding: 10px 5px; margin: 10px 0;"M — мобильный, H — домашний, B — рабочий--> <soapenv!--Optional:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ver="http://CLIENT_DOMAIN/nemoflights/?version%3D1.0%26for%3DUpdateBook"--> <PhoneNumber>?<soapenv:Header/PhoneNumber> <soapenv:Body!--PhoneNumber — номер телефона--> <ver!--Optional:UpdateBook--> <RequestBinCountryAccessCode> ?<Request/CountryAccessCode> <UpdateBook> <BookID>?</BookID> <!!---BookID CountryAccessCode Id заказа в системе Nemo, обязательныйкод страны--> <!--Optional:--> <UpdateOrderAreaCityCode>?</UpdateOrderAreaCityCode> <!--Отправка запроса к GDS на обновление заказа, значения trueAreaCityCode — код региона/false. Если не указан, по умолчанию true--города--> </Telephone> <UpdatePaymentTransactions/ContactInfo> <DocumentInfo DocType="?" DocNum="?" CountryCode="?" DocElapsedTime="?<"/UpdatePaymentTransactions> <!--Обновление данных об оплатеDocType — тип документа, возможные значения true/false--> <!--Optional:--> </UpdateBook> Р — Паспорт </Request> A – Паспорт иностранца <Source> С — Внутренний гражданский паспорт <ClientId>?</ClientId> F – Документ заменяющий паспорт <!--ClientId М ID клиента в системе Nemo. Можно посмотреть/добавить в разделе "Администрирование" - "Веб-служба. Авторизация".-->Воинское удостоверение <APIKey N – Сертификат натурализации(специфичный документ США) T – Док.повторного въезда, паспорт беженца V – Документ для пересечения границы-->? </APIKey!--DocNum — номер документа--> <!--APIKey CountryCode секретный ключ доступа к API Nemoдвух буквенный код страны выдачи паспорта (RU, UA, US и т. Можно посмотреть/добавить в разделе "Администрирование" - "Веб-служба. Авторизация"д.)--> <Language>?</Language> <!--Language DocElapsedTime язык, например: RUсрок истечения срока действия паспорта в ДД.ММ.ГГГ (например 31.12.2000)--> <Currency>VisaInfo Num="?" IssueCountry="?</Currency> <!-- Currency — валюта, например: RUB, EUR--> <ShowNames>" IssuePlace="?" BirthCountry="?" BirthCity="?" IssueDate="?<"/ShowNames> <!-- ShowNames Num отображение названий аэропортов, авиакомпаний и воздушных судов: true номер визы- отображать, false - не отображать. Возвращает значение на том языке, который был указан в запросе. Для RU > <!- русский вариант, для UKR, EN, ES - латинский вариантIssueDate — дата(ДД. Опциональный элементММ. ГГГГ) выдачи визы--> </Source!--IssueCountry — страна выдачи визы--> </RequestBin> !--IssuePlace — место выдачи визы--> </ver:UpdateBook!--BirthCountry — страна рождения(IATA код страны)--> </soapenv:Body!--BirthCity — город рождения(название)--> </soapenvArrAddress City="?" State="?" StreetAddress="?" PostalCode="?" CountryCode="?"/> <!--City — город--> <!--State — штат или область въезда--> <!--StreetAddress — адрес: улица, номер дома, квартиры и т.д.--> <!--PostalCode — почтовый код--> <!--CountryCode — код страны--> <PreferedPlace SmokingAllowed="?" Location="?" RowNumber="?" PlaceNumber="?" SegNumber="?"/> <!--Если указаны номер ряда и номер места, то параметры SmokingAllowed и Location игнорируются--> <!--SmokingAllowed — булевское значение, true — место для курящих, false — место для некурящих--> <!--Location — положение места в ряде, возможные значения: W — у окна (Window) M — где-то в середине ряда (Middle) NPW — возле прохода (NearPassengerWay) NS — нет предпочтения (NotSpecified)--> <!--RowNumber — номер ряда--> <!--PlaceNumber — номер места--> <!--SegNumber — номер сегмента--> <DocStringFormats> <!--Zero or more repetitions:--> <DocStringFormat>?</DocStringFormat> <!--DocStringFormat — формат паспортной строки, возможные значения: DOCS — строка формата DOCS, FOID — строка формата FOID--> </DocStringFormats> </Traveller> </Travellers> <AutoCancelDate>?</AutoCancelDate> <!--AutoCancelDate — дата и время таймлимита автоаннуляции в формате ГГГГ-MM-ДДTЧЧ:ММ:СС определяемые по настройкам агентства--> <TimeLimits> <TicketingTimeLimit xsi:nil="true"/> <!--TicketingTimeLimit — Таймлимит на выписку в формате ГГГГ-MM-ДДTЧЧ:ММ:СС--> <PriceTimeLimit xsi:nil="true"/> <!--PriceTimeLimit — Таймлимит цены из ГРС в формате ГГГГ-MM-ДДTЧЧ:ММ:СС--> <AdvancedPurchaseTimeLimit xsi:nil="true"/> <!--AdvancedPurchaseTimeLimit — Таймлимит цены из тарифных правил в формате ГГГГ-MM-ДДTЧЧ:ММ:СС--> <AgencyTimeLimit>?</AgencyTimeLimit> <!--AgencyTimeLimit - Таймлимит по настройкам в формате ГГГГ-MM-ДДTЧЧ:ММ:СС--> </TimeLimits> </EmptyBook> <AirRules> <!-- AirRules появляется если был получен результат для GetFareRules--> <!--Code код правила--> <!--Tarrif название тарифа--> <!--Name название правила--> <Rule Code="?" Tarrif="?" Name="?"> <!--RuleText Текст правила--> <RuleText>?</RuleText> </Rule> <Rule Code="?" Tarrif="?" Name="?"> <!--RuleText Текст правила--> <RuleText>?</RuleText> </Rule> </AirRules> <AlternateFlights> <!--AlternateFlights появляется если был получен результат для GetFareFamilies--> <Flight FlightId="?"> <!-- FlightId номер перелета, можно использовать для бронирования с указанным семейством тарифа--> <Price Currency="?">?</Price> <!-- Price общая стоимость заказа с учетом сбора--> <!-- Currency валюта указанной стоимости--> <FareFamily> <Name>?</Name> <!-- Name имя семества тарифов--> <Features> <Carryon>?</Carryon> <!-- Carryon информация о ручной клади --> <Miles>?</Miles> <!-- Miles информация о расчете миль на данном тарифе--> <SpecialMeal>?</SpecialMeal> <!-- SpecialMeal информация о наличии специального питания true/false --> <Meals xsi:nil="true"/> <!-- Meals информация о возможных вариантах питания --> <VIP>?</VIP> <!-- VIP наличие услуг повышенного качества true/false --> <Baggage>?</Baggage> <!-- Baggage информация о доступном для провоза богаже --> <Exchangable>?</Exchangable> <!--Exchangable — Доступность изменений в билете true/false --> <ExchangePenalty> <!--ExchangePenalty — Удержание за изменения в билете до вылета --> <Value Currency="?">?</Value> <!-- Value стоимость услуги --> <!-- Currency валюта стоимости услуги --> <Type>Segment</Type> <!-- Type сбор будет применятся для каждого сегмента если в поле указан "Segment" или на весь билет если значение "Ticket"> </ExchangePenalty> <Refundable>?</Refundable> <!--Refundable — Признак возвратности билета true/false --> <RefundPenalty xsi:nil="true"/> <!--RefundPenalty — Удержание за возврат true/false --> <Value Currency="?">?</Value> <!-- Value стоимость услуги --> <!-- Currency валюта стоимости услуги --> <Type>Segment</Type> <!-- Type сбор будет применятся для каждого сегмента если в поле указан "Segment" или на весь билет если значение "Ticket" --> </Features> </FareFamily> </Flight> </AlternateFlights> <Requisites/> <RequestType xsi:nil="true"/> <UserID xsi:nil="true"/> <Error Code="?">Сообщение об ошибке</Error> </Response> </ResponseBin> </ns1:AirAvailResponse> </SOAP-ENV:Body></SOAP-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-ENVsoapenv:Envelope xmlns:SOAP-ENVsoapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1ver="http://CLIENT_DOMAIN/nemoflights/?version%3D1.0%26for%3DUpdateBook" xmlns> <soapenv:xsi="http://www.w3.orgHeader/2001/XMLSchema-instance"> <SOAP-ENV:soapenv:Body> <ns1ver:UpdateBookResponseUpdateBook> <ResponseBinRequestBin> <ResponseRequest> <UpdateBook ID="?" Status="?" Code="?"> <BookID>?<!/BookID> <!--ID BookID — Id брони заказа в системе Nemo, целое число, обязательный--> <!--Status — индикатор состояния брони, возможные значенияOptional:--> booked — забронировано, canceled — бронь отменена, ticket — выписана UNDEFINED — статус не определён-- <UpdateOrder>?</UpdateOrder> <!--Code — код брони в системе поставщикаОтправка запроса к GDS на обновление заказа, значения true/false. Если не указан, по умолчанию true--> <QueryPlace xsi:nil="true"UpdatePaymentTransactions>?</UpdatePaymentTransactions> <!--QueryPlace — положение брони в очереди, Number — номер брони в очереди--Обновление данных об оплате, значения 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> <Flight FlightId="?"> <!--FlightId WebService 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> <!--FlightNumber — номер рейса--> <AircraftName>?</AircraftName> <!--AircraftName - наименование воздушного судна--> <AircraftType>?</AircraftType> <!--AircraftType — тип воздушного судна, код--> <DepDateTime>?</DepDateTime> <!--DepDateTime — дата и время отправления, формат ГГГГ-MM-ДДTЧЧ:ММ:СС--> <ArrDateTime>?</ArrDateTime> <!--ArrDateTime — дата и время прибытия, формат ГГГГ-MM-ДДTЧЧ:ММ:СС--> <StopNum>?</StopNum> <!--StopNum — количество остановок--> <StopPoints> <!--StopPoints — информация о технических остановках, если они есть--> <StopPoint> <AirportCode>?</AirportCode> <!--AirportCode — код аэропорта остановки, трех символьный iata код--> <UTC>?</UTC> <!--UTC — сдвиг часового пояса аэропорта--> <ArrDateTime>?</ArrDateTime> <!--ArrDateTime — дата и время прибытия, формат ГГГГ-MM-ДДTЧЧ:ММ:СС--> <DepDateTime>?</DepDateTime> <!--DepDateTime — дата и время отправления, формат ГГГГ-MM-ДДTЧЧ:ММ:СС--> </StopPoint> </StopPoints> <BookingCodes> <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 — багажное место, 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> </Tariffs> <FareCalc>?</FareCalc> <!--FareCalc — строка расчёта цены--> <LastTicketDateTime>?</LastTicketDateTime> <!--LastTicketDateTime — дата и время таймлимита по выписке в формате ГГГГ-MM-ДДTЧЧ:ММ:СС. Если включена настройка "Применение временной зоны - Для расчетов таймлимитов в агентском API", дата и время таймлимита будут переведены во временную зону пользователя. При отключенной настройке по умолчанию дата и время будут в Московском часовом поясе.--> </PassengerFare> </PricingInfo> <Commission Currency="?">?</Commission> <Charges Currency="?">?</Charges> <!--Charges — сборы, Currency — код валюты--> <TotalPrice Currency="?">?</TotalPrice>
<!--TotalPrice — итоговая цена, Currency — код валюты-->
</Flight>
<!--Num — порядковый номер пассажира, начинается с 1-->
<!--LinkedTo — номер взрослого, к которому привязан младенец/ребенок-->
<!--TravellerId — устаревший параметрактуализированный номер пассажира, не используетсякоторый возвращается в ответе на запрос бронирования и в дальнейшем ссылки на пассажиров даются на основании этого параметра-->
<Meal>?</Meal>
<!--Meal — код типа питания, возможные значения:
</Traveller>
</Travellers>
<AutoCancelDate>?</AutoCancelDate>
<!--AutoCancelDate — дата и время автоаннуляции по таймлимиту Nemo в формате ГГГГ-MM-ДДTЧЧ:ММ:СС, определяемые по настройкам агентства в Немо-->
<TimeLimits>
<TicketingTimeLimit>?</TicketingTimeLimit>
<!--TicketingTimeLimit — Таймлимит на выписку в формате ГГГГ-MM-ДДTЧЧ:ММ:СС-->
<PriceTimeLimit>?</PriceTimeLimit>
<!--PriceTimeLimit — Таймлимит цены из ГРС в формате ГГГГ-MM-ДДTЧЧ:ММ:СС-->
<AdvancedPurchaseTimeLimit>?</AdvancedPurchaseTimeLimit>
<!--AdvancedPurchaseTimeLimit — Таймлимит цены из тарифных правил в формате ГГГГ-MM-ДДTЧЧ:ММ:СС-->
<AgencyTimeLimit>?</AgencyTimeLimit>
<!--AgencyTimeLimit - Таймлимит по настройкам в формате ГГГГ-MM-ДДTЧЧ:ММ:СС-->
</TimeLimits>
</UpdateBook>
<Requisites/>
=== Запрос на модификацию заказа ===
Использование запроса модификации заказа позволяет внести паспортные данные, визу, карту лояльности,а также изменить значения паспортных данных данные документов пассажиров или визы, если они уже были внесены.
WSDL: http://CLIENT_DOMAIN/nemoflights/wsdl.php?for=ModifyInformation
<!--BookID — Id заказа в системе Nemo, обязательный-->
<InformationToModify>
<Information> <!--Zero or more repetitions:Один блок с данными на пассажира--> <Information>
<TravellerNumber>?</TravellerNumber>
<!--TravellerNumber — номер пассажира из ответа бронирования(TravellerId)--> <DocumentInfo > <!--необязательный--> <DocType=">?" DocNum="?" CountryCode="?" DocElapsedTime="?"</DocType> <!--DocType — тип документа, возможные значения:
Р — Паспорт
A – Паспорт иностранца
T – Док.повторного въезда, паспорт беженца
V – Документ для пересечения границы-->
<DocNum>?</DocNum> <!--DocNum — номер документа--> <CountryCode>?</CountryCode> <!--CountryCode — двух буквенный код страны выдачи паспорта (RU, UA, US и т.д.)--> <DocElapsedTime>?</DocElapsedTime> <!--DocElapsedTime — срок истечения срока действия паспорта в ДД.ММ.ГГГ (например 31.12.2000)--> <VisaInfo Num="?" IssueCountry="?" IssuePlace="?" BirthCountry="?" BirthCity="?" IssueDate="?"/DocumentInfo> <VisaInfo> <!--Num — номер визынеобязательный--> <Number>?</Number> <!--IssueDate Number дата(ДД.ММ.ГГГГ) выдачи номер визы--> <IssueCountry>?</IssueCountry> <!--IssueCountry — страна выдачи визы(IATA код страны)--> <IssuePlace>?</IssuePlace> <!--IssuePlace — место выдачи визы--> <BirthCountry>?</BirthCountry> <!--BirthCountry — страна рождения(IATA код страны)--> <BirthCity>?</BirthCity> <!--BirthCity — город рождения(название)--> <IssueDate>?<LoyaltyCards/IssueDate> <!--Zero or more repetitions:IssueDate — дата(ДД.ММ.ГГГГ) выдачи визы--> </VisaInfo> <LoyaltyCard OpCode="?" Number="?"/LoyaltyCards> <!--необязательный--> <LoyaltyCardInfo> <CompanyCode>?</CompanyCode> <!--OpCode CompanyCode — код авиакомпании--> <Number>?</Number> <!--Number — номер карточкикарты лояльности--> </LoyaltyCardInfo>
</LoyaltyCards>
</Information>
</InformationToModify>
<DeviceId> <!--необязательный-->
<Type>?</Type>
<!--Type — Тип мобильного устройства (apple/android)-->
<div class="toccolours mw-collapsible mw-collapsed" style="width:1000px">
 
==== Ответ ====
<div class="mw-collapsible-content">
<!--Num — порядковый номер пассажира, начинается с 1-->
<!--LinkedTo — номер взрослого, к которому привязан младенец/ребёнок (привязка ребёнка ко взрослому является опциональной)-->
<!--TravellerId — устаревший параметрактуализированный номер пассажира, не используетсякоторый возвращается в ответе на запрос бронирования и в дальнейшем ссылки на пассажиров даются на основании этого параметра-->
<Meal>?</Meal>
<!--Meal — код типа питания, возможные значения:
</Traveller>
</Travellers>
<AutoCancelDate>?</AutoCancelDate>
<!--AutoCancelDate — дата и время таймлимита автоаннуляции в формате ГГГГ-MM-ДДTЧЧ:ММ:СС определяемые по настройкам агентства-->
<TimeLimits>
<TicketingTimeLimit>?</TicketingTimeLimit>
<!--TicketingTimeLimit — Таймлимит на выписку в формате ГГГГ-MM-ДДTЧЧ:ММ:СС-->
<PriceTimeLimit>?</PriceTimeLimit>
<!--PriceTimeLimit — Таймлимит цены из ГРС в формате ГГГГ-MM-ДДTЧЧ:ММ:СС-->
<AdvancedPurchaseTimeLimit>?</AdvancedPurchaseTimeLimit>
<!--AdvancedPurchaseTimeLimit — Таймлимит цены из тарифных правил в формате ГГГГ-MM-ДДTЧЧ:ММ:СС-->
<AgencyTimeLimit>?</AgencyTimeLimit>
<!--AgencyTimeLimit - Таймлимит по настройкам в формате ГГГГ-MM-ДДTЧЧ:ММ:СС-->
</TimeLimits>
</BookFlight>
<Requisites/>
=== Чтение тарифных правил ===
'''Чтение тарифных правил''' — этот запрос отправляется из Nemo после того , как пользователь выбирает интересующий его перелет на странице выдачи с результатов поиска. При помощи него Nemo получает информацию от поставщика о возвратности/невозвратности тарифов, а так же иную полезную информацию, которая доступна пользователю на странице подтверждения бронирования по клику на названии тарифного правилакод тарифа (FareBasis).
WSDL: http://CLIENT_DOMAIN/nemoflights/wsdl.php?for=GetAirRules
=== Запрос на чтение очереди ===
Чтение осуществляется из пакетов реквизитов, настроенных и включенных для юзера пользователя на текущий момент. Необходимо учесть, что пользователю отображаются только доступные ему заказы. В ответе на запрос приходят списки из названий очередей с соответствующими им заказами.
Список очередей:<br>
* ServiceInfoChanged - предназначена для заказов с изменениями в SSR.
* TimeLimit - определена для заказов, параметр "таймлимит" которых был изменен авиакомпанией.
* VendorRemarks - предназначена для поддержки бронирования с ремарками от авиакомпаний, например автоотмена брони
WSDL: http://CLIENT_DOMAIN/nemoflights/wsdl.php?for=ListQueue
<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://CLIENT_DOMAINtez.nemo.travel/nemoflights/?version=1.0&for=GetFareFamilies" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<SOAP-ENV:Body>
<ns1:GetFareFamiliesResponse>
<GetFareFamilies>
<AlternateFlights>
<AlternateFlight FlightId="1256110001272233830001" Nemo2FlightId="12109646892000000"> <!--FlightId — Id перелёта в системе Nemo1.0 --> <!--Nemo2FlightId — Id перелёта в Nemo Connect --> <Price Currency="RUBEUR">4164867.95</Price> <!--Price Currency — стоимость перелета в базовой валюте.-->
<FareFamily>
<!--FareFamily — информация о семействе deprecated; описание услуг семейства тарифовв старом формате. Впоследствии передача информации в данном формате будет удалена.--> <Name>Базовый экономЭконом Гибкий</Name> <!--Name — наименование тарифа.-->
<Features>
<Carryon>1 сумка место до 10 7 кг</Carryon>
<!--Carryon — ручная кладь.-->
<Miles>50%</Miles>
<!--Miles — мили.-->
<SpecialMeal>false</SpecialMeal>
<!--SpecialMeal — специальное питание на борту.-->
<Meals xsi:nil="true"/>
<!--Meals — закуска/горячее питание.--> <VIP>falsetrue</VIP>
<!--VIP — Бизнес зал.-->
<Baggage>Unknownне включен в тариф</Baggage>
<!--Baggage — Багаж.-->
<Exchangable>true</Exchangable>
<!--Exchangable — Доступность изменений в билете.-->
<ExchangePenalty>
<!--ExchangePenalty — Удержание за изменения в билете до вылета. Величина неустойки в базовой валюте за сегмент.-->
<Value Currency="RUB">3000</Value>
<Type>Segment</Type>
</ExchangePenalty>
<!--ExchangePenalty — Удержание за изменения в билете до вылета. Величина неустойки в базовой валюте за сегмент.--> <Refundable>falsetrue</Refundable> <!--Refundable — Признак возвратности билета.-->
<RefundPenalty xsi:nil="true"/>
<!--RefundPenalty — Удержание за возврат.-->
</Features>
</FareFamily>
<FareFamilyDesc> </!--AlternateFlight.FareFamilyDesc — описание услуг семейства тарифов в актуальном формате.--> <!--Внимание! Рекомендуется использовать информацию о семействах тарифов из элемента AlternateFlight FlightId="1256110002".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> <Price Currency="RUB"/Parameters>5205 </PriceFareFamilyDesc> <FareFamilyFareFamilyDescArray> <!--FareFamilyDescArray — массив с описаниями услуг всех семейств тарифов, присутствующих в перелете --> <FareFamilyDesc> <!--FareFamilyDesc — описание услуг семейства тарифов в актуальном формате.--> <Name>Эконом Гибкий эконом</Name> <Features!--Name — наименование тарифа.--> <CarryonParameters> <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 место до 10 7 кг</CarryonValue> </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> ... <Miles/Parameters>100% </MilesFareFamilyDesc> <FareFamilyDesc> <SpecialMealName>falseЭконом Базовый</SpecialMealName> <Meals xsi:nil="true"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> <VIPLanguage>falseRU</VIPLanguage> <BaggageValue>Общая норма — 1 место до 7 кг. Для владельцев карт Panorama Club Premium — 1 сумкаместо до 12 кг.</Value> </LangItem> </FullDescription> </BaggageFareFamilyParameter> ... <Exchangable/Parameters> </FareFamilyDesc> </FareFamilyDescArray> <PricingInfo Refundable="false"> <!--Refundable — возвратный/невозвратный, true/false. Если пустое, то не известно--> <PassengerFare Type="ADT" Quantity="2"> <!--Type — тип тарифа--> <!--Quantity — количество пассажиров данного типа--> <TravellerRef> <!--TravellerRef — Ссылка на пассажиров, к которым относится данный тариф--> <Ref>?</Ref> <!--Ref — Номера пассажиров, к которым относится данный тариф--> </ExchangableTravellerRef> <BaseFare Currency="USD" Amount="305"/> <!--BaseFare — базовая стоимость, в базовой валюте. Currency — код валюты, Amount — значение цены--> <ExchangePenalty FreeEquiveFare Currency="UAH" Amount="true7990"/> <!--EquiveFare — базовая стоимость, в эквивалентной валюте(валюте продажи). Currency — код валюты, Amount — значение цены--> <Value xsi:nilTotalFare Currency="UAH" Amount="true11604"/> <!--TotalFare — суммарная стоимость, в эквивалентной валюте. Currency — код валюты, Amount — значение цены--> <Taxes> <Type xsi:nilTax CurCode="UAH" TaxCode="YQ" Amount="true106"/> <!--CurCode — код валюты, TaxCode — код таксы, Amount — сумма таксы--> </ExchangePenaltyTaxes> <RefundableTariffs> <Tariff Code="M2LUP1" SegNum="1"> <!--Code — код тарифа, SegNum — номер сегмента, к которому применён тариф--> <FareFamilies> <FullName>Эконом Гибкий</FullName> <!--FullName — название тарифа-->true </RefundableFareFamilies> <RefundPenalty/Tariff> <Value CurrencyTariff Code="M2ZUP1" SegNum="RUB2">1000 <!--Code — код тарифа, SegNum — номер сегмента, к которому применён тариф--> <FareFamilies> <FullName>Эконом Базовый</FullName> <!--FullName — название тарифа--> </ValueFareFamilies> <Type/Tariff> </Tariffs> <FareCalc>Segment17AUG18IEV PS NCE160.00PS IEV145.00NUC305.00END ROE1.000000</TypeFareCalc> <!--FareCalc — строка расчёта цены--> <LastTicketDateTime>2018-08-17T09:50:00</RefundPenaltyLastTicketDateTime> <!--LastTicketDateTime — дата и время таймлимита по выписке в формате ГГГГ-MM-ДДTЧЧ:ММ:СС. Если включена настройка "Применение временной зоны - Для расчетов таймлимитов в агентском API", дата и время таймлимита будут переведены во временную зону пользователя. При отключенной настройке по умолчанию дата и время будут в Московском часовом поясе.--> </FeaturesPassengerFare> </FareFamilyPricingInfo>
</AlternateFlight>
</AlternateFlights>
</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 Авиабилеты]]

Навигация

'