Изменения

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

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

139 882 байта добавлено, 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>
<OldPrice Currency="RUB">4279.806354</OldPrice>
<NewPrice Currency="RUB">4308.23634</NewPrice>
</PriceChange> </AirAvail> <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> === Получение документа === Запрос на получение документа из заказа системы Nemo WSDL: http://CLIENT_DOMAIN/nemoflights/wsdl.php?for=GetDocument <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%3DAirAvail"> <soapenv:Header/> <soapenv:Body> <ver:AirAvail> <RequestBin> <Request> <GetDocument> <!-- BookId — Id заказа в системе Nemo, необязательный--> <BookId>?</BookId> <!-- BookNemo2Id — Id заказа в системе Nemo2, необязательный--> <BookNemo2Id>?</BookNemo2Id> <!-- DocType — Тип запрашиваемого документа, возможные значения: ItinReceiptNemo - маршрут квитанция в формате Nemo --> <DocType>?</DocType> </GetDocument> </Request> <Source> <!--Авторизация, обязательный--> <!--ClientId, идентификатор клиента, обязательный--> <!--APIKey, API ключ клиента, обязательный--> <!--Language, код языка, обязательный--> <!--Currency код валюты, обязательный--> <ClientId>---</ClientId> <APIKey>---</APIKey> <Language>RU</Language> <Currency>RUB</Currency> </Source> </RequestBin> </ver:AirAvail> </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%3DAirAvail" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SOAP-ENV:Body> <ns1:AirAvailResponse> <ResponseBin> <Response BookId="?" BookNemo2Id="?"> <!-- BookId — Id заказа в Nemo 1.0 --> <!-- BookNemo2Id — Id заказа в Nemo Connect --> <PaperDocument> <!-- Type — Тип возвращаемого документа --> <Type>?</Type> <!-- Format — Формат возвращаемого документа --> <Format>?</Format> <!-- Encoding — Кодировка возвращаемого документа (не используется) --> <Encoding>?</Encoding> <!-- DocumentData — Содержимое документа --> <DocumentData>?</DocumentData> <!-- IsBase64Wrapped — параметр указывает, закодировано ли содержимое документа в Base64 --> <IsBase64Wrapped>?</IsBase64Wrapped> </PaperDocument> <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> === Создание отложенного заказа в системе Nemo === Данный запрос используется для того, чтобы создать в системе Nemo отложенный заказ, в котором будет информация о перелете. Пустой заказ создается на основании данных перелета из результатов поиска. Если у пользователя настроен репрайсинг, то запрос на репрайсинг будет запущен при выполнении операции ActualizeFlight. При создании отложенного заказа в системе Nemo, не происходит бронирования билета в ГДС. WSDL: http://CLIENT_DOMAIN/nemoflights/wsdl.php?for=EmptyBook <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%3DEmptyBook"> <soapenv:Header/> <soapenv:Body> <ver:AirAvail> <RequestBin> <Request> <EmptyBook> <FlightId>?</FlightId> <!--FlightId номер перелета с результатов поиска--> <FlightIdNemo2>?</FlightIdNemo2> <!--FlightIdNemo2 номер перелета Nemo2 с результатов поиска, нужно указать любой известный номер перелета--> <Referrer>?</Referrer> <!--Referrer название источника метрики заведенного в настройках--> <AdditionalOperations> <Operation>?</Operation> <!--Operation тип операций, которые будут выполнены при создании заказа--> <!--Доступные значения: ActualizeFlight (актуализация перелета в гдс), GetFareFamilies (поиск семейств тарифов), GetFareRules (получение текста тарифных правил)--> </AdditionalOperations> <DeviceId> <!--необязательный--> <Type>?</Type> <!--Type — Тип мобильного устройства (apple/android)--> <Token>?</Token> <!--Token — Токен мобильного устройства--> </DeviceId> <Marker>?</Marker> <!--Marker — Маркер пользователя--> </EmptyBook> </Request> <Source> <!--Авторизация, обязательный--> <ClientId>?</ClientId> <!--ClientId, идентификатор клиента, обязательный--> <APIKey>?</APIKey> <!--APIKey, API ключ клиента, обязательный--> <Language>RU</Language> <!--Language, код языка, обязательный--> <Currency>RUB</Currency> <!--Currency код валюты, обязательный--> </Source> </RequestBin> </ver:AirAvail> </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%3DEmptyBook" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SOAP-ENV:Body> <ns1:EmptyBookResponse> <ResponseBin> <Response> <EmptyBook ID="?" Status="?" Code="?"> <!--ID — Id брони в системе Nemo, целое число, обязательный--> <!--Status — индикатор состояния брони, возможные значения: pending — отложенный заказ, 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> <!--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ЧЧ:ММ:СС--> </PassengerFare> </PricingInfo> <Commission Currency="?">?</Commission> <Charges Currency="?">?</Charges> <!--Charges — сборы, Currency — код валюты--> <TotalPrice Currency="?">?</TotalPrice> <!--TotalPrice — итоговая цена, Currency — код валюты--> </Flight> <Agency Name="?"> <!--Name — название агентства--> <Telephone Type="?"> <!--Type — тип номера, обязательный, возможные значения: M — мобильный, H — домашний, B — рабочий, A — агенство--> <!--Optional:--> <PhoneNumber>?</PhoneNumber> <!--PhoneNumber — номер телефона--> <!--Optional:--> <CountryAccessCode>?</CountryAccessCode> <!--CountryAccessCode — код страны--> <!--Optional:--> <AreaCityCode>?</AreaCityCode> <!--AreaCityCode — код региона/города--> </Telephone> <Address City="?" State="?" StreetAddress="?" PostalCode="?" CountryCode="?"/> <!--City — город--> <!--State — штат--> <!--StreetAddress — адрес в городе (улица, дом, корпус, офис и т.д.)--> <!--PostalCode — почтовый индекс--> <!--CountryCode — код страны (RU, UA и т.п.)--> </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> <!--Zero or more repetitions:--> <Traveller Type="?" IsContact="?" LinkedTo="?" Num="?" TravellerId="?"> <!--Type — тип пассажира, обязательный, возможные значения: ADT — взрослые, CNN — дети, UNN — дети без сопровождения взрослых, INF — младенцы, INS — младенцы с местом--> <!--IsContact — если true — то данный пассажир является контактным лицом, если false — то не является, контактное лицо может быть только 1, если среди пассажиров есть взрослые, то только кто-то из них может быть контактным лицом, по умолчанию false--> <!--Num — порядковый номер пассажира, начинается с 1--> <!--LinkedTo — номер взрослого, к которому привязан младенец/ребенок--> <!--TravellerId — актуализированный номер пассажира, который возвращается в ответе на запрос бронирования и в дальнейшем ссылки на пассажиров даются на основании этого параметра--> <Meal>?</Meal> <!--Meal — код типа питания, возможные значения: NONE — отсутствует AVML — Азиатская вегетарианская кухня BLML — Блюда щадящей диеты CHML — Детское питание CHPC — Детский холодный завтрак СНСС — Детский горячий завтрак CHHC — Детский ланч, ветчина и сыр PBJS — Детский ланч, ореховое масло CHMC — Детский обед макароны с сыром DBML — Диабетическое питание FPML — Фрукты GFML — Питание без клейковины HFML — Питание богатое клетчаткой HNML — Индусская кухня BBML — Питание для младенцев KSML — Кошерная кухня SMKB — Кошерный завтрак SMKL — Кошерный ланч SMKD — Кошерный обед LPML — Малобелковое питание LCML — Низкокалорийное питание LFML — Низкохолестериновое питание PRML — Низкопуриновое питание LSML — Малосоленое питание MOML — Мюсли NLML — Безмолочные продукты ORML — Восточная кухня RVML — Сырые овощи SFML — Морепродукты SPML — Особое питание VLML — Вегетарианское, молоко и яйца VGML — Строго вегетарианское питание VJML — Джайнизское вегетарианское VOML — Восточное вегетарианское питание--> <Ticket/> <!--Ticket - номер билета (если заказ выписан)--> <Seats xsi:nil="true"/> <!--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 OpCode="?" Number="?"/> <!--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 – Док.повторного въезда, паспорт беженца V – Документ для пересечения границы--> <!--DocNum — номер документа--> <!--CountryCode — двух буквенный код страны выдачи паспорта (RU, UA, US и т.д.)--> <!--DocElapsedTime — срок истечения срока действия паспорта в ДД.ММ.ГГГ (например 31.12.2000)--> <VisaInfo Num="?" IssueCountry="?" IssuePlace="?" BirthCountry="?" BirthCity="?" IssueDate="?"/> <!--Num — номер визы--> <!--IssueDate — дата(ДД.ММ.ГГГГ) выдачи визы--> <!--IssueCountry — страна выдачи визы--> <!--IssuePlace — место выдачи визы--> <!--BirthCountry — страна рождения(IATA код страны)--> <!--BirthCity — город рождения(название)--> <ArrAddress 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"/>
<Errors xsi:nilError Code="true?">Сообщение об ошибке</Error>
</Response>
</ResponseBin>
<QueryPlace xsi:nil="true"/>
<!--QueryPlace — положение брони в очереди, Number — номер брони в очереди-->
<IsPossibleToTicket>?</IsPossibleToTicket>
<!--IsPossibleToTicket — возможность провести выписку ПНРа, boolean-->
<Flight FlightId="?">
<!--FlightId — Id перелёта в системе Nemo-->
<!--SegNum — номер сегмента в перелёте-->
<!--SegGroupNum – номер плеча перелёта-->
<SupplierCode>?</SupplierCode>
<!--SupplierCode – номер заказа в системе АК-->
<DepAirp CodeType="IATA" Name="?">?</DepAirp>
<!--DepAirp — аэропорт отправления, например: MOW — любой аэропорт в г.Москва или SVO — Шереметьево-->
<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>
<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>
<!--Refundable — возвратный/невозвратный, true/false. Если пустое, то не известно-->
<PassengerFare Type="?" Quantity="?">
<!--Type — тип пассажира, возможные значения: ADT — взрослые, CNN — дети, INF — младенцы, INS — младенцы с местомтарифа-->
<!--Quantity — количество пассажиров данного типа-->
<TravellerRef>
<!--TravellerRef — Ссылка на пассажиров, к которым относится данный тариф-->
<Ref>?</Ref>
<!--Ref — Номера пассажиров, к которым относится данный тариф-->
</TravellerRef>
<BaseFare Currency="?" Amount="?"/>
<!--BaseFare — базовая стоимость, в базовой валюте. Currency — код валюты, Amount — значение цены-->
<Tariff Code="?" SegNum="?"/>
<!--Code — код тарифа, SegNum — номер сегмента, к которому применён тариф-->
<FareFamilies>
<FullName>?</FullName>
<!--FullName — название тарифа-->
</FareFamilies>
</Tariffs>
<FareCalc>?</FareCalc>
<!--FareCalc — строка расчёта цены-->
<LastTicketDateTime>?</LastTicketDateTime>
<!--LastTicketDateTime — дата и время таймлимита по выписке в формате ГГГГ-MM-ДДTЧЧ:ММ:СС. Если включена настройка "Применение временной зоны - Для расчетов таймлимитов в агентском API", дата и время таймлимита будут переведены во временную зону пользователя. При отключенной настройке по умолчанию дата и время будут в Московском часовом поясе.-->
</PassengerFare>
</PricingInfo>
<Traveller Type="?" IsContact="?" LinkedTo="?" Num="?" TravellerId="?">
<!--Type — тип пассажира, обязательный, возможные значения: ADT — взрослые,
CNN — дети со взрослыми,UNN — дети без сопровождения взрослых, INF — младенцы, INS — младенцы с местом-->
<!--IsContact — если true — то данный пассажир является контактным лицом, если false — то не является,
контактное лицо может быть только 1, если среди пассажиров есть взрослые, то только кто-то из них
может быть контактным лицом, по умолчанию false-->
<!--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/>
<RequestType xsi:nil="true"/>
<UserID xsi:nil="true"/>
<Errors> <Error Code="?"> <!--Code — код ошибки в системе Nemo--> <ServiceErrorMessage>?</ServiceErrorMessage> <!--ServiceErrorMessage — сообщение об ошибке полученное от веб-сервиса поставщика--> <Message>?</Message> <!--Message — сообщение Сообщение об ошибке от системы Nemo--> </Error> </Errors>
</Response>
</ResponseBin>
</ns1:UpdateBookResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
</syntaxhighlight>
</div>
</div>
 
=== Запрос на модификацию заказа ===
Использование запроса модификации заказа позволяет внести паспортные данные, визу, карту лояльности,а также изменить данные документов пассажиров или визы, если они уже были внесены.
 
WSDL: http://CLIENT_DOMAIN/nemoflights/wsdl.php?for=ModifyInformation
 
<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://nemo-one/nemoflights/?version%3D1.0%26for%3DModifyInformation">
<soapenv:Header/>
<soapenv:Body>
<ver:ModifyInformation>
<RequestBin>
<Request>
<ModifyInformation>
<BookID>?</BookID>
<!--BookID — Id заказа в системе Nemo, обязательный-->
<InformationToModify>
<Information> <!--Один блок с данными на пассажира-->
<TravellerNumber>?</TravellerNumber>
<!--TravellerNumber — номер пассажира из ответа бронирования(TravellerId)-->
<DocumentInfo> <!--необязательный-->
<DocType>?</DocType>
<!--DocType — тип документа, возможные значения:
Р — Паспорт
A – Паспорт иностранца
С — Внутренний гражданский паспорт
F – Документ заменяющий паспорт
М — Воинское удостоверение
N – Сертификат натурализации(специфичный документ США)
T – Док.повторного въезда, паспорт беженца
V – Документ для пересечения границы-->
<DocNum>?</DocNum>
<!--DocNum — номер документа-->
<CountryCode>?</CountryCode>
<!--CountryCode — двух буквенный код страны выдачи паспорта (RU, UA, US и т.д.)-->
<DocElapsedTime>?</DocElapsedTime>
<!--DocElapsedTime — срок истечения срока действия паспорта в ДД.ММ.ГГГ (например 31.12.2000)-->
</DocumentInfo>
<VisaInfo> <!--необязательный-->
<Number>?</Number>
<!--Number — номер визы-->
<IssueCountry>?</IssueCountry>
<!--IssueCountry — страна выдачи визы(IATA код страны)-->
<IssuePlace>?</IssuePlace>
<!--IssuePlace — место выдачи визы-->
<BirthCountry>?</BirthCountry>
<!--BirthCountry — страна рождения(IATA код страны)-->
<BirthCity>?</BirthCity>
<!--BirthCity — город рождения(название)-->
<IssueDate>?</IssueDate>
<!--IssueDate — дата(ДД.ММ.ГГГГ) выдачи визы-->
</VisaInfo>
<LoyaltyCards> <!--необязательный-->
<LoyaltyCardInfo>
<CompanyCode>?</CompanyCode>
<!--CompanyCode — код авиакомпании-->
<Number>?</Number>
<!--Number — номер карты лояльности-->
</LoyaltyCardInfo>
</LoyaltyCards>
</Information>
</InformationToModify>
<DeviceId> <!--необязательный-->
<Type>?</Type>
<!--Type — Тип мобильного устройства (apple/android)-->
<Token>?</Token>
<!--Token — Токен мобильного устройства-->
</DeviceId>
</ModifyInformation>
</Request>
<Source>
<ClientId>?</ClientId>
<!--ClientId — ID клиента в системе Nemo. Можно посмотреть/добавить в разделе
"Администрирование" ? "Веб-служба. Авторизация".-->
<APIKey>?</APIKey>
<!--APIKey — секретный ключ доступа к API Nemo. Можно посмотреть/добавить в разделе
"Администрирование" ? "Веб-служба. Авторизация".-->
<Language>?</Language>
<!--Language — язык-->
<Currency>?</Currency>
<!-- CUrrency — валюта-->
<EndUserData>
<!--Блок с данными о конечном пользователе, необязательный, но необходим при при использовании запросов поиска и бронирования для поставщика TravelFusion-->
<EndUserIP>123.123.123.123</EndUserIP>
<!--IP адрес пользователя-->
<EndUserBrowserAgent>firefox</EndUserBrowserAgent>
<!--Браузер пользователя-->
<RequestOrigin>Russia-nemo.travel</RequestOrigin>
<!--Страна и домен, с которого пользователь совершает поиск/бронирование-->
</EndUserData>
</Source>
</RequestBin>
</ver:ModifyInformation>
</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%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 — количество остановок-->
<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ЧЧ:ММ:СС-->
</PassengerFare>
</PricingInfo>
<Charges Currency="?">?</Charges>
<!--Charges — сборы, Currency — код валюты-->
<TotalPrice Currency="?">?</TotalPrice>
<!--TotalPrice — итоговая цена, Currency — код валюты-->
</Flight>
<Agency Name="?">
<!--Name — название агентства-->
<Telephone Type="?">
<!--Type — тип номера, обязательный, возможные значения:
M — мобильный, H — домашний, B — рабочий, A — агенство-->
<!--Optional:-->
<PhoneNumber>?</PhoneNumber>
<!--PhoneNumber — номер телефона-->
<!--Optional:-->
<CountryAccessCode>?</CountryAccessCode>
<!--CountryAccessCode — код страны-->
<!--Optional:-->
<AreaCityCode>?</AreaCityCode>
<!--AreaCityCode — код региона/города-->
</Telephone>
<Address City="?" State="?" StreetAddress="?" PostalCode="?" CountryCode="?"/>
<!--City — город-->
<!--State — штат-->
<!--StreetAddress — адрес в городе (улица, дом, корпус, офис и т.д.)-->
<!--PostalCode — почтовый индекс-->
<!--CountryCode — код страны (RU, UA и т.п.)-->
</Agency>
<ItinReceipts Encoding="?" Format="?">
<!--ItinReceipts — маршрут квитанция, Encoding — кодировка, Format — формат-->
<FareStored xsi:nil="true"/>
<Travellers>
<!--Zero or more repetitions:-->
<Traveller Type="?" IsContact="?" LinkedTo="?" Num="?" TravellerId="?">
<!--Type — тип пассажира, обязательный, возможные значения: ADT — взрослые,
CLD — дети со взрослыми,UNN — дети без сопровождения взрослых, INF — младенцы, INS — младенцы с местом-->
<!--IsContact — если true — то данный пассажир является контактным лицом, если false — то не является,
контактное лицо может быть только 1, если среди пассажиров есть взрослые, то только кто-то из них
может быть контактным лицом, по умолчанию false-->
<!--Num — порядковый номер пассажира, начинается с 1-->
<!--LinkedTo — номер взрослого, к которому привязан младенец/ребёнок (привязка ребёнка ко взрослому является опциональной)-->
<!--TravellerId — актуализированный номер пассажира, который возвращается в ответе на запрос бронирования и в дальнейшем ссылки на пассажиров даются на основании этого параметра-->
<Meal>?</Meal>
<!--Meal — код типа питания, возможные значения:
AVML — Азиатская вегетарианская кухня
BLML — Блюда щадящей диеты
CHML — Детское питание
CHPC — Детский холодный завтрак
СНСС — Детский горячий завтрак
CHHC — Детский ланч, ветчина и сыр
PBJS — Детский ланч, ореховое масло
CHMC — Детский обед макароны с сыром
DBML — Диабетическое питание
FPML — Фрукты
GFML — Питание без клейковины
HFML — Питание богатое клетчаткой
HNML — Индусская кухня
BBML — Питание для младенцев
KSML — Кошерная кухня
SMKB — Кошерный завтрак
SMKL — Кошерный ланч
SMKD — Кошерный обед
LPML — Малобелковое питание
LCML — Низкокалорийное питание
LFML — Низкохолестериновое питание
PRML — Низкопуриновое питание
LSML — Малосоленое питание
MOML — Мюсли
NLML — Безмолочные продукты
ORML — Восточная кухня
RVML — Сырые овощи
SFML — Морепродукты
SPML — Особое питание
VLML — Вегетарианское, молоко и яйца
VGML — Строго вегетарианское питание
VJML — Джайнизское вегетарианское
VOML — Восточное вегетарианское питание-->
<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 OpCode="?" Number="?"/>
<!--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 – Док.повторного въезда, паспорт беженца
V – Документ для пересечения границы-->
<!--DocNum — номер документа-->
<!--CountryCode — двух буквенный код страны выдачи паспорта (RU, UA, US и т.д.)-->
<!--DocElapsedTime — срок истечения срока действия паспорта в ДД.ММ.ГГГ (например 31.12.2000)-->
<VisaInfo Num="?" IssueCountry="?" IssuePlace="?" BirthCountry="?" BirthCity="?" IssueDate="?"/>
<!--Num — номер визы-->
<!--IssueDate — дата(ДД.ММ.ГГГГ) выдачи визы-->
<!--IssueCountry — страна выдачи визы-->
<!--IssuePlace — место выдачи визы-->
<!--BirthCountry — страна рождения(IATA код страны)-->
<!--BirthCity — город рождения(название)-->
<ArrAddress City="?" State="?" StreetAddress="?" PostalCode="?" CountryCode="?"/>
<!--City — город-->
<!--State — штат или область въезда-->
<!--StreetAddress — адрес: улица, номер дома, квартиры и т.д.-->
<!--PostalCode — почтовый код-->
<!--CountryCode — код страны-->
<DocStringFormats>
<!--Zero or more repetitions:-->
<DocStringFormat>?</DocStringFormat>
<!--DocStringFormat — формат паспортной строки, возможные значения:
DOCS — строка формата DOCS, FOID — строка формата FOID-->
</DocStringFormats>
</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/>
<RequestType xsi:nil="true"/>
<UserID xsi:nil="true"/>
<Error Code="?">Сообщение об ошибке</Error>
</Response>
</ResponseBin>
</ns1:ModifyInformationResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
=== Чтение тарифных правил ===
'''Чтение тарифных правил''' — этот запрос отправляется из Nemo после того , как пользователь выбирает интересующий его перелет на странице выдачи с результатов поиска. При помощи него Nemo получает информацию от поставщика о возвратности/невозвратности тарифов, а так же иную полезную информацию, которая доступна пользователю на странице подтверждения бронирования по клику на названии тарифного правилакод тарифа (FareBasis).
WSDL: http://CLIENT_DOMAIN/nemoflights/wsdl.php?for=GetAirRules
<GetAirRules>
<!--Запрос, обязательный-->
<!--FlightId — Id перелёта в системе Nemo, обязательныйнеобязательный-->
<FlightId>142330001</FlightId>
<!--BookId — Id заказа в системе Nemo, необязательный-->
<BookId>15015</BookId>
</GetAirRules>
</Request>
<div class="toccolours mw-collapsible mw-collapsed" style="width:1000px">
 
==== Ответ ====
<div class="mw-collapsible-content">
</Rules>
</GetAirRules>
<Requisites/>
<RequestType xsi:nil="true"/>
<UserID xsi:nil="true"/>
<Error Code="?">Сообщение об ошибке</Error>
</Response>
</ResponseBin>
</ns1:GetAirRulesResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
</syntaxhighlight>
</div>
</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"/>
</Response>
</ResponseBin>
</ns1:GetAirRulesResponseListQueueResponse> </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>
</div>
</div>
 
== См. также ==
 
* [[Агентский API Авиабилеты]]

Навигация

'