Изменения

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

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

53 020 байт добавлено, 18:46, 6 мая 2019
Нет описания правки
{{Attention|В системе реализован усовершенствованный API-проект «Nemo Connect», настоятельно рекомендуем подключаться по схеме, описанной в документации по [http://docs.nemo.travel/ ссылке]}}
 
[[Категория:Интеграция]]
[[Категория:Агентский API]]
 
=== Проверка на доступность ===
Данный запрос отправляется из Nemo после того , как пользователь выбирает интересующий его перелет на странице выдачи с поиска. Он необходим для того , чтобы перед подтверждением бронирования повторно проверить перелет на доступность(статусы сегментов и актуализация цены).
Использование запроса проверки доступности позволяет не бронировать заведомо недоступные перелеты (IsAvail="false"), но значение IsAvail="true" не дает гарантии, что перелёт будет доступен к моменту бронирования, лишь до некоторой степени увеличивает такую вероятность.
<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, не происходит бронирования билета в ГДС.
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="?" Code="?"> <!--ID — Id брони в системе Nemo, целое число, обязательный--> <!--Status — индикатор состояния брони, возможные значения: pending — отложенный заказ, 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" 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> <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"/>
<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%3DGetAirRules" xmlns:xsi="http> <soapenv:Header//www.w3.org/2001/XMLSchema-instance"> <SOAP-ENVsoapenv:Body> <ns1ver:GetAirRulesResponseGetAirRules> <ResponseBinRequestBin> <ResponseRequest>
<GetAirRules>
<!--Запрос, обязательный--> <!--FlightId — Id перелёта в системе Nemo, необязательный-->
<FlightId>142330001</FlightId>
<!--BookId — Id заказа в системе Nemo, необязательный--> <BookId>15015</BookId> </GetAirRules> </Request> <Source> <!--Авторизация, обязательный--> <!--ClientId, идентификатор клиента, обязательный--> <!--APIKey, API ключ клиента, обязательный--> <!--Language, код языка, обязательный--> <!--Currency код валюты, обязательный--> <ClientId>---</ClientId> <APIKey>---</APIKey> <Language>RU</Language> <Currency>RUB</Currency> </Source> </RequestBin> </ver:GetAirRules> </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%3DGetAirRules" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SOAP-ENV:Body> <ns1:GetAirRulesResponse> <ResponseBin> <Response> <GetAirRules> <!--FlightId — Id перелёта в системе Nemo--> <FlightId>142330001</FlightId> <!--Rules Правила перелета--> <Rules> <!--Code код правила--> <!--Tarrif название тарифа--> <!--Name название правила--> <Rule Code="00" Tarrif="LEXOW1" Name="RULE APPLICATION AND OTHER CONDITIONS"> <!--RuleText Текст правила--> <RuleText>NOTE - THE FOLLOWING TEXT IS INFORMATIONAL AND NOT VALIDATED FOR AUTOPRICING. SU CARRIER VALUE-ECONOMY FARES APPLICATION AREA THESE FARES APPLY BETWEEN RUSSIA AND AREA 2/AREA 3. CLASS OF SERVICE THESE FARES APPLY FOR ECONOMY CLASS SERVICE. TYPES OF TRANSPORTATION FARES GOVERNED BY THIS RULE CAN BE USED TO CREATE ONE-WAY JOURNEYS. CAPACITY LIMITATIONS THE CARRIER SHALL LIMIT THE NUMBER OF PASSENGERS CARRIED ON ANY ONE FLIGHT AT FARES GOVERNED BY THIS RULE AND SUCH FARES WILL NOT NECESSARILY BE AVAILABLE ON ALL FLIGHTS. THE NUMBER OF SEATS, WHICH THE CARRIER SHALL MAKE AVAILABLE ON A GIVEN FLIGHT, WILL BE DETERMINED BY THE CARRIER'S BEST JUDGEMENT.</RuleText> </Rule> <Rule Code="01" Tarrif="LEXOW1" Name="ELIGIBILITY"> <RuleText>NO ELIGIBILITY REQUIREMENTS APPLY.</RuleText> </Rule> <Rule Code="02" Tarrif="LEXOW1" Name="DAY/TIME"> <RuleText>NO DAY/TIME TRAVEL RESTRICTIONS APPLY.</RuleText> </Rule> <Rule Code="03" Tarrif="LEXOW1" Name="SEASONALITY"> <RuleText>NO SEASONAL TRAVEL RESTRICTIONS APPLY.</RuleText> </Rule> <Rule Code="04" Tarrif="LEXOW1" Name="FLIGHT APPLICATION"> <RuleText>THE FARE COMPONENT MUST NOT BE ON ONE OR MORE OF THE FOLLOWING A3 FLIGHTS 1000 THROUGH 1999 A3 FLIGHTS 3000 THROUGH 3999 AF FLIGHTS 3600 THROUGH 3799 AF FLIGHTS 4400 THROUGH 4499 AF FLIGHTS 4600 THROUGH 4999 AF FLIGHTS 6300 THROUGH 6399 AF FLIGHTS 8000 THROUGH 9999 AY FLIGHTS 4000 THROUGH 9999 AZ FLIGHTS 2400 THROUGH 3999 AZ FLIGHTS 7000 THROUGH 7999 AT FLIGHTS 9000 THROUGH 9999 BA FLIGHTS 510 THROUGH 524 BA FLIGHTS 1500 THROUGH 1999 BA FLIGHTS 2290 THROUGH 2539 BA FLIGHTS 2800 THROUGH 2899 BA FLIGHTS 3000 THROUGH 3269 BA FLIGHTS 3300 THROUGH 8449 BA FLIGHTS 8498 THROUGH 8699 BA FLIGHTS 8770 THROUGH 9999 BD FLIGHTS 2000 THROUGH 4999 FB FLIGHTS 999 THROUGH 1999 IB FLIGHTS 5000 THROUGH 5999 IB FLIGHTS 7000 THROUGH 8999 IG FLIGHTS 9000 THROUGH 9999 JK FLIGHTS 7500 THROUGH 7999 JK FLIGHTS 8800 THROUGH 9999 UX FLIGHTS 3000 THROUGH 3999 VV FLIGHTS 4000 THROUGH 4999 JU FLIGHTS 8000 THROUGH 8999 OU FLIGHTS 5000 THROUGH 5999 TP FLIGHTS 6000 THROUGH 9499 F7 FLIGHTS 1000 THROUGH 1999 F7 FLIGHTS 6700 THROUGH 6701 FI FLIGHTS 7000 THROUGH 7999 DE FLIGHTS 9000 THROUGH 9999 YM FLIGHTS 4000 THROUGH 4999. AND THE FARE COMPONENT MUST BE ON
ONE OR MORE OF THE FOLLOWING
A3 FLIGHTS 1000 THROUGH 1999 A3 FLIGHTS 3000 THROUGH 3999 AF FLIGHTS 3600 THROUGH 3799 AF FLIGHTS 4400 THROUGH 4499 AF FLIGHTS 4600 THROUGH 4999 AF FLIGHTS 6300 THROUGH 6399 AF FLIGHTS 8000 THROUGH 9999 AY FLIGHTS 4000 THROUGH 9999 AZ FLIGHTS 2400 THROUGH 3999 AZ FLIGHTS 7000 THROUGH 7999 AT FLIGHTS 9000 THROUGH 9999 BA FLIGHTS 510 THROUGH 524 BA FLIGHTS 1500 THROUGH 1999 BA FLIGHTS 2290 THROUGH 2539 BA FLIGHTS 2800 THROUGH 2899 BA FLIGHTS 3000 THROUGH 3269 BA FLIGHTS 3300 THROUGH 8449 BA FLIGHTS 8498 THROUGH 8699 BA FLIGHTS 8770 THROUGH 9999 BD FLIGHTS 2000 THROUGH 4999 FB FLIGHTS 999 THROUGH 1999 IB FLIGHTS 5000 THROUGH 5999 IB FLIGHTS 7000 THROUGH 8999 IG FLIGHTS 9000 THROUGH 9999 JK FLIGHTS 7500 THROUGH 7999 JK FLIGHTS 8800 THROUGH 9999 UX FLIGHTS 3000 THROUGH 3999 VV FLIGHTS 4000 THROUGH 4999 JU FLIGHTS 8000 THROUGH 8999 OU FLIGHTS 5000 THROUGH 5999 TP FLIGHTS 6000 THROUGH 9499 F7 FLIGHTS 1000 THROUGH 1999 F7 FLIGHTS 6700 THROUGH 6701 FI FLIGHTS 7000 THROUGH 7999 DE FLIGHTS 9000 THROUGH 9999 YM FLIGHTS 4000 THROUGH 4999. AND THE FARE COMPONENT MUST BE ON ONE OR MORE OF THE FOLLOWING ANY 9B FLIGHT ANY A3 FLIGHT ANY AF FLIGHT OPERATED BY AF ANY AY FLIGHT ANY AZ FLIGHT ANY AT FLIGHT ANY BA FLIGHT ANY B2 FLIGHT OPERATED BY B2 ANY BD FLIGHT OPERATED BY BD ANY BT FLIGHT ANY BU FLIGHT OPERATED BY SK ANY FB FLIGHT ANY IB FLIGHT ANY IG FLIGHT ANY JK FLIGHT ANY KF FLIGHT OPERATED BY KF ANY KK FLIGHT ANY KL FLIGHT ANY OU FLIGHT ANY SK FLIGHT OPERATED BY SK ANY SU FLIGHT ANY SU FLIGHT OPERATED BY AF ANY UX FLIGHT ANY VV FLIGHT ANY YO FLIGHT ANY JU FLIGHT ANY F7 FLIGHT ANY TP FLIGHT ANY FI FLIGHT ANY DE FLIGHT ANY YM FLIGHT.</RuleText> </Rule> <Rule Code="05" Tarrif="LEXOW1" Name="ADVANCE RESERVATIONS/TICKETING"> <RuleText>FOR TICKETING ON/AFTER 08APR13 CONFIRMED RESERVATIONS ARE REQUIRED FOR ALL SECTORS. WHEN RESERVATIONS ARE MADE AT LEAST 100 DAYS BEFORE DEPARTURE, TICKETING MUST BE COMPLETED AT LEAST 93 DAYS BEFORE DEPARTURE. OR - CONFIRMED RESERVATIONS ARE REQUIRED FOR ALL SECTORS. WHEN RESERVATIONS ARE MADE AT LEAST 14 DAYS BEFORE DEPARTURE, TICKETING MUST BE COMPLETED WITHIN 7 DAYS AFTER RESERVATIONS ARE MADE. OR - CONFIRMED RESERVATIONS ARE REQUIRED FOR ALL SECTORS. WHEN RESERVATIONS ARE MADE AT LEAST 12 DAYS BEFORE DEPARTURE, TICKETING MUST BE COMPLETED AT LEAST 11 DAYS BEFORE DEPARTURE. OR - CONFIRMED RESERVATIONS ARE REQUIRED FOR ALL SECTORS. WHEN RESERVATIONS ARE MADE AT LEAST 2 DAYS BEFORE DEPARTURE, TICKETING MUST BE COMPLETED WITHIN 24 HOURS AFTER RESERVATIONS ARE MADE. CONFIRMED RESERVATIONS ARE REQUIRED FOR ALL SECTORS. NOTE - TEXT BELOW NOT VALIDATED FOR AUTOPRICING. DUE TO AUTOMATED TICKETING DEADLINE CONTROL DIFFERENCE COULD EXIST BETWEEN THE FARE RULE LAST TICKETING DATE AND THE SYSTEM GENERATED TICKETING DEADLINE MESSAGE. THE MORE RESTRICTIVE TICKETING DEADLINE APPLIES. -------- FARE IS SUBJECT TO CHANGE AND NOT GUARANTEED UNTIL TICKETED --------</RuleText>
</Rule>
<Rule Code="05" Tarrif="LEXOW1" Name="ADVANCE RESERVATIONS/TICKETING"> <RuleText>FOR TICKETING ON/AFTER 08APR13 CONFIRMED RESERVATIONS ARE REQUIRED FOR ALL SECTORS. WHEN RESERVATIONS ARE MADE AT LEAST 100 DAYS BEFORE DEPARTURE, TICKETING MUST BE COMPLETED AT LEAST 93 DAYS BEFORE DEPARTURE. OR - CONFIRMED RESERVATIONS ARE REQUIRED FOR ALL SECTORS. WHEN RESERVATIONS ARE MADE AT LEAST 14 DAYS BEFORE DEPARTURE, TICKETING MUST BE COMPLETED WITHIN 7 DAYS AFTER RESERVATIONS ARE MADE. OR - CONFIRMED RESERVATIONS ARE REQUIRED FOR ALL SECTORS. WHEN RESERVATIONS ARE MADE AT LEAST 12 DAYS BEFORE DEPARTURE, TICKETING MUST BE COMPLETED AT LEAST 11 DAYS BEFORE DEPARTURE. OR - CONFIRMED RESERVATIONS ARE REQUIRED FOR ALL SECTORS. WHEN RESERVATIONS ARE MADE AT LEAST 2 DAYS BEFORE DEPARTURE, TICKETING MUST BE COMPLETED WITHIN 24 HOURS AFTER RESERVATIONS ARE MADE. CONFIRMED RESERVATIONS ARE REQUIRED FOR ALL SECTORS. NOTE - TEXT BELOW NOT VALIDATED FOR AUTOPRICING. DUE TO AUTOMATED TICKETING DEADLINE CONTROL DIFFERENCE COULD EXIST BETWEEN THE FARE RULE LAST TICKETING DATE AND THE SYSTEM GENERATED TICKETING DEADLINE MESSAGE. THE MORE RESTRICTIVE TICKETING DEADLINE APPLIES. -------- FARE IS SUBJECT TO CHANGE AND NOT GUARANTEED UNTIL TICKETED --------</RuleText> </Rule> <Rule Code="06" Tarrif="LEXOW1" Name="MINIMUM STAY"> <RuleText>NO MINIMUM STAY REQUIREMENTS APPLY.</RuleText> </Rule> <Rule Code="07" Tarrif="LEXOW1" Name="MAXIMUM STAY"> <RuleText>TRAVEL FROM LAST STOPOVER MUST COMMENCE NO LATER THAN
345 DAYS AFTER DEPARTURE FROM FARE ORIGIN.</RuleText>
</Rule>
=== Запрос на чтение очереди ===
Чтение осуществляется из пакетов реквизитов, настроенных и включенных для юзера пользователя на текущий момент. Необходимо учесть, что пользователю отображаются только доступные ему заказы. В ответе на запрос приходят списки из названий очередей с соответствующими им заказами.
Список очередей:<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 Авиабилеты]]

Навигация

'