1. Настройка интерфейса связи с Travelline

 

Инструкция соответстует версии 2.12.132.3280. Рекомендовано производить настройку на ней или более новой версией

 

 

 

1.1 Разделение договоров Channel Manager для двух 2-х отелей с разными договорами в одной базе данных

Поддержано в версии 2.12.126.2650

 

 

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

 

   

 

1.2 Рост памяти службы OnlineServer с дальнейшим зависанием(остановкой)

 

В Shelter может наблюдаться проблема с ростом занимаемой памяти shelter.exe для службы ShelterOnlineServer. В логах можно увидеть ошибку:

 

  • Message:   Access violation at address 02888652 in module 'shelter.exe'. Read of address 0000001D

 

 

Или бесконечную проверку лицензии:

 

 

  • TRY:    TLicence.SendCommandStr[ISCHANGE_ALL &SubscribeID=573&RID=216&TIME=20191127180518]

 

 

Служба продолжает работу, однако запросы и команды от 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-файл для перезапуска ShelterTravellineServer :
 

@Echo Off
Set ServiceName=ShelterTravellineServer
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

 

 

ВНИМАНИЕ!!! 

В целях мониторинга работоспособности связки рекомендуем: сообщить в тех поддержку компании TravelLine e-mail ответственного за интеграцию сотрудника или общую почту тех. поддержки дилера. В случае потери связи TravelLine отправит письмо об этом. При восстановлении связи так же придет письмо.

 

 

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

 

 

1.3 Описание настройки модуля Channel Manager Travelline

 

Служба ShelterTravelLineServer является посредником между системой глобального бронирования Channel Manager Travelline и программным

продуктом Shelter 2.

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

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

 

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

  • Код отеля;
  • Параметры для подключения к сервису TLConnect (логин/пароль);
  • Параметры входа в личный кабинет (не путать с подключением к TLConnect);
  • Коды API (коды тарифов, коды категорий номеров);

Данные коды API вы можете просмотреть самостоятельно, в личном кабинете Travelline (рис. 2).

 

ВНИМАНИЕ!!!

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

 

 

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

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

В ключ защиты должен быть прописан модуль связи с ChannelManager (Wubook/Travelline)

 

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

 

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

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

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

                   -online_server -install

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

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

                   shelter.exe

                   shelter.dll

                   gds32.dll

                   bass.dll

                   borlndmm.dll

                   libeay32.dll

                   ssleay32.dll

                   shelter.ini

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

                   -travelline_server -install

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

 

  3. Зайти в Shelter – «Настройки»- «Сервисы и оборудование» (рис. 4) И добавить модуль Travelline согласно (рис. 5)

 

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

 

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

(Рис. 6)

 

 

 

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

 

1.4 Описание настройки "Доп. услуги включены в стоимость"

Поддержано в версии 2.12.127.2750

 

 

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

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

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

 

 

Настройки отправки E-Mail беруться из Shelter.ini секция [Exception Log]

[exception log]
activate=0
new email address=shelterbug@ucs.ru
weburl=http://tracker.ucs.ru
smtp host=smtp.yandex.ru
smtp port=25
smtp userid=example@ucs.ru
smtp password=ZmU4bXNwZWE=
smtp from=example@ucs@ucs.ru
smtp connecttimeout=10
smtp authtype=0
smtp helo=HELO
smtp usessl=1
smtp=

Таймаут соединения с сервером Travelline. Указывается в миллисекундах (1 с = 1000 мс)

Таймаут чтения отвта от сервера Travelline. Указывается в миллисекундах (1 с = 1000 мс)

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

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

 

  7. Перейти во вкладку «Ресурсы» - «Типы ресурсов» и внести соответствующие коды API в поле «Travelline» - Идентификаторы (рис. 8).

 

ВНИМАНИЕ (!!!) Количество основых и дополнительных мест в Shelter и Travelline должны совпадать

 

 

 

  8. Перейти во вкладку «Тарифы» - «Типы тарифов» и выбрать созданный тариф для выгрузки в Travelline. Перейти во вкладку «Внешние системы»

и в поле «Использовать тариф для системы Travelline» прописать код API из личного кабинета Travelline и поставить чек-бокс

«Использовать тариф для системы Travelline» (рис. 9)

 

(Рис. 9)

 

Внимание (!!!) Соблюдайте уникальность тарифа в пределах категории номера.

 

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

(Рис. 10)

 

 

  10. Перейти в модуль договорная работа : «Бронирование» - «Договоры» - «Добавить юридическое лицо» - Указать краткое и полное

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

 

 

    11. Перейти во вкладку «Договоры» и добавить договор, если он отсутствует. Открыть договор заполнить по подобию:

 

 

 

Обязательно не забудьте установить чек-бокс «Используется по умолчанию при бронировании»

   

   12. Далее нажимаете правой кнопкой мыши по договору и выбираете «Тарифы». В открывшемся окне устанавливаем чек-боксы «Активен» и «Использовать онлайн»

у тарифов, которые используются для выгрузки в Travelline.

 

 

 

 

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

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

(Рис. 14)

 

 

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

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

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

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

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

 

 

 

  14. Текущая настройка необходима для версий Shelter 2.12.127.2750 и выше!!! (Бывают исключения для версий старее) 

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

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

 

(Рис. 15)

 

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

 

 

(Рис. 16)

 

 

 

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

 

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

 

(рис. 15)

 

 

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

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

 

(рис. 16)

 

 

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

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

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

 

 

 

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

 

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

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

(Рис. 17)

 

 

1.7 Выгрузка доп. мест

 

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

 

1. Заходим в «Справочники» «Справочники» - «Категория размещения» (Рис. 18)

(Рис. 18)

 

2. Если у вас уже заведены цены для доп. мест, то данная категория размещения уже должна быть заведена (если ее нету, то добавляем ее).

Выбираем доп. место и нажимаем кнопку «Изменить», в открывшемся окне необходимо поставить чек-бокс  «Использовать для Travelline». (Рис. 19)

(Рис. 19)

 

Если все остальные настройки корректны, то после произведенной настройки доп. места начнут выгружаться в Travelline.

 

 

1.8 Выгрузка возрастных категорий на доп. место

 

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

По вопросу создания категорий необходимо обратиться в Travelline. Далее в Shelter необходимо создать возрастные категории.

«Справочники» - «Справочники» - «Возраст гостя»

(Рис. 20)

 

Создать необходимые категории и указать в настройках «Использовать для Travelline» и указать код из системы Travelline.

 

ВНИМАНИЕ!!!  Чек-бокс для взрослого "Использовать для Travelline" ставить не нужно!!

В Travelline настройка идет следующим образом: «Ребенок от 7 до 12 лет», далее «Ребенок от 12 до 13 лет», «Ребенок от 13 до 14 лет», «Ребенок от 14 до 15 лет».

 

В Shelter необходимо указать код для Travelline в таком порядке:

    1. «Ребенок от 7 до 12 лет» - 0

    2. «Ребенок от 12 до 13 лет» - 1

    3. «Ребенок от 13 до 14 лет» - 2

    4. «Ребенок от 14 до 15 лет» - 3

 

и тд. по возрастанию в зависимости сколько у вас возрастных категорий

Так же необходимо донастроить тариф (завести операции тариф-пакета для детей)

 

 

 

 

1.9 Выгрузка возрастных категорий с нулевой ценой

 

 

ВНИМАНИЕ!!!

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

чтобы сняли запрет со своей стороны на выгрузку нулевых цен в личный кабинет Travelline.

 

 

Если у вас стоит запрет, то в логе будет ошибка:

 

 

<Warnings>
        <Warning Language="EN" Type="3" Code="320" Tag="/OTA_HotelRateAmountNotifRQ/RateAmountMessages/RateAmountMessage[1]/Rates/Rate[1]/AdditionalGuestAmounts/AdditionalGuestAmount[1]">
Child extra bed (0-3) price not allowed. Price:0,00.</Warning>
</Warnings>

 

 

В Shelter выполняются следующие настройки:

 

Заходим в «Справочники» «Тарифы» «Формирование тарифов», выбираем нужную категорию и тариф. 

По нужной возрастной категории поставить стоимость, например 1 рубль, и сделать период бессрочный с ценой 0 рублей.

 

 

 

Далее переходите в «Справочники» «Справочники» «Возраст гостя».

У нужной категории устанавливаете чек-бокс «Не учитывать при расчете тарифа»:

 

 

После вышеописанных рекомендаций нулевая цена будет выгружаться в Travelline

 

 

 

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

 

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

 

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

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

 

(Рис. 21)

 

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

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

 

 

 

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

 

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

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

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

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

 

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

 

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

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

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

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

 

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

 

 

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

 

 

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

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

 

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

 

 

  • Если вдруг, у вас категории или тарифы используются одни и те же на обе гостиницы, тогда просите Travelline сделать коды API для обоих личных кабинетов одинаковыми.

 

 

 

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

 

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

 

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

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

 

 

 

1.13 Сoхранение броней по номеру канала продаж / Travelline

 

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

 

 

В параметрах ChannelManager добавлена настройка "Сохранять брони с дополнительным номером" :

  • Чек-бокс активен - бронь сохраняется с номером из канала продаж (пример: 1583451055) 
  • Чек-бокс не активен - бронь сохраняется с номером из Travelline (пример: 20180813-8438-29593222)

 

 

 

 

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

 

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

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

 

(Рис. 22)

 

 

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

 

 

(Рис. 23)

 

 

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

 

 

(Рис. 24)

 

 

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

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

 

(Рис. 25)

 

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

 

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

 

 

 

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

 

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

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

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

 

 

 

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

 

В случае, если выгрузка в Travelline у вас уже работает и вы вносите изменения в Shelter по тарифу, количеству мест и тд, то после внесения изменений выгрузку необходимо перезапускать (перезапуск служб OnlineServer и TravellineServer).

 

 

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

 

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

  1. Выбрана схема работы

  2. Добавлена организация для TL, в ее настройках указан канал TL. Имеется договор по-умолчанию.

  3. В настройках верно указан код гостиницы. В карточке гостиницы в shelter так же во вкладке "Сервисы и оборудование" указан этот код

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

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

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

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

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

 

 

3.2 Анализ логов

 

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

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

 

 

TTravelLineCM.Init Result = 1

Вызывается метод «HotelAvailRQ» (TRY: HotelAvailRQ), отправляем по HTTP-протоколу сформированный xml-запрос :

 

Если доставка успешна — получем ответ (DONE: HotelAvailRQ), который возвращает Типы номеров (<RoomTypes>) и Типы тарифов (<RatePlans>)

 

Происходит сопоставление типов категорий номеров и типов тарифов в Travelline и Shelter (по API — кодам, количеству основных/дополнительных мест)

Далее вызывается метод HotelAvailNotifRQ (TRY: HotelAvailNotifRQ) - выгружается доступность номерного фонда

 

Ответ :

 

После этого вызывается HotelRateAmountNotifRQ (TRY: HotelRateAmountNotifRQ) – выгрузка стоимости по тарифу

 

Ответ :

 

Проверка недоставленных броней происходит при помощи метода HotelReadReservationRQ (TRY: HotelReadReservationRQ)

 

В ответ (DONE: HotelReadReservationRQ) приходит xml с информацией по брони (канал бронирования, номер брони, дата заезда/выезда и пр.)

Происходит парсинг xml средставми службы Travelline и сохранение брони.

 

Выгрузку доступных мест (основных и доп.) можно увидеть в логе, по ключевому слову :  <rs_quant>

 

Где каждая нода <rs_qant> содержит категорию размещения.

<f1> - категория размещения (номер/осн.место/доп.место), содержит категорию гостя (<f2>)