1С:Отель. Модуль On-line бронирования. Настройка и подключение ЗАО «Гостиничные технологии» 1С:Отель. Модуль on-line бронирования. Настройка и подключение. Общее описание модуля Схема и порядок работы модуля Модуль on-line интернет бронирования для 1С:Отель представляет собой Adobe Flex 3 приложение поставляемое в виде Adobe Flash файла с расширением .swf. Для работы модуля у клиента в обозревателе (браузере) должен быть установлен Adobe Flash Player plugin версии не ниже 9. Этот плагин бесплатен и его версии существуют для всех распространенных обозревателей: Microsoft Internet Explorer, Mozilla Firefox, Apple Safari, Google Chrome; и всех распространенных операционных систем: Windows, Mac OS X, Linux После того, как модуль on-line интернет бронирования для 1С:Отель полностью загрузился на компьютер клиента и запустился, он выполняет следующие действия: 1. Загружает с сайта гостиницы файл current_config.xml, откуда считывает базовые настройки, в т.ч. IP адрес и номер порта сервера, на котором опубликованы WEBслужбы 1С:Отель 2. Вызывает WEB-службу получения остальных настроек и параметров, которые хранятся в базе данных 1С:Отель. 3. Отображает клиенту форму выбора периода бронирования 4. После запроса клиента вызывает WEB-службу получения остатка свободных номеров по квоте (или по всей гостинице). 5. Показывает клиенту страницу выбора категории номера 6. Показывает клиенту страницу проверки выбранных параметров брони 7. Показывает клиенту страницу ввода личной и контактной информации (ФИО, e-mail и т.д.) 8. Вызывает WEB-службу создания новой брони в базе данных 1С:Отель 9. Показывает клиенту страницу с подтверждением брони. На странице подтверждения брони присутствуют номер брони в гостинице и сумма по брони к оплате. Страницу подтверждения брони можно распечатать. Замечания: Все вызовы WEB-служб выполняются напрямую между компьютером клиента и сервером 1С:Отель. WEB сервер сайта гостиницы в этих запросах/ответах не участвует и не «знает» о их существовании. 1 из 11 1С:Отель. Модуль On-line бронирования. Настройка и подключение ЗАО «Гостиничные технологии» При обмене данными в текущей версии не используется защищенное соединение, т.к. никаких «чувствительных» к раскрытию данных не передается. Скорость работы модуля Единственным «тонким» местом с точки зрения скорости работы модуля интернет бронирования является размер приложения, которое загружается в обозреватель запущенный на компьютере клиента при первом обращении клиента к модулю интернет бронирования на сайте гостиницы. В настоящий момент размер приложения OnLineReservationWith1CHotel.swf составляет порядка 500 Кб. Работа с модулем не возможна до полной загрузки приложения в обозреватель пользователя. В процессе загрузки приложения пользователь видит индикатор завершенности загрузки и может оценивать остающееся время. Характерные времена загрузки для разных типов соединений: GPRS модем – 100 сек. Обычный модем – 60 сек. ADSL (128 Kb) – 30 сек. Мобильный интернет 3G – 10 сек. Wifi 811.g – 2 сек. Далее, при работе приложения, замедление работы модуля может быть вызвано только задержками на стороне сервера 1С:Отель при обработке большого кол-ва запросов, т.к. никаких «тяжелых» данных между сервером 1С:Отель и клиентом не передается. Актуальность информации Главная особенность технической архитектуры реализованной в этом модуле интернет бронирования – это 100% актуальность предоставляемой пользователю информации об остатках свободных номеров. Никаких промежуточных баз данных решение не использует. В тот момент, когда пользователь видит на экране номер своей брони эта бронь уже есть в основной рабочей базе и уже изменила актуальные остатки свободных номеров. Минусы такого архитектурного решения У клиента в обозревателе должен быть установлен Adobe Flash Player plugin версии не ниже 9. Замечания: Если плагин у пользователя не установлен, то обозреватель автоматически предложит пользователю его установить. Если версия модуля на сайте гостиницы будет обновлена, то обновление модуля в обозревателе клиента также будет выполнено автоматически при следующем обращении клиента. 2 из 11 1С:Отель. Модуль On-line бронирования. Настройка и подключение ЗАО «Гостиничные технологии» Время первой загрузки или обновления приложения на медленных интернет каналах. Плюсы Легкость установки и внедрения модуля в структуру сайта гостиницы. Модуль не зависит от технологии разработки/развертывания сайта гостиницы. Честный “on-line” Развертывание на сайте гостиницы На WEB сервере гостиницы в любом удобном месте (поддиректории сайта) выкладываются файлы модуля интернет бронирования: PlayerProductInstall.swf – начальный загрузчик программы OnLineReservationWith1CHotel.swf – основной модуль программы OnLineReservationWith1CHotel.html – страница, на которую указывает ссылка на модуль on-line бронирования на сайте гостиницы. Единственные изменения, которые необходимо сделать в текущем сайте гостиницы – это прописать ссылку на OnLineReservationWith1CHotel.html и применить корпоративный дизайн сайта гостиницы к этой странице. current_config.xml – файл с основными настройками, используется основным модулем программы при запуске. AC_OETags.js – файл библиотеки функций JavaScript, которые используются в OnLineReservationWith1CHotel.html В «корень» WEB сервера на котором развернуты WEB службы 1С:Отель выкладывается файл crossdomain.xml, в котором прописаны параметры доступа к модулю интернет бронирования. Внимание: Обычно WEB сервер гостиницы обслуживается компанией, которая предоставляет услуги хостинга WEB сайта гостиницы. WEB сервер, на котором развернуты WEB службы 1С:Отель, это обычно другой сервер и он расположен внутри локальной сети гостиницы и обладает выделенным IP адресом для доступа к нему из сети Интернет. Файл crossdomain.xml поставляется с конфигурацией позволяющей любому пользователю с любого IP адреса запустить модуль интернет бронирования. Пример таких настроек файла crossdomain.xml: <?xml version="1.0"?> <!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/crossdomain-policy.dtd"> <cross-domain-policy> <allow-access-from domain="*"/> <allow-http-request-headers-from domain="*" headers="SOAPAction"/> </cross-domain-policy> Настройка основных параметров подключения Основные парамеры подключения указываются в файле current_config.xml. Пример настроек файла current_config.xml: 3 из 11 1С:Отель. Модуль On-line бронирования. Настройка и подключение ЗАО «Гостиничные технологии» <?xml version="1.0"?> <CurrentConfig> <ExtSystemCode>1CHotelFlexClient</ExtSystemCode> <Language>RU</Language> <Hotel>КОМПАС</Hotel> <RoomQuota>Интернет</RoomQuota> <RoomRate>Базовый</RoomRate> <ClientType></ClientType> <RoomType></RoomType> <PostReservation>true</PostReservation> <WSDL>http://217.150.202.253/1CHotelReservationInterfaces.1cws?wsdl</WSDL> <AccommodationTypesToShow> <AccommodationType>Номер</AccommodationType> <!--<AccommodationType>40</AccommodationType>--> </AccommodationTypesToShow> <RoomsReservedChoice> <Quantity>1</Quantity> <Quantity>2</Quantity> </RoomsReservedChoice> <NumberOfPersonsChoice> <Quantity>1</Quantity> <Quantity>2</Quantity> <Quantity>3</Quantity> <Quantity>4</Quantity> <Quantity>5</Quantity> <Quantity>6</Quantity> </NumberOfPersonsChoice> <ShowRoomsAvailable>false</ ShowRoomsAvailable > <ShowRoomsReserved>true</ShowRoomsReserved> <ShowNumberOfPersons>true</ShowNumberOfPersons> <DefaultCheckInHour>13</DefaultCheckInHour> <DefaultCheckOutHour>12</DefaultCheckOutHour> <ReservationStatus></ ReservationStatus > </CurrentConfig> Описание параметров конфигурационного файла: <ExtSystemCode> – Код внешней системы в 1С:Отель. Произвольная строка, которая используется для настройки соответствия между кодами типов номеров, видов размещения, квот номеров, тарифов, используемых в модуле интернет бронирования и отображаемых клиенту и соответствующими кодами в базе данных 1С:Отель. Настройка соответствий выполняется в таблице «Соответствия кодов объектов во внешних системах объектам в программе». Форма настройки вызывается из меню «Настройки/Соответствия кодов объектов во внешних системах объектам в программе» панели инструментов «Подсистемы» в интерфейсе системного администратора 1С:Отель. Ниже приведен пример некоторых таких настроек для кода внешней системы « Roomba8FlexClient». 4 из 11 1С:Отель. Модуль On-line бронирования. Настройка и подключение ЗАО «Гостиничные технологии» <Language> – Код языка интерфейса модуля интернет бронирования. В текущей версии поддерживаются коды: RU – для русского языка <Hotel> – Код или наименование гостиницы, как они заданы в базе данных 1С:Отель или произвольная строка, для которой определена настройка в таблице соответствий. <RoomQuota> – Код или наименование квоты номеров, как она задана в базе данных 1С:Отель или произвольная строка, для которой определена настройка в таблице соответствий. Может быть пустой. Если квота не указана, то 1С:Отель возвращает остатки свободных номеров по всей гостинице. Если указана, то остатки возвращаются по номерам квоты. Новая бронь также создается по этой квоте. <RoomRate> – Код или наименование тарифа, как они заданы в базе данных 1С:Отель или произвольная строка, для которой определена настройка в таблице соответствий. При отображении клиенту остатков свободных номеров по категориям показываются цены на проживание из указанного здесь тарифа. Поле может быть пустым. В этом случае используется базовый тариф гостиницы указанный в параметрах гостиницы в базе данных 1С:Отель. Тариф подставляется в новую бронь. <ClientType> – Код или наименование типа клиента, как они заданы в базе данных 1С:Отель или произвольная строка, для которой определена настройка в таблице соответствий. Тип клиента в 1С:Отель влияет на цены тарифа (цены в тарифе задаются в «разрезе» типов клиентов). Может быть пустым. В этом случае используются цены указанные в тарифе для «пустого» типа клиента. Тип клиента подставляется в новую бронь. <RoomType> – Код или наименование типа номера или группы типов номеров, как они заданы в базе данных 1С:Отель или произвольная строка, для которой определена настройка в таблице соответствий. Используется для ограничения выдачи остатков свободных номеров только по указанному здесь типу или группе типов номеров. В случае, если, например, квота номеров не используется, этот параметр позволяет указать, что бронирование через интернет возможно только по одному, указанному здесь типу номера. <PostReservation> – значения: true или false. Если true, то новая бронь при создании 5 из 11 1С:Отель. Модуль On-line бронирования. Настройка и подключение ЗАО «Гостиничные технологии» сразу проводится и становится действующей. Если false, то новая бронь создается в виде «заготовки» и должна быть явно проведена и подтверждена менеджером гостиницы для того чтобы стать действующей. Замечание: При создании любой новой (проведенной или непроведенной) брони через модуль интернет бронирования, программа отправляет внутреннее оповещение 1С:Отель об этом событии всем сотрудникам отдела бронирования. Отдел бронирования указывается в настройках параметров гостиницы в базе данных 1С:Отель. Если отдел бронирования в настройках параметров гостиницы в БД 1С:Отель не указан, то оповещения отправляться не будут. <WSDL> – Обязательный параметр. Строка подключения к WEB-службам развернутым на сервере 1С:Отель. Формат строки: http://<IP адрес сервера>/<опционально! директория, в которую выполнена публикация WEB-служб на WEB-сервере>/1CHotelReservationInterfaces.1cws?wsdl <AccommodationTypesToShow> – Задает список доступных для интернет бронирования видов размещений. Обычно выдача ограничивается одним видом размещения «Номер», т.е. клиенту разрешается бронировать только номер целеком. ◦ <AccommodationType> – Код или наименование разрешенного к выдаче вида размещения, как они заданы в базе данных 1С:Отель или произвольная строка, для которой определена настройка в таблице соответствий. Если необходимо разрешить клиенту выбирать вид размещения, то этот элемент нужно повторить в XML файле настроек столько раз, сколько видов размещений нужно разрешить. <RoomsReservedChoice> – Задает максимальное количество номеров, которое клиент может забронировать в гостинице по одной категории за один раз. Количество указывается повторяющимися элементами <Quantity>. Обычно ограничивается одним элементом с значением 1. ◦ <Quantity> – Разрешенное кол-во номеров. Если пользователь может выбирать между, например, 1-м, 2-мя или 3-мя номерами, то нужно указать 3 элемента <Quantity> с значениями 1, 2 и 3 соответственно <NumberOfPersonsChoice> – Задает максимальное число гостей в номере, которое клиент может указать при бронировании по одной категории номеров. ◦ <Quantity> – Разрешенное кол-во человек. Если пользователь может выбирать между, например, 1-м и 2-мя гостями, то нужно указать 2 элемента <Quantity> с значениями 1 и 2 соответственно <ShowRoomsAvailable> – значения: true или false. Если true, то модуль интернет бронирования дает клиенту возможность увидеть остаток свободных номеров в гостинице или по квоте. Если false то колонка с остатками свободных номеров по категориям прячется. Если на выбранный клиентом период какой-либо тип номера не доступен, то эта категория не показывается в списке свободных. Если на выбранный период нет ни одного доступного к продаже номера, то клиент получит 6 из 11 1С:Отель. Модуль On-line бронирования. Настройка и подключение ЗАО «Гостиничные технологии» предупреждение. <ShowRoomsReserved> – значения: true или false. Если true, то модуль интернет бронирования дает клиенту возможность выбрать количество бронируемых номеров. Если false то колонка с выбором количества номеров прячется и, при указании клиентом числа заезжающих гостей, всегда принимается равной 1. <ShowNumberOfPersons> – значения: true или false. Если true, то модуль интернет бронирования дает клиенту возможность выбрать количество заезжающих гостей. Если false то колонка с выбором количества гостей прячется и, при указании клиентом числа бронируемых номеров, всегда принимается равной 1. Замечание: Можно скрыть и колонку с выбором числа бронируемых номеров и колонку с выбором числа гостей. В этом случае клиент может отметить интересующий его тип номера галочкой. При создании новой брони число гостей и номеров будет установленов в 1. <DefaultCheckInHour> – Час заезда в гостиницу. Обычно 12, 13 или 14. Используется для установки времени заезда по умолчанию при выборе клиентом периода планируемого проживания <DefaultCheckOutHour> – Час выезда из гостиницы. Обычно 12. Используется для установки времени выезда по умолчанию при выборе клиентом периода планируемого проживания <ReservationStatus> – Код или наименование статуса брони, как они заданы в базе данных 1С:Отель или произвольная строка, для которой определена настройка в таблице соответствий. Если параметр не указан, то новая бронь в базе данных 1С:Отель создается со статусом новой брони по умолчанию. Этот статус указывается в параметрах гостиницы в настройках 1С:Отель. Если параметр указан, то новая бронь будет создана с этим статусом. Настройки в 1С:Отель В базе данных 1С:Отель можно выполнить следующие настройки: В карточке гостиницы на закладке «Условия бронирования» можно указать текст подвала формы подтверждения брони. Пример на картинке ниже. Также это можно сделать в карточке тарифа. 7 из 11 1С:Отель. Модуль On-line бронирования. Настройка и подключение ЗАО «Гостиничные технологии» На закладке «Логотип» карточки гостиницы можно указать путь к картинке с логотипом гостиницы, размещенной на сайте гостиницы. В этом случае вид модуля интернет бронирования будет кастомизирован этим логотипом. В справочнике типов номеров в карточке типа номера можно указать линк на небольшую фотографию номера этого типа. Файл с фотографией должен лежать на WEBсервере сайта гостиницы. Там же можно указать HTML страницу краткого описания этой категории номеров. HTML может содержать линки на страницы сайта гостиницы подробно описывающие данную категорию. 8 из 11 1С:Отель. Модуль On-line бронирования. Настройка и подключение ЗАО «Гостиничные технологии» Развертывание и настройка WEB-служб 1С:Отель на сервере На компьютере, где планируется развернуть WEB службы 1С:Отель должны быть выполнены следующие действия: Должен быть установлен адаптер WEB служб 1С:Предприятия 8.1 из комплекта поставки платформы 1С:Предприятие. Если используется сервер 1С:Предприятия 8.1, то также необходимо установить компоненты доступа к серверу 1С:Предприятия. Должен быть установлен и запущен WEB-сервер Microsoft Internet Information Services (IIS 6.0 или 7.0 в режиме совместимости с 6.0) или Apache WEB-сервер (2.0 или 2.2). В WEB сервере (IIS, Apache) должен быть зарегистрирован менеджер WEB-служб 1С:Педприятия 8.1. Регистрация выполняется утилитой регистрации wsinst.exe (находится в каталоге \Bin каталога установки 1С:Предприятия 8.1). Пример: Запустите команду “c:\Program Files\1Cv81\Bin\wsinst.exe -iis” для регистрации менеджера WEB-служб в Microsoft IIS 6.0. Пользователю операционной системы IUSR_<имя компьютера> (IUSR в IIS 7.0) должны быть предоставлены полные права на каталог \Bin каталога установки 1С:Предприятия 8.1. Внимание: При предоставлении прав отметьте галочку, что права должны быть применены рекурсивно ко всем файлам и подпапкам папки Bin. В настройках IIS необходимо (в консоли управления Internet Information Services\Вебузлы\Веб-узел по умолчанию\Свойства\Закладка "Безопасность каталога"\Кнопка "Изменить..." на панели "Анонимный доступ и проверка подлинности") поставить галочку "Анонимный доступ" и снять галочку "Разрешить управление паролем из IIS" 9 из 11 1С:Отель. Модуль On-line бронирования. Настройка и подключение ЗАО «Гостиничные технологии» ПРИМЕЧАНИЕ. Если вы используете 32-разрядный вариант сервера «1С:Предприятия» на 64-разрядной версии операционной системы, то необходимо указать веб-серверу, что он может выполнять 32-разрядные приложения. Это делается с помощью следующей команды, которую нужно запустить в командном интерпретаторе системы: cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1 В списке пользователей базы данных 1С:Отель, в конфигураторе 1С:Предприятия 8.1, должен быть создан пользователь “Booking” (или с любым другим именем на английском языке) с ролью “Background mode” и интерфейсом “BackgroundMode”. У пользователя должна быть включена галочка “Аутентификация 1С:Предприятия” и указан пароль содержащий только английские символы и цифры. Если IIS установлен на том же компьютере, что и сервер 1С:Предприятия, то можно в качестве имени пользователя в 1С указать «IUSR_<имя сервера> и указать использовать аутентификацию Windows Нужно зайти в 1С:Отель один раз под этим новым пользователем и, после того, как он будет сохранен в справочнике сотрудников, нужно запустить 1С:Отель под системным администратором и установить у сотрудника набор прав «Фоновый» и гостиницу по 10 из 11 1С:Отель. Модуль On-line бронирования. Настройка и подключение ЗАО «Гостиничные технологии» умолчанию. WEB-службы 1С:Отель должны быть опубликованы на WEB-сервере через меню конфигуратора «Администрирование/Публикация WEB-служб». Подробнее описание процедуры развертывания WEB служб средствами 1С:Предприятия 8.1 можно прочитать в [1С:Предприятие 8.1 Конфигурирование и администрирование. Часть 2] В случае если вы разворачиваете WEB службы на отдельном сервере, вам нужно вручную в Блокноте отредактировать файл Roomba8ReservationInterfaces.1cws. В этом файле в строке подключения нужно прописать имя пользователя Booking и его пароль (Usr=Booking;Pwd=booking123). Пример строки подключения в случае использования сервера 1С Предприятия: connectString="Srvr=&quot;GOTECHSRV&quot;;Ref=&quot;InfoBase&quot;;Usr=&quot;Bookin g&quot;;Pwd=&quot;booking123&quot;" 11 из 11