Николай Семенцов
26 января 2014
Компания «Сотбит» уже продолжительное время разрабатывает проект
DIRECTUM:
Бронирование в комплексе ЭТНОМИР было организовано с помощью системы документооборота
Совместно со специалистом Карачевым Александром из компании, внедрившей DIRECTUM, и
Архитектура сервиса онлайн-бронирования:
В локальной сети ЭТНОМИР есть много компьютеров, которые взаимодействуют с общей базой DIRECTUM. Веб-сервис имеет выход в интернет и возможность делать прямые запросы в базу для получения свободных номеров, пакетов с событиями, статусов бронирования и заказов. Запросы на создание чего-либо в DIRECTUM выполняются через создание XML пакетов и последующей отправки его обработки сценарием из DIRECTUM.
1С-БИТРИКС:
На стороне 1с-битрикс для бронирования было решено использовать модуль интернет-магазина. В данном модуле есть много функционала, который нам позволил быстро запустить сервис: оплата заказа, статусы заказа, номера отелей в заказе, по сути были товарами - все это упростило разработку.
Для платформы 1С-БИТРИКС компанией «Сотбит» были разработаны модуль и два компонента, которые взаимодействуют через API с веб-сервисом.
Первый компонент - это фильтр, который дает пользователю возможность ввести данные в каждом отеле на свободные номера в конкретные дни.
Компонент обращается к веб-сервису на свободные номера с помощью API. Веб-сервис в свою очередь делает запрос в базу данных DIRECTUM, фильтр выдает массив свободных номеров в отеле на данное число. Отели и номера хранятся в инфоблоках. У каждого номера и отеля есть свой уникальный ID, по которому идет фильтрация при выводе. В нашем случае фильтр был внедрен в комплексный компонент каталога.Так же реализована возможность, отгрузки пакетов событий в данные дни, приступили к разработке покупки обедов в отелях. Развитие данного сервиса не стоит на месте, там будут все более и более интересные возможности.
Второй компонент – это форма для оформления бронирования номера отеля, в ней пользователь заполняет свои данные. При отправке данных формы идет создание заказа и пользователя перекидывает на оплату заказа. Дальше после оформления заказа номер отеля бронируется на 3 часа в системе DIRECTUM до его оплаты. В нашей архитектуре обмена XML файлами есть время задержки 1 минута. Могла возникнуть проблема двойной продажи в этот период. Для предотвращения двойных продаж, как только пользователь сделал заказ через сайт, из полученного ответа на свободные номера снимаются номера, которые только что были заказы в данном отеле.
Модуль был создан для хранения настроек онлайн бронирования и взаимодействия сайта с веб-сервисом. Веб-сервис может делать запросы в данный модуль, на смену статусов заказа на подтверждение и аннуляцию бронирования. Если бронирование подтверждено, то пользователю высылается ваучер с которым он может заселиться в отель. Данный модуль так же служит для отправки данных об оплате на веб-сервис. Веб-сервис в свою очередь формирует XML пакеты, отправляя их в DIRECTUM.
Сервис успешно зарекомендовал себя среди пользователей, отлично справился с новогодним потоком отдыхающих. Решение получилось очень гибкое и масштабируемое, развитие данного сервиса будет продолжаться. Онлайн бронирование отелей можно посмотреть тут
Компания «Сотбит» надеется, что наш опыт создания такого сервиса будет полезен и вам.