...

Описание

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

А для администраторов — удобная Booking-панель, в которой легко подтверждать заказы, управлять расписанием и вручную создавать брони на мероприятия продолжительностью от 2 до 7 часов.

Мы поняли, что ни одно готовое решение не справится с этой задачей, и с нуля создали систему бронирования, которая работает именно так, как нужно было нашему клиенту.

Что у нас получилось: удобная и быстрая система бронирования

Пользователь тратит на бронь меньше минуты — а значит, у него просто нет времени устать, запутаться и уйти с сайта:

  1. Выбирает игру и указывает количество участников;
  2. Система показывает только свободные временные слоты на нужную дату;
  3. Пользователь сразу видит итоговую стоимость и кнопку «Подтвердить»;
  4. После подтверждения получает письмо, и администратор уточняет детали по телефону.

Что мы сделали для администраторов

Отдельную, понятную и логичную панель управления бронированиями. Она избавила администраторов от хаоса в расписании, звонков, Excel-таблиц и «инструкций на 4 листа»

Удобный календарь расписания

В Booking-панель администратор видит весь график по дням: кто забронировал, на сколько человек и на какое время.

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

Удобный календарь расписания

Добавление брони вручную

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

Система автоматически рассчитывает итоговую стоимость. Остаётся только нажать «Создать бронь»:

Создание брони в панели администратора

Управление бронью

После создания брони администратор может:

  1. Подтвердить бронь — кнопка «Выполнить бронь» делает её активной и окрашивает ячейку в зелёный цвет;
  2. Редактировать бронь — изменить дату, время, количество участников или контактные данные;
  3. Удалить бронь — бронирование исчезнет из расписания и больше не будет отображаться в календаре.

Брони, которые ещё не подтверждены, автоматически выделяются в расписании оранжевым цветом — это помогает быстро сориентироваться, где есть открытые заявки.

Пример на скриншоте: подтвержденная бронь

Настройка цен

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

Так система автоматически рассчитывает стоимость в зависимости от времени брони — вручную ничего пересчитывать не нужно.

Настройка тарифов по дням недели и времени суток

Фильтрация по месяцам и годам

Все заказы можно найти по месяцам и годам:

Фильтрация по месяцам и годам

В выбранном месяце сразу видно, какие дни уже заняты — они подсвечены. Если нажать на конкретную дату (например, 29 мая), откроется список всех броней на этот день.

А теперь — как мы это делали

Сбор требований и целей клиента

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

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

Разработка технического задания

Мы собрали всё в один документ: логика бронирования, кто и когда получает письма, и как настраиваются тарифы. Именно этот документ стал основой всей архитектуры проекта.

Создание прототипов и дизайн

Сначала мы нарисовали «каркас» сайта: продумали структуру страниц, показали клиенту логику бронирования. Потом — дизайн: сделали интерфейс современным и удобным.

Страница прототипа наглядно показывает, какая логика бронирования для пользователей будет реализована

Реализация логики системы бронирования

На стороне пользователей:

  • Выбор количества участников;
  • Автоматическая проверка свободных слотов;
  • Итоговая цена с учётом времени суток;
  • Предоплата 25 % при брони после полуночи;
  • Подтверждение заявки с письмом на e-mail.

На стороне администраторов:

  • Отдельная Booking-панель, не связанная с административной панелью-WordPress;
  • Календарь с возможностью быстро добавить или изменить бронь;
  • Гибкие настройки цен, времени, ролей;
  • Мгновенное подтверждение/отмена;
  • Подсказки, цвета, фильтры — всё, чтобы не запутаться.

Тестирование и обучение сотрудников

Когда всё было готово, мы провели тестирование, убедились, что все работает, а затем дали доступ команде клиента.

Чтобы объяснить, как пользоваться системой, мы нарисовали большую и подробную схему — она показывает весь путь: от момента, когда клиент выбирает слот, до того, как администратор подтверждает или отменяет бронь.

С какими проблемами мы столкнулись

Эквайринг не хотел дружить с кастомом

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

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

Вот так выглядит предоплата на сайте

Стандартные уведомления не подошли — сделали уникальные

Письма-уведомления оказались ещё одним испытанием. Стандартная система отправки писем не могла корректно взаимодействовать с нашей кастомной системой. В результате письма уходили всем сразу или не доходили никому.

Мы разработали собственный механизм рассылки, в котором тщательно продумали каждый вариант письма. Теперь клиент и администратор получают точные и понятные уведомления с необходимой информацией: выбранная игра, дата и время, количество игроков, текущий статус брони. В ночное время в письме будет информация о предоплате.

Пример письма-уведомления на почту пользователю

Бронирование мероприятий: еще одна функция для администраторов

Помимо стандартного бронирования игр на 45 минут, перед нами стояла задача: сделать второй важный формат — мероприятия. Это более продолжительные события: дни рождения, вечеринки, корпоративы, когда зал бронируется сразу на несколько часов и включает не только игры, но и фуршет, музыку и доп. обслуживание.

Чтобы администраторы могли удобно работать с такими заявками, мы сразу спроектировали отдельную вкладку в Booking-панели.

Бронирование мероприятий: еще одна функция 
для администраторов

Слоты и мероприятия взаимосвязаны

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

На скриншоте мероприятия заняли временные слоты и забронировать игры в них не получится

На экране — только доступное время

Администратор видит только доступное время — занятые окна недоступны. Система не даст случайно создать пересекающиеся брони.

На скриншоте видно, что временные слоты для мероприятий на 5 и 7 часов отсутствуют — это значит, что они заняты

Создание разных типов мероприятий

Сейчас сайт нашего клиента предлагает только два стандартных варианта мероприятий — день рождения и корпоратив. Но в реальности пользователи могут запрашивать другие форматы: например, аренду зала для свадебной вечеринки, встречи выпускников или киберспортивного турнира.

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

Это удобно: не нужно менять сайт или ждать обновлений — сотрудник просто вносит данные и бронирует нужный интервал.

Так выглядит вкладка для создания типов мероприятия

Как это видит пользователь

Оставляет заявку на мероприятие через контактную форму. Далее администратор вносит данные в систему. При желании эту часть можно расширить — реализовать полноценный интерфейс бронирования со стороны пользователя.

Форма для бронирования мероприятия

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

Результат

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

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

Система легко расширяется, если бизнесу нужно что-то ещё: новые форматы, изменения в расписании — всё можно встроить без глобальных переделок.

Хотите сайт, который станет кейсом?

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

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