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

Art Quest · MORPHEUS · Horror Cinema

Праздник занимает пять ресурсов.Двойной брони не бывает.

У компании три площадки: квесты Art Quest, хоррор-кинотеатр и иммерсивный театр MORPHEUS. Детский праздник в квестах — это не одно время в календаре, а квест в комнате, челлендж, дискотека и чаепитие, и все это в одной площадке. Мы сделали для него собственный движок записи, а театр за один день перевели с YClients на то же общее ядро брони.

Работает · запись Art Quest с онлайн-предоплатой — с 9 октября 2026, бронь театра — с 4 августа 2026

Запись Art Quest, шаг «Дата и время»: начало 14:00, окончание около 17:15, свободное время на субботу 24 октября, итог 13 900 ₽ и предоплата 2 000 ₽
Бронь MORPHEUS перед подтверждением: спектакль, 24 октября 2026 в 18:00, 4 зрителя, итог 6 990 ₽, предоплата 2 000 ₽

Праздник — это не время в календаре, а пять ресурсов

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

Раньше это считал менеджер: сколько займет праздник, свободна ли чайная через полтора часа, успеют ли убрать комнату до следующей группы. Мы перенесли эти правила в движок. Праздник состоит из фаз, каждая фаза занимает свои ресурсы, между фазами 5 минут на переход, после детского квеста 30 минут на уборку, после взрослого 20. Детский праздник заканчивается не позже 23:00.

Вся площадка

только для этой компанииуборка

только для этой компании 14:00–17:15 · уборка 17:15–17:45

Комната «Машина времени»

квестуборка

квест 14:00–15:00 · уборка 15:00–15:30

Темная комната

свободна, но площадка занята праздником

Зона активностей

челлендждискотека

челлендж 15:05–15:35 · дискотека 15:40–16:10

Чайная зона

чаепитие

чаепитие 16:15–17:15

Классический день рождения с началом в 14:00: квест, челлендж, дискотека и чаепитие. Длительности и уборка — из действующего каталога. Темная комната свободна, но продать ее другой компании нельзя.
Запись Art Quest, шаг «Выберите формат»: пакеты за 8 900 ₽ и 13 900 ₽ с составом праздника и длительностью
Запись Art Quest, шаг «Дата и время»: начало 14:00, окончание около 17:15, свободное время на субботу 24 октября, итог 13 900 ₽ и предоплата 2 000 ₽
Страница записи на стенде с выдуманными данными. Клиент выбирает формат, а время окончания и общую длительность считает сервер: 14:00 → около 17:15, 3 ч 15 мин.

Две семьи на одно время не попадут

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

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

Еще одна защита — от повторов. Если у клиента пропал интернет и страница отправила ту же бронь еще раз, движок узнает ее по ключу и не создаст вторую.

  • 1 из 12одновременных заявок на одно время получает броньнагрузочная проверка, 5 сентября 2026
  • 12 → 1одинаковых повторов с одним ключом дают одну броньи одну запись в календаре
  • 1 из 2параллельных заявок прошла на рабочей базепроверка при запуске, 29 августа 2026

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

Цена с сервера, предоплата закрепляет время

Стоимость считает сервер по каталогу с версией: квест на 6 детей от 6 500 ₽, +800 ₽ за каждого следующего, пакеты, челленджи и допы. Сумму, которую прислала страница, сервер не принимает, а сумма платежа фиксируется в момент создания оплаты.

Бронь сразу появляется в amoCRM и в календаре площадки: желтым, пока нет предоплаты, зеленым после. Предоплата 2 000 ₽ проходит через ЮKassa, и в сделку пишется заметка. Если за 30 минут оплаты нет, время освобождается, событие из календаря удаляется, а менеджер получает одну задачу. Каждый внешний шаг — CRM, календарь, оплата — при сбое повторяется раз в минуту.

Запись запустили с онлайн-предоплатой 9 октября, после проверки платежом в 1 ₽ накануне ночью. Кнопки «Забронировать» стоят на страницах детских квестов, в квизе и в боте.

Театр ушел с YClients за один день

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

Свое у театра то, что действительно свое. Спектакли с дневной ценой до 18:00 и вечерней после, до 4 зрителей в цене и +1 000 ₽ за каждого следующего, максимум 6. Зал отдельный, поэтому спектакль может идти одновременно с кино и квестами. Клиент вносит предоплату 2 000 ₽ и загружает чек, а менеджер видит в сделке ссылку на него.

Бронь MORPHEUS: два спектакля с дневной и вечерней ценой
Бронь MORPHEUS перед подтверждением: спектакль, 24 октября 2026 в 18:00, 4 зрителя, итог 6 990 ₽, предоплата 2 000 ₽
Бронь театра на стенде с выдуманными данными. Цены спектаклей — действующие, итог пересчитывает сервер.

Одно ядро, три площадки

Бронь кинотеатра, театра и квестов работает по одним правилам: цену считает сервер, неоплаченная бронь держится 30 минут, предоплата закрепляет время, брони попадают в календарь площадки и в CRM. Разные у площадок только тарифы и то, что именно они бронируют: сеанс, спектакль или праздник из нескольких фаз.

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

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

Как мы это строили

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

Запуск шел по шагам: сначала движок на рабочей базе в тестовом режиме, потом проверочный платеж в 1 ₽, потом боевой режим и кнопки на сайте.

  • КомпанияКаталог и цены, пакеты, правила площадки, сроки запуска.
  • SemCueМодель ресурсов и фаз, защита от двойной брони, расчет цены, оплата, календарь и CRM, страница записи, перенос театра.
  • МенеджерыПолучают задачу только по брони, которую не оплатили вовремя.

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

Устройство

Ресурсы
Пять ресурсов площадки, праздник раскладывается на фазы с буферами: переход 5 минут, уборка 30 после детского квеста и 20 после взрослого.
Двойная бронь
Блокировка каждого ресурса на время выбора и ограничение в базе данных для подтвержденных броней. Повторы распознаются по ключу.
Цена
Каталог с версией на сервере, поля суммы от страницы отклоняются, сумма фиксируется в платежной сессии.
Оплата
ЮKassa с подтверждением уведомлением, заметка в сделке, освобождение времени через 30 минут без оплаты.
Внешние системы
amoCRM и Google Calendar: событие меняет цвет после оплаты, каждый шаг при сбое повторяется раз в минуту.
Театр
Отдельный тип брони на общем сервисе, свой зал, свои тарифы, загрузка чека.

Откуда цифры

Откуда цифры

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

Бонусы вместо промокодов и горящие сеансы в ботах →

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

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

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

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

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

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