Агентский API Отели: различия между версиями

Материал из Центр поддержки системы бронировании
Перейти к навигации Перейти к поиску
(Запрос)
 
(не показано 139 промежуточных версий 5 участников)
Строка 1: Строка 1:
== Динамические данные ==
+
{{Attention|В системе реализован усовершенствованный API-проект «Nemo Connect», настоятельно рекомендуем подключаться по схеме, описанной в документации по [http://docs.nemo.travel/ ссылке]}}
=== Поиск ===
+
 
 +
[[Категория:Агентский API]]
 +
[[Категория:Интеграция]]
 +
[[Файл:Nemo-logo.png‎|right]]
 +
'''Агентский 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>
 +
 
==== Ошибки ====
 
==== Ошибки ====
=== Штрафы за аннуляцию ===
+
 
 +
== Штрафы за аннуляцию ==
 +
 
 +
Всегда в явном виде нужно указывать пользователю информацию о штрафах за аннуляцию до бронирования.
 +
 
 +
Штрафы получаются по каждой услуге отдельным запросом. Нужно указать тип услуги, идентификатор результата поиска и выбранную категорию.
 +
 
 +
Внимание. Для отелей из Hotelbeds (Supplier=HOTELBEDS) штрафы до бронирования получить невозможно.
 +
 
 +
'''WSDL''' (тестовый сервер): http://tst.nemo-ibe.com/wsdev/wsdl.php?for=Penalty
 +
 
 +
<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%3DPenalty">
 +
  <soapenv:Header/>
 +
  <soapenv:Body>
 +
    <ver:penalty>
 +
      <RequestBin>
 +
        <Request>
 +
          <Penalty>
 +
            <Item>
 +
              <Type>HOTELS</Type>
 +
              <CacheId>1867246</CacheId>
 +
              <CategoryId>1</CategoryId>
 +
            </Item>
 +
          </Penalty>
 +
        </Request>
 +
        <Source>
 +
          <ClientId></ClientId>
 +
          <APIKey></APIKey>
 +
          <Language>ru</Language>
 +
          <Currency>RUB</Currency>
 +
        </Source>
 +
      </RequestBin>
 +
    </ver:penalty>
 +
  </soapenv:Body>
 +
</soapenv:Envelope>
 +
</syntaxhighlight>
 +
 +
Элемент '''Item'''
 +
{| style="width: 800px" class="wikitable"
 +
|-
 +
! scope="col" width="200" | Элемент
 +
! scope="col" width="300" | Описание
 +
! scope="col" width="300" | Допустимые значения
 +
|-
 +
| Type
 +
| Обязательный. Тип объекта.
 +
| HOTELS
 +
|-
 +
| CacheId
 +
| Обязательный. Идентификатор результата поиска в системе Nemo.
 +
| Целое число
 +
|-
 +
| CategoryId
 +
| Обязательный. Идентификатор категории.
 +
| Целое число
 +
|}
 +
 +
Элемент '''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%3DPenalty">
 +
  <SOAP-ENV:Body>
 +
    <ns1:penaltyResponse>
 +
      <ResponseBin>
 +
        <Response>
 +
          <Penalty>
 +
            <ItemDateBegin>2013-10-15 00:00:00</ItemDateBegin>
 +
            <CancelCharges>
 +
              <Charge>
 +
                <DateFrom>2013-10-12 00:00:00</DateFrom>
 +
                <DateTo>2013-10-15 23:59:59</DateTo>
 +
                <Money Currency="RUB">74733.84</Money>
 +
              </Charge>
 +
              <Charge>
 +
                <DateFrom>2013-09-23 00:00:00</DateFrom>
 +
                <DateTo>2013-10-11 00:00:00</DateTo>
 +
                <Money Currency="RUB">67260.46</Money>
 +
              </Charge>
 +
              <Charge>
 +
                <DateFrom>2013-08-01 17:59:00</DateFrom>
 +
                <DateTo>2013-09-22 00:00:00</DateTo>
 +
                <Money Currency="RUB">12455.64</Money>
 +
              </Charge>
 +
            </CancelCharges>
 +
            <ModifyCharges/>
 +
          </Penalty>
 +
        </Response>
 +
      </ResponseBin>
 +
    </ns1:penaltyResponse>
 +
  </SOAP-ENV:Body>
 +
</SOAP-ENV:Envelope>
 +
</syntaxhighlight>
 +
 +
Элемент '''Penalty'''
 +
{| style="width: 800px" class="wikitable"
 +
|-
 +
! scope="col" width="200" | Элемент
 +
! scope="col" width="300" | Описание
 +
! scope="col" width="300" | Допустимые значения
 +
|-
 +
| ItemDateBegin
 +
| Обязательный. Дата начала услуги (дата заселения в отель).
 +
| Формат гггг-мм-дд чч:мм:сс
 +
|-
 +
| CancelCharges
 +
| Необязательный. Содержит информацию о штрафах за аннуляцию.
 +
| Элемент Charge
 +
|-
 +
| ModifyCharges
 +
| Необязательный. Содержит информацию о штрафах за модификацию.
 +
| Элемент Charge
 +
|}
 +
 +
Штрафы разбиваются по временным интервалам. На каждом интервале указывается значение штрафа.
 +
 +
Элемент '''Charge'''
 +
{| style="width: 800px" class="wikitable"
 +
|-
 +
! scope="col" width="200" | Элемент
 +
! scope="col" width="300" | Описание
 +
! scope="col" width="300" | Допустимые значения
 +
|-
 +
| DateFrom
 +
| Обязательный. Дата/время начала интервала.
 +
| Формат гггг-мм-дд чч:мм:сс
 +
|-
 +
| DateTo
 +
| Необязательный. Дата/время окончания интервала.
 +
| Формат гггг-мм-дд чч:мм:сс
 +
|-
 +
| Money
 +
| Обязательный. Сумма штрафа.
 +
| Вещественное число.
 +
Атрибут: Currency - код валюты.
 +
|}
 +
</div>
 +
</div>
 +
 
==== Ошибки ====
 
==== Ошибки ====
=== Бронирование ===
+
 
 +
== Бронирование ==
 +
<div class="toccolours mw-collapsible mw-collapsed" style="width:1000px">
 
==== Запрос ====
 
==== Запрос ====
 +
<div class="mw-collapsible-content">
 +
Схема запроса позволяет указывать несколько услуг для бронирования сразу. Это было сделано с заделом на возможность расширения функциональности в будущем при сохранении совместимости.
 +
 +
Сейчас же необходимо указывать только 1 услугу-отель (элемент Item) в запросе на бронирование.
 +
 +
Для успешного запроса нужно указать:
 +
#Услугу. В запросе не требуется перечислять все параметры из результатов поиска, достаточно указать уникальный ID результата.
 +
#Информация о клиентах. Все клиенты перечисляются в отдельной ветке и нумеруются по порядку. Указатели (элементы с номером клиента), также добавляются в описание услуги.
 +
#Заказчик. Указатель на одну персону.
 +
 +
'''WSDL''' (тестовый сервер): http://tst.nemo-ibe.com/wsdev/wsdl.php?for=Booking
 +
 +
<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%3DBooking">
 +
  <soapenv:Header/>
 +
  <soapenv:Body>
 +
    <ver:booking>
 +
      <RequestBin>
 +
        <Request>
 +
          <Booking>
 +
            <Items>
 +
              <!--Zero or more repetitions:-->
 +
              <Item>
 +
                <!--You have a CHOICE of the next 3 items at this level-->
 +
                <HotelBookData>
 +
                  <CacheId>1872666</CacheId>
 +
                  <CategoryId>1</CategoryId>
 +
                  <Rooms>
 +
                    <!--Zero or more repetitions:-->
 +
                    <Room Id="2">
 +
                      <Persons>
 +
                        <!--Zero or more repetitions:-->
 +
                        <Person Number="1"/>
 +
                        <Person Number="2"/>
 +
                      </Persons>
 +
                    </Room>
 +
                    <Room Id="1">
 +
                      <Persons>
 +
                        <!--Zero or more repetitions:-->
 +
                        <Person Number="3"/>
 +
                      </Persons>
 +
                    </Room>
 +
                  </Rooms>
 +
                </HotelBookData>
 +
                <Customer>
 +
                  <Person Number="1"/>
 +
                </Customer>
 +
              </Item>
 +
            </Items>
 +
            <Persons>
 +
              <!--Zero or more repetitions:-->
 +
              <Person Number="1" Type="ADT">
 +
                <!--Optional:-->
 +
                <Lastname>IVANOV</Lastname>
 +
                <!--Optional:-->
 +
                <Name>IVAN</Name>
 +
                <!--Optional:-->
 +
                <Middlename>IVANOVICH</Middlename>
 +
                <!--Optional:-->
 +
                <DateOfBirth>1987-12-12</DateOfBirth>
 +
                <!--Optional:-->
 +
                <Phone>+79871231212</Phone>
 +
                <!--Optional:-->
 +
                <Email>m.rudenko@mute-lab.com</Email>
 +
                <!--Optional:-->
 +
                <Gender>MR</Gender>
 +
                <!--Optional:-->
 +
                <Document Type="P">
 +
                  <Series>1811</Series>
 +
                  <Number>912219</Number>
 +
                  <!--Optional:-->
 +
                  <IssueDate>2012-12-12</IssueDate>
 +
                  <!--Optional:-->
 +
                  <ExpiryDate>2014-12-12</ExpiryDate>
 +
                </Document>
 +
              </Person>
 +
              <Person Number="2" Type="CHD">
 +
                <!--Optional:-->
 +
                <Lastname>PETROV</Lastname>
 +
                <!--Optional:-->
 +
                <Name>IVAN</Name>
 +
                <!--Optional:-->
 +
                <Middlename>MIKHAILOVICH</Middlename>
 +
                <!--Optional:-->
 +
                <DateOfBirth>2008-12-12</DateOfBirth>
 +
                <!--Optional:-->
 +
                <Phone>+79871231212</Phone>
 +
                <!--Optional:-->
 +
                <Email>m.rudenko@mute-lab.com</Email>
 +
                <!--Optional:-->
 +
                <Gender>MR</Gender>
 +
                <!--Optional:-->
 +
                <Document Type="P">
 +
                  <Series>1866</Series>
 +
                  <Number>913319</Number>
 +
                  <!--Optional:-->
 +
                  <IssueDate>2012-12-12</IssueDate>
 +
                  <!--Optional:-->
 +
                  <ExpiryDate>2014-12-12</ExpiryDate>
 +
                </Document>
 +
              </Person>
 +
              <Person Number="3" Type="ADT">
 +
                <!--Optional:-->
 +
                <Lastname>SIDOROV</Lastname>
 +
                <!--Optional:-->
 +
                <Name>IVAN</Name>
 +
                <!--Optional:-->
 +
                <Middlename>SERGEEVICH</Middlename>
 +
                <!--Optional:-->
 +
                <DateOfBirth>1987-12-12</DateOfBirth>
 +
                <!--Optional:-->
 +
                <Phone>+79871231212</Phone>
 +
                <!--Optional:-->
 +
                <Email>m.rudenko@mute-lab.com</Email>
 +
                <!--Optional:-->
 +
                <Gender>MR</Gender>
 +
                <!--Optional:-->
 +
                <Document Type="P">
 +
                  <Series>1866</Series>
 +
                  <Number>913319</Number>
 +
                  <!--Optional:-->
 +
                  <IssueDate>2012-12-12</IssueDate>
 +
                  <!--Optional:-->
 +
                  <ExpiryDate>2014-12-12</ExpiryDate>
 +
                </Document>
 +
              </Person>
 +
            </Persons>
 +
          </Booking>
 +
        </Request>
 +
        <Source>
 +
          <ClientId></ClientId>
 +
          <APIKey></APIKey>
 +
          <Language>ru</Language>
 +
          <Currency>RUB</Currency>
 +
        </Source>
 +
      </RequestBin>
 +
    </ver:booking>
 +
  </soapenv:Body>
 +
</soapenv:Envelope>
 +
</syntaxhighlight>
 +
 +
Элемент '''Booking'''
 +
{| style="width: 800px" class="wikitable"
 +
|-
 +
! scope="col" width="200" | Элемент
 +
! scope="col" width="300" | Описание
 +
! scope="col" width="300" | Допустимые значения
 +
|-
 +
| Items
 +
| Обязательный. Массив элементов Item.
 +
| Элемент Item
 +
|-
 +
| Customer
 +
| Обязательный. Элемент установки заказчика.
 +
| &nbsp;
 +
|-
 +
| Persons
 +
| Обязательный. Массив клиентов.
 +
| &nbsp;
 +
|}
 +
 +
Данные об услугах записываются в элементы &lt;Item&gt;.
 +
 +
Элемент '''Item'''
 +
{| style="width: 800px" class="wikitable"
 +
|-
 +
! scope="col" width="200" | Элемент
 +
! scope="col" width="300" | Описание
 +
! scope="col" width="300" | Допустимые значения
 +
|-
 +
| HotelBookData
 +
| Обязательный. В зависимости от типа объекта бронирования. В данный момент возможно указать только данные для отеля.
 +
| &nbsp;
 +
|-
 +
| Persons
 +
| Необязательный. Привязка клиентов к услуге. Если не указаны, будут привязаны все из указанных в главном элементе Booking.
 +
| [<Person Number=''"1"'' />]
 +
|}
 +
 +
<u>Бронирование отеля.</u>
 +
Для бронирования отеля необходимы следующие параметры:
 +
# ID результата поиска - один отель
 +
# ID выбранной категории этого отеля
 +
# Распределение клиентов по комнатам.
 +
 +
Элемент '''HotelBookData'''
 +
{| style="width: 800px" class="wikitable"
 +
|-
 +
! scope="col" width="200" | Элемент
 +
! scope="col" width="300" | Описание
 +
! scope="col" width="300" | Допустимые значения
 +
|-
 +
| CacheId
 +
| Обязательный. Идентификатор результата поиска для данного отеля в системе Nemo.
 +
| Целое число
 +
|-
 +
| CategoryId
 +
| Обязательный. Идентификатор категории.
 +
| Целое число
 +
|-
 +
| Rooms
 +
| Обязательный. Распределение клиентов по комнатам.
 +
| Список элементов Room
 +
|-
 +
| Room
 +
| Атрибут Id
 +
Ид комнаты из результата поиска
 +
 +
Элемент Persons
 +
| Целое число
 +
|-
 +
| Persons
 +
| Обязательный.
 +
Список людей
 +
| Список элементов Person
 +
|-
 +
| Person
 +
| Обязательный.
 +
Атрибут Number
 +
Номер пассажира из Booking ->Persons->Person->Number
 +
|
 +
Целое число
 +
|}
 +
 +
<u>Информация о клиентах.</u>
 +
Для успешного завершения бронирования нужно указать как минимум одного клиента. Максимальное число клиентов в текущей версии не ограничено.
 +
 +
Набор обязательных данных может меняться в зависимости от типов услуг в бронировании. Рекомендуемый набор обязательных параметров: Lastname, Name, DateOfBirth. Остальные обязательные параметры будут устанавливаться индивидуально при подключении к сервису.
 +
 +
Элемент '''Person'''
 +
{| style="width: 800px" class="wikitable"
 +
|-
 +
! scope="col" width="200" | Элемент
 +
! scope="col" width="300" | Описание
 +
! scope="col" width="300" | Допустимые значения
 +
|-
 +
| Атрибут Number
 +
| Обязательный. Номер клиента, необходим для правильной привязки к услугам.
 +
| Целое число
 +
|-
 +
| Type
 +
| Обязательный.
 +
Тип пассажира.
 +
| Строка.
 +
Возможные значения:
 +
ADT
 +
CLD
 +
INF
 +
|-
 +
| Lastname
 +
| Фамилия.
 +
| Строка в произвольном формате.
 +
|-
 +
| Name
 +
| Имя.
 +
| Строка в произвольном формате.
 +
|-
 +
| Middlename
 +
| Отчество.
 +
| Строка в произвольном формате.
 +
|-
 +
| DateOfBirth
 +
| Дата рождения.
 +
| Формат гггг-мм-дд.
 +
|-
 +
| Phone
 +
| Телефон.
 +
Рекомендуемый формат:
 +
+79871234567
 +
| Строка
 +
|-
 +
| Email
 +
| Электронный адрес.
 +
| Строка
 +
|-
 +
| Gender
 +
| Пол.
 +
| MR - мужчина,
 +
MS - женщина.
 +
|-
 +
| Document
 +
| Документ
 +
| Элемент Document
 +
|}
 +
 +
Для некоторых услуг может потребоваться информация о документах.
 +
 +
Элемент '''Document'''
 +
{| style="width: 800px" class="wikitable"
 +
|-
 +
! scope="col" width="200" | Элемент
 +
! scope="col" width="300" | Описание
 +
! scope="col" width="300" | Допустимые значения
 +
|-
 +
| Атрибут Type
 +
| Обязательный. Тип документа.
 +
| P - загранпаспорт
 +
C - внутренний гражданский паспорт
 +
B - свидетельство о рождении
 +
|-
 +
| Series
 +
| Необязательный. Серия документа. Можно указать слитно с номером в Number.
 +
| Строка в произвольном формате
 +
|-
 +
| Number
 +
| Обязательный. Номер документа.
 +
| Строка в произвольном формате
 +
|-
 +
| IssueDate
 +
| Необязательный. Дата выдачи документа.
 +
| Формат гггг-мм-дд
 +
|-
 +
| ExpiryDate
 +
| Необязательный. Дата истечения срока действия документа.
 +
| Формат гггг-мм-дд
 +
|}
 +
 +
Элемент '''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">
 +
После выполнения запроса сразу поступит информация о бронировании. В первую очередь нужно внимательно проверить статусы &lt;Status&gt; всех услуг в бронировании. Если бронировалась услуга со статусом в результатах поиска RQ (по запросу), то статус скорее всего будет не равен «booked». Через некоторое время проверять реальный статус бука отправляя запрос на чтение данных о бронировании.
 +
 +
<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%3DBooking"
 +
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 +
  <SOAP-ENV:Body>
 +
    <ns1:bookingResponse>
 +
      <ResponseBin>
 +
        <Response>
 +
          <Booking>
 +
            <Items>
 +
              <Item Id="386610">
 +
                <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 Currency="RUB">37366.92</Price>
 +
                    </Service>
 +
                    <Service Id="2" Status="OK">
 +
                      <Desc>Standard Twin</Desc>
 +
                      <Meal>Full Breakfast</Meal>
 +
                      <Price Currency="RUB">37366.92</Price>
 +
                    </Service>
 +
                  </Services>
 +
                  <Rooms>
 +
                    <Room Id="1" Type="TWIN"/>
 +
                    <Room Id="2" Type="SNGL"/>
 +
                  </Rooms>
 +
                </Hotel>
 +
                <Type>HOTELS</Type>
 +
                <Status>waiting</Status>
 +
                <Prices>
 +
                  <Price Currency="RUB">74733.84</Price>
 +
                  <Charges Currency="RUB">0</Charges>
 +
                  <Commission Currency="RUB">0</Commission>
 +
                  <Penalty Currency="RUB">0</Penalty>
 +
                  <TotalPrice Currency="RUB">74733.84</TotalPrice>
 +
                </Prices>
 +
                <Dates>
 +
                  <BookingDate>2013-08-01 19:49:56</BookingDate>
 +
                  <UpdateDate>2013-08-01 19:49:57</UpdateDate>
 +
                  <CancelDate xsi:nil="true"/>
 +
                  <PenaltyDate>2013-07-31 19:10:37</PenaltyDate>
 +
                  <AutoCancelDate>2013-08-01 19:51:56</AutoCancelDate>
 +
                  <ConfirmationLimit/>
 +
                </Dates>
 +
                <Statuses>
 +
                  <PaymentStatus>1</PaymentStatus>
 +
                  <DocumentStatus>1</DocumentStatus>
 +
                  <DeliveryStatus>1</DeliveryStatus>
 +
                  <InvoiceStatus>1</InvoiceStatus>
 +
                  <ProblemStatus>1</ProblemStatus>
 +
                </Statuses>
 +
                <Customer>
 +
                  <Person Number="1"/>
 +
                </Customer>
 +
                <Persons>
 +
                  <Person Number="1"/>
 +
                  <Person Number="2"/>
 +
                  <Person Number="3"/>
 +
                </Persons>
 +
              </Item>
 +
            </Items>
 +
            <Persons>
 +
              <Person Number="1">
 +
                <Lastname>IVANOV</Lastname>
 +
                <Name>IVAN</Name>
 +
                <Middlename>IVANOVICH</Middlename>
 +
                <DateOfBirth xsi:nil="true"/>
 +
                <Phone>+79871231212</Phone>
 +
                <Email>m.rudenko@mute-lab.com</Email>
 +
                <Gender xsi:nil="true"/>
 +
                <Document Type="P">
 +
                  <Series>1811</Series>
 +
                  <Number>912219</Number>
 +
                  <IssueDate>2012-12-12 00:00:00</IssueDate>
 +
                  <ExpiryDate>2014-12-12 00:00:00</ExpiryDate>
 +
                </Document>
 +
              </Person>
 +
              <Person Number="2">
 +
                <Lastname>PETROV</Lastname>
 +
                <Name>IVAN</Name>
 +
                <Middlename>MIKHAILOVICH</Middlename>
 +
                <DateOfBirth xsi:nil="true"/>
 +
                <Phone>+79871231212</Phone>
 +
                <Email>m.rudenko@mute-lab.com</Email>
 +
                <Gender xsi:nil="true"/>
 +
                <Document Type="P">
 +
                  <Series>1866</Series>
 +
                  <Number>913319</Number>
 +
                  <IssueDate>2012-12-12 00:00:00</IssueDate>
 +
                  <ExpiryDate>2014-12-12 00:00:00</ExpiryDate>
 +
                </Document>
 +
              </Person>
 +
              <Person Number="3">
 +
                <Lastname>SIDOROV</Lastname>
 +
                <Name>IVAN</Name>
 +
                <Middlename>SERGEEVICH</Middlename>
 +
                <DateOfBirth xsi:nil="true"/>
 +
                <Phone>+79871231212</Phone>
 +
                <Email>m.rudenko@mute-lab.com</Email>
 +
                <Gender xsi:nil="true"/>
 +
                <Document Type="P">
 +
                  <Series>1866</Series>
 +
                  <Number>913319</Number>
 +
                  <IssueDate>2012-12-12 00:00:00</IssueDate>
 +
                  <ExpiryDate>2014-12-12 00:00:00</ExpiryDate>
 +
                </Document>
 +
              </Person>
 +
            </Persons>
 +
          </Booking>
 +
        </Response>
 +
      </ResponseBin>
 +
    </ns1:bookingResponse>
 +
  </SOAP-ENV:Body>
 +
</SOAP-ENV:Envelope>
 +
</syntaxhighlight>
 +
 +
Структура ответа очень похожа на запрос. Выделяются те же основные элементы.
 +
 +
Элемент '''Booking'''
 +
{| style="width: 800px" class="wikitable"
 +
|-
 +
! scope="col" width="200" | Элемент
 +
! scope="col" width="300" | Описание
 +
! scope="col" width="300" | Допустимые значения
 +
|-
 +
| Items
 +
| Обязательный. Содержит элемент(ы) Item.
 +
| Элемент Item
 +
|-
 +
| Persons
 +
| Обязательный. Здесь перечислены все клиенты заказа.
 +
| Элемент Person
 +
|}
 +
 +
В элементах Item раскрывается подробнейшая информация об одной услуге в бронировании.
 +
 +
Элемент '''Item'''
 +
{| style="width: 800px" class="wikitable"
 +
|-
 +
! scope="col" width="200" | Элемент
 +
! scope="col" width="300" | Описание
 +
! scope="col" width="300" | Допустимые значения
 +
|-
 +
| Атрибут Id
 +
| Обязательный.
 +
Номер заказа в системе Nemo.
 +
| Целое число
 +
|-
 +
| Type
 +
| Обязательный.
 +
Тип объекта бронирования.
 +
| HOTELS
 +
|-
 +
| Status
 +
| Обязательный. Статус объекта бронирования .
 +
| booked - забронирован
 +
cancelled - аннулирован
 +
pending confirmation - в процессе подтверждения
 +
pending – произошла попытка бронирования, которое не было завершено
 +
waiting – ожидается результат запроса на бронирование
 +
|-
 +
| Prices
 +
| Обязательный. Данные о ценах.
 +
| см. Элемент Prices
 +
|-
 +
| Dates
 +
| Обязательный. Данные о датах.
 +
| см. Элемент Dates
 +
|-
 +
| Statuses
 +
| Обязательный. Различные дополнительные статусы заказанной услуги.
 +
| см. Элемент Statuses
 +
|-
 +
| Persons
 +
| Обязательный. Содержит клиентов привязанных к услуге.
 +
| элементы Person
 +
|-
 +
| Hotel
 +
| Необязательный. Элемент с данными об отеле.
 +
| см. элемент Hotel (результат поиска отеля)
 +
|}
 +
 +
Информация о цене услуги вынесена в отдельную ветку:
 +
 +
Элемент '''Prices'''
 +
{| style="width: 800px" class="wikitable"
 +
|-
 +
! scope="col" width="200" | Элемент
 +
! scope="col" width="300" | Описание
 +
! scope="col" width="300" | Допустимые значения
 +
|-
 +
| Price
 +
| Обязательный. Базовая цена услуги.
 +
| Вещественное число.
 +
Атрибут Currency - код валюты.
 +
|-
 +
| Charges
 +
| Необязательный. Сумма дополнительных сборов.
 +
| Вещественное число.
 +
Атрибут Currency - код валюты.
 +
|-
 +
| Commission
 +
| Необязательный. Сумма комиссий (вычитается из общей стоимости).
 +
| Вещественное число.
 +
Атрибут Currency - код валюты.
 +
|-
 +
| Penalty
 +
| Необязательный. Сумма штрафов.
 +
| Вещественное число.
 +
Атрибут Currency - код валюты.
 +
|-
 +
| TotalPrice
 +
| Обязательный. Итоговая стоимость.
 +
= Price + Charges + Commission
 +
| Вещественное число.
 +
Атрибут Currency - код валюты.
 +
|}
 +
 +
Информация о датах услуги также вынесена в отдельную ветку:
 +
 +
Элемент '''Dates'''
 +
{| style="width: 800px" class="wikitable"
 +
|-
 +
! scope="col" width="200" | Элемент
 +
! scope="col" width="300" | Описание
 +
! scope="col" width="300" | Допустимые значения
 +
|-
 +
| BookingDate
 +
| Обязательный. Дата бронирования.
 +
| Формат гггг-мм-дд чч:мм:сс
 +
|-
 +
| UpdateDate
 +
| Необязательный. Дата обновления.
 +
| Формат гггг-мм-дд чч:мм:сс
 +
|-
 +
| CancelDate
 +
| Необязательный. Дата аннуляции.
 +
| Формат гггг-мм-дд чч:мм:сс
 +
|-
 +
| PenaltyDate
 +
| Необязательный. Дата наступления штрафов.
 +
| Формат гггг-мм-дд чч:мм:сс
 +
|-
 +
| AutoCancelDate
 +
| Необязательный. Дата автоаннулирования.
 +
| Формат гггг-мм-дд чч:мм:сс
 +
|}
 +
 +
Дополнительные статусы:
 +
 +
Элемент '''Statuses'''
 +
{| style="width: 800px" class="wikitable"
 +
|-
 +
! scope="col" width="200" | Элемент
 +
! scope="col" width="300" | Описание
 +
! scope="col" width="300" | Допустимые значения
 +
|-
 +
| PaymentStatus
 +
| Необязательный.
 +
Статус оплаты.
 +
| Целое число
 +
1 - неоплачено
 +
2 - частично оплачено
 +
3 - оплачено
 +
|-
 +
| DocumentStatus
 +
| Необязательный.
 +
Статус ваучера.
 +
| Целое число
 +
1 - документ не сформирован
 +
2 - документ сформирован
 +
|-
 +
| DeliveryStatus
 +
| Необязательный.
 +
Статус доставки.
 +
| Целое число
 +
1 - не доставлен
 +
2 - доставлен
 +
|-
 +
| InvoiceStatus
 +
| Необязательный.
 +
Статус счета.
 +
| Целое число
 +
1 - счет выставлен.
 +
2 - счет не выставлен.
 +
|}
 +
 +
Информация о клиентах заказа полностью повторяет структуру запроса.
 +
</div>
 +
</div>
 +
 +
==== Ошибки ====
 +
 +
== Подтверждение бронирования ==
 +
<div class="toccolours mw-collapsible mw-collapsed" style="width:1000px">
 +
==== Запрос ====
 +
<div class="mw-collapsible-content">
 +
Подтверждение бронирования заказа.
 +
 +
'''WSDL''' (тестовый сервер): http://tst.nemo-ibe.com/wsdev/wsdl.php?for=ConfirmBooking
 +
 +
<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%3DConfirmBooking">
 +
  <soapenv:Header/>
 +
  <soapenv:Body>
 +
      <ver:confirm>
 +
        <RequestBin>
 +
            <Request>
 +
              <BookingId>179547</BookingId>
 +
            </Request>
 +
            <Source>
 +
              <ClientId></ClientId>
 +
              <APIKey></APIKey>
 +
              <Language>ru</Language>
 +
              <Currency>RUB</Currency>
 +
            </Source>
 +
        </RequestBin>
 +
      </ver:confirm>
 +
  </soapenv:Body>
 +
</soapenv:Envelope>
 +
</syntaxhighlight>
 +
 +
Элемент '''Request'''
 +
{| style="width: 800px" class="wikitable"
 +
|-
 +
! scope="col" width="200" | Элемент
 +
! scope="col" width="300" | Описание
 +
! scope="col" width="300" | Допустимые значения
 +
|-
 +
| BookingID
 +
| Обязательный. Идентификатор заказа в системе Nemo.
 +
| Целое число
 +
|}
 +
 +
Элемент '''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%3DConfirmBooking">
 +
  <SOAP-ENV:Body>
 +
      <ns1:confirmResponse>
 +
        <ResponseBin>
 +
            <Response>
 +
              <Books>
 +
                  <Book>
 +
                    <Id>179547</Id>
 +
                    <Status>booked</Status>
 +
                  </Book>
 +
              </Books>
 +
            </Response>
 +
        </ResponseBin>
 +
      </ns1:confirmResponse>
 +
  </SOAP-ENV:Body>
 +
</SOAP-ENV:Envelope>
 +
</syntaxhighlight>
 +
</div>
 +
</div>
 +
 
==== Ошибки ====
 
==== Ошибки ====
=== Выгрузка актуальных данных по заказу(ам) ===
+
 
 +
== Выгрузка актуальных данных по заказу(ам) ==
 +
Используется для экспорта бронирований и для обновления данных в локальной клиентской базе.
 +
 
 +
'''WSDL''' (тестовый сервер): http://tst.nemo-ibe.com/wsdev/wsdl.php?for=Export
 +
 
 +
<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%3DExport">
 +
  <soapenv:Header/>
 +
  <soapenv:Body>
 +
    <ver:export>
 +
      <RequestBin>
 +
        <Request>
 +
          <Export>
 +
            <Items>
 +
              <!--Zero or more repetitions:-->
 +
              <Item Id="386621"/>
 +
            </Items>
 +
          </Export>
 +
        </Request>
 +
        <Source>
 +
          <ClientId></ClientId>
 +
          <APIKey></APIKey>
 +
          <Language>ru</Language>
 +
          <Currency>RUB</Currency>
 +
        </Source>
 +
      </RequestBin>
 +
    </ver:export>
 +
  </soapenv:Body>
 +
</soapenv:Envelope>
 +
</syntaxhighlight>
 +
 +
Элемент '''Item'''
 +
{| style="width: 800px" class="wikitable"
 +
|-
 +
! scope="col" width="200" | Элемент
 +
! scope="col" width="300" | Описание
 +
! scope="col" width="300" | Допустимые значения
 +
|-
 +
| Атрибут Id
 +
| Обязательный. Идентификатор заказа в системе Nemo.
 +
| Целое число
 +
|}
 +
 +
Элемент '''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%3DExport"
 +
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 +
  <SOAP-ENV:Body>
 +
    <ns1:exportResponse>
 +
      <ResponseBin>
 +
        <Response>
 +
          <Export>
 +
            <Items>
 +
              <Item Id="386621">
 +
                <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 Currency="RUB">37366.92</Price>
 +
                    </Service>
 +
                    <Service Id="2" Status="OK">
 +
                      <Desc>Standard Twin</Desc>
 +
                      <Meal>Full Breakfast</Meal>
 +
                      <Price Currency="RUB">37366.92</Price>
 +
                    </Service>
 +
                  </Services>
 +
                  <Rooms>
 +
                    <Room Id="1" Type="TWIN"/>
 +
                    <Room Id="2" Type="SNGL"/>
 +
                  </Rooms>
 +
                </Hotel>
 +
                <Type>HOTELS</Type>
 +
                <Status>waiting</Status>
 +
                <Prices>
 +
                  <Price Currency="RUB">74733.84</Price>
 +
                  <Charges Currency="RUB">0</Charges>
 +
                  <Commission Currency="RUB">0</Commission>
 +
                  <Penalty Currency="RUB">0</Penalty>
 +
                  <TotalPrice Currency="RUB">74733.84</TotalPrice>
 +
                </Prices>
 +
                <Dates>
 +
                  <BookingDate>2013-08-01 20:21:47</BookingDate>
 +
                  <UpdateDate>2013-08-01 20:35:01</UpdateDate>
 +
                  <CancelDate xsi:nil="true"/>
 +
                  <PenaltyDate>2013-07-31 19:10:37</PenaltyDate>
 +
                  <AutoCancelDate>2013-08-01 20:23:47</AutoCancelDate>
 +
                  <ConfirmationLimit/>
 +
                </Dates>
 +
                <Statuses>
 +
                  <PaymentStatus>1</PaymentStatus>
 +
                  <DocumentStatus>1</DocumentStatus>
 +
                  <DeliveryStatus>1</DeliveryStatus>
 +
                  <InvoiceStatus>1</InvoiceStatus>
 +
                  <ProblemStatus>1</ProblemStatus>
 +
                </Statuses>
 +
                <Customer>
 +
                  <Person Number="1"/>
 +
                </Customer>
 +
                <Persons>
 +
                  <Person Number="1"/>
 +
                  <Person Number="2"/>
 +
                  <Person Number="3"/>
 +
                </Persons>
 +
              </Item>
 +
            </Items>
 +
            <Persons>
 +
              <Person Number="1">
 +
                <Lastname>IVANOV</Lastname>
 +
                <Name>IVAN</Name>
 +
                <Middlename>IVANOVICH</Middlename>
 +
                <DateOfBirth xsi:nil="true"/>
 +
                <Phone>+79871231212</Phone>
 +
                <Email>m.rudenko@mute-lab.com</Email>
 +
                <Gender xsi:nil="true"/>
 +
                <Document Type="P">
 +
                  <Series>1811</Series>
 +
                  <Number>912219</Number>
 +
                  <IssueDate>2012-12-12 00:00:00</IssueDate>
 +
                  <ExpiryDate>2014-12-12 00:00:00</ExpiryDate>
 +
                </Document>
 +
              </Person>
 +
              <Person Number="2">
 +
                <Lastname>PETROV</Lastname>
 +
                <Name>IVAN</Name>
 +
                <Middlename>MIKHAILOVICH</Middlename>
 +
                <DateOfBirth xsi:nil="true"/>
 +
                <Phone>+79871231212</Phone>
 +
                <Email>m.rudenko@mute-lab.com</Email>
 +
                <Gender xsi:nil="true"/>
 +
                <Document Type="P">
 +
                  <Series>1866</Series>
 +
                  <Number>913319</Number>
 +
                  <IssueDate>2012-12-12 00:00:00</IssueDate>
 +
                  <ExpiryDate>2014-12-12 00:00:00</ExpiryDate>
 +
                </Document>
 +
              </Person>
 +
              <Person Number="3">
 +
                <Lastname>SIDOROV</Lastname>
 +
                <Name>IVAN</Name>
 +
                <Middlename>SERGEEVICH</Middlename>
 +
                <DateOfBirth xsi:nil="true"/>
 +
                <Phone>+79871231212</Phone>
 +
                <Email>m.rudenko@mute-lab.com</Email>
 +
                <Gender xsi:nil="true"/>
 +
                <Document Type="P">
 +
                  <Series>1866</Series>
 +
                  <Number>913319</Number>
 +
                  <IssueDate>2012-12-12 00:00:00</IssueDate>
 +
                  <ExpiryDate>2014-12-12 00:00:00</ExpiryDate>
 +
                </Document>
 +
              </Person>
 +
            </Persons>
 +
          </Export>
 +
        </Response>
 +
      </ResponseBin>
 +
    </ns1:exportResponse>
 +
  </SOAP-ENV:Body>
 +
</SOAP-ENV:Envelope>
 +
</syntaxhighlight>
 +
 +
Формат ответа аналогичен результату бронирования.
 +
</div>
 +
</div>
 +
 
==== Ошибки ====
 
==== Ошибки ====
=== Аннуляция заказа ===
+
 
 +
== Аннуляция заказа ==
 +
'''WSDL''' (тестовый сервер): http://tst.nemo-ibe.com/wsdev/wsdl.php?for=CancelBooking
 +
<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%3DCancelBooking">
 +
  <soapenv:Header/>
 +
  <soapenv:Body>
 +
    <ver:cancel>
 +
      <RequestBin>
 +
        <Request>
 +
          <CancelBooking>           
 +
            <Item Id="386621"/>
 +
          </CancelBooking>
 +
        </Request>
 +
        <Source>
 +
          <ClientId></ClientId>
 +
          <APIKey></APIKey>
 +
          <Language>ru</Language>
 +
          <Currency>RUB</Currency>
 +
        </Source>
 +
      </RequestBin>
 +
    </ver:cancel>
 +
  </soapenv:Body>
 +
</soapenv:Envelope>
 +
</syntaxhighlight>
 +
 +
Элемент '''Item'''
 +
{| style="width: 800px" class="wikitable"
 +
|-
 +
! scope="col" width="200" | Элемент
 +
! scope="col" width="300" | Описание
 +
! scope="col" width="300" | Допустимые значения
 +
|-
 +
| Атрибут Id
 +
| Обязательный. Идентификатор заказа в системе Nemo.
 +
| Целое число
 +
|}
 +
 +
Элемент '''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>
 +
 
==== Ответ ====
 
==== Ответ ====
 +
см. результаты бронирования.
 
==== Ошибки ====
 
==== Ошибки ====
== Статические данные ==
+
* '''You can cancel only booked order''' - возникает при попытке аннулировать незабронированный заказ.
 +
* '''Invalid Booking Id N''' - заказ с номером N отсутствует.
 +
 
 +
= Статические данные =
 
Для работы с веб-сервисом Nemo необходимо выгрузить статичные данные. Это данные о странах, городах и отелях.
 
Для работы с веб-сервисом Nemo необходимо выгрузить статичные данные. Это данные о странах, городах и отелях.
=== Страна ===
+
== Страна ==
 
'''WSDL''' (тестовый сервер): http://tst.nemo-ibe.com/wsdev/wsdl.php?for=CountryStatic
 
'''WSDL''' (тестовый сервер): http://tst.nemo-ibe.com/wsdev/wsdl.php?for=CountryStatic
 +
<div class="toccolours mw-collapsible mw-collapsed" style="width:1000px">
 
==== Запрос ====
 
==== Запрос ====
<pre><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ver="http://tst.nemo-ibe.com/wsdev/?version%3D1.0%26for%3DCountryStatic">
+
<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:Header/>
 
   <soapenv:Body>
 
   <soapenv:Body>
Строка 49: Строка 1769:
 
   </soapenv:Body>
 
   </soapenv:Body>
 
</soapenv:Envelope>
 
</soapenv:Envelope>
</pre>
+
</syntaxhighlight>
  
 
Элемент '''Request'''
 
Элемент '''Request'''
Строка 63: Строка 1783:
 
|}
 
|}
  
 +
Элемент '''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">
 
==== Ответ ====
 
==== Ответ ====
<pre>
+
<div class="mw-collapsible-content">
<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">
+
<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>
 
   <SOAP-ENV:Body>
 
       <ns1:countriesResponse>
 
       <ns1:countriesResponse>
Строка 91: Строка 1835:
 
   </SOAP-ENV:Body>
 
   </SOAP-ENV:Body>
 
</SOAP-ENV:Envelope>
 
</SOAP-ENV:Envelope>
</pre>
+
</syntaxhighlight>
  
Элемент CountryStatic
+
Элемент '''CountryStatic'''
 
{| style="width: 800px" class="wikitable"
 
{| style="width: 800px" class="wikitable"
 
|-
 
|-
Строка 105: Строка 1849:
 
|}
 
|}
  
Элемент Country
+
Элемент '''Country'''
 
{| style="width: 800px" class="wikitable"
 
{| style="width: 800px" class="wikitable"
 
|-
 
|-
Строка 129: Строка 1873:
 
|}
 
|}
  
Элемент Info
+
Элемент '''Info'''
 
{| style="width: 800px" class="wikitable"
 
{| style="width: 800px" class="wikitable"
 
|-
 
|-
Строка 144: Строка 1888:
 
| Строка в произвольном формате.
 
| Строка в произвольном формате.
 
|}
 
|}
 +
</div>
 +
</div>
  
 
==== Ошибки ====
 
==== Ошибки ====
  
=== Город ===
+
== Город ==
 
Параметры поиска всех услуг требуют указания ID города. Города выгружаются по каждой стране следующим запросом:
 
Параметры поиска всех услуг требуют указания ID города. Города выгружаются по каждой стране следующим запросом:
 +
 
'''WSDL''' (тестовый сервер): http://tst.nemo-ibe.com/wsdev/wsdl.php?for=CityStatic
 
'''WSDL''' (тестовый сервер): http://tst.nemo-ibe.com/wsdev/wsdl.php?for=CityStatic
 +
 +
<div class="toccolours mw-collapsible mw-collapsed" style="width:1000px">
 
==== Запрос ====
 
==== Запрос ====
<pre>
+
<div class="mw-collapsible-content">
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ver="http://tst.nemo-ibe.com/wsdev/?version%3D1.0%26for%3DCityStatic">
+
<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:Header/>
 
   <soapenv:Body>
 
   <soapenv:Body>
Строка 163: Строка 1914:
 
             </Request>
 
             </Request>
 
             <Source>
 
             <Source>
               <ClientId>134</ClientId>
+
               <ClientId></ClientId>
               <APIKey>93632C10DA299034C03D742FB160C2D6</APIKey>
+
               <APIKey></APIKey>
 
               <Language>ru</Language>
 
               <Language>ru</Language>
 
               <Currency>RUB</Currency>
 
               <Currency>RUB</Currency>
Строка 172: Строка 1923:
 
   </soapenv:Body>
 
   </soapenv:Body>
 
</soapenv:Envelope>
 
</soapenv:Envelope>
</pre>
+
</syntaxhighlight>
  
Элемент CityStatic
+
Элемент '''CityStatic'''
 
{| style="width: 800px" class="wikitable"
 
{| style="width: 800px" class="wikitable"
 
|-
 
|-
Строка 186: Строка 1937:
 
|}
 
|}
  
 +
Элемент '''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">
 
==== Ответ ====
 
==== Ответ ====
<pre>
+
<div class="mw-collapsible-content">
<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">
+
<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>
 
   <SOAP-ENV:Body>
 
       <ns1:citiesResponse>
 
       <ns1:citiesResponse>
Строка 195: Строка 1969:
 
               <CityStatic>
 
               <CityStatic>
 
                   <Cities>
 
                   <Cities>
<City Id="1">
+
                    <City Id="1">
 
                         <Name>Кабул</Name>
 
                         <Name>Кабул</Name>
 
                         <CountryId>4</CountryId>
 
                         <CountryId>4</CountryId>
Строка 232: Строка 2006:
 
                     </City>
 
                     </City>
 
...
 
...
    </Cities>
+
                  </Cities>
 
               </CityStatic>
 
               </CityStatic>
 
             </Response>
 
             </Response>
Строка 239: Строка 2013:
 
   </SOAP-ENV:Body>
 
   </SOAP-ENV:Body>
 
</SOAP-ENV:Envelope>
 
</SOAP-ENV:Envelope>
</pre>
+
</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)]]
 +
* [[Схема использования агентского API (workflow)]]
 +
* [[Агентский API Авиабилеты]]
 +
* [[Агентский API Оплата]]

Текущая версия на 18:45, 6 мая 2019

Внимание! В системе реализован усовершенствованный API-проект «Nemo Connect», настоятельно рекомендуем подключаться по схеме, описанной в документации по ссылке

Nemo-logo.png

Агентский API Отели — система, которая предоставляет возможность поиска и бронирования отелей а так же получение информации о времени и размерах штрафов, уникальной информации об отеле, получение статической информации.

Динамические данные

Поиск

Сервис предназначен для получения списка отелей, удовлетворяющих условиям запроса. В условия запроса входят: идентификатор города, где будет вестись поиск; дата заезда и дата выезда; информация о количестве людей и способе их размещения в комнатах. Так же указываются дополнительные необязательные поля фильтров.

Для получения списка доступных городов, воспользуйтесь запросом на выгрузку статики (см. ССЫЛКА). Список допустимых отелей для фильтра также доступен через сервис (см. ССЫЛКА). Рекомендуется выгрузить все данные по отелям, городам и странам в локальную базу, для экономии времени и запросов.

WSDL (тестовый сервер): http://tst.nemo-ibe.com/wsdev/wsdl.php?for=HotelsSearch

Запрос

 1 <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
 2 xmlns:ver="http://tst.nemo-ibe.com/wsdev/?version%3D1.0%26for%3DHotelsSearch">
 3   <soapenv:Header/>
 4   <soapenv:Body>
 5     <ver:search>
 6       <RequestBin>
 7         <Request>
 8           <HotelSearch>
 9             <CityId>22046</CityId>
10             <DateBegin>2013-10-15</DateBegin>
11             <DateEnd>2013-10-18</DateEnd>
12             <Rooms>
13               <!--Zero or more repetitions:-->
14               <Room>
15                 <Persons>
16                   <!--Zero or more repetitions:-->
17                   <Person Id="1" Type="ADT" Age="30"/>
18                   <Person Id="2" Type="CLD" Age="10"/>
19                 </Persons>
20                 <!--Optional:-->
21                 <DoubleBed>false</DoubleBed>
22               </Room>
23               <Room>
24                 <Persons>
25                   <!--Zero or more repetitions:-->
26                   <Person Id="1" Type="ADT" Age="30"/>
27                 </Persons>
28               </Room>
29             </Rooms>
30             <!--Optional:-->
31             <Filters>
32               <Hotels>
33                 <!--Zero or more repetitions:-->
34                 <!--<Id>123</Id>-->
35               </Hotels>
36             </Filters>
37           </HotelSearch>
38         </Request>
39         <Source>
40           <ClientId></ClientId>
41           <APIKey></APIKey>
42           <Language>ru</Language>
43           <Currency>RUB</Currency>
44         </Source>
45       </RequestBin>
46     </ver:search>
47   </soapenv:Body>
48 </soapenv:Envelope>

Элемент HotelSearch

Элемент Описание Допустимые значения
CityId Обязательный. Идентификатор города в системе Nemo. Целое число
DateBegin Обязательный. Дата заселения. Формат гггг-мм-дд.
DateEnd Обязательный. Дата выезда. Формат гггг-мм-дд.
Rooms Обязательный. Содержит массив запрашиваемых номеров/апартаментов. Элемент Room. Максимум 4 элемента Room.
Filters Необязательный. Содержит различные фильтры поиска отелей. Элемент Hotels.

Элемент Room

Элемент Описание Допустимые значения
Persons Обязательный. Содержит данные о клиентах в номерах. Элемент Person
DoubleBed Необязательный. Может быть использован только если сумма количества детей и взрослых равна 2-м, а также

Если в запросе сумма детей и взрослых не равна 2, то данный элемент будет проигнорирован.

true/false

true означает, что номер должен иметь двуспальную кровать

Элемент Person

Элемент Описание Допустимые значения
Атрибут Id Уникальный идентификатор. См. результаты бронирования. Целое число
Атрибут Type Тип клиента.

Если не указан, будет определен по возрасту Age.

Константы:

ADT - взрослый CLD - ребенок 2-12 лет INF - младенец до 2х лет

Атрибут Age Возраст. Обязателен для детей (CLD). Целое число. Количество лет.

Элемент Filters

Элемент Описание Допустимые значения
Hotels Необязательный. Набор идентификаторов отелей в системе Nemo.

Результаты поиска будут ограничены только этими отелями. Данная опция может существенно ускорить поиск - рекомендуется всегда устанавливать при поиске конкретных отелей.

Элемент Id – целое число

Элемент Source

Элемент Описание Допустимые значения
ClientID Обязательный. ID клиента в системе Nemo.

Можно посмотреть/добавить в "Администрирование" ⇨ "Веб-служба. Авторизация".

Целое число.
APIKey Обязательный. APIKey - секретный ключ доступа к API Nemo.

Можно посмотреть/добавить в "Администрирование" ⇨ "Веб-служба. Авторизация".

Латинские буквы и цифры. Всего 32 символа.

Ответ

Система по заданным параметрам ищет отели и возвращает результаты поиска. Все результаты поиска хранятся в базе Nemo определенный срок и доступны для бронирования по идентификатору CacheId.

Структура ответа - это набор уникальных отелей. У каждого указан Id - это идентификатор из базы Nemo. По нему можно получить дополнительную статичную информацию из путеводителя Nemo.

Каждый отель содержит:

  • Набор номеров <Rooms>. Типы номеров (одноместный, двухместный и т.д.) : устанавливается автоматически по количеству клиентов из запроса.
  • Сервисы <Services>. Каждый отель предлагает различные типы обслуживания в номерах. Цена и доступность может различаться.
  • Категория <Categories>. Это допустимые комбинации номер + обслуживание. Для бронирования отеля пользователь должен выбрать одну из предлагаемых ему категорий.
 1 <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" 
 2 xmlns:ns1="http://tst.nemo-ibe.com/wsdev/?version%3D1.0%26for%3DHotelsSearch">
 3   <SOAP-ENV:Body>
 4     <ns1:searchResponse>
 5       <ResponseBin>
 6         <Response>
 7           <HotelSearch>
 8             <Hotels>
 9               <Hotel Id="1872666">
10                 <Supplier>GTA</Supplier>
11                 <CityId>22046</CityId>
12                 <DateBegin>2013-10-15</DateBegin>
13                 <DateEnd>2013-10-18</DateEnd>
14                 <CacheId>1872666</CacheId>
15                 <Name>ADLON KEMPINSKI</Name>
16                 <Categories>
17                   <Category Id="1">
18                     <Rooms>
19                       <Room Count="1" Id="1" ServiceId="1"/>
20                       <Room Count="1" Id="2" ServiceId="2"/>
21                     </Rooms>
22                     <TotalPrice Currency="RUB">74733.84</TotalPrice>
23                   </Category>
24                 </Categories>
25                 <Services>
26                   <Service Id="1" Status="OK">
27                     <Desc>Standard Twin</Desc>
28                     <Meal>Full Breakfast</Meal>
29                     <Price/>
30                   </Service>
31                   <Service Id="2" Status="OK">
32                     <Desc>Standard Twin</Desc>
33                     <Meal>Full Breakfast</Meal>
34                     <Price/>
35                   </Service>
36                 </Services>
37                 <Rooms>
38                   <Room Id="1" Type="TWIN"/>
39                   <Room Id="2" Type="SNGL"/>
40                 </Rooms>
41               </Hotel>
42 		...
43             </Hotels>
44           </HotelSearch>
45         </Response>
46       </ResponseBin>
47     </ns1:searchResponse>
48   </SOAP-ENV:Body>
49 </SOAP-ENV:Envelope>

Элемент Hotel

Элемент Описание Допустимые значения
Атрибут Id Обязательный. Идентификатор отеля как одного из результатов поиска в системе Nemo. Целое число.
Supplier Обязательный. Тип поставщика, в котором найден отель. Строка.

Возможные значения: GTA HOTELBEDS DOTW SERHS MIKI TRAVCO ACADEM TOURICO

CityId Обязательный. Идентификатор города в системе Nemo. Целое число.
CacheId Обязательный. Идентификатор результата поиска для данного отеля в системе Nemo. Целое число.
Name Обязательный. Название отеля. Строка в произвольном формате.
Services Обязательный. Услуги в отеле. Элемент Service
Rooms Обязательный. Комнаты в отеле. Элемент Room
Categories Обязательный. Категории, доступные для бронирования в отеле. Элемент Category

Элемент Service

Элемент Описание Допустимые значения
Атрибут Id Обязательный. Идентификатор услуги. Целое число
Атрибут Status Обязательный. Доступность отеля. ОК означает доступен (мгновенное подтверждение).

RQ - недоступен (по запросу).

ОК/RQ
Desc Необязательный. Описание отеля. Строка в произвольном формате.
Meal Обязательный. Питание для данного сервиса. Строка в произвольном формате.
Price Необязательный. Указывает на стоимость номера с данной услугой. Вещественное число.

Атрибут Currency - код валюты.

Элемент Room

Элемент Описание Допустимые значения
Атрибут Id Обязательный. Идентификатор комнаты в отеле. Целое число.
Type Обязательный. Тип номера. Строка. Возможные значения:

SNGL – одноместный DBL – двухместный с двухспальной кроватью TWIN – двухместный с двумя кроватями TRIP – трёхместный QUAD – четырёхместный

Элемент Category

Элемент Описание Допустимые значения
Атрибут Id Обязательный. Идентификатор категории. Целое число.
Rooms Обязательный. Массив комнат с соответствием услуг. Целое число.
Room Атрибут: Count

Обязательный. Количество комнат данного типа.

Атрибут: Id

Обязательный. Идентификатор комнаты из атрибута Id в элементе Hotel-> Rooms-> Room.

Атрибут: ServiceId

- Идентификатор услуги из атрибута Id элемента Service.

Целое число.

Целое число.

Целое число.

TotalPrice Обязательный. Суммарная стоимость бронируемого сочетания “Комнаты - услуги”. Вещественное число.

Атрибут Currency - код валюты.

Ошибки

Расширенная информация по одному отелю

Сервис получения дополнительной информации об отеле требует указания идентификатора отеля в системе Nemo и категории.

WSDL (тестовый сервер): http://tst.nemo-ibe.com/wsdev/wsdl.php?for=HotelExtInfo

Запрос

 1 <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
 2 xmlns:ver="http://tst.nemo-ibe.com/wsdev/?version%3D1.0%26for%3DHotelExtInfo">
 3   <soapenv:Header/>
 4   <soapenv:Body>
 5     <ver:extInfo>
 6       <RequestBin>
 7         <Request>
 8           <HotelExtInfo>
 9             <Item>
10               <CacheId>1867246</CacheId>
11               <!--Optional:-->
12               <CategoryId>1</CategoryId>
13             </Item>
14           </HotelExtInfo>
15         </Request>
16         <Source>
17           <ClientId></ClientId>
18           <APIKey></APIKey>
19           <Language>ru</Language>
20           <Currency>RUB</Currency>
21         </Source>
22       </RequestBin>
23     </ver:extInfo>
24   </soapenv:Body>
25 </soapenv:Envelope>

Элемент Item

Элемент Описание Допустимые значения
CacheId Обязательный. Идентификатор результата поиска. Целое число
CategoryId ID выбранной категории. Целое число

Элемент Source

Элемент Описание Допустимые значения
ClientID Обязательный. ID клиента в системе Nemo.

Можно посмотреть/добавить в "Администрирование" ⇨ "Веб-служба. Авторизация".

Целое число.
APIKey Обязательный. APIKey - секретный ключ доступа к API Nemo.

Можно посмотреть/добавить в "Администрирование" ⇨ "Веб-служба. Авторизация".

Латинские буквы и цифры. Всего 32 символа.

Ответ

 1 <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" 
 2 xmlns:ns1="http://tst.nemo-ibe.com/wsdev/?version%3D1.0%26for%3DHotelExtInfo" 
 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 4   <SOAP-ENV:Body>
 5     <ns1:extInfoResponse>
 6       <ResponseBin>
 7         <Response>
 8           <HotelExtInfo>
 9             <CategoryId>1</CategoryId>
10             <PriceInfo>
11               <PriceBreakDown>
12                 <Date>
13                   <From>2013-10-15</From>
14                   <To>2013-10-18</To>
15                   <Price Currency="RUB">12455.64</Price>
16                 </Date>
17                 <Date>
18                   <From>2013-10-15</From>
19                   <To>2013-10-18</To>
20                   <Price Currency="RUB">12455.64</Price>
21                 </Date>
22               </PriceBreakDown>
23               <Netto Currency="EUR">1821</Netto>
24               <Gross xsi:nil="true"/>
25             </PriceInfo>
26           </HotelExtInfo>
27         </Response>
28       </ResponseBin>
29     </ns1:extInfoResponse>
30   </SOAP-ENV:Body>
31 </SOAP-ENV:Envelope>

Элемент HotelExtInfo

Элемент Описание Допустимые значения
CategoryId Обязательный. Идентификатор категории. Целое число
PriceInfo Обязательный. Элемент содержащий информацию о цене см. Элемент PriceInfo

Элемент PriceInfo

Элемент Описание Допустимые значения

PriceBreakDown

Необязательный. Информация о ценах, расписанная по каждому дню.

Список элементов Date

Netto Обязательный. Стоимость от поставщика. Вещественное число.

Атрибут Currency - код валюты.

Gross Обязательный. Общая стоимость. Вещественное число.

Атрибут Currency - код валюты.

Элемент Date

Элемент Описание Допустимые значения
From Обязательный. Дата начала действия тарифа Формат гггг-мм-дд
To Обязательный. Дата окончания действия тарифа Формат гггг-мм-дд
Price Цена за одну ночь. Вещественное число.

Атрибут Currency - код валюты.

Ошибки

Штрафы за аннуляцию

Всегда в явном виде нужно указывать пользователю информацию о штрафах за аннуляцию до бронирования.

Штрафы получаются по каждой услуге отдельным запросом. Нужно указать тип услуги, идентификатор результата поиска и выбранную категорию.

Внимание. Для отелей из Hotelbeds (Supplier=HOTELBEDS) штрафы до бронирования получить невозможно.

WSDL (тестовый сервер): http://tst.nemo-ibe.com/wsdev/wsdl.php?for=Penalty

Запрос

 1 <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
 2 xmlns:ver="http://tst.nemo-ibe.com/wsdev/?version%3D1.0%26for%3DPenalty">
 3   <soapenv:Header/>
 4   <soapenv:Body>
 5     <ver:penalty>
 6       <RequestBin>
 7         <Request>
 8           <Penalty>
 9             <Item>
10               <Type>HOTELS</Type>
11               <CacheId>1867246</CacheId>
12               <CategoryId>1</CategoryId>
13             </Item>
14           </Penalty>
15         </Request>
16         <Source>
17           <ClientId></ClientId>
18           <APIKey></APIKey>
19           <Language>ru</Language>
20           <Currency>RUB</Currency>
21         </Source>
22       </RequestBin>
23     </ver:penalty>
24   </soapenv:Body>
25 </soapenv:Envelope>

Элемент Item

Элемент Описание Допустимые значения
Type Обязательный. Тип объекта. HOTELS
CacheId Обязательный. Идентификатор результата поиска в системе Nemo. Целое число
CategoryId Обязательный. Идентификатор категории. Целое число

Элемент Source

Элемент Описание Допустимые значения
ClientID Обязательный. ID клиента в системе Nemo.

Можно посмотреть/добавить в "Администрирование" ⇨ "Веб-служба. Авторизация".

Целое число.
APIKey Обязательный. APIKey - секретный ключ доступа к API Nemo.

Можно посмотреть/добавить в "Администрирование" ⇨ "Веб-служба. Авторизация".

Латинские буквы и цифры. Всего 32 символа.

Ответ

 1 <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://tst.nemo-ibe.com/wsdev/?version%3D1.0%26for%3DPenalty">
 2   <SOAP-ENV:Body>
 3     <ns1:penaltyResponse>
 4       <ResponseBin>
 5         <Response>
 6           <Penalty>
 7             <ItemDateBegin>2013-10-15 00:00:00</ItemDateBegin>
 8             <CancelCharges>
 9               <Charge>
10                 <DateFrom>2013-10-12 00:00:00</DateFrom>
11                 <DateTo>2013-10-15 23:59:59</DateTo>
12                 <Money Currency="RUB">74733.84</Money>
13               </Charge>
14               <Charge>
15                 <DateFrom>2013-09-23 00:00:00</DateFrom>
16                 <DateTo>2013-10-11 00:00:00</DateTo>
17                 <Money Currency="RUB">67260.46</Money>
18               </Charge>
19               <Charge>
20                 <DateFrom>2013-08-01 17:59:00</DateFrom>
21                 <DateTo>2013-09-22 00:00:00</DateTo>
22                 <Money Currency="RUB">12455.64</Money>
23               </Charge>
24             </CancelCharges>
25             <ModifyCharges/>
26           </Penalty>
27         </Response>
28       </ResponseBin>
29     </ns1:penaltyResponse>
30   </SOAP-ENV:Body>
31 </SOAP-ENV:Envelope>

Элемент Penalty

Элемент Описание Допустимые значения
ItemDateBegin Обязательный. Дата начала услуги (дата заселения в отель). Формат гггг-мм-дд чч:мм:сс
CancelCharges Необязательный. Содержит информацию о штрафах за аннуляцию. Элемент Charge
ModifyCharges Необязательный. Содержит информацию о штрафах за модификацию. Элемент Charge

Штрафы разбиваются по временным интервалам. На каждом интервале указывается значение штрафа.

Элемент Charge

Элемент Описание Допустимые значения
DateFrom Обязательный. Дата/время начала интервала. Формат гггг-мм-дд чч:мм:сс
DateTo Необязательный. Дата/время окончания интервала. Формат гггг-мм-дд чч:мм:сс
Money Обязательный. Сумма штрафа. Вещественное число.

Атрибут: Currency - код валюты.

Ошибки

Бронирование

Запрос

Схема запроса позволяет указывать несколько услуг для бронирования сразу. Это было сделано с заделом на возможность расширения функциональности в будущем при сохранении совместимости.

Сейчас же необходимо указывать только 1 услугу-отель (элемент Item) в запросе на бронирование.

Для успешного запроса нужно указать:

  1. Услугу. В запросе не требуется перечислять все параметры из результатов поиска, достаточно указать уникальный ID результата.
  2. Информация о клиентах. Все клиенты перечисляются в отдельной ветке и нумеруются по порядку. Указатели (элементы с номером клиента), также добавляются в описание услуги.
  3. Заказчик. Указатель на одну персону.

WSDL (тестовый сервер): http://tst.nemo-ibe.com/wsdev/wsdl.php?for=Booking

  1 <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
  2 xmlns:ver="http://tst.nemo-ibe.com/wsdev/?version%3D1.0%26for%3DBooking">
  3   <soapenv:Header/>
  4   <soapenv:Body>
  5     <ver:booking>
  6       <RequestBin>
  7         <Request>
  8           <Booking>
  9             <Items>
 10               <!--Zero or more repetitions:-->
 11               <Item>
 12                 <!--You have a CHOICE of the next 3 items at this level-->
 13                 <HotelBookData>
 14                   <CacheId>1872666</CacheId>
 15                   <CategoryId>1</CategoryId>
 16                   <Rooms>
 17                     <!--Zero or more repetitions:-->
 18                     <Room Id="2">
 19                       <Persons>
 20                         <!--Zero or more repetitions:-->
 21                         <Person Number="1"/>
 22                         <Person Number="2"/>
 23                       </Persons>
 24                     </Room>
 25                     <Room Id="1">
 26                       <Persons>
 27                         <!--Zero or more repetitions:-->
 28                         <Person Number="3"/>
 29                       </Persons>
 30                     </Room>
 31                   </Rooms>
 32                 </HotelBookData>
 33                 <Customer>
 34                   <Person Number="1"/>
 35                 </Customer>
 36               </Item>
 37             </Items>
 38             <Persons>
 39               <!--Zero or more repetitions:-->
 40               <Person Number="1" Type="ADT">
 41                 <!--Optional:-->
 42                 <Lastname>IVANOV</Lastname>
 43                 <!--Optional:-->
 44                 <Name>IVAN</Name>
 45                 <!--Optional:-->
 46                 <Middlename>IVANOVICH</Middlename>
 47                 <!--Optional:-->
 48                 <DateOfBirth>1987-12-12</DateOfBirth>
 49                 <!--Optional:-->
 50                 <Phone>+79871231212</Phone>
 51                 <!--Optional:-->
 52                 <Email>m.rudenko@mute-lab.com</Email>
 53                 <!--Optional:-->
 54                 <Gender>MR</Gender>
 55                 <!--Optional:-->
 56                 <Document Type="P">
 57                   <Series>1811</Series>
 58                   <Number>912219</Number>
 59                   <!--Optional:-->
 60                   <IssueDate>2012-12-12</IssueDate>
 61                   <!--Optional:-->
 62                   <ExpiryDate>2014-12-12</ExpiryDate>
 63                 </Document>
 64               </Person>
 65               <Person Number="2" Type="CHD">
 66                 <!--Optional:-->
 67                 <Lastname>PETROV</Lastname>
 68                 <!--Optional:-->
 69                 <Name>IVAN</Name>
 70                 <!--Optional:-->
 71                 <Middlename>MIKHAILOVICH</Middlename>
 72                 <!--Optional:-->
 73                 <DateOfBirth>2008-12-12</DateOfBirth>
 74                 <!--Optional:-->
 75                 <Phone>+79871231212</Phone>
 76                 <!--Optional:-->
 77                 <Email>m.rudenko@mute-lab.com</Email>
 78                 <!--Optional:-->
 79                 <Gender>MR</Gender>
 80                 <!--Optional:-->
 81                 <Document Type="P">
 82                   <Series>1866</Series>
 83                   <Number>913319</Number>
 84                   <!--Optional:-->
 85                   <IssueDate>2012-12-12</IssueDate>
 86                   <!--Optional:-->
 87                   <ExpiryDate>2014-12-12</ExpiryDate>
 88                 </Document>
 89               </Person>
 90               <Person Number="3" Type="ADT">
 91                 <!--Optional:-->
 92                 <Lastname>SIDOROV</Lastname>
 93                 <!--Optional:-->
 94                 <Name>IVAN</Name>
 95                 <!--Optional:-->
 96                 <Middlename>SERGEEVICH</Middlename>
 97                 <!--Optional:-->
 98                 <DateOfBirth>1987-12-12</DateOfBirth>
 99                 <!--Optional:-->
100                 <Phone>+79871231212</Phone>
101                 <!--Optional:-->
102                 <Email>m.rudenko@mute-lab.com</Email>
103                 <!--Optional:-->
104                 <Gender>MR</Gender>
105                 <!--Optional:-->
106                 <Document Type="P">
107                   <Series>1866</Series>
108                   <Number>913319</Number>
109                   <!--Optional:-->
110                   <IssueDate>2012-12-12</IssueDate>
111                   <!--Optional:-->
112                   <ExpiryDate>2014-12-12</ExpiryDate>
113                 </Document>
114               </Person>
115             </Persons>
116           </Booking>
117         </Request>
118         <Source>
119           <ClientId></ClientId>
120           <APIKey></APIKey>
121           <Language>ru</Language>
122           <Currency>RUB</Currency>
123         </Source>
124       </RequestBin>
125     </ver:booking>
126   </soapenv:Body>
127 </soapenv:Envelope>

Элемент Booking

Элемент Описание Допустимые значения
Items Обязательный. Массив элементов Item. Элемент Item
Customer Обязательный. Элемент установки заказчика.  
Persons Обязательный. Массив клиентов.  

Данные об услугах записываются в элементы <Item>.

Элемент Item

Элемент Описание Допустимые значения
HotelBookData Обязательный. В зависимости от типа объекта бронирования. В данный момент возможно указать только данные для отеля.  
Persons Необязательный. Привязка клиентов к услуге. Если не указаны, будут привязаны все из указанных в главном элементе Booking. [<Person Number="1" />]

Бронирование отеля. Для бронирования отеля необходимы следующие параметры:

  1. ID результата поиска - один отель
  2. ID выбранной категории этого отеля
  3. Распределение клиентов по комнатам.

Элемент HotelBookData

Элемент Описание Допустимые значения
CacheId Обязательный. Идентификатор результата поиска для данного отеля в системе Nemo. Целое число
CategoryId Обязательный. Идентификатор категории. Целое число
Rooms Обязательный. Распределение клиентов по комнатам. Список элементов Room
Room Атрибут Id

Ид комнаты из результата поиска

Элемент Persons

Целое число
Persons Обязательный.

Список людей

Список элементов Person
Person Обязательный.

Атрибут Number Номер пассажира из Booking ->Persons->Person->Number

Целое число

Информация о клиентах. Для успешного завершения бронирования нужно указать как минимум одного клиента. Максимальное число клиентов в текущей версии не ограничено.

Набор обязательных данных может меняться в зависимости от типов услуг в бронировании. Рекомендуемый набор обязательных параметров: Lastname, Name, DateOfBirth. Остальные обязательные параметры будут устанавливаться индивидуально при подключении к сервису.

Элемент Person

Элемент Описание Допустимые значения
Атрибут Number Обязательный. Номер клиента, необходим для правильной привязки к услугам. Целое число
Type Обязательный.

Тип пассажира.

Строка.

Возможные значения: ADT CLD INF

Lastname Фамилия. Строка в произвольном формате.
Name Имя. Строка в произвольном формате.
Middlename Отчество. Строка в произвольном формате.
DateOfBirth Дата рождения. Формат гггг-мм-дд.
Phone Телефон.

Рекомендуемый формат: +79871234567

Строка
Email Электронный адрес. Строка
Gender Пол. MR - мужчина,

MS - женщина.

Document Документ Элемент Document

Для некоторых услуг может потребоваться информация о документах.

Элемент Document

Элемент Описание Допустимые значения
Атрибут Type Обязательный. Тип документа. P - загранпаспорт

C - внутренний гражданский паспорт B - свидетельство о рождении

Series Необязательный. Серия документа. Можно указать слитно с номером в Number. Строка в произвольном формате
Number Обязательный. Номер документа. Строка в произвольном формате
IssueDate Необязательный. Дата выдачи документа. Формат гггг-мм-дд
ExpiryDate Необязательный. Дата истечения срока действия документа. Формат гггг-мм-дд

Элемент Source

Элемент Описание Допустимые значения
ClientID Обязательный. ID клиента в системе Nemo.

Можно посмотреть/добавить в "Администрирование" ⇨ "Веб-служба. Авторизация".

Целое число.
APIKey Обязательный. APIKey - секретный ключ доступа к API Nemo.

Можно посмотреть/добавить в "Администрирование" ⇨ "Веб-служба. Авторизация".

Латинские буквы и цифры. Всего 32 символа.

Ответ

После выполнения запроса сразу поступит информация о бронировании. В первую очередь нужно внимательно проверить статусы <Status> всех услуг в бронировании. Если бронировалась услуга со статусом в результатах поиска RQ (по запросу), то статус скорее всего будет не равен «booked». Через некоторое время проверять реальный статус бука отправляя запрос на чтение данных о бронировании.

  1 <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" 
  2 xmlns:ns1="http://tst.nemo-ibe.com/wsdev/?version%3D1.0%26for%3DBooking" 
  3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  4   <SOAP-ENV:Body>
  5     <ns1:bookingResponse>
  6       <ResponseBin>
  7         <Response>
  8           <Booking>
  9             <Items>
 10               <Item Id="386610">
 11                 <Hotel Id="1872666">
 12                   <Supplier>GTA</Supplier>
 13                   <CityId>22046</CityId>
 14                   <DateBegin>2013-10-15</DateBegin>
 15                   <DateEnd>2013-10-18</DateEnd>
 16                   <CacheId>1872666</CacheId>
 17                   <Name>ADLON KEMPINSKI</Name>
 18                   <Categories>
 19                     <Category Id="1">
 20                       <Rooms>
 21                         <Room Count="1" Id="1" ServiceId="1"/>
 22                         <Room Count="1" Id="2" ServiceId="2"/>
 23                       </Rooms>
 24                       <TotalPrice Currency="RUB">74733.84</TotalPrice>
 25                     </Category>
 26                   </Categories>
 27                   <Services>
 28                     <Service Id="1" Status="OK">
 29                       <Desc>Standard Twin</Desc>
 30                       <Meal>Full Breakfast</Meal>
 31                       <Price Currency="RUB">37366.92</Price>
 32                     </Service>
 33                     <Service Id="2" Status="OK">
 34                       <Desc>Standard Twin</Desc>
 35                       <Meal>Full Breakfast</Meal>
 36                       <Price Currency="RUB">37366.92</Price>
 37                     </Service>
 38                   </Services>
 39                   <Rooms>
 40                     <Room Id="1" Type="TWIN"/>
 41                     <Room Id="2" Type="SNGL"/>
 42                   </Rooms>
 43                 </Hotel>
 44                 <Type>HOTELS</Type>
 45                 <Status>waiting</Status>
 46                 <Prices>
 47                   <Price Currency="RUB">74733.84</Price>
 48                   <Charges Currency="RUB">0</Charges>
 49                   <Commission Currency="RUB">0</Commission>
 50                   <Penalty Currency="RUB">0</Penalty>
 51                   <TotalPrice Currency="RUB">74733.84</TotalPrice>
 52                 </Prices>
 53                 <Dates>
 54                   <BookingDate>2013-08-01 19:49:56</BookingDate>
 55                   <UpdateDate>2013-08-01 19:49:57</UpdateDate>
 56                   <CancelDate xsi:nil="true"/>
 57                   <PenaltyDate>2013-07-31 19:10:37</PenaltyDate>
 58                   <AutoCancelDate>2013-08-01 19:51:56</AutoCancelDate>
 59                   <ConfirmationLimit/>
 60                 </Dates>
 61                 <Statuses>
 62                   <PaymentStatus>1</PaymentStatus>
 63                   <DocumentStatus>1</DocumentStatus>
 64                   <DeliveryStatus>1</DeliveryStatus>
 65                   <InvoiceStatus>1</InvoiceStatus>
 66                   <ProblemStatus>1</ProblemStatus>
 67                 </Statuses>
 68                 <Customer>
 69                   <Person Number="1"/>
 70                 </Customer>
 71                 <Persons>
 72                   <Person Number="1"/>
 73                   <Person Number="2"/>
 74                   <Person Number="3"/>
 75                 </Persons>
 76               </Item>
 77             </Items>
 78             <Persons>
 79               <Person Number="1">
 80                 <Lastname>IVANOV</Lastname>
 81                 <Name>IVAN</Name>
 82                 <Middlename>IVANOVICH</Middlename>
 83                 <DateOfBirth xsi:nil="true"/>
 84                 <Phone>+79871231212</Phone>
 85                 <Email>m.rudenko@mute-lab.com</Email>
 86                 <Gender xsi:nil="true"/>
 87                 <Document Type="P">
 88                   <Series>1811</Series>
 89                   <Number>912219</Number>
 90                   <IssueDate>2012-12-12 00:00:00</IssueDate>
 91                   <ExpiryDate>2014-12-12 00:00:00</ExpiryDate>
 92                 </Document>
 93               </Person>
 94               <Person Number="2">
 95                 <Lastname>PETROV</Lastname>
 96                 <Name>IVAN</Name>
 97                 <Middlename>MIKHAILOVICH</Middlename>
 98                 <DateOfBirth xsi:nil="true"/>
 99                 <Phone>+79871231212</Phone>
100                 <Email>m.rudenko@mute-lab.com</Email>
101                 <Gender xsi:nil="true"/>
102                 <Document Type="P">
103                   <Series>1866</Series>
104                   <Number>913319</Number>
105                   <IssueDate>2012-12-12 00:00:00</IssueDate>
106                   <ExpiryDate>2014-12-12 00:00:00</ExpiryDate>
107                 </Document>
108               </Person>
109               <Person Number="3">
110                 <Lastname>SIDOROV</Lastname>
111                 <Name>IVAN</Name>
112                 <Middlename>SERGEEVICH</Middlename>
113                 <DateOfBirth xsi:nil="true"/>
114                 <Phone>+79871231212</Phone>
115                 <Email>m.rudenko@mute-lab.com</Email>
116                 <Gender xsi:nil="true"/>
117                 <Document Type="P">
118                   <Series>1866</Series>
119                   <Number>913319</Number>
120                   <IssueDate>2012-12-12 00:00:00</IssueDate>
121                   <ExpiryDate>2014-12-12 00:00:00</ExpiryDate>
122                 </Document>
123               </Person>
124             </Persons>
125           </Booking>
126         </Response>
127       </ResponseBin>
128     </ns1:bookingResponse>
129   </SOAP-ENV:Body>
130 </SOAP-ENV:Envelope>

Структура ответа очень похожа на запрос. Выделяются те же основные элементы.

Элемент Booking

Элемент Описание Допустимые значения
Items Обязательный. Содержит элемент(ы) Item. Элемент Item
Persons Обязательный. Здесь перечислены все клиенты заказа. Элемент Person

В элементах Item раскрывается подробнейшая информация об одной услуге в бронировании.

Элемент Item

Элемент Описание Допустимые значения
Атрибут Id Обязательный.

Номер заказа в системе Nemo.

Целое число
Type Обязательный.

Тип объекта бронирования.

HOTELS
Status Обязательный. Статус объекта бронирования . booked - забронирован

cancelled - аннулирован pending confirmation - в процессе подтверждения pending – произошла попытка бронирования, которое не было завершено waiting – ожидается результат запроса на бронирование

Prices Обязательный. Данные о ценах. см. Элемент Prices
Dates Обязательный. Данные о датах. см. Элемент Dates
Statuses Обязательный. Различные дополнительные статусы заказанной услуги. см. Элемент Statuses
Persons Обязательный. Содержит клиентов привязанных к услуге. элементы Person
Hotel Необязательный. Элемент с данными об отеле. см. элемент Hotel (результат поиска отеля)

Информация о цене услуги вынесена в отдельную ветку:

Элемент Prices

Элемент Описание Допустимые значения
Price Обязательный. Базовая цена услуги. Вещественное число.

Атрибут Currency - код валюты.

Charges Необязательный. Сумма дополнительных сборов. Вещественное число.

Атрибут Currency - код валюты.

Commission Необязательный. Сумма комиссий (вычитается из общей стоимости). Вещественное число.

Атрибут Currency - код валюты.

Penalty Необязательный. Сумма штрафов. Вещественное число.

Атрибут Currency - код валюты.

TotalPrice Обязательный. Итоговая стоимость.

= Price + Charges + Commission

Вещественное число.

Атрибут Currency - код валюты.

Информация о датах услуги также вынесена в отдельную ветку:

Элемент Dates

Элемент Описание Допустимые значения
BookingDate Обязательный. Дата бронирования. Формат гггг-мм-дд чч:мм:сс
UpdateDate Необязательный. Дата обновления. Формат гггг-мм-дд чч:мм:сс
CancelDate Необязательный. Дата аннуляции. Формат гггг-мм-дд чч:мм:сс
PenaltyDate Необязательный. Дата наступления штрафов. Формат гггг-мм-дд чч:мм:сс
AutoCancelDate Необязательный. Дата автоаннулирования. Формат гггг-мм-дд чч:мм:сс

Дополнительные статусы:

Элемент Statuses

Элемент Описание Допустимые значения
PaymentStatus Необязательный.

Статус оплаты.

Целое число

1 - неоплачено 2 - частично оплачено 3 - оплачено

DocumentStatus Необязательный.

Статус ваучера.

Целое число

1 - документ не сформирован 2 - документ сформирован

DeliveryStatus Необязательный.

Статус доставки.

Целое число

1 - не доставлен 2 - доставлен

InvoiceStatus Необязательный.

Статус счета.

Целое число

1 - счет выставлен. 2 - счет не выставлен.

Информация о клиентах заказа полностью повторяет структуру запроса.

Ошибки

Подтверждение бронирования

Запрос

Подтверждение бронирования заказа.

WSDL (тестовый сервер): http://tst.nemo-ibe.com/wsdev/wsdl.php?for=ConfirmBooking

 1 <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ver="http://tst.nemo-ibe.com/wsdev/?version%3D1.0%26for%3DConfirmBooking">
 2    <soapenv:Header/>
 3    <soapenv:Body>
 4       <ver:confirm>
 5          <RequestBin>
 6             <Request>
 7                <BookingId>179547</BookingId>
 8             </Request>
 9             <Source>
10                <ClientId></ClientId>
11                <APIKey></APIKey>
12                <Language>ru</Language>
13                <Currency>RUB</Currency>
14             </Source>
15          </RequestBin>
16       </ver:confirm>
17    </soapenv:Body>
18 </soapenv:Envelope>

Элемент Request

Элемент Описание Допустимые значения
BookingID Обязательный. Идентификатор заказа в системе Nemo. Целое число

Элемент Source

Элемент Описание Допустимые значения
ClientID Обязательный. ID клиента в системе Nemo.

Можно посмотреть/добавить в "Администрирование" ⇨ "Веб-служба. Авторизация".

Целое число.
APIKey Обязательный. APIKey - секретный ключ доступа к API Nemo.

Можно посмотреть/добавить в "Администрирование" ⇨ "Веб-служба. Авторизация".

Латинские буквы и цифры. Всего 32 символа.

Ответ

 1 <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://tst.nemo-ibe.com/wsdev/?version%3D1.0%26for%3DConfirmBooking">
 2    <SOAP-ENV:Body>
 3       <ns1:confirmResponse>
 4          <ResponseBin>
 5             <Response>
 6                <Books>
 7                   <Book>
 8                      <Id>179547</Id>
 9                      <Status>booked</Status>
10                   </Book>
11                </Books>
12             </Response>
13          </ResponseBin>
14       </ns1:confirmResponse>
15    </SOAP-ENV:Body>
16 </SOAP-ENV:Envelope>

Ошибки

Выгрузка актуальных данных по заказу(ам)

Используется для экспорта бронирований и для обновления данных в локальной клиентской базе.

WSDL (тестовый сервер): http://tst.nemo-ibe.com/wsdev/wsdl.php?for=Export

Запрос

 1 <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
 2 xmlns:ver="http://tst.nemo-ibe.com/wsdev/?version%3D1.0%26for%3DExport">
 3   <soapenv:Header/>
 4   <soapenv:Body>
 5     <ver:export>
 6       <RequestBin>
 7         <Request>
 8           <Export>
 9             <Items>
10               <!--Zero or more repetitions:-->
11               <Item Id="386621"/>
12             </Items>
13           </Export>
14         </Request>
15         <Source>
16           <ClientId></ClientId>
17           <APIKey></APIKey>
18           <Language>ru</Language>
19           <Currency>RUB</Currency>
20         </Source>
21       </RequestBin>
22     </ver:export>
23   </soapenv:Body>
24 </soapenv:Envelope>

Элемент Item

Элемент Описание Допустимые значения
Атрибут Id Обязательный. Идентификатор заказа в системе Nemo. Целое число

Элемент Source

Элемент Описание Допустимые значения
ClientID Обязательный. ID клиента в системе Nemo.

Можно посмотреть/добавить в "Администрирование" ⇨ "Веб-служба. Авторизация".

Целое число.
APIKey Обязательный. APIKey - секретный ключ доступа к API Nemo.

Можно посмотреть/добавить в "Администрирование" ⇨ "Веб-служба. Авторизация".

Латинские буквы и цифры. Всего 32 символа.

Ответ

Ответ содержит элементы результатов бронирований. См. описание выше.

  1 <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" 
  2 xmlns:ns1="http://tst.nemo-ibe.com/wsdev/?version%3D1.0%26for%3DExport" 
  3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  4   <SOAP-ENV:Body>
  5     <ns1:exportResponse>
  6       <ResponseBin>
  7         <Response>
  8           <Export>
  9             <Items>
 10               <Item Id="386621">
 11                 <Hotel Id="1872666">
 12                   <Supplier>GTA</Supplier>
 13                   <CityId>22046</CityId>
 14                   <DateBegin>2013-10-15</DateBegin>
 15                   <DateEnd>2013-10-18</DateEnd>
 16                   <CacheId>1872666</CacheId>
 17                   <Name>ADLON KEMPINSKI</Name>
 18                   <Categories>
 19                     <Category Id="1">
 20                       <Rooms>
 21                         <Room Count="1" Id="1" ServiceId="1"/>
 22                         <Room Count="1" Id="2" ServiceId="2"/>
 23                       </Rooms>
 24                       <TotalPrice Currency="RUB">74733.84</TotalPrice>
 25                     </Category>
 26                   </Categories>
 27                   <Services>
 28                     <Service Id="1" Status="OK">
 29                       <Desc>Standard Twin</Desc>
 30                       <Meal>Full Breakfast</Meal>
 31                       <Price Currency="RUB">37366.92</Price>
 32                     </Service>
 33                     <Service Id="2" Status="OK">
 34                       <Desc>Standard Twin</Desc>
 35                       <Meal>Full Breakfast</Meal>
 36                       <Price Currency="RUB">37366.92</Price>
 37                     </Service>
 38                   </Services>
 39                   <Rooms>
 40                     <Room Id="1" Type="TWIN"/>
 41                     <Room Id="2" Type="SNGL"/>
 42                   </Rooms>
 43                 </Hotel>
 44                 <Type>HOTELS</Type>
 45                 <Status>waiting</Status>
 46                 <Prices>
 47                   <Price Currency="RUB">74733.84</Price>
 48                   <Charges Currency="RUB">0</Charges>
 49                   <Commission Currency="RUB">0</Commission>
 50                   <Penalty Currency="RUB">0</Penalty>
 51                   <TotalPrice Currency="RUB">74733.84</TotalPrice>
 52                 </Prices>
 53                 <Dates>
 54                   <BookingDate>2013-08-01 20:21:47</BookingDate>
 55                   <UpdateDate>2013-08-01 20:35:01</UpdateDate>
 56                   <CancelDate xsi:nil="true"/>
 57                   <PenaltyDate>2013-07-31 19:10:37</PenaltyDate>
 58                   <AutoCancelDate>2013-08-01 20:23:47</AutoCancelDate>
 59                   <ConfirmationLimit/>
 60                 </Dates>
 61                 <Statuses>
 62                   <PaymentStatus>1</PaymentStatus>
 63                   <DocumentStatus>1</DocumentStatus>
 64                   <DeliveryStatus>1</DeliveryStatus>
 65                   <InvoiceStatus>1</InvoiceStatus>
 66                   <ProblemStatus>1</ProblemStatus>
 67                 </Statuses>
 68                 <Customer>
 69                   <Person Number="1"/>
 70                 </Customer>
 71                 <Persons>
 72                   <Person Number="1"/>
 73                   <Person Number="2"/>
 74                   <Person Number="3"/>
 75                 </Persons>
 76               </Item>
 77             </Items>
 78             <Persons>
 79               <Person Number="1">
 80                 <Lastname>IVANOV</Lastname>
 81                 <Name>IVAN</Name>
 82                 <Middlename>IVANOVICH</Middlename>
 83                 <DateOfBirth xsi:nil="true"/>
 84                 <Phone>+79871231212</Phone>
 85                 <Email>m.rudenko@mute-lab.com</Email>
 86                 <Gender xsi:nil="true"/>
 87                 <Document Type="P">
 88                   <Series>1811</Series>
 89                   <Number>912219</Number>
 90                   <IssueDate>2012-12-12 00:00:00</IssueDate>
 91                   <ExpiryDate>2014-12-12 00:00:00</ExpiryDate>
 92                 </Document>
 93               </Person>
 94               <Person Number="2">
 95                 <Lastname>PETROV</Lastname>
 96                 <Name>IVAN</Name>
 97                 <Middlename>MIKHAILOVICH</Middlename>
 98                 <DateOfBirth xsi:nil="true"/>
 99                 <Phone>+79871231212</Phone>
100                 <Email>m.rudenko@mute-lab.com</Email>
101                 <Gender xsi:nil="true"/>
102                 <Document Type="P">
103                   <Series>1866</Series>
104                   <Number>913319</Number>
105                   <IssueDate>2012-12-12 00:00:00</IssueDate>
106                   <ExpiryDate>2014-12-12 00:00:00</ExpiryDate>
107                 </Document>
108               </Person>
109               <Person Number="3">
110                 <Lastname>SIDOROV</Lastname>
111                 <Name>IVAN</Name>
112                 <Middlename>SERGEEVICH</Middlename>
113                 <DateOfBirth xsi:nil="true"/>
114                 <Phone>+79871231212</Phone>
115                 <Email>m.rudenko@mute-lab.com</Email>
116                 <Gender xsi:nil="true"/>
117                 <Document Type="P">
118                   <Series>1866</Series>
119                   <Number>913319</Number>
120                   <IssueDate>2012-12-12 00:00:00</IssueDate>
121                   <ExpiryDate>2014-12-12 00:00:00</ExpiryDate>
122                 </Document>
123               </Person>
124             </Persons>
125           </Export>
126         </Response>
127       </ResponseBin>
128     </ns1:exportResponse>
129   </SOAP-ENV:Body>
130 </SOAP-ENV:Envelope>

Формат ответа аналогичен результату бронирования.

Ошибки

Аннуляция заказа

WSDL (тестовый сервер): http://tst.nemo-ibe.com/wsdev/wsdl.php?for=CancelBooking

Запрос

 1 <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
 2 xmlns:ver="http://tst.nemo-ibe.com/wsdev/?version%3D1.0%26for%3DCancelBooking">
 3   <soapenv:Header/>
 4   <soapenv:Body>
 5     <ver:cancel>
 6       <RequestBin>
 7         <Request>
 8           <CancelBooking>            
 9             <Item Id="386621"/>
10           </CancelBooking>
11         </Request>
12         <Source>
13           <ClientId></ClientId>
14           <APIKey></APIKey>
15           <Language>ru</Language>
16           <Currency>RUB</Currency>
17         </Source>
18       </RequestBin>
19     </ver:cancel>
20   </soapenv:Body>
21 </soapenv:Envelope>

Элемент Item

Элемент Описание Допустимые значения
Атрибут Id Обязательный. Идентификатор заказа в системе Nemo. Целое число

Элемент Source

Элемент Описание Допустимые значения
ClientID Обязательный. ID клиента в системе Nemo.

Можно посмотреть/добавить в "Администрирование" ⇨ "Веб-служба. Авторизация".

Целое число.
APIKey Обязательный. APIKey - секретный ключ доступа к API Nemo.

Можно посмотреть/добавить в "Администрирование" ⇨ "Веб-служба. Авторизация".

Латинские буквы и цифры. Всего 32 символа.

Ответ

см. результаты бронирования.

Ошибки

  • You can cancel only booked order - возникает при попытке аннулировать незабронированный заказ.
  • Invalid Booking Id N - заказ с номером N отсутствует.

Статические данные

Для работы с веб-сервисом Nemo необходимо выгрузить статичные данные. Это данные о странах, городах и отелях.

Страна

WSDL (тестовый сервер): http://tst.nemo-ibe.com/wsdev/wsdl.php?for=CountryStatic

Запрос

 1 <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
 2 xmlns:ver="http://tst.nemo-ibe.com/wsdev/?version%3D1.0%26for%3DCountryStatic">
 3    <soapenv:Header/>
 4    <soapenv:Body>
 5       <ver:countries>
 6          <RequestBin>
 7             <Request>
 8                <CountryStatic>
 9                </CountryStatic>
10             </Request>
11             <Source>
12                <ClientId></ClientId>
13                <APIKey></APIKey>
14                <Language>ru</Language>
15                <Currency>RUB</Currency>
16             </Source>
17          </RequestBin>
18       </ver:countries>
19    </soapenv:Body>
20 </soapenv:Envelope>

Элемент Request

Элемент Описание Допустимые значения
CountryStatic Пустой элемент

Элемент Source

Элемент Описание Допустимые значения
ClientID Обязательный. ID клиента в системе Nemo.

Можно посмотреть/добавить в "Администрирование" ⇨ "Веб-служба. Авторизация".

Целое число.
APIKey Обязательный. APIKey - секретный ключ доступа к API Nemo.

Можно посмотреть/добавить в "Администрирование" ⇨ "Веб-служба. Авторизация".

Латинские буквы и цифры. Всего 32 символа.

Ответ

 1 <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" 
 2 xmlns:ns1="http://tst.nemo-ibe.com/wsdev/?version%3D1.0%26for%3DCountryStatic" 
 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 4    <SOAP-ENV:Body>
 5       <ns1:countriesResponse>
 6          <ResponseBin>
 7             <Response>
 8                <CountryStatic>
 9                   <Countries>
10                      <Country Id="4">
11                         <Code>AF</Code>
12                         <Continent>asia</Continent>
13                         <Data>
14                            <Info Language="RU">
15                               <Name>Афганистан</Name>
16                            </Info>
17                            <Info Language="EN">
18                               <Name>Afghanistan</Name>
19                            </Info>
20                         </Data>
21                      </Country>			
22                   </Countries>
23                </CountryStatic>
24             </Response>
25          </ResponseBin>
26       </ns1:countriesResponse>
27    </SOAP-ENV:Body>
28 </SOAP-ENV:Envelope>

Элемент CountryStatic

Элемент Описание Допустимые значения
Countries Обязательный Набор элементов Country

Элемент Country

Элемент Описание Допустимые значения
Атрибут Id Обязательный. Идентификатор страны (ISO). Целое число
Code Обязательный. Код страны ISO. Строка из 2-х латинских букв
Continent Обязательный. Название континента. Строка.
Data Обязательный. Информация требующая перевода. Набор элементов Info.

Элемент Info

Элемент Описание Допустимые значения
Атрибут Language Обязательный. Язык в котором представлена информация. Строка из 2-х латинских букв.
Name Обязательный. Наименование страны. Строка в произвольном формате.

Ошибки

Город

Параметры поиска всех услуг требуют указания ID города. Города выгружаются по каждой стране следующим запросом:

WSDL (тестовый сервер): http://tst.nemo-ibe.com/wsdev/wsdl.php?for=CityStatic

Запрос

 1 <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
 2 xmlns:ver="http://tst.nemo-ibe.com/wsdev/?version%3D1.0%26for%3DCityStatic">
 3    <soapenv:Header/>
 4    <soapenv:Body>
 5       <ver:cities>
 6          <RequestBin>
 7             <Request>
 8                <CityStatic>
 9                   <CountryId>4</CountryId>
10                </CityStatic>
11             </Request>
12             <Source>
13                <ClientId></ClientId>
14                <APIKey></APIKey>
15                <Language>ru</Language>
16                <Currency>RUB</Currency>
17             </Source>
18          </RequestBin>
19       </ver:cities>
20    </soapenv:Body>
21 </soapenv:Envelope>

Элемент CityStatic

Элемент Описание Допустимые значения
CountryId Обязательный. Идентификатор страны. Целое число

Элемент Source

Элемент Описание Допустимые значения
ClientID Обязательный. ID клиента в системе Nemo.

Можно посмотреть/добавить в "Администрирование" ⇨ "Веб-служба. Авторизация".

Целое число.
APIKey Обязательный. APIKey - секретный ключ доступа к API Nemo.

Можно посмотреть/добавить в "Администрирование" ⇨ "Веб-служба. Авторизация".

Латинские буквы и цифры. Всего 32 символа.

Ответ

 1 <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" 
 2 xmlns:ns1="http://tst.nemo-ibe.com/wsdev/?version%3D1.0%26for%3DCityStatic">
 3    <SOAP-ENV:Body>
 4       <ns1:citiesResponse>
 5          <ResponseBin>
 6             <Response>
 7                <CityStatic>
 8                   <Cities>
 9                      <City Id="1">
10                         <Name>Кабул</Name>
11                         <CountryId>4</CountryId>
12                         <Data>
13                            <Info Language="EN">
14                               <Name>Kabul</Name>
15                            </Info>
16                            <Info Language="RU">
17                               <Name>Кабул</Name>
18                            </Info>
19                         </Data>
20                      </City>
21                      <City Id="204793">
22                         <Name>Aibak</Name>
23                         <CountryId>4</CountryId>
24                         <Data>
25                            <Info Language="EN">
26                               <Name>Aibak</Name>
27                            </Info>
28                            <Info Language="RU">
29                               <Name>Aibak</Name>
30                            </Info>
31                         </Data>
32                      </City>
33                      <City Id="204785">
34                         <Name>Anar Darah</Name>
35                         <CountryId>4</CountryId>
36                         <Data>
37                            <Info Language="EN">
38                               <Name>Anar Darah</Name>
39                            </Info>
40                            <Info Language="RU">
41                               <Name>Anar Darah</Name>
42                            </Info>
43                         </Data>
44                      </City>
45 			...
46                   </Cities>
47                </CityStatic>
48             </Response>
49          </ResponseBin>
50       </ns1:citiesResponse>
51    </SOAP-ENV:Body>
52 </SOAP-ENV:Envelope>

Элемент CityStatic

Элемент Описание Допустимые значения
Cities Обязательный. Массив городов. Набор элементов City

Элемент City

Элемент Описание Допустимые значения
Атрибут Id Обязательный. Идентификатор города. Целое число
Name Название города.
Data Названия городов на разных языках. В данный момент поддерживаются названия на русском и английском. См. описание элемента Data в ответе получения информации о стране.

Ошибки

Статика по отелям и апартаментам

Этот запрос будет использоваться для выгрузки статичной информации по одному или нескольким отелям.

WSDL (тестовый сервер): http://tst.nemo-ibe.com/wsdev/wsdl.php?for=HotelStatic

Запрос

 1 <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
 2 xmlns:ver="http://tst.nemo-ibe.com/wsdev/?version%3D1.0%26for%3DHotelStatic">
 3    <soapenv:Header/>
 4    <soapenv:Body>
 5       <ver:hotels>
 6          <RequestBin>
 7             <Request>
 8                <HotelStatic>
 9                   <CityId>58166</CityId>
10                </HotelStatic>
11             </Request>
12             <Source>
13                <ClientId></ClientId>
14                <APIKey></APIKey>
15                <Language>ru</Language>
16                <Currency>RUB</Currency>
17             </Source>
18          </RequestBin>
19       </ver:hotels>
20    </soapenv:Body>
21 </soapenv:Envelope>

Элемент Hotels

Элемент Описание Допустимые значения
CityId Обязательный. Идентификатор города из которого необходимо получить отели. Целое число

Элемент Source

Элемент Описание Допустимые значения
ClientID Обязательный. ID клиента в системе Nemo.

Можно посмотреть/добавить в "Администрирование" ⇨ "Веб-служба. Авторизация".

Целое число.
APIKey Обязательный. APIKey - секретный ключ доступа к API Nemo.

Можно посмотреть/добавить в "Администрирование" ⇨ "Веб-служба. Авторизация".

Латинские буквы и цифры. Всего 32 символа.

Ответ

 1 <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" 
 2 xmlns:ns1="http://tst.nemo-ibe.com/wsdev/?version%3D1.0%26for%3DHotelStatic" 
 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 4    <SOAP-ENV:Body>
 5       <ns1:hotelsResponse>
 6          <ResponseBin>
 7             <Response>
 8                <HotelStatic>
 9                   <Hotels>
10                      <Hotel Id="271714" Apartment="false">
11                         <CityId>58166</CityId>
12                         <CountryId>643</CountryId>
13                         <Latitude xsi:nil="true"/>
14                         <Longitude xsi:nil="true"/>
15                         <Rating>3</Rating>
16                         <Floors xsi:nil="true"/>
17                         <Data>
18                            <Info>
19                               <Name>* Azimut (business)</Name>
20                               <Area xsi:nil="true"/>
21                               <Location>Within city</Location>
22                               <Desc>This 3 star hotel is located within the city of St Petersburg.</Desc>
23                               <Address>43/1 Lermoutovsky Prospect, St Petersburg, 190103</Address>
24                            </Info>
25                         </Data>
26                         <Phones>
27                            <Phone>812 7402640</Phone>
28                         </Phones>
29                         <Fax>812 2518890</Fax>
30                         <Images/>
31                      </Hotel>
32                      <Hotel Id="159535" Apartment="false">
33                         <CityId>58166</CityId>
34                         <CountryId>643</CountryId>
35                         <Latitude>59.935011</Latitude>
36                         <Longitude>30.309284</Longitude>
37                         <Rating>5</Rating>
38                         <Floors xsi:nil="true"/>
39                         <Data>
40                            <Info>
41                               <Name>W St.petersburg</Name>
42                               <Area xsi:nil="true"/>
43                               <Location>City centre</Location>
44                               <Desc>This 5 star hotel is located in the city centre of St Petersburg 
45                                     and was established in 2011. It is close to the St.Isaac's Cathedral 
46                                     and the nearest station is Admiralteyskaya station. The Hotel has 
47                                     a restaurant, 2 bars, a conference room, a coffee shop, an indoor 
48                                     swimming pool and a fitness centre/gym. All 137 rooms are equipped 
49                                     with minibar, hairdryer, safe, trouser press and air conditioning.</Desc>
50                               <Address>6 Voznesensky Prospect, St. Petersburg, 190000, St Petersburg, Russia</Address>
51                            </Info>
52                         </Data>
53                         <Phones/>
54                         <Fax>+7 812 6106160</Fax>
55                         <Images>
56                            <Image>
57                               <Path>https://www.miki.co.uk/live/hotel/mikiNet/image/v1.0/RU/44018/406/lr/ext.jpg</Path>
58                               <Icon>https://www.miki.co.uk/live/hotel/mikiNet/image/v1.0/RU/44018/406/ext-t.jpg</Icon>
59                            </Image>
60                            <Image>
61                               <Path>https://www.miki.co.uk/live/hotel/mikiNet/image/v1.0/RU/44018/406/lr/unknown.jpg</Path>
62                               <Icon>https://www.miki.co.uk/live/hotel/mikiNet/image/v1.0/RU/44018/406/unknown-t.jpg</Icon>
63                            </Image>
64                            <Image>
65                               <Path>https://www.miki.co.uk/live/hotel/mikiNet/image/v1.0/RU/44018/406/lr/bed room.jpg</Path>
66                               <Icon>https://www.miki.co.uk/live/hotel/mikiNet/image/v1.0/RU/44018/406/bed room-t.jpg</Icon>
67                            </Image>
68                         </Images>
69                      </Hotel>			
70                      ...
71                   </Hotels>
72                </HotelStatic>
73             </Response>
74          </ResponseBin>
75       </ns1:hotelsResponse>
76    </SOAP-ENV:Body>
77 </SOAP-ENV:Envelope>

Элемент Hotel

Элемент Описание Допустимые значения
Атрибут Id Обязательный. Идентификатор отеля в системе Nemo. Целое число.
CityId Обязательный. Идентификатор города. Целое число.
CountryId Обязательный. Идентификатор страны . Целое число.
Latitude Необязательный. Широта. Вещественное число.
Longitude Необязательный. Долгота. Вещественное число.
Rating Необязательный. Рейтинг. Вещественное число.
Floors Необязательный. Количество этажей Целое число.
Data Необязательный. Набор элементов Info.
Phones Необязательный. Массив телефонов. Набор элементов Phone.
Fax Необязательный. Факс. Строка в произвольном формате.
Images Необязательный. Маcсив изображений. Набор элементов Image.

Элемент Info

Элемент Описание Допустимые значения
Name Обязательный. Наименование отеля. Строка в произвольном формате.
Area Необязательный. Описание места расположения отеля. Строка в произвольном формате.
Location Необязательный. Район города. Строка в произвольном формате.
Desc Необязательный. Описание отеля. Строка в произвольном формате.
Address Необязательный. Адрес отеля. Строка в произвольном формате.

Элемент Phones

Элемент Описание Допустимые значения
Phone Обязательный. Телефон. Строка в произвольном формате.

Элемент Image

Элемент Описание Допустимые значения
Path Необязательный. Путь к полному изображению. Строка в произвольном формате.
Icon Необязательный. Путь к миниатюре, иконке. Строка в произвольном формате.

Ошибки

См. также