БРОНИРОВАНИЕ НЕСКОЛЬКИХ МЕСТ
Групповая запись: одна бронь, несколько мест и фактические участники
На мастер-класс зарегистрировались четыре заказчика. Это могут быть четыре человека, а могут быть десять, если каждый бронировал для своей компании. Для проверки вместимости нужно считать занятые места, сохраняя связь с групповой заявкой. Количество покупок, броней, зарезервированных мест и пришедших участников отвечает на разные вопросы и не должно автоматически совпадать.
Определите, что означает количество в заявке
Для конкретного занятия задайте вместимость в местах и правила групповой записи. Укажите, входит ли организатор в выбранное количество, можно ли бронировать для других и допустима ли частичная отмена. Клиент должен понимать, означает ли «3» трёх участников всего или себя плюс трёх гостей.
Отдельно определите максимальный размер одной группы. Наличие десяти свободных мест не обязательно разрешает одной заявке занять все десять, если у бизнеса есть согласованный лимит групповой покупки. Но ограничение группы не заменяет общую вместимость занятия.
Acuity позволяет добавить выбор количества мест для услуги или класса после настройки одновременной вместимости. Acuity: Multiple spots. Это пример функции поставщика; в вашей системе нужно проверить, как количество превращается в записи и какие действия доступны клиенту.
Существующая карта процесса фитнес-студии связывает отдельного участника, занятие и абонемент. Здесь предмет — одна групповая заявка на несколько мест. Списание пакетов и очередь ожидания остаются отдельными процессами.
Разделите четыре объекта
Занятие — конкретная дата, время, помещение и вместимость. Групповая заявка — запрос одного организатора на указанное количество участников. Место — единица ограниченной мощности. Посещение — фактический приход конкретного участника или учтённой единицы группы.
Одна заявка может иметь несколько дочерних записей по местам. В другой системе хранится одна запись с количеством. Оба способа возможны, если итог вместимости, частичные изменения и явка воспроизводятся одинаково. Не считайте число строк внешнего календаря количеством занятий без проверки модели.
Документация Acuity отдельно отмечает: при синхронизации класса со сторонним календарём каждый участник может отображаться как отдельная запись. Acuity: Booking group classes. Восемь календарных строк в таком представлении не означают восемь параллельных классов.
Доступность считается по сумме мест
В простой модели свободные места равны подтверждённой вместимости минус сумма действующих резервов мест. Если используются временные удержания, которые блокируют продажу, их количество учитывается отдельно по установленному правилу. Показатель должен иметь время среза и версию занятия.
Для новой группы сравнивайте весь запрошенный размер со свободным остатком. Если осталось одно место, группа из двух не помещается. Не уменьшайте её до одного без согласования только ради успешной записи. Предложение разделить группу или выбрать другую дату — отдельное решение клиента.
При увеличении уже существующей группы проверяется дополнительное количество. При уменьшении освобождается разница между прежним и новым размером. Полная отмена освобождает оставшийся активный резерв этой заявки, а не первоначальное количество, если оно уже было частично изменено.
Учебный пример: четыре заявки занимают десять мест
Вместимость мастер-класса — 12 мест. Подтверждены группы A на 3, B на 2, C на 4 и D на 1 место. Всего четыре заявки, но зарезервировано 3 + 2 + 4 + 1 = 10 мест. Свободно 12 − 10 = 2.
Организатор C уменьшает свою группу с четырёх до двух участников. Освобождаются два места. Новый резерв равен 3 + 2 + 2 + 1 = 8, доступно 4. История должна сохранять прежний размер и подтверждённое изменение, а остальные группы остаются без изменений.
Затем группа E запрашивает три места. После подтверждения занято 11, свободно 1, а групповых заявок стало пять. Группа F на двух участников уже не помещается целиком. Если система сравнивает только пять заявок с лимитом 12, она ошибочно разрешит запись и доведёт резерв до 13 мест.
Все числа условные. Пример предполагает одинаковое потребление одного места каждым участником и отсутствие иных блокировок. Для вариантов с сопровождающими, отдельным рабочим местом или специальным оборудованием заранее задайте, какие единицы мощности они занимают, не выводя это из цены билета.
Частичное изменение должно быть одной понятной операцией
Запрос «нас будет двое вместо четверых» относится к конкретной заявке и занятию. Сначала найдите её текущую версию, затем проверьте новое количество и зафиксируйте разницу. Повтор того же сообщения не должен освободить ещё два места.
При одновременных изменениях проверяйте вместимость на момент фиксации. Два администратора могут видеть четыре свободных места и независимо обещать по три. Нужен один согласованный результат обновления, после которого второй запрос перепроверяет оставшееся количество.
Не объединяйте частичное изменение мест с денежным исходом. Стоимость может определяться за человека, за группу или по другому принятому правилу. Освобождение места само по себе не доказывает возврата денег, а возврат не подтверждает исправление списка участников.
Если клиент переносит группу на другую дату, новая запись проверяется на полный размер группы. Сохраняйте исходное занятие до согласованного результата переноса, чтобы не оставить людей без обоих вариантов.
Посещаемость считайте по участникам и по группам отдельно
Продолжим учебный пример с 11 зарезервированными местами в пяти группах. Пришли все трое из A, один из двух из B, оба из C, никто из D и двое из трёх из E. Всего 3 + 1 + 2 + 0 + 2 = 8 участников.
Физическая заполняемость занятия — 8 / 12 = 66,7%. Явка относительно подтверждённых мест — 8 / 11 = 72,7%. Доля групп, из которых пришёл хотя бы один участник, — 4 / 5 = 80%. Плановая заполняемость до события была 11 / 12 = 91,7%.
Это четыре разные величины. Отметка организатора B о приходе не должна автоматически подтверждать обоих участников. Три неявившихся места также не равны трём неявившимся группам: полностью отсутствовала только группа D.
Если именной учёт не нужен, можно использовать счётчик пришедших внутри группы с ограничением её размера. Если нужны отдельные проверки права участия, храните минимальные необходимые записи по людям. Не собирайте дополнительные личные сведения только ради заполнения всех полей формы.
Что должно быть в данных
Сохраните идентификатор занятия и его версию, вместимость, единицу места, идентификатор группы, организатора, подтверждённое количество, временные удержания и историю изменений. Для частичной явки нужны фактическое количество или дочерние отметки участников.
Отдельно храните состояния: запрос, резерв, подтверждение, уменьшение, перенос, отмена и посещение. Поле «количество» без смысла недостаточно: в одном отчёте это может быть исходный запрос, в другом — действующий резерв, в третьем — пришедшие люди.
Для обратных действий сохраняйте ссылку на исходную операцию. Если одна система создаёт дочерние записи по местам, а другая — групповую строку, настройка обмена должна объяснять соответствие. Повторная загрузка дочерних строк не создаёт дополнительные места поверх уже учтённой группы.
Чек-лист приёмки групповой записи
- Четыре заявки A–D занимают десять мест, а не четыре.
- Уменьшение C с 4 до 2 освобождает ровно два места.
- После E на три места остаётся одно; группа F на два не подтверждается целиком.
- Повтор изменения не освобождает места второй раз.
- Одновременные запросы проверяют общий остаток при фиксации.
- Частичный приход не отмечает автоматически всю группу.
- Календарные строки, группы, места и посещения имеют разные подписи.
- Перенос проверяет полный размер группы на новой дате.
- Восемь пришедших дают воспроизводимые 66,7%, 72,7% и 80% для разных баз.
- Денежные действия не подменяют изменение физического резерва.
Для SABSUS проверьте сценарий через запись, карту помещения и отчёты. Поддержку группового количества, дочерних мест и частичных изменений нужно подтвердить в конфигурации. Статья описывает требования, а не гарантирует готовый режим групповой брони.
Частые вопросы
Один организатор должен считаться одним участником?
Только если он действительно входит в выбранный размер группы. Отдельно определите роль человека, который бронирует, и число тех, кто придёт.
Можно автоматически уменьшить группу до свободного остатка?
Нет без согласованного правила и понятного принятия клиентом. Возможность приехать вместе может быть существенным условием заявки.
Почему группы дают более высокую явку, чем места?
Группа считается присутствующей уже при одном пришедшем человеке, если выбран такой показатель. Места отражают каждого участника и поэтому описывают другую базу.
Источники
- Acuity: Multiple spots — количество мест и вместимость.
- Acuity: Booking group classes — групповые места и представление участников в календаре.
Источники проверены 9 октября 2026 года. Группы, вместимость и посещаемость вымышлены.