К содержанию
SemCue

Horror Cinema · бронирование и оплата

Сначала время.Фильм потом.

Horror Cinema — частный хоррор-кинотеатр в Омске: зал на одну компанию, фильм, режим страха, живые актеры. Раньше расписание на сайте грузилось из чужого виджета, а предоплату переводили на карту и присылали чек. Мы сделали для кинотеатра свою систему бронирования на сайте, в Telegram и VK. Теперь гость за минуту выбирает время и вносит предоплату, а фильм и детали настраивает потом по личной ссылке.

Работает · онлайн-оплата с 6 сентября, новая бронь с 24 сентября 2026

Шаг 1 из 4: «Когда хотите прийти?» — только свободные даты и кнопка «Выберите вместе с друзьями»
Итог перед оплатой: время, тариф, фильм и режим — «выберете после бронирования», итог 5 190 ₽ и предоплата 1 000 ₽
Страница «Моя бронь»: время закреплено, полная стоимость, предоплата и остаток при встрече

Как это начиналось

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

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

Главное решение — откуда брать свободное время. Источником правды стал календарь кинотеатра, а поверх него встал свой сервис бронирования. Каждая бронь сразу создает событие в календаре и сделку в CRM. Предоплата 1 000 ₽ держит время 30 минут, неоплаченные брони снимаются сами.

  • Июнь

    Своя бронь вместо виджета

    Бот в Telegram и бронь на сайте берут свободное время из календаря. Клиент бронирует сам, менеджер видит готовую сделку.

  • Лето

    VK и ночные правила

    Бот в VK повторяет Telegram. После ночной самостоятельной брони появилось правило поздних броней на тот же вечер.

  • Август

    Разбор воронки

    Журналы показали, что сайт иногда выдавал занятое время за свободное, а цена на экране расходилась с ценой в CRM.

  • 6 сентября

    Сначала время и предоплата

    Онлайн-оплата ЮKassa и новый порядок шагов: фильм и режим — после оплаты.

  • 24 сентября

    Новая бронь

    «Моя бронь», «Выберите время вместе», одна цена на сервере для сайта и ботов.

Где терялись брони

В Horror Cinema нельзя просто показать свободный час в календаре. Один фильм идет около часа двадцати, другой почти три часа. Компания выбирает режим страха и одного или двух актеров. От этого зависит и время, и цена.

Поэтому старая форма требовала решить все до оплаты. На этом группы застревали: «а какой фильм?», «а кто придет?», «давайте вечером решим». Время никто не держал. Предоплату переводили на карту, загружали чек, а менеджер проверял его и подтверждал бронь.

Разбор воронки показал вещи похуже. Сайт иногда показывал свободным время, которое уже было занято. А цена на экране могла не совпасть с ценой в CRM: скидка за горящий сеанс терялась по дороге к серверу.

Было

  • Сначала фильм, режим и актеры, потом оплата
  • Предоплата переводом и чек, который проверяет менеджер
  • Любое изменение после оплаты — через менеджера
  • Время согласовывают в общем чате, вне системы
  • Цена считалась в нескольких местах и могла разойтись

Стало

  • Сначала время и предоплата 1 000 ₽, детали потом
  • Онлайн-оплата через ЮKassa: СБП или карта, чек автоматически
  • Фильм, режим и состав компании меняются по личной ссылке
  • Ссылка «Выберите время вместе» для общего чата
  • Одна цена на сервере для сайта, Telegram и VK

Время закрепляется оплатой, детали — потом

Новый путь короче: дата, время, примерный размер компании, один или два актера, контакт и предоплата. Фильм и режим выбираются после оплаты на странице «Моя бронь».

Здесь была главная инженерная задача. Если фильма еще нет, сколько времени держать в зале? Бронь сразу занимает стандартные 120 минут. Короткий фильм это окно не сокращает. Длинный фильм расширяет его только после свежей проверки календаря, чтобы не наехать на соседний сеанс.

Шаг 1 из 4: «Когда хотите прийти?» — только свободные даты и кнопка «Выберите вместе с друзьями»
Итог перед оплатой: время, тариф, фильм и режим — «выберете после бронирования», итог 5 190 ₽ и предоплата 1 000 ₽
После оплаты: «Время ваше», предоплата получена, ссылка «Моя бронь» для настройки сеанса
Страница «Моя бронь»: время закреплено, полная стоимость, предоплата и остаток при встрече
Интерфейс на тестовых данных: выбор времени → итог и предоплата → «Время ваше» → «Моя бронь».

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

Что изменилось в цифрах

  • ×2больше посетителей сайта начинают бронь3,3% → 6,8%, разница статистически значима
  • +158%посетителей доходят до подтвержденной брони1,3% → 3,4%, предварительная оценка
  • 34% → 57%доля самостоятельной брони на сайте среди всех сделок кинотеатра
Окна по 13 дней до и после перестановки шагов: 24 августа — 5 сентября и 11–23 сентября 2026 года. Визиты из Яндекс Метрики, брони и сделки из CRM.

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

Выберите время вместе

Самая долгая часть брони — договориться, когда всем удобно. Раньше это происходило в чате, и мы ее не видели. Теперь организатор отправляет одну ссылку в общий чат. Каждый отмечает удобные варианты, а страница показывает реальные свободные сеансы, которые подходят большинству.

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

Страница «Выберите время вместе»: лучшие варианты по ответам компании и календарь свободных сеансов

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

Приглашение для общего чата: дата, время и адрес без доступа к управлению бронью

Путь денег

Оплата — то место, где ошибка стоит денег и доверия. Поэтому сумма берется только из брони на сервере. Браузер, бот или ссылка не могут ее подменить.

Платежный сервис иногда отвечает с задержкой, а сервер может перезапуститься в неудачный момент. Поэтому запрос к ЮKassa и его ключ сохраняются до отправки. После перезапуска система повторит тот же запрос, и ЮKassa не создаст второй платеж. Уведомлению об оплате система тоже не верит на слово: перечитывает платеж и сверяет сумму, валюту и бронь.

Где бронируют

СайтTelegramVK

Один и тот же движок брони и одни правила цены во всех каналах

Бронь

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

Оплата

Платежная сессияСумма берется из брони на сервере, а не из браузера. Запрос и ключ идемпотентности сохраняются до отправки
ЮKassaСБП по умолчанию или карта, чек 54-ФЗ

Подтверждение

Проверка уведомленияПлатеж перечитывается через API: сумма, валюта, бронь. Поздний «отменен» не перебивает «оплачен»
Очередь задачКаждое действие записано заранее и повторяется без дублей
  • amoCRMзаметка об оплате
  • Google Calendarотметка в событии
  • Ботподтверждение клиенту
Одна бронь проходит путь до подтверждения. Заметка в CRM, отметка в календаре и сообщение клиенту записываются в очередь и повторяются без дублей.
  • 0броней, оплаченных дважды
  • 0успешных оплат без фискального чекавозвраты тоже с чеками
  • 3бренда на одном платежном контуреHorror Cinema, MORPHEUS, Art Quest
Сверка платежей через ЮKassa, CRM и броней на 14 октября 2026 года.

Как это делалось

Как мы это делали

Онлайн-оплату запустили за неделю: первый тестовый платеж на сайте 30 августа, 6 сентября — первые реальные платежи на сайте и в ботах. Новую бронь с «Моей бронью» и выбором времени вместе выпустили 24 сентября.

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

  • КинотеатрПравила брони и отмены, цены и скидки, что видит гость и что менеджер.
  • SemCueСервис бронирования, страницы, боты, оплата ЮKassa, синхронизация с календарем и CRM, разбор воронки.
  • МенеджерыОтмены, перенос и второй актер; готовая сделка вместо переписки и чеков.

Для технических читателей

Как устроено

Каналы
Сайт, Telegram-бот, VK-бот. Общий сервис бронирования и одни правила цены. Тот же платежный контур используют MORPHEUS и Art Quest.
Сервис бронирования
Node.js в Docker. Занятость из Google Calendar со свежей проверкой перед записью, блокировка на зал.
Изменения брони
Личная ссылка-ключ, каждое изменение с номером версии, пересчет цены на сервере до сохранения.
Оплата
ЮKassa, три магазина. Ключ идемпотентности сохраняется до отправки, уведомление перепроверяется через API.
Синхронизация
Очередь задач на каждую оплату: заметка в amoCRM, отметка в календаре, подтверждение клиенту — без дублей.

Откуда цифры

Метрика, CRM и платежи

Следующая система

Запись на праздники и бронь театра на общем ядре →

SemCue / Обсудим задачу

Что вы хотите изменить?

Расскажите о проекте и задаче. Даже если пока есть только идея.

Напишите нам в Telegram

Обсудим цель, текущую ситуацию и подходящий следующий шаг.

Обсудить проект в Telegram
В разработкеСайт ещё дорабатывается: что-то может меняться.