Есть особый жанр документа, знакомый каждому, кто хотя бы раз вёл группу. Он живёт в заметках телефона, называется как-нибудь вроде «Среда группа» и выглядит так: восемь имён, три из них с вопросительным знаком, одно зачёркнуто, рядом приписка «Лена — спросить», а внизу телефон человека, который «очень хотел, но мест уже не было». Документ обновляется вручную, по памяти, чаще всего ночью. Иногда он врёт.
Мы сделали так, чтобы этот документ можно было закрыть. В Grafik появилась групповая форма приёма: вы указываете, сколько человек принимаете на одно занятие, ставите его в расписание — и дальше клиенты записываются сами, тем же виджетом, что и на индивидуальную встречу. Система считает места, закрывает запись, когда они кончились, и складывает всю группу в одно событие вашего календаря.
Как это устроено — коротко:
Главное решение, которое мы приняли, звучит скучно, и именно в этом его сила: группа в Grafik — это обычный формат приёма, у которого указано число мест. Тот же формат, что «Онлайн» или «Кабинет». У него уже есть длительность, перерыв после, цвет, иконка, цена, буферы переходов и место в недельном расписании. К этому списку добавилась ровно одна строка: «Сколько человек». Всё остальное вы уже умеете.

Отсюда главная цифра этой статьи: новых экранов — ноль.
Подключение: три действия
Раздел «Расписание» → «Форматы приёма».
- Добавьте формат. «+ Добавить», название («Группа поддержки»), цвет, иконка — как обычно.
- Переключите «Сколько человек» с «Один клиент» на «Группа». Появятся два поля. «Мест в группе» — число от 2 до 100 (стартовое значение — 4). «Показывать клиенту» — как вести себя счётчику мест: «Всегда», «Только когда мест мало» или «Не показывать».
- Поставьте формат в недельное расписание. Среда, 19:00–20:30, «Группа поддержки», 90 минут, перерыв после — столько, сколько вам нужно, чтобы прийти в себя.
Сохранится само, через полторы секунды после последнего движения. На карточке формата появится бейдж «👥 8», а под ним — строка «Уже начатые наборы сохранят прежнее число мест». К этой строке мы ещё вернёмся: она важнее, чем кажется.
Всё. Дальше — о том, ради чего это затевалось.
Что это даёт вам
Другую арифметику часа. Восемь человек в 19:00 — с той же формой записи, теми же подтверждениями и теми же напоминаниями в Telegram, что у одного клиента в 18:00. Группа живёт в том же инструменте, что и индивидуальный приём: без Google-форм, без чатов-списков, без второго сервиса «для мероприятий».
Места считает система. В группе на восемь девятому виджет ответит: «На это занятие мест уже нет». В момент записи все места пересчитываются заново, под замком: двое желающих на последнее место всегда получают разные ответы — одному запись, другому честное «мест нет». Переполнить группу через публичную запись невозможно по устройству системы. Превысить лимит можете только вы — вручную, с явным флажком, о котором ниже.
Одно событие в календаре. Восемь участников — одно событие «Группа поддержки · группа (8)» в Google или Яндекс.Календаре, с числом людей прямо в заголовке. Мы считали это условием выката: календарь — ваше рабочее место, а восемь наложенных друг на друга карточек превращают среду в одно серое пятно.
Участники видят только вас. Каждый получает приглашение в свой календарь. Адреса остальных для него закрыты — это зашито в сам запрос к календарю и работает без настройки. Приватность группы включена по умолчанию, и выключить её попросту негде.
Читаемые «Записи». Группа — одна карточка: «19:00 · Группа · 5/8», с полосой заполненности в цвете формата. Один клик — список участников: имя, статус, подтверждение, привязан ли Telegram, у каждого меню с привычными действиями. Заполнилась — плитка залита цветом, «8/8 · мест нет». Закрыли набор — пунктирная рамка. Записался пока один — «1/8», и это по-прежнему группа: решение, проводить или отменять, остаётся за вами.
Управление каждым занятием отдельно. На конкретную среду вы можете:
- изменить число мест (нижняя граница — уже записанные: «В группе уже 5 человек — меньше поставить нельзя»);
- закрыть набор досрочно — занятие исчезает из виджета, записанные остаются;
- отменить занятие целиком — с честным предупреждением «Будут отменены 5 записей, участники получат уведомление», после чего каждая запись отменяется штатно: календарь, Telegram, всё как при обычной отмене;
- добавить участника вручную — например, того, кто позвонил. Если мест уже нет, форма покажет жёлтый баннер и флажок «Добавить сверх лимита — в группе будет 9». Кнопка отправки заблокирована, пока флажок пуст. Случайно взять девятого невозможно, осознанно — за один клик.
Заморозку вместимости. Вот та самая строка. Было восемь мест, вы решили, что пять комфортнее, а в идущей группе уже семеро. Что с ними? Ничего: вместимость фиксируется на занятии в момент, когда в него приходит первый человек. Идущие наборы живут по старым правилам, новые набираются по новым. Настройку можно крутить без страха кого-то выбросить.
Привычный перерыв. «После группы мне нужно полчаса, после онлайна — десять минут» настраивается теми же буферами переходов, что и для индивидуальных форматов.
Лист ожидания на место. Заполненная группа показывается клиенту серой плиткой «мест нет» с кнопкой «Сообщить, когда освободится». Кто-то вышел — подписчики получают сообщение в Telegram именно про эту группу, в эту среду. Место, которое раньше простаивало, закрывается само.
Что видят ваши клиенты
Обычную запись. Слот «19:00 · Группа поддержки · осталось 3 места», клик, та же форма, что и на индивидуальный приём: имя, контакт, согласие. Отдельные «заявки на участие» остались в прошлом вместе с блокнотом.
Честный счётчик. «Осталось 3 места» — реальное число из базы. Режим показа выбираете вы. Есть тонкость, ради которой существует вариант «Только когда мест мало»: строка «осталось 10 из 10» громко сообщает миру, что пока никто не пришёл, и отпугивает сильнее, чем зовёт. В этом режиме счётчик появляется при трёх свободных местах и меньше, а до того пустая группа выглядит как обычный слот.
Цену «за место». Рядом с ценой группового формата стоит уточнение «за место» — клиент понимает, что платит за участие, а цена всей группы его касается мало.
Внятный ответ, если опоздал. Пока человек заполнял форму, последнее место заняли. Он увидит экран «Мест не осталось. На это занятие мест уже нет. Выберите другое время или другой формат приёма» — и, если у вас включён лист ожидания, кнопку «Сообщить, когда освободится» рядом.
Приглашение в свой календарь — его отправляет его собственный календарь, штатно, как на любую встречу.
Напоминания в Telegram. Те же «Буду» и «Отменить», что у индивидуальных клиентов. Кнопки «Перенести» у группового занятия нет: перенос одного участника означал бы сдвиг времени для всех остальных. Логика группы проще и честнее — выйти из этой и записаться в другую. Если старое сообщение в чате всё же предложит перенос, сервер ответит тем же объяснением.
Три короткие истории
Последнее место. Двое открыли форму одновременно. Обе отправки встают в очередь за одним замком: первая создаёт запись, вторая видит заполненную группу и получает «мест нет». Слот исчезает из виджета. Вы об этом узнаете только из карточки «8/8».
Участник вышел. Отменил из бота, из календаря или это сделали вы. Событие в календаре пересобирается без него, место возвращается в сетку («осталось 1 место»), лист ожидания рассылает предложения тем, кто ждал именно эту группу. Место достаётся тому, кто запишется первым.
«Проведём впятером». Набралось 5/8, искать дальше вы устали. «Закрыть набор»: занятие уходит из виджета, пятеро остаются. Если потом выйдут все — опустевшее занятие перестаёт держать время, и при следующей записи набор начинается заново, по текущей вместимости формата.
О чём мы предупреждаем заранее
- Форматов у специалиста максимум шесть. Разные группы — это разные форматы (у них своё название, длительность, цена, число мест). Два индивидуальных формата плюс четыре группы — потолок.
- Перенос участника отсутствует — и у клиента, и у вас. Отмена работает штатно. Перенос занятия целиком — отдельная будущая операция.
- Оплата групп, посещаемость, групповые чаты и «курсы из N занятий» пока за пределами функции. Сначала группы поработают вживую, потом поговорим о надстройках.
- Apple-календарь получает группу через ICS-фид: одно событие на занятие, с числом участников в заголовке. Приглашения самим участникам в этой интеграции пока отсутствуют — они есть у Google и Яндекса.
- При режиме «Не показывать» групповой слот внешне выглядит как обычный. Клиент узнаёт о формате из названия и описания.
- Общий кабинетный календарь (ROOM-зеркало) групповые записи пропускает: коллеги видят занятие в вашем основном календаре, «тихого» зеркала «Занято» у группы нет.
Вместо итога
Групповая работа всегда состояла из двух частей: собственно работы и учёта — кто придёт, кто передумал, кому позвонить, сколько осталось мест. Вторая часть незаметно съедала внимание, которое предназначалось первой. Теперь учёт лежит на системе: она считает, закрывает, напоминает, освобождает и пересобирает календарь, пока вы занимаетесь тем, ради чего люди к вам записались.
