ShelterWubookServer

 

 

ВНИМАНИЕ!!! Примерно с 01.09.19 произошли изменения протокола со стороны WuBook. Максимальное количество методов отправленных в Wubook может быть 464 за 60 мин. Поэтому если столькнулись с ошибкой "More than 464 (547+) calls in the last 3600 seconds for property...." в shelter.ini, откуда стартуют службы, добавляете в секцию Wubook:

 

[Wubook]

Action_Days=50

_MaxCalls=450
update_rooms_values_MaxCalls=200
update_rooms_values_TimeWindow=3600
update_rooms_values_TimeSleep=18
update_plan_periods_MaxCalls=200
update_plan_periods_TimeWindow=3600
update_plan_periods_TimeSleep=18
fetch_new_bookings_MaxCalls=200
fetch_new_bookings_TimeWindow=3600
fetch_new_bookings_TimeSleep=18

 

 

 

ВНИМАНИЕ!!! С 15.05.2018 произошли изменения протокола со стороны WuBook.

Необходимо изменить Service URL в "Сервисы и оборудования"

с https://wubook.net/xrws на https://wired.wubook.net/xrws/ 

 

ВНИМАНИЕ!!! С 04.06.2018 произошли изменения протокола со стороны WuBook.

Необходимо изменить SSL Method в "Сервисы и оборудования" на sslvTLSv1_2, скопировать в папку, откуда стартует служба ShelterWubookServer 2 библиотеки из этой задачи  http://tracker.ucs.ru/issues/142326 и перезапустить службы.
ВНИМАНИЕ!!! В версии 2.12.126.2650 Реализована поддержка работы с Channel Manager для 2х отелей с разными договорами в одной базе данных. Для настройки данной схемы работы, необходимо в договорной работе выбрать соответствующую гостиницу для каждого договора :

 

ВНИМАНИЕ!!! На актуальных версиях Shelter наблюдается проблема с ростом занимаемой памяти shelter.exe для службы ShelterOnlineServer. В логах можно увидеть ошибку "AccessViolation". Служба продолжает работу, однако запросы и команды от ShelterTravellineServer/ShelterWuBookServer не принимает и не обрабатывает. Необходимо воспользоваться автоматическим перезапуском служб с помощью *.bat - файла. Пример *.bat-файл для перезапуска ShelterOnlineServer :
 

@Echo Off
Set ServiceName=ShelterOnlineServer
Net stop %ServiceName%>nul
Ping -n 4 127.0.0.1>nul
rem Если служба не была запущена, или уже убита к тому времени - запускаем её
Net start %ServiceName%
exit

Пример *.bat-файл для перезапуска ShelterWuBookServer :
 

@Echo Off
Set ServiceName=ShelterWuBookServer
Net stop %ServiceName%>nul
Ping -n 4 127.0.0.1>nul
rem Если служба не была запущена, или уже убита к тому времени - запускаем её
Net start %ServiceName%
exit

Необходимо добавить эти 2 *.bat файла в планировщик заданий и создать задание для поочередного перезапуска служб 1/2/3 раза в сутки :
1. ShelterOnlineServer
2. ShelterTravellineServer/ShelterWuBookServer

ВНИМАНИЕ!!! Время заезда и выезда в WuBook и Shelter должны совпадать!

ВАЖНО!!! В категориях, заведенных в WuBook, поле "Имя" - обязательно необходимо заполнять!

 

Описание настройки модуля ShelterWuBookServer

 

                                Служба ShelterWuBookServer является посредником между системой бронирования Channel Manager WuBook и программным продуктом Shelter 2. 

                                Передача данных между WuBook и службой ShelterWuBookServer осуществляется в реальном времени в формате XML.

                                Изображение структурной схемы работы (рис. 1):

 

 

                                Отправка данных осуществляется методом POST на адрес: https://wubook.net:443/xrws

                                Положительный результат: Result: 200 HTTP/1.1 200 OK

 

 

                                Необходимо заключить договор с Wubook. Специалисты Wubook должны прислать параметры входа в личный кабинет, а именно:

 

                                Логин от личного кабинета;

                                Пароль от личного кабинета;

                                Код отеля (lcode);

 

                                Код отеля можно увидеть самостоятельно, через ЛК Wubook.

                                Необходимо зайти в личный кабинет Wubook, перейти во вкладку

                                «Модуль бронирования» - далее «Установка на сайт» :

 

Настройками тарифов/категорий номеров и пр. в лк Wubook сотрудники компании UCS не занимаются.

                                В связке используется модуль Shelter Online. При наличии Firewall, он должен быть настроен таким образом, чтобы отправлялись и

                                получались запросы на порт 7779 (или другой, если такая настройка будет произведена намеренно). В ключ защиты должен быть прописан

                                модуль связи с ChannelManager (Wubook/Travelline).

 

                                Настройки интеграции необходимо производить через «Сервисы и оборудование»(Настройки - Сервисы и оборудование)  - рис.1 :

(рис.1)

 

                             

  Для настройки интеграции необходимо выполнить следующие действия :

1. Установить cлужбу Online Server; (мануал по корректной настройке можете посмотреть ТУТ)

  • Создать ярлык для shelter.exe, в свойствах ярлыка, в поле «Объект» добавить следующий ключ:

                   -online_server -install

                                2. Установить службу для интеграции с Wubook (UCS Shelter WuBook Server) :

                                     а) Создать директорию в корне Shelter (../WuBook/) и скопировать необходимые файлы :

                                         shelter.exe

                                         shelter.dll

                                         gds32.dll

                                         bass.dll

                                         borlndmm.dll

                                         libeay32.dll

                                         ssleay32.dll

                                         shelter.ini

                                     б) Создать ярлык для shelter.exe , в свойствах ярылка, в поле «Объект»добавить следующий ключ :

                                         -wubook_server -install

                                     в) Далее необходимо запустить ярлык от имени администратора. Должно появиться сообщение о успешной установке службы.

                                3. Зайти в Shelter - Настройки - «Сервисы и оборудование» (рис. 1)

                                    И добавить модуль Wubook согласно (рис. 2)

 

                                                                                                                                  (рис. 2)

                                                                                                                                       (рис. 3)

 

                                Настройки, изображенные на рис. 3, без необходимости не менять, параметр «Имя компьютера» заполнится автоматически

                                в соответствии с именем ПК.

                                4. Зайти в настройки модуля и настроить по аналогии с рис. 4.

 

 

(рис. 4)

(табл. 1)

 

Новая реализация с версии 2.12.127.2750!!!

 

Доп. услуги включены в стоимость

 

 

Данная настройка необходима исключительно, если в Wubook выгружается тариф у которого есть пакеты услуг, которые НЕ включены в тариф:

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

  2. Чек-бокс не активен - цена по тарифу так же выгружается с учетом доп. услуг, но при сохранении брони доп. услуги начисляются дополнительно сверху стоимости по брони.

 

 

 

 

5. После завершения настроек в табл. 1 необходимо нажать кнопку «Сохранить».

6. Зайти в «Настройки» - «Справочники» - «Гостиницы» - «Гостиницы» и ввести Код гостиницы в поле «Код в системе WuBook» (рис. 5)

 

 

(рис. 5)

 

Внимание!!! Если в личном кабинете WuBook уже заведены категории номеров и тарифы, то их необходимо сопоставить с

категориями и тарифами в Shelter :

 

7. В личном кабинете WuBook открыть вкладку «Тарифы» - «Категории», скопировать код категории (SNGL):

 

 

(рис. 6)

 

 Добавить этот код в Shelter : Открыть «Справочники» - «Ресурсы» - «Типы ресурсов», выбрать соответствующую категорию, во вкладке «WuBook»,

                                в поле «Идентификатор» добавить скопированный ранее код : 

 

(рис. 7)

 

Внимание!!! WuBook с дополнительными местами не работает, необходимо учитывать это при настройке интеграции.

 

8. Для сопоставления тарифов необходимо, в личном кабинете WuBook, перейти во вкладку «Тарифы» - «Тарифы»,

                                нажать на «Информация» для необходимого тарифа :

 

(рис. 8)

Внимание!!! Тип, для созданного ранее тарифа в WuBook, должен быть «С периодами»

 

 

 В открывшемся окне необходимо скопировать цифровой ID тарифа из адресной строки (в данном случае 87321) :

 

(рис. 9)

Добавить этот ID тарифа в Shelter : Открыть «Справочники» - «Тарифы» - «Типы тарифов», выбрать соответствующий тариф,

                                во вкладке «Внешние системы», в поле «Использовать тариф для системы WuBook.net» прописать ранее скопированный код :

 

(рис. 10)

 

                               

8. Перейти в модуль договорная работа : 

                                «Бронирование» - «Договоры» - «Добавить юридическое лицо» - Указать краткое и полное наименование организации (WuBook),

                                а так же указать WuBook/Travelline/ResOnline (рис. 11) во вкладке «Интернет бронирование» - «Внешние системы» :

(рис. 11)

 

                                9. Перейти во вкладку «Договоры» (договор ST должен создаться автоматически, если он не создался — необходимо создать его вручную)

                                Заполнить обязательные поля (Организация-собственник, Тип и пр.) Установить чек-боксы «Используется по умолчанию при бронировании»

                                и «Используется по умолчанию для Нота Бена» :

(рис. 12)

 

                                10. Перейти во вкладку «Тарифы» и поставить чек-боксы «Активен» и «Использовать онлайн» для соответствующего тарифа,

                                а так же поставить чек-бокс «Не объединять с гостиничным тарифом» (это необходимо для того, чтобы стоимость по тарифу,

                                если она отличается от стоимости в Shelter, могла корректно сохраниться для определенной категории).

(рис. 13)

                                11. Для сохранение оплаченных броней, необходимо добавить тип оплаты в «Справочники» - «Услуги» - «Оплаты».

                                Установить чек-бокс «Использовать для WuBook/Travelline» (рис. 14) и настроить оставшиеся обязательные поля по аналогии :

(рис. 14)

 

                                12. Перейти в настройки системы : «Внешние системы»- «Схема работы» - выбрать необходимую схему работы (рис. 12) :

(рис. 15)

 

 

13. Текущая настройка необходима для версий Shelter 2.12.127.2750 и выше!!! 

Исправлен механизм сохранения платежей для WubookServer. 

Необходимо, в настройках киоска настроить «Возможные типы оплат» - устанавливаем чек-бокс на ранее заведенной оплате для Wubook:

 

 

(рис. 16)

 

 

Так же нужно настроить поле  «Список доступных пользователей» - устанавливаем чек-бокс на пользователе *WUBOOK*:

 

(рис. 17)

 

 

 

Разделение по каналам продаж

 

Для каждого канала продаж необходимо создать организацию, переходим «Бронирование» - «Договоры» - «Добавить юридическое лицо».  (рис. 18)

 

(рис. 18)

 

Указываем краткое и полное наименование организации (Booking.com), ниже во вкладке «Интернет бронирование» «Внешние системы» указываем

канал продаж «Booking.com». (рис. 19)

 

(рис. 19)

 

Далее во вкладке «Договоры» настраиваем по аналогии с основной организацией Wubook. 

 

Для каждого канала продаж, который использует ваша GDS система необходимо заводить организацию и настраивать по аналогии

из выше приведенного примера.

 

 

Работа с квотами

 

Для корректной настройки квот необходимо воспользоваться инструкцией Квоты.doc

 

                                Выбрать схему работы с квотами :

 

(рис. 20)

 

 

Статус брони (Новая реализация)

 

ВНИМАНИЕ!!! Данный функционал доступен только с версии 2.12.125.2480 или новее

 

 

Теперь в настройках Wubook можно установить необходимый статус для приходящих броней. Заходим в Shelter – «Настройки» – «Сервисы и оборудование» 

и открыть настройки Wubook. В них можно увидеть поле «Статус брони» в котором нужно указать необходимый статус для приходящих броней (рис. 21).

 

(Рис. 21)

 

Описание статуса броней:

  • ​Гарантированная, если подтверждена - у оплаченных броней статус «Гарантированная», а у не оплаченных «Лист ожидания».
  • Всегда лист ожидания - у оплаченных и не оплаченных броней всегда статус «Лист ожидания».
  • Всегда гарантированная - оплаченные и не оплаченные брони имеют статус «Гарантированная».

 

 

 

 

 

Важно!!! Не забывайте удалять файл onlineserver.xml при обновлении Shelter. После запуска службы ShelterOnline он создастся заново,

актуальной версии.Если клиент использует только Wubook, а интернет-бронирование нет (это разные модули в ключе защиты,

несмотря на то что тут ShelterOnline тоже используется!), необходимо в файле onlineserver.xml все значения autostart="1" заменить на autostart ="0"

и в shelter.ini в секции [onlineserver] выставить gds=BOOKING. Отследить необходимость данного действия можно по логу онлайн сервера.

В нем будет ошибка Device licence error. Если в ключе точно прописан проект 3, модуль 10, а проект 3, модуль 5 отсутствует - действуйте как указано выше.

 

 

 

Две гостиницы в одной базе данных

 

Для настройки интеграции двух гостиниц в одной базе данных необходимо сделать следующее:

  • Установить службы OnlineServer и WubookServer в разные папки для каждой гостинцы свои. Например:

           1. Гостиница Новая - OnlineServerNovaya и WubookServerNovaya

           2. Гостиница Старая - OnlineServerStaraya и WubookServerStaraya 

 

Более подробно как создавать службы с нестадартным наименованием можно посмотреть тут

 

 

  • В Shelter.ini, откуда запускаются службы необходимо настроить работу OnlineServer на разных портах. Для этого:

​1. В Shelter.ini находим секцию [OnlineServer], там есть параметр «tcpport»

2. Для OnlineServerNovaya указываем «tcpport = 7779», для OnlineServerStaraya указываем «tcpport = 7778»

(Можно другие порты. Главное, чтобы их не занимали другие программы)

 

  • В сервисах и оборудовании необходимо будет добавить два драйвера «Wubook», для каждой гостиницы свой.
  • Так же главное исправить поле «Имя службы» на соответствующее вашим созданным службам:

 

 

 

Выглядеть будет так:

 

 

  • Ранее мы для каждой службы OnlineServer указывали свой порт, на котором она будет работать. Помимо настроек в Shelter.ini нам нужно еще указать порт, который будет прослушивать определенная служба TravellineServer. Для этого:

​1. Так как ранее для OnlineServerNovaya в Shelter.ini мы указали порт «7779», то в Shelter в настройках драйвера Travelline указываем «Порт ShelterOnlineServer - 7779»

 

2. Тоже самое делаем для OnlineServerStaraya, но уже указываем порт «7778», который мы указали в Shelter.ini для этой службы

 

 

Сохранение переброни в лист ожидания (Новая реализация)

 

Реализация доступна в версии 2.12.131.3200

 

В параметрах ChannelManager добавлена настройка "Сохранять переброни в лист ожидания", по умолчанию настройка выключена.

  • Чек-бокс активен - брони сохраняются вниз шахматки в лист ожидания, даже если свободных номеров нету.
  • Чек-бокс не активен - если свободных номеров нету, брони не сохраняются

 

 

 

 

 

Скидки (новая реализация)

Реализация доступна в версии 2.12.132.3200

 

Реализовано корректное сохранение брони из WuBook, в которой есть скидка.

 

Необходимо сопоставить ID скидки WuBook и скидку в Shelter (поле "Идентификатор в системе WuBook").

 

ВНИМАНИЕ : реализована поддержка только процентной скидки WuBook, в Shelter скидка должна быть настроена на все услуги,

процент скидки WuBook и Shelter должен совпадать!

 

 

 

Работа с Lite версией

 

Модуль Travelline поддерживает работу с Shelter Lite, настраивается аналогично. Исключением по настройке интеграции является только заведение

организации Travelline.

1.  Чтобы завести/отредактировать организации нужно создать любую бронь на шахматке (Рис. 22):

 

(Рис. 22)

 

 

2. В открывшейся карточке, в секции «Организации» нажать на <...> (Рис. 23):

 

 

(Рис. 23)

 

 

3. Откроется окно со списком заведенных организаций, в котором можно их добавлять/изменять. Необходимо нажать «Добавить» (Рис. 24):

 

 

(Рис. 24)

 

 

4. Открывается окно в котором необходимо заполнить тип клиента, краткое и полное наименование, тип организации и канал продаж.

Заполняем как на примере (Рис. 25):

 

(Рис. 25)

 

 

 

Краткое, полное наименование и тип организации можете указать по вашему усмотрению. 

 

После выше описанных действий организация Travelline успешно настроена.

 

                           

 

 

                                Если клиент жалуется что на какую-либо дату выгружается неправильная цена, или вообще не выгружается

                                Первое правило в данном случае - зайти в формирование тарифов, и в калькуляторе тарифов убедиться, что на заявленную дату в рамках тарифа, 

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

                                а не выгрузки в TL. Если цены выгружаются до какой-то даты, а дальше нет, то возможно в модуле настроек стоит дата обновлять до этого числа.

 

 

 

                                Внимание!!! Если в личном кабинете WuBook уже заведены категории номеров и тарифы,

                         то их необходимо сопоставить с категориями и тарифами в Shelter :

                                1. В личном кабинете WuBook открыть вкладку «Тарифы» - «Категории», скопировать код категории (SNGL):

(рис. 26)

 

 

                                Добавить этот код в Shelter : Открыть «Справочники» - «Ресурсы» - «Типы ресурсов», выбрать соответствующую категорию, во вкладке «WuBook»,

                                в поле «Идентификатор» добавить скопированный ранее код : 

(рис. 27)

Внимание!!! WuBook с дополнительными местами не работает, необходимо учитывать это при настройке интеграции.

 

                                2. Для сопоставления тарифов необходимо, в личном кабинете WuBook, перейти во вкладку «Тарифы» - «Тарифы»,

                                нажать на «Информация» для необходимого тарифа :

(рис. 28)

Внимание!!! Тип, для созданного ранее тарифа в WuBook, должен быть «С периодами»

                                В открывшемся окне необходимо скопировать цифровой ID тарифа из адресной строки (в данном случае 87321) :

 

(рис. 29)

                                Добавить этот ID тарифа в Shelter : Открыть «Справочники» - «Тарифы» - «Типы тарифов», выбрать соответствующий тариф,

                                во вкладке «Внешние системы», в поле «Использовать тариф для системы WuBook.net» прописать ранее скопированный код :

(рис. 30)

 

                                Установить чек-боксы «Использовать тариф для Интернет- бронирования», «Использовать тариф для системы WuBook.net»

                                и «Использовать по умолчанию».

 

 

 

Внесение изменений при работающей интеграции

 

В случае, если выгрузка в Wubook у вас уже работает и вы вносите изменения в Shelter по тарифу, количеству мест и тд, то после внесения изменений

выгрузку необходимо перезапускать (перезапуск служб OnlineServer и WubookServer).

 

 

 

 

Анализ ошибок настройки

                                Если служба работает неверно, то следует в первую очередь проверить что настройки верны:

                                   1. Выбрана схема работы с квотами (не для лайт версии)

                                   2. Добавлена организация для WuBook, в ее настройках указан канал WuBook.

                                       В полной версии имеется договор по-умолчанию (в лайт версии не актуально).

                                   3. В настройках верно указан lcode (код гостиницы). В карточке гостиницы в shelter так же во вкладке "внешние системы" указан этот lcode.

                                   4. Выбран тариф, который будет использоваться для WuBook. В его настройках стоят флаги «использовать для интернет бронирования»,

                                       использовать для wubook, верно указан id тарифа, минимум для одного тарифа выбрано «использовать по умолчанию».

                                   5. Используется последняя версия модуля

                                   6. Файл onlineserver.xml актуальной версии

                                   7. Если в ключе нет проекта 3, модуль 5 - в onlineserver.xml все autostart="1" заменены на autostart="0" Причина 90% ошибок - неверные настройки.

                                       Не поленитесь перепроверить их!

 

Анализ логов

 

                                Порядок обмена:

                                Запрашиваются настройки через OnlineServer - пример:

 

                                TWuBookCM.Init Result = 1

                                Вызывается метод «acquire_token» (аутентификация) :

 

                                В ответе (успешно) получаем token:

 

                                Далее вызывается метод «fetch_rooms» (возвращает список категорий номеров, если они уже были заведены в WuBook) :

                                Ответ (успешно):

                                В данном случае в личном кабинете WuBook категории не заведены.

 

                                Проверка валидности токена «is_token_valid» :

 

                                Ответ (успешно) :

 

                                Значение 2 — количество раз, сколько раз был использован token (кратно 2-м). Один и тот же токен не может быть использован более 60 раз.

                                Выгрузка категорий номер происходит при помощи вызова метода : «new_room» :

 

                                Ответ (успешно) :

 

                                259268 - ID категории в личном кабинете WuBook

                                Далее идет проверка валидности токена («is_token_valid»)

                                Следующий метод «new_virtual_room» - создание виртуальной категории :

 

                                APP-1 — название созданной виртуальной категории Ответ аналогичный, как и при вызове «new_room»,

                                за исключением ID виртуальной категориии. Снова проверка валидности токена («is_token_valid»)

                                Далее выгружаются оставшиеся категории номеров и создаются виртуальные категории в личном кабинете WuBook

                                После выгрузки всех категорий номеров вызывается «release_token», чтобы “освободить” токен :

 

 

                                Ответ (успешно) :

 

                                Далее вновь вызывается «acquire_token», после успешного ответа и получения нового токена :

                                

                                Вызываем «get_plans» (получение «шахматки» из личного кабинета WuBook) :

 

                                Ответ (успешно) :

 

                                В данном случае в личном кабинете WuBook не были заведены категории/тарифы, поэтому ничего не вернулось.

                                Далее снова проверка валидности токена : «is_token_valid»

                                Следующий метод «update_rooms_values» - выгрузка категорий и доступности : 

                

 

                                После выгрузки доступности и стоимости вызывается «release_token» (освобождаем токен), а затем снова «acquire_token»

                                Метод «fetch_new_bookings» отвечает за проверку недоставленных броней из WuBook в Shelter

                                Ответ :

                                Возвращается «0» - недоставленных броней нет.

                                В случае, если есть недоставленные брони, от WuBook приходит xml, в которой содержится необходимая информация,

                                после чего происходит парсинг xml и её сохранение.
 

 

Для получения броней из WuBook за прошлый период, необходимо использовать функцию fetch_bookings
Для вызова этой фунцкии, необходимо в shelter.ini добавить секцию и параметры : 

[bookings]
datefrom=
dateto=
OnCreated=1

datefrom - Дата начала периода 

dateto - Дата окончания периода
Формат даты зависит от региональных настроек Windows

OnCreated - 1 - Возвращает брони с фильтром по дате бронирования
OnCreated - 0 - Возвращает брони с фильтром по дате заезда.
 



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

Описание API WuBook : http://tdocs.wubook.net/index.html