224
правки
Изменения
Нет описания правки
{{Attention|В системе реализован усовершенствованный API-проект «Nemo Connect», настоятельно рекомендуем подключаться по схеме, описанной в документации по [http://docs.nemo.travel/ ссылке]}}
[[Категория:Интеграция]]
[[Категория:Агентский API]]
=== Проверка на доступность ===
<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 Получение документа ===
<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, необязательный--> <FlightIdNemo2BookId>?</FlightIdNemo2BookId> <!--FlightIdNemo2 номер перелета BookNemo2Id — Id заказа в системе Nemo2 с результатов поиска, нужно указать любой известный номер перелетанеобязательный--> <ReferrerBookNemo2Id>?</ReferrerBookNemo2Id> <!--Referrer название источника метрики заведенного в настройках--> <AdditionalOperations> <Operation>?</Operation> <!--Operation тип операцийDocType — Тип запрашиваемого документа, которые будут выполнены при создании заказа--> <!--Доступные возможные значения: ActualizeFlight (актуализация перелета ItinReceiptNemo - маршрут квитанция в гдс), GetFareFamilies (поиск семейств тарифов), GetFareRules (получение текста тарифных правил)формате Nemo --> </AdditionalOperations> <DeviceId> <!--необязательный--> <Type>?</Type> <!--Type — Тип мобильного устройства (apple/android)--> <Token>?</Token> <!--Token — Токен мобильного устройства--> </DeviceId> <MarkerDocType>?</Marker> <!--Marker — Маркер пользователя--DocType> </EmptyBookGetDocument>
</Request>
<Source>
<!--Авторизация, обязательный-->
<!--ClientId, идентификатор клиента, обязательный-->
<!--APIKey, API ключ клиента, обязательный-->
<!--Language, код языка, обязательный-->
<!--Currency код валюты, обязательный-->
<ClientId>---</ClientId>
<APIKey>---</APIKey>
<Language>RU</Language>
<Currency>RUB</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 BookId="?" Status="?" CodeBookNemo2Id="?"> <!--ID BookId — Id брони заказа в системе Nemo, целое число, обязательный1.0 --> <!--Status BookNemo2Id — индикатор состояния брони, возможные значения:Id заказа в Nemo Connect --> pending — отложенный заказ, <PaperDocument> booked — забронировано, canceled — бронь отменена, ticket — выписана UNDEFINED — статус не определён--> <!--Code Type — код брони в системе поставщикаТип возвращаемого документа --> <QueryPlace xsi:nil="true"/Type>?</Type> <!--QueryPlace Format — положение брони в очереди, Number — номер брони в очередиФормат возвращаемого документа --> <IsPossibleToTicketFormat>?</IsPossibleToTicketFormat> <!--IsPossibleToTicket Encoding — возможность провести выписку ПНРа, booleanКодировка возвращаемого документа (не используется) --> <Flight FlightId="Encoding>?"</Encoding> <!--FlightId DocumentData — Id перелёта в системе Nemo-Содержимое документа --> <WebServiceDocumentData>?</WebServiceDocumentData> <!--WebService IsBase64Wrapped — поставщик перелётапараметр указывает, закодировано ли содержимое документа в Base64 --> <ValCompanyIsBase64Wrapped>?</ValCompanyIsBase64Wrapped> <!--ValCompany — код авиакомпании, являющейся валидирующим перевозчиком, IATA--/PaperDocument> <URL>? <Requisites/URL> <!--URL — ссылка на страницу данного заказа в системе Немо--RequestType xsi:nil="true"/> <SegmentsUserID xsi:nil="true"/> <Segment SegNum="?" SegGroupNumError Code="?"> Сообщение об ошибке<!--SegNum — номер сегмента в перелёте--/Error> <!--SegGroupNum – номер плеча перелёта--/Response> <SupplierCode/ResponseBin>? </SupplierCodens1:AirAvailResponse> <!--SupplierCode – номер заказа в системе АК/SOAP-ENV:Body></SOAP-ENV:Envelope> <DepAirp CodeType="IATA" Name="?"/syntaxhighlight>?</DepAirpdiv> <!--DepAirp — аэропорт отправления/div> === Создание отложенного заказа в системе Nemo === Данный запрос используется для того, чтобы создать в системе Nemo отложенный заказ, например: MOW — любой аэропорт в гкотором будет информация о перелете. Пустой заказ создается на основании данных перелета из результатов поиска. Если у пользователя настроен репрайсинг, то запрос на репрайсинг будет запущен при выполнении операции ActualizeFlight.Москва или SVO — Шереметьево--> <DepTerminal>?</DepTerminal> <!--DepTerminal — терминал пункта отправленияПри создании отложенного заказа в системе Nemo, если пустое значение, то не происходит бронирования билета в аэропорту всего 1 терминал-->ГДС. <ArrAirp CodeTypeWSDL: http://CLIENT_DOMAIN/nemoflights/wsdl.php?for=EmptyBook <div class="IATAtoccolours mw-collapsible mw-collapsed" Namestyle="?width:1000px">?</ArrAirp> <!--ArrAirp — аэропорт прибытия==== Запрос ====<div class="mw-collapsible-content"> <ArrTerminal>?</ArrTerminal> <!--ArrTerminal — терминал пункта прибытия, если пустое значение, то в аэропорту всего 1 терминал-syntaxhighlight lang="xml" line enclose="div" style="font-size:9pt;background: #F9F9F9; border: 1px dashed #2F6FAB; padding: 10px 5px; margin: 10px 0;"> <OpAirline>soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ver="http://CLIENT_DOMAIN/nemoflights/?</OpAirlineversion%3D1.0%26for%3DEmptyBook"> <!--OpAirline — авиакомпания перевозчик, напримерsoapenv: SU — Аэрофлот--Header/> <OpAirlineNamesoapenv:Body>? </OpAirlineNamever:AirAvail> <!--OpAirlineName - полное наименование АК на кириллице--RequestBin> <MarkAirlineRequest> <EmptyBook> <FlightId>?</MarkAirlineFlightId> <!--MarkAirline — авиакомпания, продающая перелётFlightId номер перелета с результатов поиска--> <MarkAirlineNameFlightIdNemo2>?</MarkAirlineNameFlightIdNemo2> <!--MarkAirlineName - полное наименование АК на кириллицеFlightIdNemo2 номер перелета Nemo2 с результатов поиска, нужно указать любой известный номер перелета--> <FlightNumberReferrer>?</FlightNumberReferrer> <!--FlightNumber — номер рейсаReferrer название источника метрики заведенного в настройках--> <AircraftName>?</AircraftNameAdditionalOperations> <!--AircraftName - наименование воздушного судна--> <AircraftTypeOperation>?</AircraftTypeOperation> <!--AircraftType — Operation тип воздушного суднаопераций, кодкоторые будут выполнены при создании заказа--> <DepDateTime>?!--Доступные значения: ActualizeFlight (актуализация перелета в гдс), GetFareFamilies (поиск семейств тарифов), GetFareRules (получение текста тарифных правил)--> </DepDateTimeAdditionalOperations> <DeviceId> <!--DepDateTime — дата и время отправления, формат ГГГГ-MM-ДДTЧЧ:ММ:ССнеобязательный--> <ArrDateTimeType>?</ArrDateTimeType> <!--ArrDateTime Type — дата и время прибытия, формат ГГГГ-MM-ДДTЧЧ:ММ:ССТип мобильного устройства (apple/android)--> <StopNumToken>?</StopNumToken> <!--StopNum Token — количество остановокТокен мобильного устройства--> </DeviceId> <Marker>?<StopPoints/Marker> <!--StopPoints Marker — информация о технических остановках, если они есть--Маркер пользователя--> <StopPoint/EmptyBook> <AirportCode/Request>? </AirportCodeSource> <!--AirportCode — код аэропорта остановкиАвторизация, трех символьный iata кодобязательный--> <UTCClientId>?</UTCClientId> <!--UTC — сдвиг часового пояса аэропортаClientId, идентификатор клиента, обязательный--> <ArrDateTimeAPIKey>?</ArrDateTimeAPIKey> <!--ArrDateTime — дата и время прибытияAPIKey, API ключ клиента, формат ГГГГ-MM-ДДTЧЧ:ММ:ССобязательный--> <DepDateTimeLanguage>?RU</DepDateTimeLanguage> <!--DepDateTime — дата и время отправленияLanguage, код языка, формат ГГГГ-MM-ДДTЧЧ:ММ:ССобязательный--> <Currency>RUB</StopPointCurrency> <!--Currency код валюты, обязательный--> </StopPointsSource> <BookingCodes/RequestBin> </ver:AirAvail> <BookingCode ClassType="?"/soapenv:Body> <!--ClassType — класс перелета, например/soapenv: economy--Envelope> <BookingCode/syntaxhighlight>?</BookingCodediv> <!--BookingCode — код класса бронирования, у разных авиакомпаний один и тот же класс/div> может записываться разными литерами, например: L<div class="toccolours mw-collapsible mw-collapsed" style="width:1000px"> </BookingCode> </BookingCodes>==== Ответ ==== <FlightTime>?</FlightTime> <!--FlightTime — время перелёта в минутахdiv class="mw-collapsible-content"> <TimeZone Departuresyntaxhighlight lang="?xml" Arrivalline enclose="?div" style="font-size:9pt;background: #F9F9F9; border: 1px dashed #2F6FAB; padding: 10px 5px; margin: 10px 0;"/> <!SOAP-ENV:Envelope xmlns:SOAP-Departure временная зона аэропорта отправления--> <!--Arrival — временная зона аэропорта прибытия--> <ETicket>?<ENV="http:/ETicket> <!--ETicket — признак электронного билета, значения: true / false--> <isCharter>?<schemas.xmlsoap.org/soap/envelope/isCharter> <!--isCharter — признак чартерного перелета, значения" xmlns:ns1="http: true / false--/CLIENT_DOMAIN/nemoflights/?version%3D1.0%26for%3DEmptyBook" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <BaggageAllowancesSOAP-ENV:Body> <!--BaggageAllowances — информация о багаже--ns1:EmptyBookResponse> <BaggageAllowanceResponseBin> <PassengerTypeResponse> <EmptyBook ID="?" Status="?" Code="?</PassengerType"> <!--PassengerType ID — тип пассажираId брони в системе Nemo, целое число, соответстует типу тарифа в PricingInfo обязательный--> <Value>?</Value> <!--Value Status — количество--> <Measurement>?</Measurement> <!--Measurement — мера измеренияиндикатор состояния брони, может принимать возможные значения: kg pending — килограммотложенный заказ, booked — забронировано, pc canceled — багажное местобронь отменена, lb ticket — выписана UNDEFINED — фунтстатус не определён--> </BaggageAllowance!--Code — код брони в системе поставщика--> </BaggageAllowancesQueryPlace xsi:nil="true"/> </Segment!--QueryPlace — положение брони в очереди, Number — номер брони в очереди--> </SegmentsIsPossibleToTicket> ?<PricingInfo Refundable="?"/IsPossibleToTicket> <!--Refundable IsPossibleToTicket — возвратный/невозвратныйвозможность провести выписку ПНРа, true/false. Если пустое, то не известноboolean--> <PassengerFare Type="?" QuantityFlight FlightId="?"> <!--Type FlightId — тип тарифаId перелёта в системе Nemo--> <!--Quantity — количество пассажиров данного типа--> WebService>?<TravellerRef/WebService> <!--TravellerRef WebService — Ссылка на пассажиров, к которым относится данный тарифпоставщик перелёта--> <RefValCompany>?</RefValCompany> <!--Ref ValCompany — Номера пассажировкод авиакомпании, к которым относится данный тарифявляющейся валидирующим перевозчиком, IATA--> <URL>?</TravellerRefURL> <!--URL — ссылка на страницу данного заказа в системе Немо--> <Segments> <BaseFare CurrencySegment SegNum="?" AmountSegGroupNum="?"/> <!--BaseFare SegNum — базовая стоимость, номер сегмента в базовой валюте. Currency — код валюты, Amount — значение ценыперелёте--> <!--SegGroupNum – номер плеча перелёта--> <EquiveFare Currency="SupplierCode>?" Amount="?"</SupplierCode> <!--EquiveFare — базовая стоимость, SupplierCode – номер заказа в эквивалентной валюте(валюте продажи). Currency — код валюты, Amount — значение ценысистеме АК--> <TotalFare CurrencyDepAirp CodeType="?IATA" AmountName="?">?</DepAirp> <!--TotalFare DepAirp — суммарная стоимостьаэропорт отправления, например: MOW — любой аэропорт в эквивалентной валютег. Currency Москва или SVO — код валюты, Amount — значение ценыШереметьево--> <TaxesDepTerminal> ?<Tax CurCode="?" TaxCode="?" Amount="?"/DepTerminal> <!--CurCode DepTerminal — код валютытерминал пункта отправления, TaxCode — код таксыесли пустое значение, Amount — сумма таксыто в аэропорту всего 1 терминал--> </Taxes> <Tariffs> <Tariff CodeArrAirp CodeType="?IATA" SegNumName="?">?</ArrAirp> <!--Code ArrAirp — код тарифа, SegNum — номер сегмента, к которому применён тариф-аэропорт прибытия--> <FareFamilies> <FullNameArrTerminal>?</FullNameArrTerminal> <!--FullName ArrTerminal — название тарифатерминал пункта прибытия, если пустое значение, то в аэропорту всего 1 терминал--> <OpAirline>?</FareFamiliesOpAirline> </Tariffs!--OpAirline — авиакомпания перевозчик, например: SU — Аэрофлот--> <FareCalcOpAirlineName>?</FareCalcOpAirlineName> <!--FareCalc — строка расчёта ценыOpAirlineName - полное наименование АК на кириллице--> <LastTicketDateTimeMarkAirline>?</LastTicketDateTimeMarkAirline> <!--LastTicketDateTime MarkAirline — дата и время таймлимита по выписке в формате ГГГГ-MM-ДДTЧЧ:ММ:СС-авиакомпания, продающая перелёт--> <MarkAirlineName>?</PassengerFareMarkAirlineName> </PricingInfo!--MarkAirlineName - полное наименование АК на кириллице--> <Commission Currency="?"FlightNumber>?</CommissionFlightNumber> <!--FlightNumber — номер рейса--> <Charges Currency="?"AircraftName>?</ChargesAircraftName> <!--Charges — сборы, Currency — код валютыAircraftName - наименование воздушного судна--> <TotalPrice Currency="?"AircraftType>?</TotalPriceAircraftType> <!--TotalPrice AircraftType — итоговая ценатип воздушного судна, Currency — код валюты--> </FlightDepDateTime> ?<Agency Name="?"/DepDateTime> <!--Name DepDateTime — название агентствадата и время отправления, формат ГГГГ-MM-ДДTЧЧ:ММ:СС--> <Telephone Type="ArrDateTime>?"</ArrDateTime> <!--Type ArrDateTime — тип номерадата и время прибытия, обязательный, возможные значенияформат ГГГГ-MM-ДДTЧЧ:ММ:СС--> M — мобильный, H — домашний, B — рабочий, A — агенство-- <StopNum>?</StopNum> <!--Optional:StopNum — количество остановок--> <PhoneNumber>?</PhoneNumberStopPoints> <!--PhoneNumber StopPoints — номер телефонаинформация о технических остановках, если они есть--> <!--Optional:--StopPoint> <CountryAccessCodeAirportCode>?</CountryAccessCodeAirportCode> <!--CountryAccessCode AirportCode — код страныаэропорта остановки, трех символьный iata код--> <UTC>?</UTC> <!--Optional:UTC — сдвиг часового пояса аэропорта--> <AreaCityCodeArrDateTime>?</AreaCityCodeArrDateTime> <!--AreaCityCode ArrDateTime — код региона/городадата и время прибытия, формат ГГГГ-MM-ДДTЧЧ:ММ:СС--> <DepDateTime>?</TelephoneDepDateTime> <Address City="?" State="?" StreetAddress="?" PostalCode="?" CountryCode="?"/> <!!--DepDateTime — дата и время отправления, формат ГГГГ-MM-City — городДДTЧЧ:ММ:СС--> <!--State — штат--/StopPoint> </StopPoints> <BookingCodes> <BookingCode ClassType="?"> <!--StreetAddress ClassType — адрес в городе (улицакласс перелета, дом, корпус, офис и т.д.)например: economy--> <BookingCode>?<!--PostalCode — почтовый индекс--/BookingCode> <!--CountryCode BookingCode — код страны (RUкласса бронирования, UA у разных авиакомпаний один и т.п.)тот же класс может записываться разными литерами, например: L--> </BookingCode> </BookingCodes> <FlightTime>?</AgencyFlightTime> <!--FlightTime — время перелёта в минутах--> <ItinReceipts EncodingTimeZone Departure="?" FormatArrival="?"/> <!--ItinReceipts — маршрут квитанция, Encoding — кодировка, Format — форматDeparture временная зона аэропорта отправления--> <FareStored xsi:nil="true"/!--Arrival — временная зона аэропорта прибытия--> <PaymentTransactionsETicket> ?<Transaction/ETicket> <Id>?</Id> <!!--Id - номер транзакции в НемоETicket — признак электронного билета, значения: true / false--> <StatusisCharter>?</StatusisCharter> <!--Status - статус транзакцииisCharter — признак чартерного перелета, значения: new_billing true / false- новая транзакция (оплата еще не производилась) wait_payment_billing - ожидание оплаты> cancel_billing - оплата отменена <BaggageAllowances> payment_refund <!- возврат средств pre-authorized - преавторизация paid_billing - оплаченоBaggageAllowances — информация о багаже--> <BaggageAllowance> <GatewayNamePassengerType>?</GatewayNamePassengerType> <!--GatewayName - название платежного шлюзаPassengerType — тип пассажира, соответстует типу тарифа в PricingInfo --> <MoneyPaid Currency="?"Value>?</MoneyPaidValue> <!--MoneyPaid - сумма оплатыValue — количество--> <Measurement>?</Measurement> <!--Currency - валютаMeasurement — мера измерения, может принимать значения: kg — килограмм, pc — багажное место, lb — фунт--> <PaymentDateTime/BaggageAllowance>? </PaymentDateTimeBaggageAllowances> <!--PaymentDateTime - дата и время оплаты--/Segment> <CreateDateTime/Segments> <PricingInfo Refundable="?</CreateDateTime"> <!--CreateDateTime - дата и время создания платежной транзакцииRefundable — возвратный/невозвратный, true/false. Если пустое, то не известно--> <Description/PassengerFare Type="?" Quantity="?"> </Transaction!--Type — тип тарифа--> </PaymentTransactions!--Quantity — количество пассажиров данного типа--> <PaymentStatusTravellerRef>?</PaymentStatus> <!--PaymentStatus - статус оплаты: not_paid TravellerRef — не оплачено partly_paid — оплаченоСсылка на пассажиров, частично fully_paid — оплачено, полностьюк которым относится данный тариф--> <TravellersRef> ?</Ref> <!--Zero or more repetitions:Ref — Номера пассажиров, к которым относится данный тариф--> </TravellerRef> <Traveller TypeBaseFare Currency="?" IsContact="?" LinkedTo="?" Num="?" TravellerIdAmount="?"/> <!--Type BaseFare — тип пассажирабазовая стоимость, обязательный, возможные значения: ADT в базовой валюте. Currency — взрослыекод валюты, CNN Amount — дети, UNN — дети без сопровождения взрослых, INF — младенцы, INS — младенцы с местомзначение цены--> <!EquiveFare Currency="?" Amount="?"/> <!--IsContact EquiveFare — если true базовая стоимость, в эквивалентной валюте(валюте продажи). Currency — то данный пассажир является контактным лицомкод валюты, если false Amount — то не является, контактное лицо может быть только 1, если среди пассажиров есть взрослые, то только кто-то из них может быть контактным лицом, по умолчанию falseзначение цены--> <!--Num — порядковый номер пассажира, начинается с 1--TotalFare Currency="?" Amount="?"/> <!--LinkedTo TotalFare — суммарная стоимость, в эквивалентной валюте. Currency — номер взрослогокод валюты, к которому привязан младенец/ребенокAmount — значение цены--> <!--TravellerId — устаревший параметр, не используется--> Taxes> <Meal>Tax CurCode="?" TaxCode="?" Amount="?<"/Meal> <!--Meal CurCode — код типа питаниявалюты, возможные значения: NONE TaxCode — отсутствует AVML код таксы, Amount — Азиатская вегетарианская кухнясумма таксы--> BLML — Блюда щадящей диеты </Taxes> CHML — Детское питание <Tariffs> CHPC — Детский холодный завтрак СНСС — Детский горячий завтрак <Tariff Code="?" SegNum="?"/> CHHC <!--Code — Детский ланчкод тарифа, ветчина и сыр PBJS SegNum — Детский ланчномер сегмента, ореховое маслок которому применён тариф--> CHMC — Детский обед макароны с сыром <FareFamilies> DBML — Диабетическое питание <FullName>?</FullName> FPML <!--FullName — Фруктыназвание тарифа--> GFML — Питание без клейковины </FareFamilies> HFML — Питание богатое клетчаткой </Tariffs> HNML — Индусская кухня <FareCalc>?</FareCalc> BBML <!--FareCalc — Питание для младенцевстрока расчёта цены--> KSML — Кошерная кухня <LastTicketDateTime>?</LastTicketDateTime> SMKB <!--LastTicketDateTime — Кошерный завтракдата и время таймлимита по выписке в формате ГГГГ-MM-ДДTЧЧ:ММ:СС--> SMKL — Кошерный ланч </PassengerFare> SMKD — Кошерный обед </PricingInfo> LPML — Малобелковое питание <Commission Currency="?">?</Commission> LCML — Низкокалорийное питание <Charges Currency="?">?</Charges> LFML <!--Charges — Низкохолестериновое питание PRML сборы, Currency — Низкопуриновое питаниекод валюты--> LSML — Малосоленое питание <TotalPrice Currency="?">?</TotalPrice> MOML <!--TotalPrice — Мюсли NLML итоговая цена, Currency — Безмолочные продуктыкод валюты--> ORML — Восточная кухня </Flight> RVML — Сырые овощи <Agency Name="?"> SFML <!--Name — Морепродуктыназвание агентства--> SPML — Особое питание VLML — Вегетарианское, молоко и яйца VGML — Строго вегетарианское питание VJML — Джайнизское вегетарианское VOML — Восточное вегетарианское питание--> <Ticket/Telephone Type="?"> <!--Ticket - номер билета (если заказ выписан)Type — тип номера, обязательный, возможные значения: M — мобильный, H — домашний, B — рабочий, A — агенство--> <Seats xsi:nil="true"/> <!--Seats - выбранные места (если есть информация)Optional:--> <PersonalInfo DateOfBirth="PhoneNumber>?" Nationality="?" Gender="?"</PhoneNumber> <!--DateOfBirth PhoneNumber — дата рождения в формате ДД.ММ.ГГГГ (например 31.12.2000)номер телефона--> <!--Optional:--> <CountryAccessCode>?</CountryAccessCode> <!--Nationality CountryAccessCode — гражданство, двух буквенный код страны (RU, UA, US и т.д.)--> <!--Gender — пол пассажира, возможные значения: M — мужской(Male), F — женский(Female)-Optional:--> <FirstNameAreaCityCode>?</FirstNameAreaCityCode> <!--FirstName AreaCityCode — имя пассажиракод региона/города--> <LastName>? </LastNameTelephone> <!Address City="?" State="?" StreetAddress="?" PostalCode="?" CountryCode="?"/> <!--LastName City — фамилия пассажирагород--> <!--Optional:State — штат--> <MiddleName>?</MiddleName!--StreetAddress — адрес в городе (улица, дом, корпус, офис и т.д.)--> <!--MiddleName PostalCode — отчество пассажирапочтовый индекс--> </PersonalInfo> <LoyaltyCard OpCode!--CountryCode — код страны (RU, UA и т.п.)--> </Agency> <ItinReceipts Encoding="?" NumberFormat="?"/> <!--OpCode ItinReceipts — маршрут квитанция, Encoding — кодировка, Format — код авиакомпанииформат--> <!--Number — номер карточки--FareStored xsi:nil="true"/> <ContactInfoPaymentTransactions> <!--Optional:--Transaction> <EmailIDId>?</EmailIDId> <!--EmailID — контактный emailId - номер транзакции в Немо--> <!--Optional:--Status> ?<Telephone Type="?"/Status> <!--Type — тип номера, возможные значенияStatus - статус транзакции: M — мобильный, H — домашний, B — рабочий- new_billing -> <!новая транзакция (оплата еще не производилась) wait_payment_billing - ожидание оплаты cancel_billing - оплата отменена payment_refund - возврат средств pre-authorized -преавторизация paid_billing -Optional:оплачено--> <PhoneNumberGatewayName>?</PhoneNumberGatewayName> <!--PhoneNumber — номер телефонаGatewayName --> <!--Optional:название платежного шлюза--> <CountryAccessCodeMoneyPaid Currency="?">?</CountryAccessCodeMoneyPaid> <!--CountryAccessCode — код страныMoneyPaid - сумма оплаты--> <!--Optional:Currency - валюта--> <AreaCityCodePaymentDateTime>?</AreaCityCodePaymentDateTime> <!--AreaCityCode — код региона/городаPaymentDateTime - дата и время оплаты--> <CreateDateTime>?</TelephoneCreateDateTime> </ContactInfo!--CreateDateTime - дата и время создания платежной транзакции--> <DocumentInfo DocType="Description/> </Transaction> </PaymentTransactions> <PaymentStatus>?" DocNum="?" CountryCode="?" DocElapsedTime="?"</PaymentStatus> <!--DocType — тип документа, возможные значенияPaymentStatus - статус оплаты: Р not_paid — Паспортне оплачено A – Паспорт иностранца partly_paid — оплачено, частично С fully_paid — Внутренний гражданский паспортоплачено, полностью--> F – Документ заменяющий паспорт <Travellers> М — Воинское удостоверение N – Сертификат натурализации(специфичный документ США) T – Док.повторного въезда, паспорт беженца V – Документ для пересечения границы <!--> <!--DocNum — номер документаZero or more repetitions:--> <!--CountryCode — двух буквенный код страны выдачи паспорта (RU, UA, US и т.д.)--Traveller Type="?" IsContact="?" LinkedTo="?" Num="?" TravellerId="?"> <!--DocElapsedTime Type — тип пассажира, обязательный, возможные значения: ADT — срок истечения срока действия паспорта в ДД.ММ.ГГГ (например 31.12.2000)-->взрослые, <VisaInfo Num="?" IssueCountry="?" IssuePlace="?" BirthCountry="?" BirthCity="?" IssueDate="?"/ CNN — дети, UNN — дети без сопровождения взрослых, INF — младенцы, INS — младенцы с местом--> <!--Num IsContact — номер визы--> <!--IssueDate если true — то данный пассажир является контактным лицом, если false — дата(ДД.ММ.ГГГГ) выдачи визы-->то не является, <! контактное лицо может быть только 1, если среди пассажиров есть взрослые, то только кто--IssueCountry — страна выдачи визыто из них может быть контактным лицом, по умолчанию false--> <!--IssuePlace Num — место выдачи визыпорядковый номер пассажира, начинается с 1--> <!--BirthCountry LinkedTo — страна рождения(IATA код страны)номер взрослого, к которому привязан младенец/ребенок--> <!--BirthCity TravellerId — город рождения(название)актуализированный номер пассажира, который возвращается в ответе на запрос бронирования и в дальнейшем ссылки на пассажиров даются на основании этого параметра--> <ArrAddress City="Meal>?" State="?" StreetAddress="?" PostalCode="?" CountryCode="?"/></Meal> <!--City Meal — город-->код типа питания, возможные значения: <!--State NONE — штат или область въезда-->отсутствует <!--StreetAddress AVML — адрес: улица, номер дома, квартиры и т.д.-->Азиатская вегетарианская кухня <!--PostalCode BLML — почтовый код-->Блюда щадящей диеты <!--CountryCode CHML — Детское питание CHPC — Детский холодный завтрак СНСС — Детский горячий завтрак CHHC — код страны-->Детский ланч, ветчина и сыр <PreferedPlace SmokingAllowed="?" Location="?" RowNumber="?" PlaceNumber="?" SegNumber="?"/> <!--Если указаны номер ряда и номер места PBJS — Детский ланч, то параметры SmokingAllowed и Location игнорируются-->ореховое масло <!--SmokingAllowed CHMC — Детский обед макароны с сыром DBML — булевское значение, true Диабетическое питание FPML — место для курящих, false Фрукты GFML — место для некурящих-->Питание без клейковины <!--Location HFML — положение места в ряде, возможные значения:Питание богатое клетчаткой W HNML — у окна (Window)Индусская кухня M BBML — где-то в середине ряда (Middle)Питание для младенцев NPW KSML — возле прохода (NearPassengerWay)Кошерная кухня NS SMKB — нет предпочтения (NotSpecified)-->Кошерный завтрак <!--RowNumber SMKL — номер ряда-->Кошерный ланч <!--PlaceNumber SMKD — номер места-->Кошерный обед <!--SegNumber LPML — номер сегмента-->Малобелковое питание <DocStringFormats> LCML — Низкокалорийное питание <!--Zero or more repetitions:--> LFML — Низкохолестериновое питание <DocStringFormat>?</DocStringFormat> PRML — Низкопуриновое питание <!--DocStringFormat LSML — формат паспортной строки, возможные значения:Малосоленое питание DOCS MOML — строка формата DOCS, FOID Мюсли NLML — строка формата FOID-->Безмолочные продукты </DocStringFormats> ORML — Восточная кухня </Traveller> RVML — Сырые овощи </Travellers> SFML — Морепродукты </EmptyBook> SPML — Особое питание <AirRules> VLML — Вегетарианское, молоко и яйца <!-- AirRules появляется если был получен результат для GetFareRules VGML — Строго вегетарианское питание VJML — Джайнизское вегетарианское VOML — Восточное вегетарианское питание--> <!--Code код правила--Ticket/> <!--Tarrif название тарифаTicket - номер билета (если заказ выписан)--> <Seats xsi:nil="true"/> <!--Name название правилаSeats - выбранные места (если есть информация)--> <Rule CodePersonalInfo DateOfBirth="?" TarrifNationality="?" NameGender="?"> <!--RuleText Текст правила--> <RuleText>?</RuleText> </Rule> <Rule Code="?" Tarrif="?" Name="?"DateOfBirth — дата рождения в формате ДД.ММ.ГГГГ (например 31.12.2000)--> <!--RuleText Текст правилаNationality — гражданство, двух буквенный код страны (RU, UA, US и т.д.)--> <RuleText>?</RuleText> </Rule>!--Gender — пол пассажира, возможные значения: M — мужской(Male), F — женский(Female)--> </AirRulesFirstName> ?<AlternateFlights/FirstName> <!--AlternateFlights появляется если был получен результат для GetFareFamiliesFirstName — имя пассажира--> <Flight FlightId="LastName>?"</LastName> <!--LastName — фамилия пассажира--> <!-- FlightId номер перелета, можно использовать для бронирования с указанным семейством тарифаOptional:--> <Price Currency="?"MiddleName>?</PriceMiddleName> <!-- Price общая стоимость заказа с учетом сбораMiddleName — отчество пассажира--> <!-- Currency валюта указанной стоимости--> <FareFamily/PersonalInfo> <Name>LoyaltyCard OpCode="?" Number="?<"/Name> <!-- Name имя семества тарифовOpCode — код авиакомпании--> <Features!--Number — номер карточки--> <Carryon>?</CarryonContactInfo> <!-- Carryon информация о ручной клади Optional:--> <MilesEmailID>?</MilesEmailID> <!-- Miles информация о расчете миль на данном тарифеEmailID — контактный email--> <SpecialMeal>?</SpecialMeal> <!-- SpecialMeal информация о наличии специального питания true/false Optional:--> <Meals xsi:nilTelephone Type="true?"/> <!-- Meals информация о возможных вариантах питания Type — тип номера, возможные значения: M — мобильный, H — домашний, B — рабочий--> <VIP!--Optional:--> <PhoneNumber>?</VIPPhoneNumber> <!--PhoneNumber — номер телефона--> <!-- VIP наличие услуг повышенного качества true/false Optional:--> <BaggageCountryAccessCode>?</BaggageCountryAccessCode> <!-- Baggage информация о доступном для провоза богаже CountryAccessCode — код страны--> <!--Optional:--> <ExchangableAreaCityCode>?</ExchangableAreaCityCode> <!--Exchangable AreaCityCode — Доступность изменений в билете trueкод региона/false города--> <ExchangePenalty/Telephone> <!--ExchangePenalty — Удержание за изменения в билете до вылета -->/ContactInfo> <Value CurrencyDocumentInfo DocType="?" DocNum="?" CountryCode="?">DocElapsedTime="?<"/Value> <!-- Value стоимость услуги -->DocType — тип документа, возможные значения: <!-- Currency валюта стоимости услуги --> Р — Паспорт A – Паспорт иностранца <Type>Segment</Type> С — Внутренний гражданский паспорт <!-- Type сбор будет применятся для каждого сегмента если в поле указан "Segment" или на весь билет если значение "Ticket"> F – Документ заменяющий паспорт </ExchangePenalty> М — Воинское удостоверение <Refundable>?</Refundable N – Сертификат натурализации(специфичный документ США) T – Док.повторного въезда, паспорт беженца V – Документ для пересечения границы--> <!--Refundable DocNum — Признак возвратности билета true/false номер документа--> <RefundPenalty xsi:nil="true"/!--CountryCode — двух буквенный код страны выдачи паспорта (RU, UA, US и т.д.)--> <!--RefundPenalty DocElapsedTime — Удержание за возврат true/false --> срок истечения срока действия паспорта в ДД.ММ.ГГГ (например 31.12.2000)--> <Value CurrencyVisaInfo Num="?" IssueCountry="?" IssuePlace="?" BirthCountry="?" BirthCity="?">IssueDate="?<"/Value> <!-- Value стоимость услуги Num — номер визы--> <!-- Currency валюта стоимости услуги IssueDate — дата(ДД.ММ.ГГГГ) выдачи визы--> <Type>Segment</Type!--IssueCountry — страна выдачи визы--> <!-- Type сбор будет применятся для каждого сегмента если в поле указан "Segment" или на весь билет если значение "Ticket" IssuePlace — место выдачи визы--> </Features!--BirthCountry — страна рождения(IATA код страны)--> </FareFamily> </Flight!--BirthCity — город рождения(название)--> </AlternateFlights> <Requisites/> <RequestType xsi:nilArrAddress City="true?"/> <UserID xsi:nilState="true?"/> <Error CodeStreetAddress="?" PostalCode="?" CountryCode="?">Сообщение об ошибке</Error> </Response!--City — город--> </ResponseBin!--State — штат или область въезда--> </ns1!--StreetAddress — адрес:AirAvailResponseулица, номер дома, квартиры и т.д.--> </SOAP!--PostalCode — почтовый код--ENV:Body> </SOAP!--CountryCode — код страны--ENV:Envelope></syntaxhighlight> </div></div> PreferedPlace SmokingAllowed="?" Location="?" RowNumber= Запрос на обновление заказа ="?" PlaceNumber="?" SegNumber="?"/> <!--Если указаны номер ряда и номер места, то параметры SmokingAllowed и Location игнорируются-->WSDL: http://CLIENT_DOMAIN/nemoflights/wsdl.php?for=UpdateBook <div class="toccolours mw!--SmokingAllowed — булевское значение, true — место для курящих, false — место для некурящих-collapsible mw-collapsed" style="width:1000px">==== Запрос ==== <div class="mw!-collapsible-content"><syntaxhighlight lang="xml" line enclose="div" style="font-sizeLocation — положение места в ряде, возможные значения:9pt;background: #F9F9F9; border: 1px dashed #2F6FAB; padding: 10px 5px; margin: 10px 0;" W — у окна (Window) M — где-то в середине ряда (Middle) NPW — возле прохода (NearPassengerWay) NS — нет предпочтения (NotSpecified)--> <soapenv!--RowNumber — номер ряда--> <!--PlaceNumber — номер места--> <!--SegNumber — номер сегмента--> <DocStringFormats> <!--Zero or more repetitions:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ver="http://CLIENT_DOMAIN/nemoflights/?version%3D1.0%26for%3DUpdateBook"--> <DocStringFormat>?<soapenv:Header/DocStringFormat> <soapenv!--DocStringFormat — формат паспортной строки, возможные значения:Body DOCS — строка формата DOCS, FOID — строка формата FOID--> <ver:UpdateBook/DocStringFormats> <RequestBin/Traveller> <Request> <UpdateBook/Travellers> <BookIDAutoCancelDate>?</BookIDAutoCancelDate> <!--BookID AutoCancelDate — Id заказа дата и время таймлимита автоаннуляции в системе Nemo, обязательныйформате ГГГГ-MM-> <!--OptionalДДTЧЧ:ММ:СС определяемые по настройкам агентства--> <UpdateOrderTimeLimits>? <TicketingTimeLimit xsi:nil="true"/UpdateOrder> <!--Отправка запроса к GDS TicketingTimeLimit — Таймлимит на обновление заказа, значения true/false. Если не указан, по умолчанию trueвыписку в формате ГГГГ-MM-ДДTЧЧ:ММ:СС--> <UpdatePaymentTransactions>? <PriceTimeLimit xsi:nil="true"/UpdatePaymentTransactions> <!--Обновление данных об оплате, значения PriceTimeLimit — Таймлимит цены из ГРС в формате ГГГГ-MM-ДДTЧЧ:ММ:СС--> <AdvancedPurchaseTimeLimit xsi:nil="true"/false--> <!--OptionalAdvancedPurchaseTimeLimit — Таймлимит цены из тарифных правил в формате ГГГГ-MM-ДДTЧЧ:ММ:СС--> <AgencyTimeLimit>?</UpdateBookAgencyTimeLimit> </Request!--AgencyTimeLimit - Таймлимит по настройкам в формате ГГГГ-MM-ДДTЧЧ:ММ:СС--> <Source/TimeLimits> <ClientId/EmptyBook>? </ClientIdAirRules> <!--ClientId — ID клиента в системе Nemo. Можно посмотреть/добавить в разделе "Администрирование" AirRules появляется если был получен результат для GetFareRules--> <!- "Веб-служба. Авторизация".Code код правила--> <APIKey>?</APIKey!--Tarrif название тарифа--> <!--APIKey — секретный ключ доступа к API Nemo. Можно посмотреть/добавить в разделе "Администрирование" - "Веб-служба. Авторизация".Name название правила--> <Language>Rule Code="?" Tarrif="?" Name="?</Language"> <!--Language — язык, например: RURuleText Текст правила--> <CurrencyRuleText>?</CurrencyRuleText> </Rule> <Rule Code="?" Tarrif="?" Name="?"> <!-- Currency — валюта, например: RUB, EURRuleText Текст правила--> <ShowNamesRuleText>?</ShowNamesRuleText> <!-- ShowNames — отображение названий аэропортов, авиакомпаний и воздушных судов: true - отображать, false - не отображать. Возвращает значение на том языке, который был указан в запросе. Для RU - русский вариант, для UKR, EN, ES - латинский вариант. Опциональный элемент. --/Rule> </SourceAirRules> </RequestBinAlternateFlights> </ver:UpdateBook!--AlternateFlights появляется если был получен результат для GetFareFamilies--> </soapenv:BodyFlight FlightId="?"> </soapenv:Envelope!-- FlightId номер перелета, можно использовать для бронирования с указанным семейством тарифа--> <Price Currency="?">?</syntaxhighlightPrice> <!-- Price общая стоимость заказа с учетом сбора--> <!-- Currency валюта указанной стоимости--> </divFareFamily> <Name>?</divName> <!-- Name имя семества тарифов--> <Features> <Carryon>?</Carryon> <!-- Carryon информация о ручной клади --> <Miles>?</Miles> <!-- Miles информация о расчете миль на данном тарифе--> <SpecialMeal>?</SpecialMeal> <!-- SpecialMeal информация о наличии специального питания true/false --> <Meals xsi:nil="true"/> <!-- Meals информация о возможных вариантах питания --> <VIP>?</VIP> <!-- VIP наличие услуг повышенного качества true/false --> <Baggage>?</Baggage> <!-- Baggage информация о доступном для провоза богаже --> <Exchangable>?</Exchangable> <!--Exchangable — Доступность изменений в билете true/false --> <ExchangePenalty> <!--ExchangePenalty — Удержание за изменения в билете до вылета --> <Value Currency="?">?</Value> <!-- Value стоимость услуги --> <!-- Currency валюта стоимости услуги --> <Type>Segment</Type> <!-- Type сбор будет применятся для каждого сегмента если в поле указан "Segment" или на весь билет если значение "Ticket"> </ExchangePenalty> <Refundable>?</Refundable> <!--Refundable — Признак возвратности билета true/false --> <RefundPenalty xsi:nil="true"/> <!--RefundPenalty — Удержание за возврат true/false --> <Value Currency="?">?</Value> <!-- Value стоимость услуги --> <!-- Currency валюта стоимости услуги --> <Type>Segment</Type> <!-- Type сбор будет применятся для каждого сегмента если в поле указан "Segment" или на весь билет если значение "Ticket" --> </Features> </FareFamily> </Flight> </AlternateFlights> <Requisites/> <RequestType xsi:nil="true"/> <UserID xsi:nil="true"/> <Error Code="?">Сообщение об ошибке</Error> </Response> </ResponseBin> </ns1:AirAvailResponse> </SOAP-ENV:Body></SOAP-ENV:Envelope></syntaxhighlight></div></div> === Запрос на обновление заказа === WSDL: http://CLIENT_DOMAIN/nemoflights/wsdl.php?for=UpdateBook
<div class="toccolours mw-collapsible mw-collapsed" style="width:1000px">
==== Ответ Запрос ====
<div class="mw-collapsible-content">
<syntaxhighlight lang="xml" line enclose="div" style="font-size:9pt;background: #F9F9F9; border: 1px dashed #2F6FAB; padding: 10px 5px; margin: 10px 0;">
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ver="http://CLIENT_DOMAIN/nemoflights/?version%3D1.0%26for%3DUpdateBook"> <soapenv:Header/> <soapenv:Body> <ver:UpdateBook> <RequestBin> <Request> <UpdateBook> <BookID>?</BookID> <!--BookID — Id заказа в системе Nemo, обязательный--> <!--Optional:--> <UpdateOrder>?</UpdateOrder> <!--Отправка запроса к GDS на обновление заказа, значения true/false. Если не указан, по умолчанию true--> <UpdatePaymentTransactions>?</UpdatePaymentTransactions> <!--Обновление данных об оплате, значения true/false--> <!--Optional:--> </UpdateBook> </Request> <Source> <ClientId>?</ClientId> <!--ClientId — ID клиента в системе Nemo. Можно посмотреть/добавить в разделе "Администрирование" - "Веб-служба. Авторизация".--> <APIKey>?</APIKey> <!--APIKey — секретный ключ доступа к API Nemo. Можно посмотреть/добавить в разделе "Администрирование" - "Веб-служба. Авторизация".--> <Language>?</Language> <!--Language — язык, например: RU--> <Currency>?</Currency> <!-- Currency — валюта, например: RUB, EUR--> <ShowNames>?</ShowNames> <!-- ShowNames — отображение названий аэропортов, авиакомпаний и воздушных судов: true - отображать, false - не отображать. Возвращает значение на том языке, который был указан в запросе. Для RU - русский вариант, для UKR, EN, ES - латинский вариант. Опциональный элемент. --> </Source> </RequestBin> </ver:UpdateBook> </soapenv:Body></soapenv:Envelope></syntaxhighlight></div></div> <div class="toccolours mw-collapsible mw-collapsed" style="width:1000px">==== Ответ ====<div class="mw-collapsible-content"><syntaxhighlight lang="xml" line enclose="div" style="font-size:9pt;background: #F9F9F9; border: 1px dashed #2F6FAB; padding: 10px 5px; margin: 10px 0;"><SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://CLIENT_DOMAIN/nemoflights/?version%3D1.0%26for%3DUpdateBook" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SOAP-ENV:Body> <ns1:UpdateBookResponse> <ResponseBin> <Response> <UpdateBook ID="?" Status="?" Code="?"> <!--ID — Id брони в системе Nemo, целое число, обязательный--> <!--Status — индикатор состояния брони, возможные значения: booked — забронировано, canceled — бронь отменена, ticket — выписана UNDEFINED — статус не определён--> <!--Code — код брони в системе поставщика--> <QueryPlace xsi:nil="true"/> <!--QueryPlace — положение брони в очереди, Number — номер брони в очереди--> <IsPossibleToTicket>?</IsPossibleToTicket> <!--IsPossibleToTicket — возможность провести выписку ПНРа, boolean--> <Flight FlightId="?"> <!--FlightId — Id перелёта в системе Nemo--> <WebService>?</WebService> <!--WebService — поставщик перелёта--> <ValCompany>?</ValCompany> <!--ValCompany — код авиакомпании, являющейся валидирующим перевозчиком, IATA--> <URL>?</URL> <!--URL — ссылка на страницу данного заказа в системе Немо--> <Segments> <Segment SegNum="?" SegGroupNum="?"> <!--SegNum — номер сегмента в перелёте--> <!--SegGroupNum – номер плеча перелёта--> <SupplierCode>?</SupplierCode> <!--SupplierCode – номер заказа в системе АК--> <DepAirp CodeType="IATA" Name="?">?</DepAirp> <!--DepAirp — аэропорт отправления, например: MOW — любой аэропорт в г.Москва или SVO — Шереметьево--> <DepTerminal>?</DepTerminal> <!--DepTerminal — терминал пункта отправления, если пустое значение, то в аэропорту всего 1 терминал--> <ArrAirp CodeType="IATA" Name="?">?</ArrAirp> <!--ArrAirp — аэропорт прибытия--> <ArrTerminal>?</ArrTerminal> <!--ArrTerminal — терминал пункта прибытия, если пустое значение, то в аэропорту всего 1 терминал--> <OpAirline>?</OpAirline> <!--OpAirline — авиакомпания перевозчик, например: SU — Аэрофлот--> <OpAirlineName>?</OpAirlineName> <!--OpAirlineName - полное наименование АК на кириллице--> <MarkAirline>?</MarkAirline> <!--MarkAirline — авиакомпания, продающая перелёт--> <MarkAirlineName>?</MarkAirlineName> <!--MarkAirlineName - полное наименование АК на кириллице--> <FlightNumber>?</FlightNumber> <!--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 — значение цены-->
<!--Num — порядковый номер пассажира, начинается с 1-->
<!--LinkedTo — номер взрослого, к которому привязан младенец/ребенок-->
<!--TravellerId — устаревший параметрактуализированный номер пассажира, не используетсякоторый возвращается в ответе на запрос бронирования и в дальнейшем ссылки на пассажиров даются на основании этого параметра-->
<Meal>?</Meal>
<!--Meal — код типа питания, возможные значения:
<!--PriceTimeLimit — Таймлимит цены из ГРС в формате ГГГГ-MM-ДДTЧЧ:ММ:СС-->
<AdvancedPurchaseTimeLimit>?</AdvancedPurchaseTimeLimit>
<!--AdvancedPurchaseTimeLimit — Таймлимит цены из тарифных правил. На данный момент параметр в разработке, поэтому значение у этого параметра отсутствует.формате ГГГГ-MM-ДДTЧЧ:ММ:СС--> <AgencyTimeLimit>?</AgencyTimeLimit> <!--AgencyTimeLimit - Таймлимит по настройкам в формате ГГГГ-MM-ДДTЧЧ:ММ:СС-->
</TimeLimits>
</UpdateBook>
<Information> <!--Один блок с данными на пассажира-->
<TravellerNumber>?</TravellerNumber>
<!--TravellerNumber — номер пассажира из ответа бронирования(TravellerId)-->
<DocumentInfo> <!--необязательный-->
<DocType>?</DocType>
<!--Num — порядковый номер пассажира, начинается с 1-->
<!--LinkedTo — номер взрослого, к которому привязан младенец/ребёнок (привязка ребёнка ко взрослому является опциональной)-->
<!--TravellerId — устаревший параметрактуализированный номер пассажира, не используетсякоторый возвращается в ответе на запрос бронирования и в дальнейшем ссылки на пассажиров даются на основании этого параметра-->
<Meal>?</Meal>
<!--Meal — код типа питания, возможные значения:
</Traveller>
</Travellers>
<AutoCancelDate>?</AutoCancelDate>
<!--AutoCancelDate — дата и время таймлимита автоаннуляции в формате ГГГГ-MM-ДДTЧЧ:ММ:СС определяемые по настройкам агентства-->
<TimeLimits>
<TicketingTimeLimit>?</TicketingTimeLimit>
<!--PriceTimeLimit — Таймлимит цены из ГРС в формате ГГГГ-MM-ДДTЧЧ:ММ:СС-->
<AdvancedPurchaseTimeLimit>?</AdvancedPurchaseTimeLimit>
<!--AdvancedPurchaseTimeLimit — Таймлимит цены из тарифных правил. На данный момент параметр в разработке, поэтому значение у этого параметра отсутствует.формате ГГГГ-MM-ДДTЧЧ:ММ:СС--> <AgencyTimeLimit>?</AgencyTimeLimit> <!--AgencyTimeLimit - Таймлимит по настройкам в формате ГГГГ-MM-ДДTЧЧ:ММ:СС-->
</TimeLimits>
</BookFlight>
* 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>
<Meals xsi:nil="true"/>
<!--VIP — Бизнес зал.-->
<Baggage>Unknownне включен в тариф</Baggage>
<!--Baggage — Багаж.-->
<Exchangable>true</Exchangable>
<Type>Segment</Type>
</ExchangePenalty>
<!--ExchangePenalty — Удержание за изменения в билете до вылета. Величина неустойки в базовой валюте за сегмент.--> <Refundable>falsetrue</Refundable> <!--Refundable — Признак возвратности билета.-->
<RefundPenalty xsi:nil="true"/>
<!--RefundPenalty — Удержание за возврат.-->
</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>
</FareFamilyParameter>
=== Запрос на импорт заказа ===
<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> </TimeLimitsOrders> </ImportBookGetOrdersList>
<Requisites/>
<RequestType/>
</Response>
</ResponseBin>
</ns1:ImportBookResponseGetOrdersListResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
== См. также ==
*[[Агентский API Авиабилеты]] [[Категория:Интеграция]][[Категория:Агентский API]]