Агентский API Отели

Материал из Центр поддержки системы бронировании
Перейти к навигации Перейти к поиску
Nemo-logo.png

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

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

Поиск

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

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

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

Запрос

<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="1" 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>

Ответ

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

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

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

  1. Набор номеров <Rooms>. Типы номеров (одноместный, двухместный и т.д.) : устанавливается автоматически по количеству клиентов из запроса.
  2. Сервисы <Services>. Каждый отель предлагает различные типы обслуживания в номерах. Цена и доступность может различаться.
  3. Категория <Categories>. Это допустимые комбинации номер + обслуживание. Для бронирования отеля пользователь должен выбрать одну из предлагаемых ему категорий.
<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>

Ошибки

Дополнительная информация по одному отелю

Запрос

Ответ

Ошибки

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

Запрос

Ответ

Ошибки

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

Запрос

Ответ

Ошибки

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

Запрос

Ответ

Ошибки

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

Запрос

Ответ

Ошибки

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

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

Страна

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

Запрос

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ver="http://tst.nemo-ibe.com/wsdev/?version%3D1.0%26for%3DCountryStatic">
   <soapenv:Header/>
   <soapenv:Body>
      <ver:countries>
         <RequestBin>
            <Request>
               <CountryStatic>
               </CountryStatic>
            </Request>
            <Source>
               <ClientId></ClientId>
               <APIKey></APIKey>
               <Language>ru</Language>
               <Currency>RUB</Currency>
            </Source>
         </RequestBin>
      </ver:countries>
   </soapenv:Body>
</soapenv:Envelope>

Элемент Request

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

Ответ

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://tst.nemo-ibe.com/wsdev/?version%3D1.0%26for%3DCountryStatic" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <SOAP-ENV:Body>
      <ns1:countriesResponse>
         <ResponseBin>
            <Response>
               <CountryStatic>
                  <Countries>
                     <Country Id="4">
                        <Code>AF</Code>
                        <Continent>asia</Continent>
                        <Data>
                           <Info Language="RU">
                              <Name>Афганистан</Name>
                           </Info>
                           <Info Language="EN">
                              <Name>Afghanistan</Name>
                           </Info>
                        </Data>
                     </Country>			
                  </Countries>
               </CountryStatic>
            </Response>
         </ResponseBin>
      </ns1:countriesResponse>
   </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Элемент 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

Запрос

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ver="http://tst.nemo-ibe.com/wsdev/?version%3D1.0%26for%3DCityStatic">
   <soapenv:Header/>
   <soapenv:Body>
      <ver:cities>
         <RequestBin>
            <Request>
               <CityStatic>
                  <CountryId>4</CountryId>
               </CityStatic>
            </Request>
            <Source>
               <ClientId></ClientId>
               <APIKey></APIKey>
               <Language>ru</Language>
               <Currency>RUB</Currency>
            </Source>
         </RequestBin>
      </ver:cities>
   </soapenv:Body>
</soapenv:Envelope>

Элемент CityStatic

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

Ответ

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://tst.nemo-ibe.com/wsdev/?version%3D1.0%26for%3DCityStatic">
   <SOAP-ENV:Body>
      <ns1:citiesResponse>
         <ResponseBin>
            <Response>
               <CityStatic>
                  <Cities>
<City Id="1">
                        <Name>Кабул</Name>
                        <CountryId>4</CountryId>
                        <Data>
                           <Info Language="EN">
                              <Name>Kabul</Name>
                           </Info>
                           <Info Language="RU">
                              <Name>Кабул</Name>
                           </Info>
                        </Data>
                     </City>
                     <City Id="204793">
                        <Name>Aibak</Name>
                        <CountryId>4</CountryId>
                        <Data>
                           <Info Language="EN">
                              <Name>Aibak</Name>
                           </Info>
                           <Info Language="RU">
                              <Name>Aibak</Name>
                           </Info>
                        </Data>
                     </City>
                     <City Id="204785">
                        <Name>Anar Darah</Name>
                        <CountryId>4</CountryId>
                        <Data>
                           <Info Language="EN">
                              <Name>Anar Darah</Name>
                           </Info>
                           <Info Language="RU">
                              <Name>Anar Darah</Name>
                           </Info>
                        </Data>
                     </City>
			...
     </Cities>
               </CityStatic>
            </Response>
         </ResponseBin>
      </ns1:citiesResponse>
   </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Элемент CityStatic

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

Элемент City

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

Ошибки

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

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

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

Запрос

<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>

Элемент Hotels

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

Ответ

<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>

Элемент 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 Необязательный. Путь к миниатюре, иконке. Строка в произвольном формате.

Ошибки