Площадки и календари людей: где вы работаете и почему один человек не занят дважды
Справочник мест работы, шаг «где?» на публичной странице записи и связка «два календаря — один человек»: занятый час мастера в одном зале закрывает тот же час в другом, и запрещено это на уровне базы данных. Что уже работает и что придётся включить руками — сказано прямо.
Студия выросла и сняла второй зал. Тренер Иван теперь ведёт и на Пушкинской, и на Соколова — в расписании это два разных календаря, а человек один. Администратор Аня знает про это, но помнит не всегда: во вторник она поставила Ивану персональную тренировку на Соколова, не заметив, что на то же самое время он уже стоит на Пушкинской.
Дальше по сценарию: звонок клиенту, извинения, перенос. И так каждый раз, когда два зала живут в двух табличках, а сверяет их память администратора.
Модуль «Площадки и календари людей» закрывает обе половины этой задачи — справочник мест, где вы работаете, и ключ «это один и тот же человек», после которого пересечение перестаёт быть вопросом внимательности.
Что меняется
| Две таблички и память | CraftYourCRM | |
|---|---|---|
| Где вы работаете | знают сотрудники | справочник «Площадки», видно всей команде |
| Клиент выбирает место | звонком или наугад | шаг «где?» на странице записи |
| Мастер в двух залах | два календаря, сверяет человек | один ключ занятости на оба |
| Пересечение часа | ловят глазами, иногда после звонка клиента | отказ в момент записи |
| Мастер не с этой площадки | узнают на месте | не подставится в автоподборе |
| Площадка на ремонте | предупреждают устно | галочка «Принимает записи» снята |
Площадка — это место, где идёт работа
Модуль ставит в кабинет раздел «Площадки»: название, адрес, комментарий и галочка «Принимает записи». Одна запись, «Основная площадка», заводится сразу — чтобы было с чего начать, а не с пустого экрана.
Дальше площадка проставляется календарю: у раздела «Ресурсы» появляется поле «Площадка» — где работает именно этот календарь. Оставили пустым — календарь не привязан к месту и предлагается везде. Это важная мелочь: установка модуля ничего не выключает и никого не прячет, пока вы сами не разметили, кто где.
Галочка «Принимает записи» — способ временно убрать зал со страницы записи, не удаляя его: ремонт, затянувшаяся аренда, сезон. Записи и история места остаются на месте.
Один человек — один час, и это запрещено в базе
Вторая половина модуля — поле «Тот же человек, что и». Заполняется у второго календаря человека и говорит: это тот же физический Иван, что и там.
Иван — один человек, два календаря
┌─────────────────────────────┐ ┌─────────────────────────────┐
│ «Иван · Пушкинская» │ │ «Иван · Соколова» │
│ Площадка: Зал на Пушкинской │ │ Площадка: Зал на Соколова │
│ Тот же человек: — │◀──│ Тот же человек: Иван · Пушк.│
└─────────────────────────────┘ └─────────────────────────────┘
▼ ▼
общий ключ занятости — «Иван · Пушкинская»
вт 12, 19:00–20:00 занято ← бронь пришла на Пушкинскую
вт 12, 19:00–20:00 отказ ← тот же час пытаются занять на Соколова
И вот здесь разница между «мы проверяем» и «этого не может быть». Пересечение отклоняет не код кабинета, а сама база данных: у занятого времени стоит ограничение, которое физически не даёт записать две пересекающиеся брони с одним ключом человека. Ошибиться мимо этой проверки нельзя — ни через страницу записи, ни через перенос в кабинете, ни через групповое занятие, ни двумя одновременными клиентами, нажавшими «Записаться» в одну секунду.
Сетка свободного времени читает занятость тем же ключом, поэтому час, который база потом отвергнет, клиенту просто не показывается. Отказ — это страховка, а не обычный сценарий.
Календарь без заполненного поля ведёт себя ровно как раньше: ключ у него свой собственный. Никакой миграции расписания, никакого «перед включением всё перепроверьте».
Клиент выбирает, куда ему удобно
Когда площадок больше одной, на публичной странице записи появляется первый шаг «где?» — раньше услуги и раньше мастера. Клиент выбирает зал, а дальше подбор идёт уже внутри него: свободное время считается по календарям этой площадки, а автоподбор мастера не предложит того, кто здесь не работает.
Лишнего экрана на пустом месте не возникает. Площадка одна — шага нет вовсе, она подставляется молча. Площадок нет — страница выглядит ровно так же, как до установки модуля. Клиент видит выбор только тогда, когда выбор действительно есть.
Кому это нужно в первую очередь
Сетям студий, залов и секций — где один тренер ведёт в нескольких местах и его час продаётся из разных расписаний. Клиникам с несколькими кабинетами и филиалами — врач принимает то там, то тут. Мастерам, совмещающим свой кабинет и чужую площадку — самый частый источник двойной записи, потому что два расписания заводятся в разных местах и никогда не сверяются.
Общее у всех одно: время человека едино, а календарей у него несколько — и цена рассинхрона всегда одна, звонок клиенту с извинением.
Сколько это стоит
Нисколько. Площадки — модуль бесплатного тарифа, как и остальные модули: платный тариф продаёт объём (места в команде, записи, файлы), а не доступ к возможностям. Отдельной платы «за филиал» или «за второй адрес», как принято у отраслевых платформ, у нас нет и не будет.
Честные ограничения
Ядро модуля — ключ человека и подбор по площадке — работает полностью. А вот вокруг него есть незакрытые края, и мы называем их поимённо.
- Два поля модуля надо один раз добавить в карточку. После установки «Площадка» и «Тот же человек, что и» появляются колонками в списке «Ресурсы», но в самой карточке календаря их ещё нет — и заполнить их поэтому негде. Лечится один раз и за четыре клика: на экране раздела «Настроить виды» → шестерёнка у вида «Карточка: Ресурсы» → галочки у обоих полей → «Сохранить». Нужны права конструктора. Пока это не сделано, модуль не делает ничего — это самая дорогая наша недоделка здесь, и мы её признаём.
- Адрес площадки клиент не увидит. Поле «Адрес» есть и заполняется, но на шаге «где?» пока выводится только название зала. Подсказка у поля обещает большее, чем есть; пишите ориентир прямо в название, пока это так.
- Список мастеров и услуг на странице записи не сужается по выбранной площадке. Клиент, выбравший Соколова, увидит в списке и Марию, которая принимает только на Пушкинской. Ошибку он поймает не сразу: отказ с понятным текстом придёт в момент бронирования, а не при выборе. Занятое время при этом не теряется и чужой мастер записан не будет — неприятен именно лишний шаг назад.
- Связка календарей действует вперёд, а не назад. Поставили «Тот же человек, что и» — общим становится будущее время; брони, созданные до этого, остаются на прежних ключах и друг о друге не знают. Разметьте людей до того, как расписание наполнится, либо перепроверьте уже стоящие пересечения глазами один раз.
- Бронь не запоминает, где она прошла. Место читается через календарь, на который записан клиент, но отдельного поля «площадка» у самой записи нет — поэтому в письмах, документах и выгрузках ответить «в каком зале» пока нельзя. Групповые занятия площадок тоже не знают.
- Сняли с записи все площадки разом — фильтр выключается целиком. Это защита от пустой страницы записи: когда доступных мест не остаётся, подбор возвращается к поведению «без модуля» и календари снова предлагаются. Убирайте залы по одному.
Что дальше
Настройте саму запись и её публичную страницу — онлайн-запись; продавайте час зала сразу группе — групповые занятия. Пошаговая инструкция по разметке календарей появится в справке кабинета вместе с тем, как поля встанут в карточку сами.
Что рядом
- Онлайн-запись: клиент записывается сам, пока вы работаетеПубличная страница, где клиент выбирает услугу и свободное время. Запись сразу в CRM, отмена и перенос — на его стороне, а двойная бронь невозможна: это запрещено на уровне базы данных, а не проверкой в коде.
- Групповые занятия: расписание и состав группы — в CRM, а не в перепискеЗанятие с числом мест стоит на календаре, участники видны и на карточке занятия, и на карточке клиента, счётчик занятых мест пересчитывается сам. Что уже работает и чего пока нет — сказано прямо, без умолчаний.
Соберите свою CRM под свою нишу — бесплатно и без карты.
Собрать мою CRM →