Как избежать двойных записей в салоне
Короткий ответ: двойная запись — почти никогда не сбой календаря, а обещание, выданное дважды: одному мастеру, одному кабинету или одному аппарату. Держите все каналы в одном календаре, привяжите ресурсы к услугам и дайте системе показать конфликт до сохранения. В Tervita пересечение по мастеру запрещено на уровне базы данных, конфликт по кабинету и оборудованию виден прямо в форме записи, а подтверждённое отсутствие сразу исчезает из свободных слотов.
Большинство двойных записей появляется одинаково: два человека смотрят на две разные правды. Администратор пишет время в журнал, клиент в ту же минуту бронирует на сайте, и оба уверены, что место их. То же самое происходит, когда календарь знает только про мастеров, а услуге нужен ещё кабинет или аппарат, который в календаре никто не держит.
Почему две записи оказываются в одном месте?
Посмотрите, откуда реально приходят ваши записи. В обычном салоне каналов минимум четыре: сайт, телефон, директ в соцсетях и клиент, зашедший с улицы. Если все четыре не пишут в один и тот же календарь сразу, двойная запись — вопрос времени.
Четыре самых частых сценария:
- Два календаря. Сайт пишет в систему, звонок — на бумагу. Сверка происходит вечером, через два часа после того, как место пообещали дважды.
- Отложенный ввод. Время согласовали в переписке, а внести обещали «потом». В это время оно свободно на сайте.
- Невидимый ресурс. Два мастера свободны, но педикюрный кабинет один. Календарь про кабинет ничего не знает и продаёт оба времени.
- Отсутствие, которое не отметили. Обучение или больничный остались в разговоре — система предлагает время человеку, которого не будет.
Первые два лечит дисциплина, вторые два — то, что ресурсы и исключения живут в календаре.
Какие ресурсы на самом деле ограничивают ваш день?
Параллельная вместимость салона — это минимум из трёх чисел: сколько мастеров работает одновременно, сколько есть кабинетов или рабочих мест и сколько единиц общего аппарата. Четвёртый мастер не даёт четвёртого места, если кабинетов три.
Сколько клиентов помещается в ваш салон одновременно?
Введите свои числа и посмотрите, какой ресурс упирается в потолок первым. Расчёт идёт только в браузере и никуда не сохраняется.
- Записей одновременно
- 2
- параллельных приёмов
- Узкое место
- Ресурсы сбалансированы: несколько из них упираются в потолок одновременно.
Это модель планирования, а не расписание. Реальное пересечение всегда решает конкретная запись со своей длительностью и ресурсами.
Тот же расчёт вскрывает вторую тихую причину — время на уборку и подготовку. Если услуга идёт 60 минут, а кабинет готов к следующему клиенту только через 75, то календарь, в котором записано 60, продаёт время, которого на самом деле нет. Это не двойная запись в строгом смысле, но клиент чувствует ровно её: он пришёл вовремя и ждёт в коридоре. Закладывайте эти минуты в длительность услуги, а не в надежду, что кто-нибудь успеет между делом. Для аппаратных процедур сюда же входит время на дезинфекцию и остывание оборудования — по документам производителя, а не по ощущению.
Если число вышло меньше, чем вы думали, это хорошая новость: теперь понятно, где рождается перепродажа времени, и можно либо добавить ресурс, либо изменить порядок услуг.
Как Tervita не даёт записям пересечься?
Три разных защиты, работающих на разных уровнях.
Мастер — на уровне базы данных. Двух пересекающихся записей одному мастеру просто не сохранить: это проверяет не интерфейс, а ограничение самой базы. Технически это exclusion constraint: он сравнивает временные интервалы и отклоняет строку, диапазон которой пересекается с уже существующим у того же мастера; документация PostgreSQL описывает этот механизм.
Разница с обычной проверкой практическая. Проверка в интерфейсе смотрит на данные, которые были на экране мгновение назад, и проигрывает, когда двое сохраняют одновременно: оба видели свободное время, оба получили «сохранено». Ограничение базы решает в момент записи, и один из двоих получает честный отказ. Именно эта разница важна в час пик, когда администратор принимает звонок, а клиент бронирует на сайте в ту же минуту.
Кабинет и оборудование — сразу в форме. Если выбрать кабинет или аппарат, занятый в это же время, форма показывает это до сохранения, а не ошибкой после. Администратор видит столкновение тогда, когда его ещё можно решить: сдвинуть на десять минут, взять другой кабинет или передать клиента коллеге. Для этого ресурсы должны быть привязаны к услугам — календарь не умеет держать то, о чём ему не сказали.
Отсутствие — в расчёте свободного времени. Подтверждённый отпуск, больничный, обучение или закрытое время исчезают со страницы записи сразу. Про сам график — отдельный материал о графике работы сотрудников.

Чего Tervita не делает: не синхронизируется с календарями Google и Outlook. Если команда ведёт личный календарь отдельно, он остаётся второй правдой — а вторая правда и есть источник двойных записей.
Что делать, если двойная запись уже случилась?
Скорость важнее объяснений. Звоните тому клиенту, кому можете предложить лучшую альтернативу, а не тому, кто позвонил последним. Предлагайте конкретное новое время, а не «давайте что-нибудь подберём»: выбор из двух вариантов снижает отказ. Если ошибка ваша, скажите прямо — извинение вместе с конкретным решением почти всегда сохраняет отношения.
Отдельный случай — сознательный овербукинг, когда салон ставит двоих подряд в расчёте на неявку. Логика авиакомпаний сюда не переносится: в самолёте место обезличено, а в вашем кресле сидит конкретный человек, который должен был прийти в два часа. Снижать риск неявок стоит напоминаниями, подтверждениями или предоплатой, а не обещанием одного времени двоим.
Затем сделайте то, что большинство салонов пропускает: запишите, из какого канала пришла эта двойная запись. Три-четыре такие пометки показывают закономерность — директ, отложенный ввод или нехватка кабинета, — и уже она подсказывает, что чинить.
Как выстроить защиту за неделю?
- День 1. Решите, что календарь — единственная правда. Все записи попадают туда сразу, в том числе во время звонка.
- День 2. Привяжите кабинеты и общее оборудование к тем услугам, которым они нужны.
- День 3. Внесите известные отсутствия на следующий месяц.
- День 4. Проверьте в настройках, насколько заранее и насколько поздно клиент может записаться, — см. параметры записи.
- День 5. Договоритесь с командой, кто решает, когда два канала предложили одно время.
Дальше дело привычки. Когда записи попадают в календарь сразу, а ресурсы описаны, двойные записи исчезают там, где обычно и возникают, а редкие оставшиеся становятся настоящими исключениями, а не сбоем системы. Про порядок в клиентской части — руководство по клиентской базе.