Открыть главное меню

Изменения

Веб-служба бронирования

32 590 байт убрано, 18:44, 6 мая 2019
Нет описания правки
== Запросы == {{Attention|В системе реализован усовершенствованный API-проект «Nemo Connect», настоятельно рекомендуем подключаться по схеме, описанной в документации по [http://docs.nemo.travel/ ссылке]}}
*Запрос на бронирование*Односторонний перелет. Бронирование*Бронирование через TravellerId== Подключение ==
== Запрос на Получить доступ к результатам бронирования в данном сервисе можно через SOAP клиента. Для получения результата необходим параметр — «FlightId» — Id перелёта, для которого будет производится бронирование . WSDL находится по адресу: http://CLIENT_DOMAIN/nemoflights/wsdl.php?for==BookFlight
Получить доступ к результатам == Общий формат запроса / ответа бронирования в данном сервисе можно через SOAP клиента. Для получения результата необходим параметр - «FlightId» - ИД перелёта для которого будет производится бронирование.==
Запрос на бронирование выглядит следующим образом: '''Request''' <pre><!--Запрос, обязательный--> <BookFlight> <!--@FlightId ид перелёта в системе Немо, обязательный--> <FlightId>?</FlightId> <!--Валидирующий перевозчик (тот кто выписывает билет), необязательный--> <ValidatingCompany>?</ValidatingCompany> <!--Код класс перелёта, один для каждого сегмента в перелёте, необязательный--> <BookingCodes> <!--Код класс перелёта, обязательный--> <!--@Code - код класса перелёта, обязательный--> <!--@SegNumber - номер сегмента в перелёте (начинаются с 1), обязательный--> <BookingCode> <Code>?</Code> <SegNumber>?</SegNumber> </BookingCode> </BookingCodes> <!--Код валюты, необязательный--> <CurrencyCode>?</CurrencyCode> <!--Оплатить не позже, формат: ГГГГ-ММ-ДДTЧЧ:мм:СС, необязательный--> <TicketTimeLimit>?</TicketTimeLimit> <!--Информация об агенстве, обязательный--> <!--@Name - название агентства, обязательный--> <Agency Name="?"> <!--Телефон агентсва, необязательный--> <!--@Type - тип номера, обязательный, возможные значения: M - мобильный, H - домашний, B - рабочий, A - агенство--> <Telephone Typediv class="?"> <!--Номер телефона, обязательный--> <PhoneNumber>?</PhoneNumber> <!--Код страны, необязательный--> <CountryAccessCode>?</CountryAccessCode> <!--Код региона/города, необязательный--> <AreaCityCode>?</AreaCityCode> </Telephone> <!--Адресс агенства. Обязательный.--> <Address> <!--Город. Обязательный.--> <City>?</City> <!--Штат. Необязательный.--> <State>?</State> <!--Адрес в городе (улица, дом, корпус, офис и т.д.). Необязательный.--> <StreetAddress>?</StreetAddress> <!toccolours mw-collapsible mw-Почтовый индекс. Необязательный.--> <PostalCode>?</PostalCode> <!--Код страны (RU, UA и т.п.). Необязательный.--> <CountryCode>?</CountryCode> </Address> </Agency> <!--Список пассажиров, обязательный--> <Travellers> <!--Информация о пассажире, обязательный--> <!--@Type - тип пассажира, обязательный, возможные значения: ADT - взрослые, CNN - дети со взрослыми, UNN - дети без сопровождения взрослых, INF - младенцы, INS - младенцы с местом--> <!--@IsContact - если true - то данный пассажир является контактным лицом, если false - то не является, контактное лицо может быть только 1, если среди пассажиров есть взрослые, то только кто-то из них может быть контактным лицом, по умолчанию false, обязательный--> <!--@Num - порядковый номер пассажира, начинается с 1, обязательный--><!--@LinkedTo - номер взрослого, к которому привязан младенец/ребёнок, необязательный--> <Traveller Type="?" IsContact="?" LinkedTo="?collapsed" Numstyle="?"> <!--Код типа питания, необязательный, возможные значенияwidth: NONE - отсутствует AVML - Азиатская вегетарианская кухня BLML - Блюда щадящей диеты CHML - Детское питание CHPC - Детский холодный завтрак СНСС - Детский горячий завтрак CHHC - Детский ланч, ветчина и сыр PBJS - Детский ланч, ореховое масло CHMC - Детский обед макароны с сыром DBML - Диабетическое питание FPML - Фрукты GFML - Питание без клейковины HFML - Питание богатое клетчаткой HNML - Индусская кухня BBML - Питание для младенцев KSML - Кошерная кухня SMKB - Кошерный завтрак SMKL - Кошерный ланч SMKD - Кошерный обед LPML - Малобелковое питание LCML - Низкокалорийное питание LFML - Низкохолестериновое питание PRML - Низкопуриновое питание LSML - Малосоленое питание MOML - Мюсли NLML - Безмолочные продукты ORML - Восточная кухня RVML - Сырые овощи SFML - Морепродукты SPML - Особое питание VLML - Вегетарианское, молоко и яйца VGML - Строго вегетарианское питание VJML - Джайнизское вегетарианское VOML - Восточное вегетарианское питание--> <Meal>?</Meal> <!--Optional:--> <Ticket TickectNum=1000px"?"/> <!--Optional:--> <Seats> <!--Zero or more repetitions:--> <Seat Number="?" Characteristic="?" SmokingPreference="?" SegmentNumber="?"/> </Seats> <!--Персональные данные, обязательный--> <!--@DateOfBirth - дата рождения в формате dd.mm.yyyy (например 31.12.2000), обязательный--> <!--@Nationality - национальность(гражданство?), двух буквенный код страны (RU, UA, US и т.д.), обязательный--> <!--@Gender - пол пассажира, обязательный, возможные значения: M - мужской(Male) F - женский(Female)--> <PersonalInfo DateOfBirthЗапрос ="?" Nationality="?" Gender="?"> <!--Имя пассажира, обязательный--> <FirstName>?</FirstName> <!--Фамилия пассажира, обязательный--> <LastName>?</LastName> <!--Отчество пассажира, необязательный--> <MiddleName>?</MiddleName> </PersonalInfo> <!--Карточка часто летающего пассажира, необязательный --> <!--@OpCode - код авиакомпании, обязательный--> <!--@Number - номер карточки, обязательный--> <LoyaltyCard OpCode="?" Number="?"/> <!--Контактная информация, необязательный--> <ContactInfo> <!--Контактный email, необязательный--> <EmailID>?</EmailID> <!--Контактный телефон, необязательный--> <!--@Type - тип номера, обязательный, возможные значения: M - мобильный, H - домашний, B - рабочий--> <Telephone Typediv class="?"> <!--Номер телефона, обязательный--> <PhoneNumber>?</PhoneNumber> <!--Код страны, необязательный--> <CountryAccessCode>?</CountryAccessCode> <!--Код региона/города, необязательный--> <AreaCityCode>?</AreaCityCode> </Telephone> </ContactInfo> <!--Паспортные данные, обязательный--> <!--@DocType - тип документа, обязательный, возможные значения: Р - Паспорт A – Паспорт иностранца С - Внутренний гражданский паспорт F – Документ заменяющий паспорт М - Воинское удостоверение N – Сертификат натурализации(специфичный документ США) T – Док.повторного въезда, паспорт беженца V – Документ для пересечения границы--> <!--@DocNum - номер документа, обязательный--> <!--@CountryCode mw- двух буквенный код страны выдачи паспорта (RU, UA, US и т.д.), обязательныйcollapsible--> <!--@DocElapsedTime - Срок истечения срока действия паспорта в dd.mm.yyyy (например 31.12.2000), обязательный--> <DocumentInfo DocType=content"?" DocNum="?" CountryCode="?" DocElapsedTime="?"/> <!--информация о визе, необязательная.(Заполняется через SSR DOCO) @Num - номер визы, обязательный @IssueDate - дата(dd.mm.yyyy) выдачи визы, обязательный @IssueCountry - страна выдачи визы, обязательный @IssuePlace - место выдачи визы, обязательный @BirthCountry - страна рождения(IATA код страны), необязательный @BirthCity - город рождения(название), необязательный --> <VisaInfo Numsyntaxhighlight lang="?xml" IssueCountryline enclose="?div" IssuePlacestyle="?" BirthCountry="?" BirthCity="?" IssueDate="?"/> <!font--Адрес прибытия, необязательный--> <ArrAddress> <!--@City - Город. Обязательный--> <City>?</City> <!--@State - Штат или область въезда. Обязательный--> <State>?</State> <!--@StreetAddress - Адресsize:9pt;background: #F9F9F9; border: 1px dashed #2F6FAB; padding: улица, номер дома, квартиры и тп. Обязательный--> <StreetAddress>?</StreetAddress> <!--@PostalCode - Почтовый код. Обязательный--> <PostalCode>?</PostalCode> <!--@CountryCode - Код страны. Обязательный--> <CountryCode>?</CountryCode> </ArrAddress> <!--Информация о предпочитаемом месте. Если указаны номер ряда и номер места, то параметры @Smoking и @Location игнорируются и могут быть не указаны. Необязательный--> <!--@SmokingAllowed - булевское значение, true - место для курящих, false - место для некурящих, необязательный--> <!--@Location - положение места в ряде, необязательный, возможные значения10px 5px; margin: W - у окна (Window) M - где-то в середине ряда (Middle) NPW - возле прохода (NearPassengerWay) NS - нет предпочтения (NotSpecified) --> <!--@RowNumber - Номер ряда, строка, необязательный--> <!--@PlaceNumber - Номер места, строка, необязательный--> <!--@SegNumber - Номер сегмента, строка, обязательный--> <PreferedPlace SmokingAllowed="?" Location=10px 0;"?" RowNumber="?" PlaceNumber="?" SegNumber="?"/> <!--Список форматов строк паспортных данны, необязательный--> <DocStringFormats> <!--Формат паспортной строки, обязательный, возможные значения: DOCS - строка формата DOCS, FOID - строка формата FOID--> <DocStringFormat>?</DocStringFormat> </DocStringFormats> </Traveller> </Travellers> <!--Номер очереди, в которую необходимо поместить бронирование. Строка, необязательный--> <QueueNum>?</QueueNum> </BookFlight></pre== Односторонний перелет: Москва - Санкт-Петербург == '''REQUEST'''<pre>soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ver="http://localhostCLIENT_DOMAIN/nemoflights/?version%3D1.0%26for%3DBookFlight">
<soapenv:Header/>
<soapenv:Body>
<Request>
<BookFlight>
<FlightId>?</FlightId> <!--@FlightId ид — Id перелёта в системе Немо, обязательныйNemo--> <FlightId>534733</FlightId> <!--Валидирующий перевозчик (тот кто выписывает билет), необязательныйOptional:--> <ValidatingCompanyBookId>SU?</ValidatingCompanyBookId> <!--Код класс перелётаBookId — Id заказа в системе Nemo, один для каждого сегмента полученный в перелёте, необязательныйответе на запрос EmptyBook--> <BookingCodes> <!--@Code - код класса перелёта, обязательныйOptional:--> <CurrencyCode>?</CurrencyCode> <!--@SegNumber необязательный- номер сегмента в перелёте (начинаются с 1), обязательный--> <BookingCode Code="Q" SegNumber="1"/> </BookingCodes> <!--Код CurrencyCode — код валюты, необязательный--> <CurrencyCode>RUB</CurrencyCode> <!--Оплатить не позже, форматOptional: ГГГГ-ММ-ДДTЧЧ:мм:СС, необязательный--> <TicketTimeLimit>2011-06-20 00:00:00</TicketTimeLimitAgency Name="?"> <!--Информация об агенстве, обязательныйнеобязательный--> <!--@Name - название агентства, обязательный--> <Agency NameTelephone Type="?"> <!--Телефон агентсва, необязательный--> <!--@Type - тип номера, обязательный, возможные значения: M - мобильный, H - домашний, B - рабочий, A - агенство--> <Telephone Type=""> <!--Номер телефона, обязательныйOptional:--> <PhoneNumber>?</PhoneNumber> <!--PhoneNumber — номер телефона--> <!--Код страны, необязательныйOptional:--> <CountryAccessCode>?</CountryAccessCode> <!--необязательный--> <!--Код региона/города, необязательныйCountryAccessCode — код страны--> <!--Optional:--> <AreaCityCode>?</AreaCityCode> <!--необязательный--> <!--AreaCityCode — код региона/города-->
</Telephone>
<Address City="?" State="?" StreetAddress="?" PostalCode="?" CountryCode="?"/> <!--Адресс агенства. Обязательный.необязательный--> <!--@ City — город--> <!- Город. Обязательный.-State — штат--> <!--@StreetAddress - Адрес — адрес в городе (улица, дом, корпус, офис и т.д.). Необязательный.--> <!--@PostalCode - Почтовый — почтовый индекс. Необязательный.--> <!--@CountryCode - Код — код страны (RU, UA и т.п.). Необязательный.--> <Address City="" State="" StreetAddress="" PostalCode="" CountryCode=""/> </Agency> <!--Список пассажиров, обязательный-->
<Travellers>
<!--Информация о пассажире, обязательныйZero or more repetitions:--> <Traveller Type="?" IsContact="?" LinkedTo="?" Num="?" TravellerId="?"> <!--@Type - тип пассажира, обязательный, возможные значения: ADT - взрослые, CNN - CLD — дети со взрослыми, UNN - дети без сопровождения взрослых, INF - младенцы, INS - младенцы с местом--> <!--@IsContact - если true - то данный пассажир является контактным лицом, если false - то не является, контактное лицо может быть только 1, если среди пассажиров есть взрослые, то только кто-то из них может быть контактным лицом, по умолчанию false, обязательный--> <!--@Num - порядковый номер пассажира, начинается с 1--> <!--LinkedTo — номер взрослого, обязательныйк которому привязан младенец/ребёнок (привязка ребёнка ко взрослому является опциональной)--> <!--необязательный--> <!--@TravellerId - id — актуализированный номер пассажира из БД, необязательныйкоторый возвращается в ответе на запрос бронирования и в дальнейшем ссылки на пассажиров даются на основании этого параметра--> <Meal>?</Meal> <Traveller Type="ADT" IsContact="true" Num="1" TravellerId=""!--необязательный--> <!--Код Meal — код типа питания, необязательный, возможные значения: NONE - отсутствует AVML - Азиатская вегетарианская кухня BLML - Блюда щадящей диеты CHML - Детское питание CHPC - Детский холодный завтрак СНСС - Детский горячий завтрак CHHC - Детский ланч, ветчина и сыр PBJS - Детский ланч, ореховое масло CHMC - Детский обед макароны с сыром DBML - Диабетическое питание FPML - Фрукты GFML - Питание без клейковины HFML - Питание богатое клетчаткой HNML - Индусская кухня BBML - Питание для младенцев KSML - Кошерная кухня SMKB - Кошерный завтрак SMKL - Кошерный ланч SMKD - Кошерный обед LPML - Малобелковое питание LCML - Низкокалорийное питание LFML - Низкохолестериновое питание PRML - Низкопуриновое питание LSML - Малосоленое питание MOML - Мюсли NLML - Безмолочные продукты ORML - Восточная кухня RVML - Сырые овощи SFML - Морепродукты SPML - Особое питание VLML - Вегетарианское, молоко и яйца VGML - Строго вегетарианское питание VJML - Джайнизское вегетарианское VOML - Восточное вегетарианское питание--> <Meal></MealPersonalInfo DateOfBirth="?" Nationality="?" Gender="?"> <!--Персональные данные, обязательный--> <!--@DateOfBirth - дата рождения в формате yyyy-mm-dd ДД.ММ.ГГГГ (например 31.12.2000-12-31), обязательный--> <!--@Nationality - национальность(гражданство?), двух буквенный код страны (RU, UA, US и т.д.), обязательный--> <!--@Gender - пол пассажира, обязательный, возможные значения: M - мужской(Male) , F - женский(Female)--> <FirstName>?<PersonalInfo DateOfBirth="1975-05-15" Nationality="RU" Gender="M"/FirstName> <!--Имя FirstName — имя пассажира, обязательный--> <FirstNameLastName>Ivan?</FirstNameLastName> <!--Фамилия LastName — фамилия пассажира, обязательный--> <!--Optional:--> <LastNameMiddleName>Ivanov?</LastNameMiddleName> <!--Отчество пассажира, обязательныйнеобязательный--> <!--MiddleName></MiddleName— отчество пассажира-->
</PersonalInfo>
<LoyaltyCard OpCode="?" Number="?"/> <!--Карточка часто летающего пассажира, необязательный --> <!--@OpCode - код авиакомпании, обязательный--> <!--@Number - номер карточки, обязательный--> <LoyaltyCard OpCode="" Number=""/ContactInfo> <!--Контактная информация, необязательный--> <ContactInfo> <!--Контактный email, необязательныйOptional:--> <EmailID>?</EmailID> <!--Контактный телефон, необязательныйEmailID — контактный email--> <!--@Optional:--> <Telephone Type ="?"> <!-- Type — тип номера, обязательный, возможные значения: M - мобильный, H - домашний, B - рабочий--> <Telephone Type=""> <!--Номер телефона, обязательныйOptional:--> <PhoneNumber>?</PhoneNumber> <!--Код страны, необязательныйPhoneNumber — номер телефона--> <!--Optional:--> <CountryAccessCode>?</CountryAccessCode> <!--Код региона/города, необязательныйCountryAccessCode — код страны--> <!--Optional:--> <AreaCityCode>?</AreaCityCode> <!--AreaCityCode — код региона/города-->
</Telephone>
</ContactInfo>
<DocumentInfo DocType="?" DocNum="?" CountryCode="?" DocElapsedTime="?"/> <!--Паспортные данные, обязательныйнеобязательный--> <!--@DocType - тип документа, обязательный, возможные значения: Р - P — Паспорт A – Паспорт иностранца С - C — Внутренний гражданский паспорт F – Документ заменяющий паспорт М - M — Воинское удостоверение N – Сертификат натурализации(специфичный документ США) T – Док.повторного въезда, паспорт беженца V – Документ для пересечения границы F – Свидетельство о рождении (только для ГРС Сирена Трэвел, для других ГРС рекомендуется использовать тип документа P)--> <!--@DocNum - номер документа, обязательный--> <!--@CountryCode - двух буквенный код страны выдачи паспорта (RU, UA, US и т.д.), обязательный--> <!--@DocElapsedTime - Срок — срок истечения срока действия паспорта в yyyy-mm-dd ДД.ММ.ГГГ (например 31.12.2000-12-31), обязательный--> <DocumentInfo DocTypeVisaInfo Num="?" IssueCountry="?" IssuePlace="P?" DocNumBirthCountry="1234123456?" CountryCodeBirthCity="RU?" DocElapsedTimeIssueDate="2025-06-15?"/> <!--информация о визе, необязательная.(Заполняется через SSR DOCO)необязательный--> @ <!--Num - номер визы, обязательный--> @ <!--IssueDate - дата(ddДД.mmММ.yyyyГГГГ) выдачи визы, обязательный--> @ <!--IssueCountry - страна выдачи визы, обязательный--> @ <!--IssuePlace - место выдачи визы, обязательный--> @ <!--BirthCountry - страна рождения(IATA код страны), необязательный @BirthCity - город рождения(название), необязательный --> <VisaInfo Num="" IssueCountry="" IssuePlace="" BirthCountry="" BirthCity="" IssueDate=""/> <!--Адрес прибытия, необязательный.BirthCity — город рождения(Заполняется через SSR DOCAназвание) Но для въезжающих в США(неграждан США) информация является обязательной. Если она не заполняется при оформлении брони, то её всё равно придётся заполнить при посадке на самолёт. @CountryCode - Код страны. Обязательный @State - Штат или область въезда. Обязательный @PostalCode - Почтовый код. Обязательный @City - Город. Обязательный @StreetAddress - Адрес: улица, номер дома, квартиры и тп. Обязательный --> <ArrAddress City="?" State="?" StreetAddress="?" PostalCode="?" CountryCode="?"/> <!--Информация о предпочитаемом месте. Если указаны номер ряда и номер места, то параметры @Smoking и @Location игнорируются и могут быть не указаны. Необязательный--> <!--@SmokingAllowed - булевское значение, true - место для курящих, false - место для некурящих, необязательный--> <!--@Location - положение места в ряде, необязательный, возможные значения: W - у окна (Window) M - где-то в середине ряда (Middle) NPW - возле прохода (NearPassengerWay) NS - нет предпочтения (NotSpecified) City — город--> <!--@RowNumber - Номер ряда, строка, необязательныйState — штат или область въезда--> <!--@PlaceNumber - Номер местаStreetAddress — адрес: улица, строканомер дома, необязательныйквартиры и т.д.--> <!--@SegNumber - Номер сегмента, строка, обязательныйPostalCode — почтовый код--> <PreferedPlace SmokingAllowed="" Location="" RowNumber="" PlaceNumber="" SegNumber=""/> <!--Список форматов строк паспортных данных, необязательный--> <DocStringFormats> <!--Формат паспортной строки, обязательный, возможные значения: DOCS - строка формата DOCS, FOID - строка формата FOIDCountryCode — код страны--> <DocStringFormat></DocStringFormat> </DocStringFormats> </Traveller>
</Travellers>
<!--Номер очереди, в которую необходимо поместить бронирование. Строка, Optional:--> <DeviceId> <!--необязательный--> <Type>?</Type> <!--Type — Тип мобильного устройства (apple/android)--> <Token>?</Token> <!--Token — Токен мобильного устройства--> <QueueNum/DeviceId> <Marker>?</QueueNumMarker> <!--Marker — Маркер пользователя--> </BookFlight>
</Request>
<!--Авторизация, обязательный-->
<!--@ClientId, идентификатор клиента, обязательный-->
<!--@APIKey, API ключ клиента, обязательный-->
<!--@Language, код языка, обязательный-->
<!--@Currency код валюты, обязательный-->
<Source>
<ClientId>102?</ClientId> <!--ClientId — ID клиента в системе Nemo. Можно посмотреть/добавить в разделе "Администрирование" ? "Веб-служба. Авторизация".--> <APIKey>7F48365D42B73307C99C12A578E92B36?</APIKey> <!--APIKey — секретный ключ доступа к API Nemo. Можно посмотреть/добавить в разделе "Администрирование" ? "Веб-служба. Авторизация".--> <Language>RU?</Language> <!--Language — язык--> <Currency>RUB?</Currency> <!-- CUrrency — валюта--> <EndUserData> <!--Блок с данными о конечном пользователе, необязательный, но необходим при при использовании запросов поиска и бронирования для поставщика TravelFusion--> <EndUserIP>123.123.123.123</EndUserIP> <!--IP адрес пользователя--> <EndUserBrowserAgent>firefox</EndUserBrowserAgent> <!--Браузер пользователя--> <RequestOrigin>Russia-nemo.travel</RequestOrigin> <!--Страна и домен, с которого пользователь совершает поиск/бронирование--> </EndUserData> </Source> </RequestBin> </ver:BookFlight> </soapenv:Body></soapenv:Envelope></presyntaxhighlight></div></div> <div class="toccolours mw-collapsible mw-collapsed" style="width:1000px">
'''RESPONSE'''==== Ответ ====<divclass="mw-collapsible-content"><presyntaxhighlight 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://localhostCLIENT_DOMAIN/nemoflights/?version%3D1.0%26for%3DBookFlight" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<SOAP-ENV:Body>
<ns1:BookFlightResponse>
<ResponseBin>
<Response>
<!--Ответ, обязательный--BookFlight ID="?" Status="?" Code="?"> <!--@ID - Ид — Id брони в системе немоNemo, целое число, обязательный--> <!--@Status - Индикатор — индикатор состояния брони, обязательный, возможные значения: booked - забронировано, canceled - бронь отменена, ticket - выписана UNDEFINED - статус не определён --> <!--@Code - Код — код брони в системе бронирования/поиска (sabre, sirena и т.д.), строка, обязательный--> <BookFlight ID="21282" Status="booked" Code="QSSRL0"> <!--Положение брони в очереди, необязательный--> <!--@Number - номер брони в очереди, обязательныйпоставщика-->
<QueryPlace xsi:nil="true"/>
<!--@FlightId ид перелёта QueryPlace — положение брони в очереди, Number — номер брони в системе Немоочереди--> <IsPossibleToTicket>?</IsPossibleToTicket> <!--IsPossibleToTicket — возможность провести выписку ПНРа, обязательныйboolean--> <Flight FlightId="535464?"> <!--Веб-сервис из которого получен перелёт, обязательныйFlightId — Id перелёта в системе Nemo--> <WebService>GALILEO?</WebService> <!--Код авиакомпании - валидирующего перевозчика, IATA, обязательныйWebService — поставщик перелёта--> <ValCompany>S7?</ValCompany> <!--ValCompany — код авиакомпании, являющейся валидирующим перевозчиком, IATA--> <URL>http%3A%2F%2Flocalhost%2F%3Fgo%3Dbooking%2Finfo%26uid%3D26664%26flight%3D535464?</URL> <!--URL — ссылка на бронирование конкретного перелета-->
<Segments>
<Segment SegNum="?" SegGroupNum="?"> <!--SegNum - Номер — номер сегмента в перелёте, обязательный--> <!--SegGroupNum – номер плеча перелёта--> <SupplierCode>?<Segment SegNum="1"/SupplierCode> <!--Аэропорт отправления. ОбязательныйSupplierCode – номер заказа в системе АК--> <DepAirp CodeType="IATA">DME?</DepAirp> <!--Терминал DepAirp — аэропорт отправления, например: MOW — любой аэропорт в г.Москва или SVO — Шереметьево--> <DepTerminal>?</DepTerminal> <!--DepTerminal — терминал пункта отправления, если пустое значение, то терминала нет, т.е. в аэропорту всего 1 терминал, необязательный--> <DepTerminal xsi:nilArrAirp CodeType="trueIATA">?</ArrAirp> <!--Аэропорт ArrAirp — аэропорт прибытия. Обязательный--> <ArrAirp CodeType="IATA"ArrTerminal>LED?</ArrAirpArrTerminal> <!--Терминал ArrTerminal — терминал пункта прибытия, если пустое значение, то терминала нет, т.е. в аэропорту всего 1 терминал, необязательный--> <ArrTerminalOpAirline>1?</ArrTerminalOpAirline> <!--Авиакомпания OpAirline — авиакомпания перевозчик. Обязательный, например: SU — Аэрофлот--> <OpAirlineMarkAirline>S7?</OpAirlineMarkAirline> <!--АвиакомпанияMarkAirline — авиакомпания, продающая перелёт. Обязательный--> <MarkAirlineFlightNumber>S7?</MarkAirlineFlightNumber> <!--Номер FlightNumber — номер рейса. Обязательный--> <FlightNumberAircraftType>39?</FlightNumberAircraftType> <!--Тип AircraftType — тип воздушного судна, код. Обязательный--> <AircraftTypeDepDateTime>320?</AircraftTypeDepDateTime> <!--Дата DepDateTime — дата и время отправления, формат ГГГГ-MM-DDTЧЧДДTЧЧ:ММ:СС. Обязательный--> <DepDateTimeArrDateTime>2011-06-15T12:15:00?</DepDateTimeArrDateTime> <!--Дата ArrDateTime — дата и время прибытия, формат ГГГГ-MM-DDTЧЧДДTЧЧ:ММ:СС. Обязательный--> <ArrDateTimeStopNum>?</StopNum> <!--StopNum — количество остановок--> <StopPoints> <!--StopPoints — информация о технических остановках, если они есть--> <StopPoint> <AirportCode>?</AirportCode> <!--AirportCode — код аэропорта остановки, трех символьный iata код--> <UTC>?</UTC>2011 <!--UTC — сдвиг часового пояса аэропорта-06-15T13:45:00> <ArrDateTime>?</ArrDateTime> <!--Количество остановок. ОбязательныйArrDateTime — дата и время прибытия, формат ГГГГ-MM-ДДTЧЧ:ММ:СС--> <StopNumDepDateTime>0?</StopNumDepDateTime> <!--Код класса бронирования. ОбязательныйDepDateTime — дата и время отправления, формат ГГГГ-MM-ДДTЧЧ:ММ:СС--> </StopPoint> </StopPoints>
<BookingCodes>
<BookingCodeClassType="?">O <!--ClassType — класс перелета, например: economy--> <BookingCode>?</BookingCode> <!--BookingCode — код класса бронирования, у разных авиакомпаний один и тот же класс может записываться разными литерами, например: L--> </BookingCode>
</BookingCodes>
<FlightTime>?</FlightTime> <!--Время FlightTime — время перелёта, в минутах. Обязательный--> <FlightTime>90<TimeZone Departure="?" Arrival="?"/FlightTime> <!--Временные зоны точки Departure временная зона аэропорта отправления и прибытия. Необязательный--> <!--@departure Arrival — временная зона аэропорта отправления, обязательныйприбытия--> <ETicket>?</ETicket> <!--@arrival - временная зона аэропорта прибытияETicket — признак электронного билета, обязательныйзначения: true / false--> <TimeZone xsi:nil="true"isCharter>?</isCharter> <!--Признак электронного билета. ЗначенияisCharter — признак чартерного перелета, значения: true или / false. Обязательный--> <ETicketBaggageAllowances> <!--BaggageAllowances — информация о багаже--> <BaggageAllowance> <PassengerType>?</PassengerType> <!--PassengerType — тип пассажира, соответствует типу тарифа в PricingInfo --> <Value>?</Value> <!--Value — количество--> <Measurement>?</Measurement> <!--Measurement — мера измерения, может принимать значения: kg — килограмм, pc — багажное место, lb — фунт--> </BaggageAllowance>true </ETicketBaggageAllowances>
</Segment>
</Segments>
<!--информация о стоимости, может встречаться более 1 раза, обязательный--PricingInfo Refundable="?"> <!--@Refundable возвратный/невозвратный, true/false. Если пустое, то не известно, необязательный--> <PricingInfo RefundablePassengerFare Type="?" Quantity="true?"> <!--Типы пассажиров с ценами, таксами и тп, может встречаться более 1 раза, необязательныйType — тип тарифа--> <!--@Type тип пассажира, возможные значения: ADT Quantity — количество пассажиров данного типа- взрослые, CNN - дети со взрослыми,> UNN - дети без сопровождения взрослых, <TravellerRef> INF <!- младенцы, INS - младенцы с местомTravellerRef — Ссылка на пассажиров, обязательныйк которым относится данный тариф--> <Ref>?</Ref> <!--@Quantity Количество Ref — Номера пассажиров данного типа, обязательныйк которым относится данный тариф--> </TravellerRef> <PassengerFare TypeBaseFare Currency="ADT?" QuantityAmount="1?"/> <!--Базовая BaseFare — базовая стоимость, в базовой валюте, обязательный--> <!--@. Currency код валюты, @Amount значение цены, обязательный--> <BaseFare EquiveFare Currency="RUB?" Amount="3300?"/> <!--Базовая EquiveFare — базовая стоимость, в эквивалентной валюте(валюте продажи), обязательный-->. <!--@ Currency код валюты, @Amount значение цены, обязательный--> <EquiveFare TotalFare Currency="RUB?" Amount="3300?"/> <!--Суммарная TotalFare — суммарная стоимость , в эквивалентной валюте, необязательный-->. <!--@ Currency код валюты, @Amount значение цены, обязательный--> <TotalFare Currency="RUB" Amount="3710"/> <!--Массив такс, необязательный-->
<Taxes>
<!--Одна такса, обязательный--> <!--@CurCode код валюты, обязательный--> <!--@TaxCode код таксы, обязательный--> <!--@Amount сумма таксы, обязательный--> <Tax CurCode="RUB?" TaxCode="RU?" Amount="41?"/> <Tax !--CurCode="RUB" — код валюты, TaxCode="YQ" — код таксы, Amount="369"/— сумма таксы-->
</Taxes>
<!--Массив тарифов, необязательный-->
<Tariffs>
<!--Тариф, обязательный--Tariff Code="?" SegNum="?"/> <!--@Code код тарифа, обязательныйSegNum — номер сегмента, к которому применён тариф--> <FareFamilies> <FullName>?</FullName> <!--@SegNum номер сегмента, к которому применён тариф, обязательныйFullName — название тарифа--> <Tariff Code="OPOOW" SegNum="1"/FareFamilies>
</Tariffs>
<FareCalc>?</FareCalc> <!--Строка FareCalc — строка расчёта цены, необязательный--> <FareCalc xsi:nil="true"LastTicketDateTime>?</LastTicketDateTime> <!--Дата LastTicketDateTime — дата и время таймлимита по выписке в формате ГГГГ-MM-DDTЧЧДДTЧЧ:ММ:СС. Если включена настройка "Применение временной зоны - Для расчетов таймлимитов в агентском API", обязательныйдата и время таймлимита будут переведены во временную зону пользователя. При отключенной настройке по умолчанию дата и время будут в Московском часовом поясе.--> <LastTicketDateTime>2011-05-27T23:59:00</LastTicketDateTime>
</PassengerFare>
</PricingInfo>
<Charges Currency="?">?<!--Комиссии, обязательный--/Charges> <!--@Charges — сборы, Currency, код валюты, обязательный--> <Commission TotalPrice Currency="RUB?">382.2?</CommissionTotalPrice> <!--СборыTotalPrice — итоговая цена, обязательный--> <!--@Currency, код валюты, обязательный--> <Charges Currency="RUB">112</Charges>
</Flight>
<!--Информация об агенстве, обязательный--Agency Name="?"> <!--@Name - название агентства, обязательный--> <Agency NameTelephone Type="?"> <!--Телефон агентсва, необязательный--> <!--@Type - тип номера, обязательный, возможные значения: M - мобильный, H - домашний, B - рабочий, A - агенство--> <Telephone Type=""> <!--Номер телефона, обязательныйOptional:--> <PhoneNumber>?</PhoneNumber> <!--Код страны, необязательныйPhoneNumber — номер телефона--> <!--Optional:--> <CountryAccessCode>?</CountryAccessCode> <!--Код региона/города, необязательныйCountryAccessCode — код страны--> <AreaCityCode!--Optional:--> </AreaCityCode> ?</TelephoneAreaCityCode> <!--Адресс агенства. Обязательный.AreaCityCode — код региона/города--> </Telephone> <AddressCity="?" State="?" StreetAddress="?" PostalCode="?" CountryCode="?"/> <!--Город. Обязательный.City — город--> <City></City!--State — штат--> <!--Адрес StreetAddress — адрес в городе (улица, дом, корпус, офис и т.д.). Необязательный.--> <StreetAddress></StreetAddress> <!--Почтовый PostalCode — почтовый индекс. Необязательный.--> <PostalCode></PostalCode> <!--Код CountryCode — код страны (RU, UA и т.п.). Необязательный.--> <CountryCode> </CountryCodeAgency> </Address> </AgencyItinReceipts Encoding="?" Format="?"> <!--Маршрут ItinReceipts — маршрут квитанция, необязательный--> <!--@Encoding - кодировка, обязательный--> <!--@Format - формат, обязательный--> <ItinReceipts Encoding="" Format="">
<FareStored xsi:nil="true"/>
<!--Список пассажиров, обязательный-->
<Travellers>
<!--@Zero or more repetitions:--> <Traveller Type ="?" IsContact="?" LinkedTo="?" Num="?" TravellerId="?"> <!--Type — тип пассажира, обязательный, возможные значения: ADT - взрослые, CNN - CLD — дети со взрослыми, UNN - дети без сопровождения взрослых, INF - младенцы, INS - младенцы с местом--> <!--@IsContact - если true - то данный пассажир является контактным лицом, если false - то не является, контактное лицо может быть только 1, если среди пассажиров есть взрослые, то только кто-то из них может быть контактным лицом, по умолчанию false, обязательный--> <!--@Num - порядковый номер пассажира , начинается с 1, обязательный--> <!--@LinkedTo - номер взрослого, к которому привязан младенец/ребёнок(привязка ребёнка ко взрослому является опциональной)--> <!--TravellerId — актуализированный номер пассажира, необязательныйкоторый возвращается в ответе на запрос бронирования и в дальнейшем ссылки на пассажиров даются на основании этого параметра--> <Meal>?<Traveller Type="ADT" IsContact="true" Num="1"/Meal> <!--Тип Meal — код типа питания, обязательный, возможные значения: UNDEFINED - неизвестно AVML — Азиатская вегетарианская кухня BLML — Блюда щадящей диеты CHML — Детское питание CHPC — Детский холодный завтрак СНСС — Детский горячий завтрак CHHC — Детский ланч, ветчина и сыр N - Нет питания PBJS — Детский ланч, ореховое масло P - Алкогольные напитки в продаже CHMC — Детский обед макароны с сыром B - Завтрак DBML — Диабетическое питание O - Холодная еда FPML — Фрукты C - Бесплатные алкогольные напитки GFML — Питание без клейковины K - Континтальный завтрак HFML — Питание богатое клетчаткой D - Обед HNML — Индусская кухня F - Еда в продаже BBML — Питание для младенцев G - Еда/напитки в продаже KSML — Кошерная кухня H - Горячая еда SMKB — Кошерный завтрак L - Ланч SMKL — Кошерный ланч M - Еда SMKD — Кошерный обед R - Освежающие еда/напитки бесплатно LPML — Малобелковое питание V - Освежающие еда/напитки за отдельную плату LCML — Низкокалорийное питание S - Закуска LFML — Низкохолестериновое питание --> PRML — Низкопуриновое питание <Meal xsi:nil="true"/> LSML — Малосоленое питание <!--Билет, необязательный-->MOML — Мюсли <!--@TickectNum - номер билета, обязательный-->NLML — Безмолочные продукты ORML — Восточная кухня <Ticket TickectNum="" />RVML — Сырые овощи <Seats> SFML — Морепродукты <!--Место пассажира в самолёте, обязательный--> SPML — Особое питание <!--@Number - номер места VLML — Вегетарианское, обязательный-->молоко и яйца <!--@Characteristic - Характеристика места в соответствии со стандартом EDIFACT, необязательный--> VGML — Строго вегетарианское питание <!--@SmokingPreference - статус курения на этом месте, если Y - место для курящих, если N - место для некурящих, необязательный--> VJML — Джайнизское вегетарианское <!--@SegmentNumber - номер сегмента в перелёте, обязательный VOML — Восточное вегетарианское питание--> <Seat NumberPersonalInfo DateOfBirth="?" CharacteristicNationality="?" SmokingPreference="" SegmentNumberGender="?"/> </Seats> <!--Персональные данные, обязательный--> <!--@DateOfBirth - дата рождения в формате ddДД.mmММ.yyyy ГГГГ (например 31.12.2000), обязательный--> <!--@Nationality - национальность(гражданство?), двух буквенный код страны (RU, UA, US и т.д.), обязательный--> <!--@Gender - пол пассажира, обязательный, возможные значения: M - мужской(Male) , F - женский(Female)--> <FirstName>?<PersonalInfo DateOfBirth="15.05.1975" Nationality="RU" Gender="M"/FirstName> <!--Имя FirstName — имя пассажира, обязательный--> <FirstNameLastName>HKSFG?</FirstNameLastName> <!--Фамилия LastName — фамилия пассажира, обязательный--> <LastName>DFGDG</LastName> <!--Отчество пассажира, обязательныйOptional:--> <MiddleName>SHHHHHHH?</MiddleName> <!--MiddleName — отчество пассажира-->
</PersonalInfo>
<!--Карточка часто летающего пассажира, необязательный --LoyaltyCard OpCode="?" Number="?"/> <!--@OpCode - код авиакомпании, обязательный--> <!--@Number - номер карточки, обязательный --> <LoyaltyCard OpCode="" Number=""/> <ContactInfo> <!--Контактный email, необязательныйOptional:--> <EmailID>?</EmailID> <!--Контактный телефон, необязательныйEmailID — контактный email--> <!--@Optional:--> <Telephone Type ="?"> <!- -Type — тип номера, обязательный, возможные значения: M - мобильный, H - домашний, B - рабочий--> <Telephone Type=""> <!--Номер телефона, обязательный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 - Срок — срок истечения срока действия паспорта в ddДД.mmММ.yyyy ГГГ (например 31.12.2000), обязательный--> <DocumentInfo DocTypeVisaInfo Num="?" IssueCountry="?" IssuePlace="P?" DocNumBirthCountry="1234123456?" CountryCodeBirthCity="RU?" DocElapsedTimeIssueDate="15.06.2025?"/> <!--информация о визе, необязательная.(Заполняется через SSR DOCO) @Num - номер визы, обязательный--> @ <!--IssueDate - дата(ddДД.mmММ.yyyyГГГГ) выдачи визы, обязательный--> @ <!--IssueCountry - страна выдачи визы, обязательный--> @ <!--IssuePlace - место выдачи визы, обязательный--> @ <!--BirthCountry - страна рождения(IATA код страны), необязательный @BirthCity - город рождения(название), необязательный --> <VisaInfo Num="" IssueDate="" IssueCountry="" IssuePlace="" BirthCountry="" BirthCity=""/> <!--Адрес прибытия, необязательный.BirthCity — город рождения(Заполняется через SSR DOCAназвание) Но для въезжающих в США(неграждан США) информация является обязательной. Если она не заполняется при оформлении брони, то её всё равно придётся заполнить при посадке на самолёт. @CountryCode - Код страны. Обязательный @State - Штат или область въезда. Обязательный @PostalCode - Почтовый код. Обязательный @City - Город. Обязательный @StreetAddress - Адрес: улица, номер дома, квартиры и тп. Обязательный --> <ArrAddress CountryCodeCity="?" State="?" PostalCodeStreetAddress="?" CityPostalCode="?" StreetAddressCountryCode="?"/> <!--Информация о предпочитаемом месте. Если указаны номер ряда и номер места, то параметры @Smoking и @Location игнорируются и могут быть не указаны. НеобязательныйCity — город--> <!--@SmokingAllowed - булевское значение, true - место для курящих, false - место для некурящих, необязательныйState — штат или область въезда--> <!--@Location - положение места в ряде, необязательный, возможные значенияStreetAddress — адрес: W - у окна (Window) M - где-то в середине ряда (Middle) NPW - возле прохода (NearPassengerWay) NS - нет предпочтения (NotSpecified) --> <!--@RowNumber - Номер рядаулица, строканомер дома, необязательныйквартиры и т.д.--> <!--@PlaceNumber - Номер места, строка, необязательныйPostalCode — почтовый код--> <!--@SegNumber - Номер сегмента, строка, обязательныйCountryCode — код страны--> <PreferedPlace SmokingAllowed="" Location="" RowNumber="" PlaceNumber="" SegNumber=""/>
<DocStringFormats>
<!--Формат Zero or more repetitions:--> <DocStringFormat>?</DocStringFormat> <!--DocStringFormat — формат паспортной строки, обязательный, возможные значения: DOCS - строка формата DOCS, FOID - строка формата FOID--> <DocStringFormat></DocStringFormat> </DocStringFormats>
</Traveller>
</Travellers>
<AutoCancelDate>?</AutoCancelDate>
<!--AutoCancelDate — дата и время таймлимита автоаннуляции в формате ГГГГ-MM-ДДTЧЧ:ММ:СС определяемые по настройкам агентства-->
<TimeLimits>
<TicketingTimeLimit>?</TicketingTimeLimit>
<!--TicketingTimeLimit — Таймлимит на выписку в формате ГГГГ-MM-ДДTЧЧ:ММ:СС-->
<PriceTimeLimit>?</PriceTimeLimit>
<!--PriceTimeLimit — Таймлимит цены из ГРС в формате ГГГГ-MM-ДДTЧЧ:ММ:СС-->
<AdvancedPurchaseTimeLimit>?</AdvancedPurchaseTimeLimit>
<!--AdvancedPurchaseTimeLimit — Таймлимит цены из тарифных правил в формате ГГГГ-MM-ДДTЧЧ:ММ:СС-->
<AgencyTimeLimit>?</AgencyTimeLimit>
<!--AgencyTimeLimit - Таймлимит по настройкам в формате ГГГГ-MM-ДДTЧЧ:ММ:СС-->
</TimeLimits>
</BookFlight>
<Requisites/>
<RequestType xsi:nil="true"/>
<UserID xsi:nil="true"/>
<Errors xsi:nilError Code="true?">Сообщение об ошибке</Error>
</Response>
</ResponseBin>
</ns1:BookFlightResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope></presyntaxhighlight></div></div>
== Перелет Москва - Санкт-петербург Пример использования ==
'''REQUEST'''Пример одностороннего перелета Москва — Мадрид. <div class="toccolours mw-collapsible mw-collapsed" style="width:1000px">==== Запрос ====<prediv 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://localhostCLIENT_DOMAIN/nemoflights/?version%3D1.0%26for%3DBookFlight">
<soapenv:Header/>
<soapenv:Body>
<Request>
<BookFlight>
<!--@FlightId ид перелёта в системе Немо, обязательный--> <FlightId>534339171430002</FlightId> <!--Валидирующий перевозчик (тот кто выписывает билет), необязательный--> <ValidatingCompany>SU</ValidatingCompany> <!--Код класс перелёта, один для каждого сегмента в перелёте, необязательный--> <BookingCodesTravellers> <!--@Code - код класса перелёта, обязательный--> <!--@SegNumber - номер сегмента в перелёте (начинаются с 1), обязательный--> <BookingCode Code="Q" SegNumber="1"/> </BookingCodes> <!--Код валюты, необязательный--> <CurrencyCode>RUB</CurrencyCode> <!--Оплатить не позже, формат: ГГГГ-ММ-ДДTЧЧ:мм:СС, необязательный--> <TicketTimeLimit>2011-06-20 00:00:00</TicketTimeLimit> <!--Информация об агенстве, обязательный--> <!--@Name - название агентства, обязательный--> <Agency Name=""> <!--Телефон агентсва, необязательный--> <!--@Type - тип номера, обязательный, возможные значенияZero or more repetitions: M - мобильный, H - домашний, B - рабочий, A - агенство--> <Telephone Type=""> <!--Номер телефона, обязательный--> <PhoneNumber></PhoneNumber> <!--Код страны, необязательный--> <CountryAccessCode></CountryAccessCode> <!--Код региона/города, необязательный--> <AreaCityCode></AreaCityCode> </Telephone> <!--Адресс агенства. Обязательный.--> <!--@ City - Город. Обязательный.--> <!--@StreetAddress - Адрес в городе (улица, дом, корпус, офис и т.д.). Необязательный.--> <!--@PostalCode - Почтовый индекс. Необязательный.--> <!--@CountryCode - Код страны (RU, UA и т.п.). Необязательный.--> <Address City="" State="" StreetAddress="" PostalCode="" CountryCode=""/> </Agency> <!--Список пассажиров, обязательный--> <Travellers> <Travellers> <!--Информация о пассажире, обязательный--> <!--@Type - тип пассажира, обязательный, возможные значения: ADT - взрослые, CNN - дети со взрослыми, UNN - дети без сопровождения взрослых, INF - младенцы, INS - младенцы с местом--> <!--@IsContact - если true - то данный пассажир является контактным лицом, если false - то не является, контактное лицо может быть только 1, если среди пассажиров есть взрослые, то только кто-то из них может быть контактным лицом, по умолчанию false, обязательный--> <!--@Num - порядковый номер пассажира, начинается с 1, обязательный--> <!--@TravellerId - id пользователя в БД, необязательный--> <Traveller Type="ADT" IsContact="true" Num="1" TravellerId="32738"/> <!--Код типа питания, необязательный, возможные значения: NONE - отсутствует AVML - Азиатская вегетарианская кухня BLML - Блюда щадящей диеты CHML - Детское питание CHPC - Детский холодный завтрак СНСС - Детский горячий завтрак CHHC - Детский ланч, ветчина и сыр PBJS - Детский ланч, ореховое масло CHMC - Детский обед макароны с сыром DBML - Диабетическое питание FPML - Фрукты GFML - Питание без клейковины HFML - Питание богатое клетчаткой HNML - Индусская кухня BBML - Питание для младенцев KSML - Кошерная кухня SMKB - Кошерный завтрак SMKL - Кошерный ланч SMKD - Кошерный обед LPML - Малобелковое питание LCML - Низкокалорийное питание LFML - Низкохолестериновое питание PRML - Низкопуриновое питание LSML - Малосоленое питание MOML - Мюсли NLML - Безмолочные продукты ORML - Восточная кухня RVML - Сырые овощи SFML - Морепродукты SPML - Особое питание VLML - Вегетарианское, молоко и яйца VGML - Строго вегетарианское питание VJML - Джайнизское вегетарианское VOML - Восточное вегетарианское питание--> <Meal></Meal> <!--Персональные данные, обязательный--> <!--@DateOfBirth - дата рождения в формате yyyy-mm-dd (например 2000-12-31), обязательный--> <!--@Nationality - национальность(гражданство?), двух буквенный код страны (RU, UA, US и т.д.), обязательный--> <!--@Gender - пол пассажира, обязательный, возможные значения: M - мужской(Male) F - женский(Female)--> <PersonalInfo DateOfBirth="1975-20.05-15.1980" Nationality="RU" Gender="M"> <!--Имя пассажира, обязательный--> <FirstName>IvanPetr</FirstName> <!--Фамилия пассажира, обязательный--> <LastName>Ivanov</LastName> <!--Отчество пассажира, обязательный--> <MiddleName></MiddleName>
</PersonalInfo>
<!--Карточка часто летающего пассажира, необязательный -->
<!--@OpCode - код авиакомпании, обязательный-->
<!--@Number - номер карточки, обязательный-->
<LoyaltyCard OpCode="" Number=""/>
<!--Контактная информация, необязательный-->
<ContactInfo>
<!--Контактный email, необязательныйOptional:--> <EmailID>testmail@mail.ru</EmailID> <!--Контактный телефон, необязательный--> <!--@Type - тип номера, обязательный, возможные значенияOptional: M - мобильный, H - домашний, B - рабочий--> <Telephone Type="M"> <!--Номер телефона, обязательныйOptional:--> <PhoneNumber>79051234567</PhoneNumber> <!--Код страны, необязательный--> <CountryAccessCode></CountryAccessCode> <!--Код региона/города, необязательный--> <AreaCityCode></AreaCityCode>
</Telephone>
</ContactInfo>
<!--Паспортные данные, обязательный--> <!--@DocType - тип документа, обязательный, возможные значения: Р - Паспорт A – Паспорт иностранца С - Внутренний гражданский паспорт F – Документ заменяющий паспорт М - Воинское удостоверение N – Сертификат натурализации(специфичный документ США) T – Док.повторного въезда, паспорт беженца V – Документ для пересечения границы--> <!--@DocNum - номер документа, обязательный--> <!--@CountryCode - двух буквенный код страны выдачи паспорта (RU, UA, US и т.д.), обязательный--> <!--@DocElapsedTime - Срок истечения срока действия паспорта в yyyy-mm-dd (например 2000-12-31), обязательный--> <DocumentInfo DocType="PA" DocNum="1234123456123456" CountryCode="RU" DocElapsedTime="2025-06-15"/> <!--информация о визе, необязательная.(Заполняется через SSR DOCO) @Num - номер визы, обязательный @IssueDate - дата(dd.mm.yyyy) выдачи визы, обязательный @IssueCountry - страна выдачи визы, обязательный @IssuePlace - место выдачи визы, обязательный @BirthCountry - страна рождения(IATA код страны), необязательный @BirthCity - город рождения(название), необязательный --> <VisaInfo Num="" IssueCountry="" IssuePlace="" BirthCountry="" BirthCity="" IssueDate=""/> <!--Адрес прибытия, необязательный.(Заполняется через SSR DOCA) Но для въезжающих в США(неграждан США) информация является обязательной. Если она не заполняется при оформлении брони, то её всё равно придётся заполнить при посадке на самолёт. @CountryCode - Код страны. Обязательный @State - Штат или область въезда. Обязательный @PostalCode - Почтовый код. Обязательный @City - Город. Обязательный @StreetAddress - Адрес: улица, номер дома, квартиры и тп. Обязательный --> <ArrAddress City="" State="" StreetAddress="" PostalCode="" CountryCode=""/> <!--Информация о предпочитаемом месте01. Если указаны номер ряда и номер места, то параметры @Smoking и @Location игнорируются и могут быть не указаны01. Необязательный--> <!--@SmokingAllowed - булевское значение, true - место для курящих, false - место для некурящих, необязательный--> <!--@Location - положение места в ряде, необязательный, возможные значения: W - у окна (Window) M - где-то в середине ряда (Middle) NPW - возле прохода (NearPassengerWay) NS - нет предпочтения (NotSpecified) --> <!--@RowNumber - Номер ряда, строка, необязательный--> <!--@PlaceNumber - Номер места, строка, необязательный--> <!--@SegNumber - Номер сегмента, строка, обязательный--> <PreferedPlace SmokingAllowed="" Location=2020"" RowNumber="" PlaceNumber="" SegNumber=""/> <!--Список форматов строк паспортных данных, необязательный--> <DocStringFormats> <!--Формат паспортной строки, обязательный, возможные значения: DOCS - строка формата DOCS, FOID - строка формата FOID--> <DocStringFormat></DocStringFormat> </DocStringFormats>
</Traveller>
</Travellers>
<!--Номер очереди, в которую необходимо поместить бронирование. Строка, необязательный-->
<QueueNum></QueueNum>
</BookFlight>
</Request>
<!--Авторизация, обязательный-->
<!--@ClientId, идентификатор клиента, обязательный-->
<!--@APIKey, API ключ клиента, обязательный-->
<!--@Language, код языка, обязательный-->
<!--@Currency код валюты, обязательный-->
<Source>
<ClientId>102---</ClientId> <APIKey>7F48365D42B73307C99C12A578E92B36---</APIKey> <Language>RU</Language> <Currency>RUB</Currency> </Source>
</RequestBin>
</ver:BookFlight>
</soapenv:Body>
</soapenv:Envelope></presyntaxhighlight></div></div>
'''RESPONSE'''<div class="toccolours mw-collapsible mw-collapsed" style="width:1000px"> ==== Ответ ====<prediv 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://localhostCLIENT_DOMAIN/nemoflights/?version%3D1.0%26for%3DBookFlight" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<SOAP-ENV:Body>
<ns1:BookFlightResponse>
<ResponseBin>
<Response>
<!--Ответ, обязательный--> <!--@ID - Ид брони в системе немо, целое число, обязательный--> <!--@Status - Индикатор состояния брони, обязательный, возможные значения: booked - забронировано, canceled - бронь отменена, ticket - выписана UNDEFINED - статус не определён --> <!--@Code - Код брони в системе бронирования/поиска (sabre, sirena и т.д.), строка, обязательный--> <BookFlight ID="21282262872" Status="booked" Code="QSSRL0LQHZWU"> <!--Положение брони в очереди, необязательный--> <!--@Number - номер брони в очереди, обязательный-->
<QueryPlace xsi:nil="true"/>
<!--@FlightId ид перелёта в системе Немо, обязательный--> <Flight FlightId="535464171430002"> <!--Веб-сервис из которого получен перелёт, обязательный--> <WebService>GALILEOSABRE</WebService> <!--Код авиакомпании - валидирующего перевозчика, IATA, обязательный--> <ValCompany>S7SU</ValCompany> <URL>http%3A%2F%2Flocalhost2FCLIENT_DOMAIN%2F%3Fgo%3Dbooking%2Finfo%26uid%3D266643D14290%26flight%3D5354643D171430002</URL>
<Segments>
<!--SegNum - Номер сегмента в перелёте, обязательный--> <Segment SegNum="1"> <!--Аэропорт отправления. Обязательный--SegGroupNum="0"> <DepAirp CodeType="IATA">DMESVO</DepAirp> <!--Терминал пункта отправления, если пустое значение, то терминала нет, т.е. в аэропорту всего 1 терминал, необязательный--> <DepTerminal xsi:nil="true"/> D<!--Аэропорт прибытия. Обязательный--/DepTerminal> <ArrAirp CodeType="IATA">LEDBCN</ArrAirp> <!--Терминал пункта прибытия, если пустое значение, то терминала нет, т.е. в аэропорту всего 1 терминал, необязательный-->
<ArrTerminal>1</ArrTerminal>
<!--Авиакомпания перевозчик. Обязательный--> <OpAirline>S7SU</OpAirline> <!--Авиакомпания, продающая перелёт. Обязательный--> <MarkAirline>S7SU</MarkAirline> <!--Номер рейса. Обязательный--> <FlightNumber>392512</FlightNumber> <!--Тип воздушного судна, код. Обязательный--> <AircraftType>320321</AircraftType> <!--Дата и время отправления, формат ГГГГ-MM-DDTЧЧ:ММ:СС. Обязательный--> <DepDateTime>20112014-0603-15T1220T20:1540:00</DepDateTime> <!--Дата и время прибытия, формат ГГГГ-MM-DDTЧЧ:ММ:СС. Обязательный--> <ArrDateTime>20112014-0603-15T1320T22:4520:00</ArrDateTime> <!--Количество остановок. Обязательный-->
<StopNum>0</StopNum>
<!--Код класса бронирования. Обязательный-->
<BookingCodes>
<BookingCodeClassType="economy">O <BookingCode>E</BookingCode> </BookingCode>
</BookingCodes>
<FlightTime>280<!--Время перелёта, в минутах. Обязательный--/FlightTime> <TimeZone Departure="4" Arrival="1"/> <FlightTimeETicket>90true</FlightTimeETicket> </Segment> <!--Временные зоны точки отправления и прибытия. Необязательный--Segment SegNum="2" SegGroupNum="0"> <DepAirp CodeType="IATA">BCN<!--@departure временная зона аэропорта отправления, обязательный--/DepAirp> <!--@arrival - временная зона аэропорта прибытия, обязательный--DepTerminal>1</DepTerminal> <TimeZone xsi:nilArrAirp CodeType="trueIATA">MAD</ArrAirp> <ArrTerminal>2<!/ArrTerminal> <OpAirline>UX</OpAirline> <MarkAirline>SU</MarkAirline> <FlightNumber>3403</FlightNumber> <AircraftType>738</AircraftType> <DepDateTime>2014-03-Признак электронного билета. Значения21T12: true или false. Обязательный05:00</DepDateTime> <ArrDateTime>2014-03-21T13:25:00</ArrDateTime> <StopNum>0</StopNum> <BookingCodes> <BookingCode ClassType="economy"> <BookingCode>E</BookingCode> </BookingCode> </BookingCodes> <FlightTime>80</FlightTime> <TimeZone Departure="1" Arrival="1"/>
<ETicket>true</ETicket>
</Segment>
</Segments>
<!--информация о стоимости, может встречаться более 1 раза, обязательный--> <!--@Refundable возвратный/невозвратный, true/false. Если пустое, то не известно, необязательный--> <PricingInfo Refundable="truefalse"> <!--Типы пассажиров с ценами, таксами и тп, может встречаться более 1 раза, необязательный--> <!--@Type тип пассажира, возможные значения: ADT - взрослые, CNN - дети со взрослыми, UNN - дети без сопровождения взрослых, INF - младенцы, INS - младенцы с местом, обязательный--> <!--@Quantity Количество пассажиров данного типа, обязательный-->
<PassengerFare Type="ADT" Quantity="1">
<!--Базовая стоимость, в базовой валюте, обязательный--> <!--@Currency код валюты, @Amount значение цены, обязательный--> <BaseFare Currency="RUBEUR" Amount="3300165"/> <!--Базовая стоимость, в эквивалентной валюте(валюте продажи), обязательный--> <!--@Currency код валюты, @Amount значение цены, обязательный--> <EquiveFare Currency="RUB" Amount="33008335"/> <!--Суммарная стоимость в эквивалентной валюте, необязательный--> <!--@Currency код валюты, @Amount значение цены, обязательный--> <TotalFare Currency="RUB" Amount="371014025"/> <!--Массив такс, необязательный-->
<Taxes>
<!--Одна такса, обязательный--Tax CurCode="RUB" TaxCode="YQF" Amount="4242"/> <!--@Tax CurCode код валюты, обязательный--> <!--@="RUB" TaxCode код таксы, обязательный--> <!--@="YRI" Amount сумма таксы, обязательный--="374"/> <Tax CurCode="RUB" TaxCode="RUJD" Amount="41844"/> <Tax CurCode="RUB" TaxCode="YQQV" Amount="369230"/>
</Taxes>
<!--Массив тарифов, необязательный-->
<Tariffs>
<!--Тариф, обязательный-Tariff Code="EBSRT" SegNum="1"> <FareFamilies> <FullName>Бюджет-Эконом</FullName> <!--@Code код тарифа, обязательный--/FareFamilies> <!--@SegNum номер сегмента, к которому применён тариф, обязательный--/Tariff> <Tariff Code="OPOOWEBSRT" SegNum="12"> <FareFamilies> <FullName>Бюджет-Эконом</FullName> </FareFamilies> </Tariff>
</Tariffs>
<!--Строка расчёта цены, необязательный--> <FareCalc xsi:nil="true">MOW SU X/> BCN SU MAD225.45NUC225.45END ROE0.731857<!--Дата и время таймлимита по выписке в формате ГГГГ-MM-DDTЧЧ:ММ:СС, обязательный--/FareCalc> <LastTicketDateTime>20112014-0503-27T2314T12:5945:00</LastTicketDateTime>
</PassengerFare>
</PricingInfo>
<!--Комиссии, обязательный--> <!--@Currency, код валюты, обязательный--> <Commission Charges Currency="RUB">382140.225</Commission> <!--Сборы, обязательный--> <!--@Currency, код валюты, обязательный--Charges> <Charges TotalPrice Currency="RUB">11214165.25</ChargesTotalPrice>
</Flight>
<!--Информация об агенстве, обязательный--> <!--@Name - название агентства, обязательный--> <Agency Name=""> <!--Телефон агентсва, необязательный--> <!--@Type - тип номера, обязательный, возможные значения: M - мобильный, H - домашний, B - рабочий, A - агенство--> <Telephone Type=""> <!--Номер телефона, обязательный--> <PhoneNumber></PhoneNumber> <!--Код страны, необязательный--> <CountryAccessCode></CountryAccessCode> <!--Код региона/города, необязательный--> <AreaCityCode></AreaCityCode> </Telephone> <!--Адресс агенства. Обязательный.--> <Address> <!--Город. Обязательный.--> <City></City> <!--Адрес в городе (улица, дом, корпус, офис и т.д.). Необязательный.--> <StreetAddress></StreetAddress> <!--Почтовый индекс. Необязательный.--> <PostalCode></PostalCode> <!--Код страны (RU, UA и т.п.). Необязательный.--> <CountryCode></CountryCode> </Address> </Agency> <!--Маршрут квитанция, необязательный--> <!--@Encoding - кодировка, обязательный--> <!--@Format - формат, обязательный--> <ItinReceipts Encoding="" Formatxsi:nil="true"/>
<FareStored xsi:nil="true"/>
<!--Список пассажиров, обязательный-->
<Travellers>
<!--@Type тип пассажира, обязательный, возможные значения:
ADT - взрослые,
CNN - дети со взрослыми,
UNN - дети без сопровождения взрослых,
INF - младенцы,
INS - младенцы с местом-->
<!--@IsContact - если true - то данный пассажир является контактным лицом, если false - то не является,
контактное лицо может быть только 1, если среди пассажиров есть взрослые, то только кто-то из них может быть контактным лицом, по умолчанию false, обязательный-->
<!--@Num - порядковый номер пассажира , начинается с 1, обязательный-->
<!--@LinkedTo - номер взрослого, к которому привязан младенец/ребёнок, необязательный-->
<Traveller Type="ADT" IsContact="true" Num="1">
<!--Тип питания, обязательный, возможные значения: UNDEFINED - неизвестно N - Нет питания P - Алкогольные напитки в продаже B - Завтрак O - Холодная еда C - Бесплатные алкогольные напитки K - Континтальный завтрак D - Обед F - Еда в продаже G - Еда/напитки в продаже H - Горячая еда L - Ланч M - Еда R - Освежающие еда/напитки бесплатно V - Освежающие еда/напитки за отдельную плату S - Закуска --> <Meal xsi:nil="true"/> <!--Билет, необязательный--> <!--@TickectNum - номер билета, обязательный--> <Ticket TickectNum="" /> <Seats> <!--Место пассажира в самолёте, обязательный--> <!--@Number - номер места, обязательный--> <!--@Characteristic - Характеристика места в соответствии со стандартом EDIFACT, необязательный--> <!--@SmokingPreference - статус курения на этом месте, если Y - место для курящих, если N - место для некурящих, необязательный--> <!--@SegmentNumber - номер сегмента в перелёте, обязательный--> <Seat Number="" Characteristic="" SmokingPreference="" SegmentNumber=""/> </Seats> <!--Персональные данные, обязательный--> <!--@DateOfBirth - дата рождения в формате dd.mm.yyyy (например 31.12.2000), обязательный--> <!--@Nationality - национальность(гражданство?), двух буквенный код страны (RU, UA, US и т.д.), обязательный--> <!--@Gender - пол пассажира, обязательный, возможные значения: M - мужской(Male) F - женский(Female)--> <PersonalInfo DateOfBirth="0120.05.19811980" Nationality="AURU" Gender="M"> <!--Имя пассажира, обязательный--> <FirstName>ANDREWPETR</FirstName> <!--Фамилия пассажира, обязательный--> <LastName>RESHIVANOV</LastName> <!--Отчество пассажира, обязательный--> <MiddleName>SARAT</MiddleName>
</PersonalInfo>
<!--Карточка часто летающего пассажира, необязательный --> <!--@OpCode - код авиакомпании, обязательный--> <!--@Number - номер карточки, обязательный --> <LoyaltyCard OpCode="" Number=""/>
<ContactInfo>
<!--Контактный email, необязательный--> <EmailID>TESTMAIL@MAIL.ru</EmailID> <!--Контактный телефон, необязательный--> <!--@Type - тип номера, обязательный, возможные значения: M - мобильный, H - домашний, B - рабочий--> <Telephone Type="M"> <!--Номер телефона, обязательный--> <PhoneNumber>79051234567</PhoneNumber> <!--Код страны, необязательный--> <CountryAccessCode></CountryAccessCode> <!--Код региона/города, необязательный--> <AreaCityCode></AreaCityCode> </Telephone> </ContactInfo> <!--Паспортные данные, обязательный--> <!--@DocType - тип документа, обязательный, возможные значения: Р - Паспорт A – Паспорт иностранца С - Внутренний гражданский паспорт F – Документ заменяющий паспорт М - Воинское удостоверение N – Сертификат натурализации(специфичный документ США) T – Док.повторного въезда, паспорт беженца V – Документ для пересечения границы--> <!--@DocNum - номер документа, обязательный--> <!--@CountryCode - двух буквенный код страны выдачи паспорта (RU, UA, US и т.д.), обязательный--> <!--@DocElapsedTime - Срок истечения срока действия паспорта в dd.mm.yyyy (например 31.12.2000), обязательный--> <DocumentInfo DocType="PA" DocNum="3254253345123456" CountryCode="AURU" DocElapsedTime="2901.0501.20112020"/> <!--информация о визе, необязательная.(Заполняется через SSR DOCO) @Num - номер визы, обязательный @IssueDate - дата(dd.mm.yyyy) выдачи визы, обязательный @IssueCountry - страна выдачи визы, обязательный @IssuePlace - место выдачи визы, обязательный @BirthCountry - страна рождения(IATA код страны), необязательный @BirthCity - город рождения(название), необязательный --> <VisaInfo Num="" IssueDate="" IssueCountry="" IssuePlace="" BirthCountry="" BirthCity=""/> <!--Адрес прибытия, необязательный.(Заполняется через SSR DOCA) Но для въезжающих в США(неграждан США) информация является обязательной. Если она не заполняется при оформлении брони, то её всё равно придётся заполнить при посадке на самолёт. @CountryCode - Код страны. Обязательный @State - Штат или область въезда. Обязательный @PostalCode - Почтовый код. Обязательный @City - Город. Обязательный @StreetAddress - Адрес: улица, номер дома, квартиры и тп. Обязательный --> <ArrAddress CountryCode="" State="" PostalCode="" City="" StreetAddress=""/> <!--Информация о предпочитаемом месте. Если указаны номер ряда и номер места, то параметры @Smoking и @Location игнорируются и могут быть не указаны. Необязательный--> <!--@SmokingAllowed - булевское значение, true - место для курящих, false - место для некурящих, необязательный--> <!--@Location - положение места в ряде, необязательный, возможные значения: W - у окна (Window) M - где-то в середине ряда (Middle) NPW - возле прохода (NearPassengerWay) NS - нет предпочтения (NotSpecified) --> <!--@RowNumber - Номер ряда, строка, необязательный--> <!--@PlaceNumber - Номер места, строка, необязательный--> <!--@SegNumber - Номер сегмента, строка, обязательный--> <PreferedPlace SmokingAllowed="" Location="" RowNumber="" PlaceNumber="" SegNumber=""/> <DocStringFormats> <!--Формат паспортной строки, обязательный, возможные значения: DOCS - строка формата DOCS, FOID - строка формата FOID--> <DocStringFormat></DocStringFormat> </DocStringFormats>
</Traveller>
</Travellers>
<AutoCancelDate>2014-03-14T09:45:00</AutoCancelDate>
<TimeLimits>
<TicketingTimeLimit>2014-03-14T12:45:00</TicketingTimeLimit>
<PriceTimeLimit>2014-03-14T10:45:00</PriceTimeLimit>
<AdvancedPurchaseTimeLimit>2014-03-14T12:40:00</AdvancedPurchaseTimeLimit>
<AgencyTimeLimit>2014-03-14T09:45:00</AgencyTimeLimit>
</TimeLimits>
</BookFlight>
<Requisites/>
</ns1:BookFlightResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope></presyntaxhighlight></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://release.mlsd.ru/nemoflights/?version%3D1.0%26for%3DBookFlight"> <SOAP-ENV:Body> <ns1:BookFlightResponse> <ResponseBin> <Error Code="E001936">Invalid Flight ID</Error> </ResponseBin> </ns1:BookFlightResponse> </SOAP-ENV:Body></SOAP-ENV:Envelope></syntaxhighlight></div></div> == Общий формат запроса / ответа отмены бронирования == После бронирования, если не истек таймлимит, можно аннулировать сделанный заказ. Аннуляция заказа в Nemo может быть ручной (сделанной пользователем) и автоматической — по истечению таймлимита, установленного для заказа, система сама аннулирует заказ. WSDL: http://CLIENT_DOMAIN/nemoflights/wsdl.php?for=CancelBook <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%3DCancelBook"> <soapenv:Header/> <soapenv:Body> <ver:CancelBook> <RequestBin> <Request> <CancelBook BookID="?"/> <!--BookID — Id брони в системе Nemo, целое число--> </Request> <Source> <ClientId>?</ClientId> <!--ClientId — ID клиента в системе Nemo. Можно посмотреть/добавить в разделе "Администрирование" ? "Веб-служба. Авторизация".--> <APIKey>?</APIKey> <!--APIKey — секретный ключ доступа к API Nemo. Можно посмотреть/добавить в разделе "Администрирование" ? "Веб-служба. Авторизация".--> <Language>?</Language> <!--Language — язык--> <Currency>?</Currency> <!-- CUrrency — валюта--> </Source> </RequestBin> </ver:CancelBook> </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%3DCancelBook" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SOAP-ENV:Body> <ns1:CancelBookResponse> <ResponseBin> <Response> <CancelBook BookID="?"> <!--BookID — Id брони в системе Nemo, целое число--> <Result Success="?"/> <!--Success — результат отмены брони, true или false--> </CancelBook> <Requisites/> <RequestType xsi:nil="true"/> <UserID xsi:nil="true"/> <Error Code="?">Сообщение об ошибке</Error> </Response> </ResponseBin> </ns1:CancelBookResponse> </SOAP-ENV:Body></SOAP-ENV:Envelope></syntaxhighlight></div></div> == См. также == *[[Агентский API Авиабилеты]]*[[Бронирование]] [[Категория:Интеграция]][[Категория:Агентский API]]
'