Изменения

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

Интеграция со сторонними системами АПИ

42 661 байт убрано, 18:31, 24 апреля 2015
API Поиска отелей
==API Поиска отелей==
'''Агентский API Отелей''' - система, которая предоставляет возможность поиска и бронирования отелей а так же получение информации о времени и размерах штрафов, уникальной информации об отеле, получение статической информации.
 
=== Динамические данные ===
==== Поиск ====
 
Сервис предназначен для получения списка отелей, удовлетворяющих условиям запроса. В условия запроса входят: идентификатор города, где будет вестись поиск; дата заезда и дата выезда; информация о количестве людей и способе их размещения в комнатах. Так же указываются дополнительные необязательные поля фильтров.
 
Для получения списка доступных городов, воспользуйтесь запросом на выгрузку статики (см. ССЫЛКА). Список допустимых отелей для фильтра также доступен через сервис (см. ССЫЛКА). Рекомендуется выгрузить все данные по отелям, городам и странам в локальную базу, для экономии времени и запросов.
 
'''WSDL''' (тестовый сервер): [http://tst.nemo-ibe.com/wsdev/wsdl.php?for=HotelsSearch http://tst.nemo-ibe.com/wsdev/wsdl.php?for=HotelsSearch]
 
<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://tst.nemo-ibe.com/wsdev/?version%3D1.0%26for%3DHotelsSearch">
<soapenv:Header/>
<soapenv:Body>
<ver:search>
<RequestBin>
<Request>
<HotelSearch>
<CityId>22046</CityId>
<DateBegin>2013-10-15</DateBegin>
<DateEnd>2013-10-18</DateEnd>
<Rooms>
<!--Zero or more repetitions:-->
<Room>
<Persons>
<!--Zero or more repetitions:-->
<Person Id="1" Type="ADT" Age="30"/>
<Person Id="2" Type="CLD" Age="10"/>
</Persons>
<!--Optional:-->
<DoubleBed>false</DoubleBed>
</Room>
<Room>
<Persons>
<!--Zero or more repetitions:-->
<Person Id="1" Type="ADT" Age="30"/>
</Persons>
</Room>
</Rooms>
<!--Optional:-->
<Filters>
<Hotels>
<!--Zero or more repetitions:-->
<!--<Id>123</Id>-->
</Hotels>
</Filters>
</HotelSearch>
</Request>
<Source>
<ClientId></ClientId>
<APIKey></APIKey>
<Language>ru</Language>
<Currency>RUB</Currency>
</Source>
</RequestBin>
</ver:search>
</soapenv:Body>
</soapenv:Envelope>
</syntaxhighlight>
 
Элемент '''HotelSearch'''
{| style="width: 800px" class="wikitable"
|-
! scope="col" width="200" | Элемент
! scope="col" width="300" | Описание
! scope="col" width="300" | Допустимые значения
|-
| CityId
| Обязательный. Идентификатор города в системе Nemo.
| Целое число
|-
| DateBegin
| Обязательный. Дата заселения.
| Формат гггг-мм-дд.
|-
| DateEnd
| Обязательный. Дата выезда.
| Формат гггг-мм-дд.
|-
| Rooms
| Обязательный. Содержит массив запрашиваемых номеров/апартаментов.
| Элемент Room. Максимум 4 элемента Room.
|-
| Filters
| Необязательный. Содержит различные фильтры поиска отелей.
| Элемент Hotels.
|}
 
Элемент '''Room'''
{| style="width: 800px" class="wikitable"
|-
! scope="col" width="200" | Элемент
! scope="col" width="300" | Описание
! scope="col" width="300" | Допустимые значения
|-
| Persons
| Обязательный. Содержит данные о клиентах в номерах.
| Элемент Person
|-
| DoubleBed
| Необязательный. Может быть использован только если сумма количества детей и взрослых равна 2-м, а также
Если в запросе сумма детей и взрослых не равна 2, то данный элемент будет проигнорирован.
| true/false
true означает, что номер должен иметь двуспальную кровать
|}
 
Элемент '''Person'''
{| style="width: 800px" class="wikitable"
|-
! scope="col" width="200" | Элемент
! scope="col" width="300" | Описание
! scope="col" width="300" | Допустимые значения
|-
| Атрибут Id
| Уникальный идентификатор. См. результаты бронирования.
| Целое число
|-
| Атрибут Type
| Тип клиента.
Если не указан, будет определен по возрасту Age.
| Константы:
ADT - взрослый
CLD - ребенок 2-12 лет
INF - младенец до 2х лет
|-
| Атрибут Age
| Возраст. Обязателен для детей (CLD).
| Целое число. Количество лет.
|}
 
Элемент '''Filters'''
{| style="width: 800px" class="wikitable"
|-
! scope="col" width="200" | Элемент
! scope="col" width="300" | Описание
! scope="col" width="300" | Допустимые значения
|-
| Hotels
| Необязательный. Набор идентификаторов отелей в системе Nemo.
Результаты поиска будут ограничены только этими отелями. Данная опция может существенно ускорить поиск - рекомендуется всегда устанавливать при поиске конкретных отелей.
| Элемент Id – целое число
|}
 
Элемент '''Source'''
{| style="width: 800px" class="wikitable"
|-
! scope="col" width="200" | Элемент
! scope="col" width="300" | Описание
! scope="col" width="300" | Допустимые значения
|-
| ClientID
| Обязательный. ID клиента в системе Nemo.
Можно посмотреть/добавить в "Администрирование" ⇨ "Веб-служба. Авторизация".
| Целое число.
|-
| APIKey
| Обязательный. APIKey - секретный ключ доступа к API Nemo.
Можно посмотреть/добавить в "Администрирование" ⇨ "Веб-служба. Авторизация".
| Латинские буквы и цифры. Всего 32 символа.
|}
</div>
</div>
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:1000px">
===== Ответ =====
<div class="mw-collapsible-content">
Система по заданным параметрам ищет отели и возвращает результаты поиска. Все результаты поиска хранятся в базе Nemo определенный срок и доступны для бронирования по идентификатору CacheId.
 
Структура ответа - это набор уникальных отелей. У каждого указан Id - это идентификатор из базы Nemo. По нему можно получить дополнительную статичную информацию из путеводителя Nemo.
 
Каждый отель содержит:
* Набор номеров &lt;Rooms&gt;. Типы номеров (одноместный, двухместный и т.д.)&nbsp;: устанавливается автоматически по количеству клиентов из запроса.
* Сервисы &lt;Services&gt;. Каждый отель предлагает различные типы обслуживания в номерах. Цена и доступность может различаться.
* Категория &lt;Categories&gt;. Это допустимые комбинации номер + обслуживание. Для бронирования отеля пользователь должен выбрать одну из предлагаемых ему категорий.
 
<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://tst.nemo-ibe.com/wsdev/?version%3D1.0%26for%3DHotelsSearch">
<SOAP-ENV:Body>
<ns1:searchResponse>
<ResponseBin>
<Response>
<HotelSearch>
<Hotels>
<Hotel Id="1872666">
<Supplier>GTA</Supplier>
<CityId>22046</CityId>
<DateBegin>2013-10-15</DateBegin>
<DateEnd>2013-10-18</DateEnd>
<CacheId>1872666</CacheId>
<Name>ADLON KEMPINSKI</Name>
<Categories>
<Category Id="1">
<Rooms>
<Room Count="1" Id="1" ServiceId="1"/>
<Room Count="1" Id="2" ServiceId="2"/>
</Rooms>
<TotalPrice Currency="RUB">74733.84</TotalPrice>
</Category>
</Categories>
<Services>
<Service Id="1" Status="OK">
<Desc>Standard Twin</Desc>
<Meal>Full Breakfast</Meal>
<Price/>
</Service>
<Service Id="2" Status="OK">
<Desc>Standard Twin</Desc>
<Meal>Full Breakfast</Meal>
<Price/>
</Service>
</Services>
<Rooms>
<Room Id="1" Type="TWIN"/>
<Room Id="2" Type="SNGL"/>
</Rooms>
</Hotel>
...
</Hotels>
</HotelSearch>
</Response>
</ResponseBin>
</ns1:searchResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
</syntaxhighlight>
 
Элемент '''Hotel'''
{| style="width: 800px" class="wikitable"
|-
! scope="col" width="200" | Элемент
! scope="col" width="300" | Описание
! scope="col" width="300" | Допустимые значения
|-
| Атрибут Id
| Обязательный. Идентификатор отеля как одного из результатов поиска в системе Nemo.
| Целое число.
|-
| Supplier
| Обязательный. Тип поставщика, в котором найден отель.
| Строка.
Возможные значения:
GTA
HOTELBEDS
DOTW
SERHS
MIKI
TRAVCO
ACADEM
TOURICO
|-
| CityId
| Обязательный. Идентификатор города в системе Nemo.
| Целое число.
|-
| CacheId
| Обязательный. Идентификатор результата поиска для данного отеля в системе Nemo.
| Целое число.
|-
| Name
| Обязательный. Название отеля.
| Строка в произвольном формате.
|-
| Services
| Обязательный. Услуги в отеле.
| Элемент Service
|-
| Rooms
| Обязательный. Комнаты в отеле.
| Элемент Room
|-
| Categories
| Обязательный. Категории, доступные для бронирования в отеле.
| Элемент Category
|}
 
Элемент '''Service'''
{| style="width: 800px" class="wikitable"
|-
! scope="col" width="200" | Элемент
! scope="col" width="300" | Описание
! scope="col" width="300" | Допустимые значения
|-
| Атрибут Id
| Обязательный. Идентификатор услуги.
| Целое число
|-
| Атрибут Status
| Обязательный. Доступность отеля. ОК означает доступен (мгновенное подтверждение).
RQ - недоступен (по запросу).
| ОК/RQ
|-
| Desc
| Необязательный. Описание отеля.
| Строка в произвольном формате.
|-
| Meal
| Обязательный. Питание для данного сервиса.
| Строка в произвольном формате.
|-
| Price
| Необязательный. Указывает на стоимость номера с данной услугой.
| Вещественное число.
Атрибут Currency - код валюты.
|}
 
Элемент '''Room'''
{| style="width: 800px" class="wikitable"
|-
! scope="col" width="200" | Элемент
! scope="col" width="300" | Описание
! scope="col" width="300" | Допустимые значения
|-
| Атрибут Id
| Обязательный. Идентификатор комнаты в отеле.
| Целое число.
|-
| Type
| Обязательный. Тип номера.
| Строка. Возможные значения:
SNGL – одноместный
DBL – двухместный с двухспальной кроватью
TWIN – двухместный с двумя кроватями
TRIP – трёхместный
QUAD – четырёхместный
|}
 
Элемент '''Category'''
{| style="width: 800px" class="wikitable"
|-
! scope="col" width="200" | Элемент
! scope="col" width="300" | Описание
! scope="col" width="300" | Допустимые значения
|-
| Атрибут Id
| Обязательный. Идентификатор категории.
| Целое число.
|-
| Rooms
| Обязательный. Массив комнат с соответствием услуг.
| Целое число.
|-
| Room
| Атрибут: Count
 
Обязательный.
Количество комнат данного типа.
 
Атрибут: Id
 
Обязательный. Идентификатор комнаты из атрибута Id в элементе Hotel-> Rooms-> Room.
 
Атрибут: ServiceId
 
- Идентификатор услуги из атрибута Id элемента Service.
| Целое число.
 
Целое число.
 
Целое число.
|-
| TotalPrice
| Обязательный. Суммарная стоимость бронируемого сочетания “Комнаты - услуги”.
| Вещественное число.
Атрибут Currency - код валюты.
|}
</div>
</div>
 
 
 
==== Расширенная информация по одному отелю ====
Сервис получения дополнительной информации об отеле требует указания идентификатора отеля в системе Nemo и категории.
 
'''WSDL''' (тестовый сервер): http://tst.nemo-ibe.com/wsdev/wsdl.php?for=HotelExtInfo
 
<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://tst.nemo-ibe.com/wsdev/?version%3D1.0%26for%3DHotelExtInfo">
<soapenv:Header/>
<soapenv:Body>
<ver:extInfo>
<RequestBin>
<Request>
<HotelExtInfo>
<Item>
<CacheId>1867246</CacheId>
<!--Optional:-->
<CategoryId>1</CategoryId>
</Item>
</HotelExtInfo>
</Request>
<Source>
<ClientId></ClientId>
<APIKey></APIKey>
<Language>ru</Language>
<Currency>RUB</Currency>
</Source>
</RequestBin>
</ver:extInfo>
</soapenv:Body>
</soapenv:Envelope>
</syntaxhighlight>
 
Элемент '''Item'''
{| style="width: 800px" class="wikitable"
|-
! scope="col" width="200" | Элемент
! scope="col" width="300" | Описание
! scope="col" width="300" | Допустимые значения
|-
| CacheId
| Обязательный. Идентификатор результата поиска.
| Целое число
|-
| CategoryId
| ID выбранной категории.
| Целое число
|}
 
Элемент '''Source'''
{| style="width: 800px" class="wikitable"
|-
! scope="col" width="200" | Элемент
! scope="col" width="300" | Описание
! scope="col" width="300" | Допустимые значения
|-
| ClientID
| Обязательный. ID клиента в системе Nemo.
Можно посмотреть/добавить в "Администрирование" ⇨ "Веб-служба. Авторизация".
| Целое число.
|-
| APIKey
| Обязательный. APIKey - секретный ключ доступа к API Nemo.
Можно посмотреть/добавить в "Администрирование" ⇨ "Веб-служба. Авторизация".
| Латинские буквы и цифры. Всего 32 символа.
|}
</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://tst.nemo-ibe.com/wsdev/?version%3D1.0%26for%3DHotelExtInfo"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<SOAP-ENV:Body>
<ns1:extInfoResponse>
<ResponseBin>
<Response>
<HotelExtInfo>
<CategoryId>1</CategoryId>
<PriceInfo>
<PriceBreakDown>
<Date>
<From>2013-10-15</From>
<To>2013-10-18</To>
<Price Currency="RUB">12455.64</Price>
</Date>
<Date>
<From>2013-10-15</From>
<To>2013-10-18</To>
<Price Currency="RUB">12455.64</Price>
</Date>
</PriceBreakDown>
<Netto Currency="EUR">1821</Netto>
<Gross xsi:nil="true"/>
</PriceInfo>
</HotelExtInfo>
</Response>
</ResponseBin>
</ns1:extInfoResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
</syntaxhighlight>
 
Элемент '''HotelExtInfo'''
{| style="width: 800px" class="wikitable"
|-
! scope="col" width="200" | Элемент
! scope="col" width="300" | Описание
! scope="col" width="300" | Допустимые значения
|-
| CategoryId
| Обязательный. Идентификатор категории.
| Целое число
|-
| PriceInfo
| Обязательный. Элемент содержащий информацию о цене
| см. Элемент PriceInfo
|}
 
Элемент '''PriceInfo'''
{| style="width: 800px" class="wikitable"
|-
! scope="col" width="200" | Элемент
! scope="col" width="300" | Описание
! scope="col" width="300" | Допустимые значения
|-
| style="width:208px; height:35px" |
PriceBreakDown
| style="width:208px; height:35px" |
Необязательный. Информация о ценах, расписанная по каждому дню.
| style="width:208px; height:35px" |
Список элементов Date
|-
| Netto
| Обязательный. Стоимость от поставщика.
| Вещественное число.
Атрибут Currency - код валюты.
|-
| Gross
| Обязательный. Общая стоимость.
| Вещественное число.
Атрибут Currency - код валюты.
|}
 
Элемент '''Date'''
{| style="width: 800px" class="wikitable"
|-
! scope="col" width="200" | Элемент
! scope="col" width="300" | Описание
! scope="col" width="300" | Допустимые значения
|-
| From
| Обязательный. Дата начала действия тарифа
| Формат гггг-мм-дд
|-
| To
| Обязательный. Дата окончания действия тарифа
| Формат гггг-мм-дд
|-
| Price
| Цена за одну ночь.
| Вещественное число.
Атрибут Currency - код валюты.
|}
</div>
</div>
 
=== Статические данные ===
Для работы с веб-сервисом Nemo необходимо выгрузить статичные данные. Это данные о странах, городах и отелях.
==== Страна ====
'''WSDL''' (тестовый сервер): http://tst.nemo-ibe.com/wsdev/wsdl.php?for=CountryStatic
<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://tst.nemo-ibe.com/wsdev/?version%3D1.0%26for%3DCountryStatic">
<soapenv:Header/>
<soapenv:Body>
<ver:countries>
<RequestBin>
<Request>
<CountryStatic>
</CountryStatic>
</Request>
<Source>
<ClientId></ClientId>
<APIKey></APIKey>
<Language>ru</Language>
<Currency>RUB</Currency>
</Source>
</RequestBin>
</ver:countries>
</soapenv:Body>
</soapenv:Envelope>
</syntaxhighlight>
 
Элемент '''Request'''
{| style="width: 800px" class="wikitable"
|-
! scope="col" width="200" | Элемент
! scope="col" width="300" | Описание
! scope="col" width="300" | Допустимые значения
|-
| CountryStatic
| Пустой элемент
| <br/>
|}
 
Элемент '''Source'''
{| style="width: 800px" class="wikitable"
|-
! scope="col" width="200" | Элемент
! scope="col" width="300" | Описание
! scope="col" width="300" | Допустимые значения
|-
| ClientID
| Обязательный. ID клиента в системе Nemo.
Можно посмотреть/добавить в "Администрирование" ⇨ "Веб-служба. Авторизация".
| Целое число.
|-
| APIKey
| Обязательный. APIKey - секретный ключ доступа к API Nemo.
Можно посмотреть/добавить в "Администрирование" ⇨ "Веб-служба. Авторизация".
| Латинские буквы и цифры. Всего 32 символа.
|}
</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://tst.nemo-ibe.com/wsdev/?version%3D1.0%26for%3DCountryStatic"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<SOAP-ENV:Body>
<ns1:countriesResponse>
<ResponseBin>
<Response>
<CountryStatic>
<Countries>
<Country Id="4">
<Code>AF</Code>
<Continent>asia</Continent>
<Data>
<Info Language="RU">
<Name>Афганистан</Name>
</Info>
<Info Language="EN">
<Name>Afghanistan</Name>
</Info>
</Data>
</Country>
</Countries>
</CountryStatic>
</Response>
</ResponseBin>
</ns1:countriesResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
</syntaxhighlight>
 
Элемент '''CountryStatic'''
{| style="width: 800px" class="wikitable"
|-
! scope="col" width="200" | Элемент
! scope="col" width="300" | Описание
! scope="col" width="300" | Допустимые значения
|-
| Countries
| Обязательный
| Набор элементов Country
|}
 
Элемент '''Country'''
{| style="width: 800px" class="wikitable"
|-
! scope="col" width="200" | Элемент
! scope="col" width="300" | Описание
! scope="col" width="300" | Допустимые значения
|-
| Атрибут Id
| Обязательный. Идентификатор страны (ISO).
| Целое число
|-
| Code
| Обязательный. Код страны ISO.
| Строка из 2-х латинских букв
|-
| Continent
| Обязательный. Название континента.
| Строка.
|-
| Data
| Обязательный. Информация требующая перевода.
| Набор элементов Info.
|}
 
Элемент '''Info'''
{| style="width: 800px" class="wikitable"
|-
! scope="col" width="200" | Элемент
! scope="col" width="300" | Описание
! scope="col" width="300" | Допустимые значения
|-
| Атрибут Language
| Обязательный. Язык в котором представлена информация.
| Строка из 2-х латинских букв.
|-
| Name
| Обязательный. Наименование страны.
| Строка в произвольном формате.
|}
</div>
</div>
 
 
 
==== Город ====
Параметры поиска всех услуг требуют указания ID города. Города выгружаются по каждой стране следующим запросом:
 
'''WSDL''' (тестовый сервер): http://tst.nemo-ibe.com/wsdev/wsdl.php?for=CityStatic
 
<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://tst.nemo-ibe.com/wsdev/?version%3D1.0%26for%3DCityStatic">
<soapenv:Header/>
<soapenv:Body>
<ver:cities>
<RequestBin>
<Request>
<CityStatic>
<CountryId>4</CountryId>
</CityStatic>
</Request>
<Source>
<ClientId></ClientId>
<APIKey></APIKey>
<Language>ru</Language>
<Currency>RUB</Currency>
</Source>
</RequestBin>
</ver:cities>
</soapenv:Body>
</soapenv:Envelope>
</syntaxhighlight>
 
Элемент '''CityStatic'''
{| style="width: 800px" class="wikitable"
|-
! scope="col" width="200" | Элемент
! scope="col" width="300" | Описание
! scope="col" width="300" | Допустимые значения
|-
| CountryId
| Обязательный. Идентификатор страны.
| Целое число
|}
 
Элемент '''Source'''
{| style="width: 800px" class="wikitable"
|-
! scope="col" width="200" | Элемент
! scope="col" width="300" | Описание
! scope="col" width="300" | Допустимые значения
|-
| ClientID
| Обязательный. ID клиента в системе Nemo.
Можно посмотреть/добавить в "Администрирование" ⇨ "Веб-служба. Авторизация".
| Целое число.
|-
| APIKey
| Обязательный. APIKey - секретный ключ доступа к API Nemo.
Можно посмотреть/добавить в "Администрирование" ⇨ "Веб-служба. Авторизация".
| Латинские буквы и цифры. Всего 32 символа.
|}
</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://tst.nemo-ibe.com/wsdev/?version%3D1.0%26for%3DCityStatic">
<SOAP-ENV:Body>
<ns1:citiesResponse>
<ResponseBin>
<Response>
<CityStatic>
<Cities>
<City Id="1">
<Name>Кабул</Name>
<CountryId>4</CountryId>
<Data>
<Info Language="EN">
<Name>Kabul</Name>
</Info>
<Info Language="RU">
<Name>Кабул</Name>
</Info>
</Data>
</City>
<City Id="204793">
<Name>Aibak</Name>
<CountryId>4</CountryId>
<Data>
<Info Language="EN">
<Name>Aibak</Name>
</Info>
<Info Language="RU">
<Name>Aibak</Name>
</Info>
</Data>
</City>
<City Id="204785">
<Name>Anar Darah</Name>
<CountryId>4</CountryId>
<Data>
<Info Language="EN">
<Name>Anar Darah</Name>
</Info>
<Info Language="RU">
<Name>Anar Darah</Name>
</Info>
</Data>
</City>
...
</Cities>
</CityStatic>
</Response>
</ResponseBin>
</ns1:citiesResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
</syntaxhighlight>
 
Элемент '''CityStatic'''
{| style="width: 800px" class="wikitable"
|-
! scope="col" width="200" | Элемент
! scope="col" width="300" | Описание
! scope="col" width="300" | Допустимые значения
|-
| Cities
| Обязательный. Массив городов.
| Набор элементов City
|}
 
Элемент '''City'''
{| style="width: 800px" class="wikitable"
|-
! scope="col" width="200" | Элемент
! scope="col" width="300" | Описание
! scope="col" width="300" | Допустимые значения
|-
| Атрибут '''Id'''
| Обязательный. Идентификатор города.
| Целое число
|-
| Name
| Название города.
|
|-
| Data
| Названия городов на разных языках. В данный момент поддерживаются названия на русском и английском.
| См. описание элемента Data в ответе получения информации о стране.
|}
</div>
</div>
 
==== Статика по отелям и апартаментам ====
Этот запрос будет использоваться для выгрузки статичной информации по одному или нескольким отелям.
 
'''WSDL''' (тестовый сервер): http://tst.nemo-ibe.com/wsdev/wsdl.php?for=HotelStatic
 
<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://tst.nemo-ibe.com/wsdev/?version%3D1.0%26for%3DHotelStatic">
<soapenv:Header/>
<soapenv:Body>
<ver:hotels>
<RequestBin>
<Request>
<HotelStatic>
<CityId>58166</CityId>
</HotelStatic>
</Request>
<Source>
<ClientId></ClientId>
<APIKey></APIKey>
<Language>ru</Language>
<Currency>RUB</Currency>
</Source>
</RequestBin>
</ver:hotels>
</soapenv:Body>
</soapenv:Envelope>
</syntaxhighlight>
 
Элемент '''Hotels'''
{| style="width: 800px" class="wikitable"
|-
! scope="col" width="200" | Элемент
! scope="col" width="300" | Описание
! scope="col" width="300" | Допустимые значения
|-
| CityId
| Обязательный. Идентификатор города из которого необходимо получить отели.
| Целое число
|}
 
Элемент '''Source'''
{| style="width: 800px" class="wikitable"
|-
! scope="col" width="200" | Элемент
! scope="col" width="300" | Описание
! scope="col" width="300" | Допустимые значения
|-
| ClientID
| Обязательный. ID клиента в системе Nemo.
Можно посмотреть/добавить в "Администрирование" ⇨ "Веб-служба. Авторизация".
| Целое число.
|-
| APIKey
| Обязательный. APIKey - секретный ключ доступа к API Nemo.
Можно посмотреть/добавить в "Администрирование" ⇨ "Веб-служба. Авторизация".
| Латинские буквы и цифры. Всего 32 символа.
|}
</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://tst.nemo-ibe.com/wsdev/?version%3D1.0%26for%3DHotelStatic"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<SOAP-ENV:Body>
<ns1:hotelsResponse>
<ResponseBin>
<Response>
<HotelStatic>
<Hotels>
<Hotel Id="271714" Apartment="false">
<CityId>58166</CityId>
<CountryId>643</CountryId>
<Latitude xsi:nil="true"/>
<Longitude xsi:nil="true"/>
<Rating>3</Rating>
<Floors xsi:nil="true"/>
<Data>
<Info>
<Name>* Azimut (business)</Name>
<Area xsi:nil="true"/>
<Location>Within city</Location>
<Desc>This 3 star hotel is located within the city of St Petersburg.</Desc>
<Address>43/1 Lermoutovsky Prospect, St Petersburg, 190103</Address>
</Info>
</Data>
<Phones>
<Phone>812 7402640</Phone>
</Phones>
<Fax>812 2518890</Fax>
<Images/>
</Hotel>
<Hotel Id="159535" Apartment="false">
<CityId>58166</CityId>
<CountryId>643</CountryId>
<Latitude>59.935011</Latitude>
<Longitude>30.309284</Longitude>
<Rating>5</Rating>
<Floors xsi:nil="true"/>
<Data>
<Info>
<Name>W St.petersburg</Name>
<Area xsi:nil="true"/>
<Location>City centre</Location>
<Desc>This 5 star hotel is located in the city centre of St Petersburg
and was established in 2011. It is close to the St.Isaac's Cathedral
and the nearest station is Admiralteyskaya station. The Hotel has
a restaurant, 2 bars, a conference room, a coffee shop, an indoor
swimming pool and a fitness centre/gym. All 137 rooms are equipped
with minibar, hairdryer, safe, trouser press and air conditioning.</Desc>
<Address>6 Voznesensky Prospect, St. Petersburg, 190000, St Petersburg, Russia</Address>
</Info>
</Data>
<Phones/>
<Fax>+7 812 6106160</Fax>
<Images>
<Image>
<Path>https://www.miki.co.uk/live/hotel/mikiNet/image/v1.0/RU/44018/406/lr/ext.jpg</Path>
<Icon>https://www.miki.co.uk/live/hotel/mikiNet/image/v1.0/RU/44018/406/ext-t.jpg</Icon>
</Image>
<Image>
<Path>https://www.miki.co.uk/live/hotel/mikiNet/image/v1.0/RU/44018/406/lr/unknown.jpg</Path>
<Icon>https://www.miki.co.uk/live/hotel/mikiNet/image/v1.0/RU/44018/406/unknown-t.jpg</Icon>
</Image>
<Image>
<Path>https://www.miki.co.uk/live/hotel/mikiNet/image/v1.0/RU/44018/406/lr/bed room.jpg</Path>
<Icon>https://www.miki.co.uk/live/hotel/mikiNet/image/v1.0/RU/44018/406/bed room-t.jpg</Icon>
</Image>
</Images>
</Hotel>
...
</Hotels>
</HotelStatic>
</Response>
</ResponseBin>
</ns1:hotelsResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
</syntaxhighlight>
 
Элемент '''Hotel'''
{| style="width: 800px" class="wikitable"
|-
! scope="col" width="200" | Элемент
! scope="col" width="300" | Описание
! scope="col" width="300" | Допустимые значения
|-
| Атрибут Id
| Обязательный. Идентификатор отеля в системе Nemo.
| Целое число.
|-
| CityId
| Обязательный. Идентификатор города.
| Целое число.
|-
| CountryId
| Обязательный. Идентификатор страны .
| Целое число.
|-
| Latitude
| Необязательный. Широта.
| Вещественное число.
|-
| Longitude
| Необязательный. Долгота.
| Вещественное число.
|-
| Rating
| Необязательный. Рейтинг.
| Вещественное число.
|-
| Floors
| Необязательный. Количество этажей
| Целое число.
|-
| Data
| Необязательный.
| Набор элементов Info.
|-
| Phones
| Необязательный. Массив телефонов.
| Набор элементов Phone.
|-
| Fax
| Необязательный. Факс.
| Строка в произвольном формате.
|-
| Images
| Необязательный. Маcсив изображений.
| Набор элементов Image.
|}
 
Элемент '''Info'''
{| style="width: 800px" class="wikitable"
|-
! scope="col" width="200" | Элемент
! scope="col" width="300" | Описание
! scope="col" width="300" | Допустимые значения
|-
| Name
| Обязательный. Наименование отеля.
| Строка в произвольном формате.
|-
| Area
| Необязательный. Описание места расположения отеля.
| Строка в произвольном формате.
|-
| Location
| Необязательный. Район города.
| Строка в произвольном формате.
|-
| Desc
| Необязательный. Описание отеля.
| Строка в произвольном формате.
|-
| Address
| Необязательный. Адрес отеля.
| Строка в произвольном формате.
|}
 
Элемент '''Phones'''
{| style="width: 800px" class="wikitable"
|-
! scope="col" width="200" | Элемент
! scope="col" width="300" | Описание
! scope="col" width="300" | Допустимые значения
|-
| Phone
| Обязательный. Телефон.
| Строка в произвольном формате.
|}
 
Элемент '''Image'''
{| style="width: 800px" class="wikitable"
|-
! scope="col" width="200" | Элемент
! scope="col" width="300" | Описание
! scope="col" width="300" | Допустимые значения
|-
| Path
| Необязательный. Путь к полному изображению.
| Строка в произвольном формате.
|-
| Icon
| Необязательный. Путь к миниатюре, иконке.
| Строка в произвольном формате.
|}
</div>
</div>
 
 
==API бронирования, аннуляции, войдирования авиабилетов==

Навигация

'