Будто взошли на Эверест: как мы разработали сервис бронирования отелей в Telegram-боте

Его функционал не уступает сайту или приложению, а разработка стоит в 10 раз дешевле

«В месте» — это медиасервис о путешествиях по России. Ключевая идея проекта — внимание к деталям, сервису и красоте, независимо от ценового сегмента. Поэтому здесь нет случайных объектов размещения: команда «В месте» тщательно отобрала каждый отель, гостевой дом и апартаменты.

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

В нашей практике подобных проектов не было, но мы решили попробовать. Честно, мы даже не представляли, что нас ждёт. По ощущениям — будто покорили Эверест, но результат того стоит. Как работает сервис бронирования в чат-боте, рассказываем в кейсе.

В боте можно выбрать, забронировать и оплатить отель

Создатели проекта «В месте» считают, что в организации путешествия важно всё — от поиска информации до захватывающих видов за окном. Поэтому задача была такая: создать бота, в котором будет удобно выбирать, бронировать и оплачивать отели. Рассказываем, как работает каждая функция:

Выбор отеля. В боте мы создали мини-апп с каталогом объектов размещения. Использовали стандартную механику магазина в Telegram, но адаптировали её под задачу проекта: вместо категорий товаров здесь регионы, а вместо подкатегорий — отели.

Для каждого объекта размещения есть краткая характеристика и карусель с фотографиями. Если пользователю нужно больше информации — он может кликнуть по ссылке и прочитать развёрнутое описание отеля и номеров.

Чтобы забронировать номер, нужно нажать кнопку «Добавить»

Бронирование. Когда пользователь определился с отелем и категорией номера, бот предлагает выбрать даты проживания. Их можно посмотреть во встроенном календаре.

Дальше бот собирает данные, которые необходимы отелю для бронирования и подготовки номера. Например, он узнаёт:

  • сколько взрослых гостей будет проживать в номере; 
  • нужно ли разместить детей;
  • возраст каждого ребёнка. 

Оплата. Чтобы принимать платежи, мы использовали интеграцию с платформой PayKeeper. Бот просит гостя ввести свои контактные данные: имя, фамилию, номер телефона и email. Затем формирует ссылку на оплату и, если она прошла успешно, бронирует номер.

Все брони пользователя сохраняются в его личном кабинете. Здесь можно посмотреть подробности и отменить бронирование — если отель был оплачен, деньги сразу же вернутся на счёт.

Также можно добавить пожелания, бот отправит их на почту сотрудникам «В месте»

Кроме того, чат-бот сохраняет контактные данные пользователя. Если человек бронирует отель в следующий раз, ему не нужно заново набирать имя, фамилию, телефон и email. Можно просто выбрать кнопку в меню.

Связь с менеджером. Чтобы гости в любой момент могли обратиться к сотрудникам проекта, мы настроили в боте команду «Консьерж». По запросу пользователя чат-бот отправляет email и контакт в Telegram ответственного менеджера.

Сотрудники «В месте» могут больше рассказать об отеле, помочь с выбором и бронированием

«Создать такую механику технически намного сложнее, чем обычный магазин в Telegram или чат-бота, который отвечает на часто задаваемые вопросы. Нужно было учесть множество нюансов: категорию номера, даты проживания, возможность отмены брони и её сроки, оплату, возврат платежей. За время работы над проектом мы сами стали немного отельерами», — Маргарита Нечитайло, руководитель направления разработки чат-ботов Smartbot

Как настроена система бронирования 

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

Чтобы добавить в бота отели, которые используют готовые решения, мы настроили интеграцию с двумя крупными сервисами: TravelLine и Bnovo. Вот как она работает:

  1. Пользователь выбирает в боте отель и номер.
  2. Smartbot по встроенному артикулу понимает, к какому агрегатору подключен отель. Затем по API запрашивает информацию о свободных номерах и датах.
  3. Бот возвращает ответ пользователю.
  4. Если гость подтверждает бронь, чат-бот собирает контактные данные и передаёт их в TravelLine или Bnovo. Система резервирует номер на 15 минут.
  5. Бот генерирует ссылку на оплату и отправляет её пользователю. Если гость оплачивает номер, система подтверждает бронирование. Если нет — отменяет резерв.

У каждой системы свои особенности, которые нужно учесть при настройке. Например, Bnovo не хранит данные на своих серверах, поэтому мы создали для «В месте» отдельную базу и разместили информацию в ней.

А TravelLine не передаёт данные о свободных датах, поэтому механику с календарём в боте пришлось адаптировать. Если пользователь выбирает отель, который подключен к этому сервису, ему нужно внести даты вручную. TravelLine проверяет наличие номеров в выбранном интервале и передаёт информацию боту.

По команде можно получить подробную информацию о вариантах размещения

Отели, которые не подключены к TravelLine или Bnovo, бронируют менеджеры «В месте». В таких случаях бот собирает все необходимые данные и отправляет их на email ответственному сотруднику. Дальше он взаимодействует с гостем напрямую.

«Такая простая механика подходит, когда вам нужно протестировать гипотезу. Например, удобно бронировать отели через бота или нет. Если количество пользователей чат-бота растёт, можно развивать его: настраивать интеграции, расширять функционал и сокращать ручной труд сотрудников», — Маргарита Нечитайло, руководитель направления разработки чат-ботов Smartbot

Мы выросли благодаря этому проекту 

Кейс «В месте» — пример того, какие сложные механики можно реализовать в чат-боте. При этом, настройка бота будет дешевле, чем разработка приложения или сайта с возможностью забронировать отель. 

«Это был сложный, но очень интересный проект. Когда мы настраивали интеграцию с TravelLine и Bnovo, их сотрудники удивлялись: разве можно создать сервис бронирования отелей в чат-боте? Несмотря на то, что они работают со множеством объектов размещения, в их практике такого не было. Мы сами себе доказали — возможно всё. Наша команда сильно выросла в навыках благодаря этому проекту», — Маргарита Нечитайло, руководитель направления разработки чат-ботов Smartbot

Есть идея — пишите в наш проектный офис. Команда Smartbot подберёт оптимальный вариант чат-бота, разработает механику и будет поддерживать проект.