Онлайн-запись: клиент записывается сам, пока вы работаете
Публичная страница, где клиент выбирает услугу и свободное время. Запись сразу в CRM, отмена и перенос — на его стороне, а двойная бронь невозможна: это запрещено на уровне базы данных, а не проверкой в коде.
Телефон звонит, когда мастер под машиной. Он вытирает руки, идёт к трубке, три минуты выясняет, на когда
записать, ищет свободное окно в тетради, записывает — и возвращается к работе. Двенадцать звонков в день.
Часть из них приходит вечером, когда трубку никто не берёт. Эти клиенты не перезванивают: они звонят
следующему в поиске.
Что меняется
Запись по телефону
Онлайн-запись
Кто тратит время
мастер или администратор
никто
Вечер и выходные
звонок в пустоту
клиент записался сам
Свободное время
ищем в тетради
клиент видит только реально свободное
Двойная запись
случается
невозможна
Отмена и перенос
звонок вам
двумя кликами, слот сразу свободен
Мастер узнаёт
когда ему передадут
сам, в тот же момент
Посчитайте на своих числах: если хотя бы один звонок в день приходит в 21:40, когда трубку никто не
берёт, — это один потерянный клиент ежедневно. Не потому что вы плохо работаете, а потому что в 21:40
он выбирает того, кто ответил.
Как это выглядит для клиента
Автосервис на Ленина · Запись
┌────────────────────────────────────────────┐
│ Услуга: Замена масла · 40 мин · 2 500 ₽ │
│ │
│ Пятница, 8 августа │
│ [ 10:00 ] [ 10:40 ] 11:20 [ 12:00 ] │
│ ↑ занято │
│ │
│ Имя Иван │
│ Телефон +7 999 123-45-67 │
│ [ Записаться ] │
└────────────────────────────────────────────┘
Ссылку кладут в шапку сайта, в профиль в соцсети, в сообщение клиенту. Регистрация не нужна: чем меньше
шагов, тем больше записей.
Цена бывает не точной — и это можно сказать честно. У половины бытовых услуг итог виден только после
осмотра: стрижка зависит от длины волос, выезд — от адреса, диагностика — от того, что найдут. Поэтому у
услуги есть переключатель «Как показывать цену»: «Точная цена» или «Цена от». Со вторым клиент
читает «от 1 800 ₽» вместо «1 800 ₽» — вместо выбора между двумя неправдами (назвать нижнюю границу
точной ценой и объясняться на кассе или не показывать цену вовсе и потерять тех, кто не звонит).
Точная цена Замена масла · 40 мин · 2 500 ₽
Цена от Стрижка · 1 ч · от 1 800 ₽
Меняется только подпись на странице. Предоплата считается от той же цены, что и раньше, а в счёт и в
чек уходит фактическая — «от» в чеке не бывает. Услуга без цены остаётся без подписи: «от» без суммы —
не цена, а обрыв текста.
Ссылка может вести сразу на нужную услугу. Допишите к адресу её название — и клиент, который по ней
пришёл, начинает не со списка, а прямо с выбора времени:
Общая ссылка craftyourcrm.ru/b/ВАШ-КЛЮЧ
Сразу на услугу …/b/ВАШ-КЛЮЧ?service=Замена масла
Это ровно то, что нужно, когда услуги адресованы разным людям: своим ученикам барабанщик даёт одну
ссылку, ученикам вокалистки достаётся другая, и никто из них не листает чужой список. Регистр и пробелы
в названии значения не имеют, а если услугу переименовали — старая ссылка просто откроет обычный первый
экран, без всякой ошибки. Есть модуль «Площадки» — тем же способом называется и зал (?venue=…).
У каждой записи есть страница статуса по ссылке: клиент открывает её без регистрации, видит время и
сам переносит или отменяет визит. Это не «удобство для клиента», а ваш незанятый слот: отменённая
накануне запись продаётся заново, а неявка — нет.
Ссылка уходит клиенту сама, сразу после записи. Как только создана бронь времени — к мастеру или в
кабинет, с сайта или вашими руками, — CRM пишет клиенту подтверждение: когда, к кому, куда ехать и
ссылка «перенести или отменить». Записи в группу это пока не касается (см. «Честные ограничения»).
Канал выбирается сам: если человек когда-то нажал «Старт» нашему боту, подтверждение придёт
в Telegram (и вы увидите его в переписке с клиентом), иначе — письмом на адрес из записи. Нет ни
того ни другого — не уйдёт ничего, и запись от этого не пострадает. Кнопка «Поделиться статусом» на
карточке записи никуда не делась: она нужна, когда ссылку просят повторно.
Со стороны кабинета то же самое делается в два клика. «Перенести» и «Отменить» живут и на
карточке записи, и в меню события на календаре: клиент позвонил и не придёт — администратор
открывает день, отменяет запись, и время тут же возвращается в расписание к следующему клиенту.
Записался — и появился в базе клиентов
Запись с сайта не оставляет имя и телефон просто строчками в брони. Телефон ищется в том разделе, к
которому вы подключили онлайн-запись, — у салона это «Клиенты», у клиники «Пациенты». Нашёлся — запись
связывается с его карточкой. Не нашёлся — карточка заводится из имени и телефона, которые он ввёл, и
связывается с записью.
Разница видна не в момент записи, а на пятый раз. Человек, записавшийся пять раз, — это один клиент с
пятью визитами, а не пять безымянных строк: история лежит в одной карточке, и всё, что по ней
считается, считается целиком. Правило «давно не был — напомни о себе» видит его настоящий последний
визит, абонемент списывается с той же карточки, а начисления идут одному человеку, а не его копиям.
Аня записалась в марте Аня записалась в мае
«+7 900 111-22-33» «8 900 111 22 33»
│ │
└───────────► Аня ◄──────────────┘
карточка одна,
визитов два
Написание номера значения не имеет: +7 900 111-22-33, 8 900 111 22 33 и 79001112233 — один и тот же
человек, вторая карточка не появится. Работает это не «умным сравнением», а тем же механизмом, которым
формы захвата помечают повторные заявки: у вопроса «этот человек у нас уже есть» в продукте один ответ на
все двери, а не по одному на каждую.
Визит закончился — чек собрался
Клиент встал из кресла. Дальше в любой CRM начинается ручная работа: перевести запись в «Выполнена»,
завести заказ, вписать в него услугу, вспомнить цену, добавить воск, который человек взял с полки,
и списать со склада то, что ушло на саму стрижку.
Закрытие визита — одно действие продукта, и всю работу ниже оно делает само. Честно о том, где
оно живёт сегодня: действие есть у ручки продукта (POST /api/booking/{запись}/checkout) — им уже
пользуются интеграции, — а кнопки «Закрыть визит» в карточке записи, рядом с «Перенести» и
«Отменить», пока нет: экран под действием строится. Что происходит по одному вызову:
Запись «Иван Петров, 24 августа»
│
├─► статус «Выполнена»
├─► ЗАКАЗ: «Стрижка + борода, Иван Петров, 24 августа»
│ └─ строка «Стрижка + борода» · работа · 1 × 2 600 ₽
│ (дальше вы добиваете товары: «Воск для укладки» 1 100 ₽)
│ Итого 3 700 ₽ · «Работы 2 600» · «Товары 1 100»
└─► СКЛАД по рецепту услуги
«Воск для укладки × 0.05» → расход 0.05
«Одноразовая бритва × 1» → расход 1
Заказ — не отдельная сущность «для записей»: это та же карточка, к которой у вас цепляются позиции,
подытоги и платежи, — ровно как заказ-наряд в автосервисе, где работы и запчасти
давно живут одним документом: с раздельными подытогами по работам и по материалам и с давальческой
деталью, которая попадает в бумагу клиенту, но не в вашу выручку и не в списание с полки. Мы не
построили вторую такую механику, мы подключили к ней запись.
Мастер в чеке — тот, кто стоит в записи ответственным. Это не украшение: платёж по заказу попадает
именно ему, и зарплатная схема «процент с продаж» видит и услугу, и товары, которые администратор
добил в тот же чек. Продал воск — процент за воск получил тот, кто его продал.
Расходники списываются по рецепту услуги. В карточке услуги есть поле «Расходники на одну услугу»:
по строке на позицию, обычными названиями из каталога. Не хватило на полке — визит всё равно
закрывается: остаток уходит в минус, движение так и пишет («на складе не хватало 2»), а товар всплывает
в панели «Пора пополнить». Бизнес важнее учёта, а учёт всё равно догонит.
Тот же примитив закрывает приём в клинике («консультация + препараты», материалы протокола со склада) и
мойку («работа + химия», шампунь по норме расхода) — ниша меняет только тексты и состав, не механику.
Каждый делает своё
В салоне два мастера: Аня стрижёт, Марина делает маникюр. Клиент выбирает маникюр и нажимает «ближайшее
свободное» — и час Ани ему предлагать нельзя, потому что маникюра она не делает.
В настройках записи есть таблица «Кто оказывает услуги»: строка — услуга, галочки — календари, которые
её делают.
Кто оказывает услуги Аня Марина
┌─────────────────────────────────────────────────────────┐
│ Стрижка ✓ · │
│ Маникюр · ✓ │
│ Консультация оказывают все · · │
└─────────────────────────────────────────────────────────┘
Отмеченное действует сразу и на всех трёх путях записи: шаг «к кому?» показывает только тех, кто эту
услугу делает, автоподбор перебирает только их, а ссылка с чужой парой («к Ане на маникюр» из старой
вкладки) получает честный отказ вместо молчаливой подмены мастера — человек, который шёл к конкретному
мастеру, не должен узнавать о замене в кресле.
Пустая строка означает «оказывают все», а не «никто». Это важнее, чем кажется: настройка появилась
позже самого модуля, и она не имеет права выключить приём записей у того, кто галочек ещё не ставил.
Таблицы нет вовсе, пока календарь один: вопроса «кто из них?» тогда не существует.
Раньше это лечили обходным путём — заводили отдельный «календарь под услугу». Он ломал то, ради чего
календари и заводят: мастер, который делает и то и другое, оказывался двумя расписаниями, и один его час
продавался дважды.
Мастер узнаёт о своей записи сам
Свяжите мастера с его календарём один раз — в модуле «Сотрудники и ставки» у карточки человека есть
поле «Календарь», — и дальше запись находит его сама:
клиент записался — мастеру приходит личное уведомление: «К вам записались: Иван, завтра в 14:00».
Запись при этом закрепляется за ним: она появляется в его «Моём дне» и в его личных списках;
отмена и перенос доходят тем же путём — «Запись перенесена: Иван, 20 августа в 16:00». Именно
перенос и опасен молчанием: человек, которого не предупредили, приедет к старому времени;
владелец видит всю картину от третьего лица одной строкой на запись: «Иван → Мария, завтра 14:00».
Владельцу-мастеру два уведомления об одном событии не приходят — только личное.
Уведомления можно выключить: на всё пространство (настройки онлайн-записи) и лично на себя
(профиль). Личный выбор сильнее — владелец может выключить общий поток, а мастер оставить свой.
Если человек с календарём не связан, ничего не ломается: запись видит всё пространство общей строкой,
как и раньше. Выдуманных адресатов не бывает.
И клиент не забывает о визите
Неявка стоит ровно столько же, сколько пустой слот, поэтому напоминание клиенту работает из коробки,
без единой настройки. Модуль привозит два готовых правила — «за сутки» и «за 2 часа» до визита.
Обе строки видны в «Правилах» с пометкой «Системное»: текст можно переписать своими словами, срок —
сдвинуть, любое из двух — выключить галочкой, не трогая второе.
Уходит одно сообщение первым доступным каналом: в Telegram, если клиент его подключил, иначе
письмом на адрес из карточки. Записи, которую отменили или отметили «Не пришёл», не уходит ничего —
правило перечитывает статус в момент отправки, а не когда напоминание встало в очередь. Каким каналом
ушло напоминание, видно в журнале правила.
Как клиент подключает Telegram. Мессенджер не даёт компании написать человеку первой, поэтому
«Старт» нажимает сам клиент: кнопка «Напоминать в Telegram» стоит на экране «Вы записаны» — сразу
после записи, пока человек смотрит на подтверждение, — и на странице статуса визита. Нажать нужно один
раз: связка запоминается по номеру телефона, и все будущие записи с этим номером напоминаются в
мессенджер. Передумал — команда /stop боту, и напоминания снова уходят почтой.
Клиент, которого записал администратор по телефону, этих двух экранов не видит вовсе — ему приглашение
приходит прямо в письме-напоминании, строкой со ссылкой внизу. Одно нажатие — и о следующем визите
он узнает в Telegram.
Жизнь состоит из исключений
Недельный график отвечает на вопрос «как обычно». Но заболеть можно в четверг, уехать на обучение — со
вторника по пятницу, а клиента, который умеет только по воскресеньям, взять один раз. Раньше такое
выражалось порчей расписания: снял дни недели — и не забудь вернуть.
Теперь у каждого календаря рядом с неделей есть особые дни — две кнопки и список:
Мастер Иван · График работы
┌────────────────────────────────────────────────┐
│ Неделя: [Пн][Вт][Ср][Чт][Пт] Сб Вс │
│ 09:00 – 18:00, перерыв 13:00–14:00 │
│ │
│ Особые дни │
│ • 13 августа: не работаю весь день (болезнь) │
│ • 18–22 августа: не работаю (обучение) │
│ • 24 августа: работаю 10:00–14:00 │
│ [+ Не работаю] [+ Работаю] │
└────────────────────────────────────────────────┘
Работает это в обе стороны: «не работаю» убирает время (весь день или только часы), «работаю» —
добавляет его в день, которого в неделе нет вовсе. Поэтому расписание можно вести и вообще без
недельного графика: снимите все дни — и клиент увидит ровно те часы, которые вы объявили на конкретные
даты. Так живут репетитор с плавающими днями, врач с редким приёмом и зал, который сдают «по
договорённости».
Уже записанных клиентов закрытие дня не трогает. Отменить чужой визит молча, потому что вы отметили
себе выходной, CRM не имеет права. Вместо этого она честно говорит: «на это время уже есть 2 записи» — с
датой, временем и именем каждого. Переносить или отменять — ваше решение и два клика; новых клиентов на
закрытое время страница уже не пустит.
Закрытые дни видны прямо в календаре записей. Над сеткой раздела «Записи» есть выбор календаря — и
выбранный показывает свои особые дни фоновой штриховкой, с подписью «Закрыто: болезнь». Закрытый день
перестаёт выглядеть как свободный, и визит, поставленный руками на собственный выходной, становится
видно до того, как о нём узнает клиент. Ничего при этом не запрещается: время ваше, и поставить туда
запись по-прежнему можно — просто теперь осознанно.
Двойная бронь невозможна физически
Обычно защита от двойной записи — проверка в коде: «посмотреть, свободно ли, и если свободно — записать».
Между этими двумя действиями и случаются накладки, когда двое нажимают одновременно, а администратор
в этот же момент вписывает третьего вручную.
У нас запрет живёт в самой базе данных: пересекающиеся интервалы на один ресурс она просто не примет.
Не потому что мы проверили, а потому что такую строку невозможно записать. Второй клик получит честное
«время уже занято», а не вторую запись на 14:00.
Тот же запрет действует и на занятие, которое вы завели сами — из формы записи или кликом по пустому
часу в календаре. Указали в нём календарь мастера — этот час немедленно исчезает из публичной сетки, и
поверх вашего занятия клиент записаться не сможет. А если час уже занят, CRM не даст сохранить карточку
и назовёт, что мешает: «Это время уже занято: 10:00–11:15».
Занятость считается по календарю, а не по услуге, поэтому один человек, ведущий несколько разных
занятий, продаёт свой час один раз. Как это выглядит у одиннадцати учеников и шести вечерних окон в
дне, разобрано в CRM для репетитора и курсов: час, занятый под физику,
закрыт и для математики, а выбранное родителем время держится пять минут, пока он вводит имя и телефон.
Это тот случай, когда разница между «мы проверяем» и «этого не может быть» стоит одного скандала в месяц.
Час, за который заплатили вперёд, не пропадает
Самая дорогая запись — та, на которую не пришли. Час забронирован, никому больше не предложен, мастер
сидит. Позвонить и напомнить можно, заставить прийти — нет.
Поэтому у каждой услуги есть три поля: «Предоплата» (не требуется · процент от цены ·
фиксированная сумма), «Размер предоплаты» и «Оплатить в течение, мин». Включаются они по одной
услуге, а не на всю страницу: депозит за окрашивание на четыре часа — разумно, за подравнивание чёлки —
нет.
Дальше всё происходит само:
Клиент видит на карточке услуги Окрашивание · 4 ч · 6 000 ₽ · Предоплата 1 800 ₽
Записался Запись «Новая», час занят, ссылка на оплату на экране
Заплатил Запись сама становится «Оплаченной»
Не заплатил за 30 минут Запись отменяется, час снова в продаже
Сумму клиент узнаёт до формы, а не после. Она стоит на карточке услуги рядом с ценой — там же, где
человек выбирает. Просьба о деньгах, всплывающая после того, как он оставил имя и телефон, читается как
подвох, и это ровно та причина, по которой люди бросают запись на последнем шаге.
Статус двигают деньги, а не таймер надежды. Когда платёж проходит, банк сообщает об этом нам, и
запись переходит в «Оплачена» сама — с записью в журнале и с вашим уведомлением. Ничего опрашивать и
нажимать не нужно.
Не заплатил — час возвращается в продажу. По истечении окна запись отменяется, а время снова
появляется в сетке. Причём в сетке оно свободно сразу, как только срок вышел: следующий клиент видит
его в ту же секунду, а не после какого-то ночного обхода.
Вас это не касается. Записи, которые заводите вы сами — из формы раздела, из календаря, кнопкой
«Поставить такое же», — предоплаты не требуют никогда. Вы записываете знакомого человека и сами решаете,
брать ли с него аванс.
Процент — для услуг с прайсом, фиксированная сумма — для остальных. «30% от окрашивания» считается
от цены услуги; у услуги с ценой «по договорённости» считать не от чего, и тогда работает
фиксированная — «депозит 1 000 ₽», сколько бы ни стоила сама работа.
Для работы нужен подключённый приём оплаты («Настройки» → «Оплата»). Пока его нет, поля стоят, но денег
никто не попросит: запись останется обычной, а не отменится по несуществующему счёту.
Кому это нужно в первую очередь
Клиникам и кабинетам — приём по времени, где накладка означает двух пациентов в коридоре.
Автосервисам — подъёмник занят ровно одной машиной. Мастерским и студиям — один мастер, одно
кресло, один слот.
Две ниши показывают, где у записи другая форма. В мастерской сборка спрашивает
прямо — «Клиенты записываются к вам на время?», — и ответ «принимаю без записи» снимает модуль целиком:
приёмке в порядке живой очереди публичная страница не нужна. В стройподряде
записывают не на кресло, а на выезд, поэтому ресурс «Замерщик» приезжает с «Лимитом записей в день»:
после третьей записи день закрывается весь, сколько бы свободных часов ни оставалось в графике — про
дорогу между адресами сетка ничего не знает.
Сколько стоит
Нисколько. Онлайн-запись — модуль бесплатного тарифа, и отдельной платы «за модуль записи» у нас нет.
Это заметная разница с отраслевыми платформами, где запись — ядро подписки и стоит денег ежемесячно.
Ограничение тарифа тут одно, общее для всего продукта, — объём записей в базе (см. ниже).
Честные ограничения
Время и календарь занятой записи меняются только действием «Перенести» — кнопка есть на карточке
записи и в календаре. Правку даты или поля «Календарь» прямо в карточке CRM не пропустит и сама
подскажет «Перенести»: так слот в расписании всегда совпадает с карточкой. Это правило действует и на
занятия, заведённые из кабинета: как только у записи есть календарь и время, её час защищён так же,
как у записи с сайта.
Перевести запись в другой зал из интерфейса пока нельзя. Смена календаря у уже созданной записи
умеет ровно то, что должна, — переписывает занятый час на новый зал одной операцией и отказывается,
если там уже занято, — но выбор календаря в диалоге «Перенести» ещё не выведен: сегодня это доступно
только через API. Пока экран не готов, переносят отменой и новой записью.
График работы — правило для клиентов, а не для вас. Занятие, которое вы ставите руками, можно
поставить и в выходной, и после закрытия, и мимо шага сетки: это ваше время. Единственное, чего нельзя
никому, — два занятия на один час одного календаря. Занятие, переходящее через полночь, пока не
выражается — окончание должно быть в том же дне.
Час держит календарь, а не карточка. Запись без выбранного календаря — это заметка (лист ожидания,
«перезвонить»): время она не занимает, потому что занимать его не за кем.
Каталог на публичной странице — до 200 позиций. Для длинного прайса нужна пагинация, а не
увеличенный потолок.
Страница записи у пространства одна. Отдельных страниц «на каждого мастера» с разным оформлением
нет: раздельность даётся ссылкой с предвыбором (см. выше), а не второй страницей. Саму ссылку
собирать руками не нужно — в настройках записи у каждой услуги своя кнопка «Скопировать».
Формат телефона страница не проверяет — только то, что поле заполнено. Российский номер она
приводит к единому виду +7 (999) 123-45-67, а номер другой страны сохраняет ровно так, как его
набрал клиент: подменить чужой номер на похожий российский было бы хуже любого отказа. Опечатку в
цифрах CRM поймать не может — проверьте номер перед звонком.
Название на странице — это название пространства. По умолчанию оно совпадает с именем владельца
при регистрации; владелец может поменять его в настройках пространства.
Карточка клиента заводится только там, где раздел хранит его телефон. Если онлайн-запись
подключена к разделу без поля телефона (например, к «Заказ-нарядам»), запись работает ровно как
раньше, но клиента не заводит и ни с кем не связывает: карточка, которую следующая бронь не сможет
найти по номеру, к третьему визиту превратилась бы в три дубля одного человека.
Номер, не похожий на телефон, стоит связки, но не записи. «1234» или «позвоню сам» в поле телефона
— запись всё равно сохранится, просто без клиента. Терять клиента из-за подсказки мы не станем;
связать такую запись с карточкой можно потом руками.
Имя в уже существующей карточке запись не переписывает. Клиент назвался в форме иначе, чем записан
у вас, — карточка остаётся вашей: имя в ней мог поправить администратор, и форма с сайта не имеет
права затирать его решение.
Записи, заведённые администратором в кабинете, клиента не угадывают — там его выбирают вручную,
и подставлять кого-то за оператора мы не будем.
Визит из абонемента списывает администратор — онлайн-запись сама этого не делает.
Кнопки «Закрыть визит» в карточке записи пока нет. Само действие построено и работает — оно
живёт на ручке продукта (POST /api/booking/{запись}/checkout), и через неё им уже пользуются
интеграции, — но экран под ним строится. До этого момента статус, заказ и списание расходников
остаются ручной работой администратора, как и раньше.
«Закрыть визит» требует модуля «Каталог и позиции» — и на том же разделе, что запись. Именно он
приносит строки заказа с количеством, ценой и подытогами; собирать чек больше не из чего. Если запись
подключена к одному разделу, а позиции к другому, CRM честно откажет и назовёт оба — молча выбрать
раздел за вас было бы хуже: чек уехал бы туда, где его потом не найти.
Строка услуги не связывается с позицией каталога. «Услуги» онлайн-записи и «Каталог» позиций —
разные справочники (у первого длительность и шаг сетки, у второго закупочная цена и штрихкод), и
сводить их по совпадению названия мы не станем: угаданная связка молча испортила бы себестоимость и
маржу чека. В строке стоит название и цена услуги на момент закрытия — этого достаточно и для счёта,
и для подытога «Работы».
Закрытие не трогает чек, который вы связали с записью раньше руками. Оно откроет карточку того же
заказа и не добавит в него ни строки: состав там уже ваш, и дописывать в него за вас нельзя.
Рецепт расходников ищет позицию каталога по названию — переименовали товар, и строка не найдётся.
Молчать об этом CRM не будет: итог закрытия называет строку и причину. Подробности и остальные
границы — на странице «Склад и штрихкоды».
Система пишет клиенту три раза — подтверждение сразу после записи (со ссылкой на перенос) и два
напоминания, за сутки и за 2 часа. Об отмене и переносе клиент автоматически не узнаёт: известить
его — дело администратора (сам он увидит новое состояние, открыв свою ссылку). Внутри кабинета
отмену и перенос видят и мастер, и владелец — это разные вещи, и мы не выдаём одно за другое.
Кнопки «Напоминать в Telegram» не будет, если у пространства не подключён Telegram-бот
(«Настройки → Каналы»): неактивную кнопку или «скоро» мы клиенту не показываем. И если у клиента нет
ни Telegram, ни email — напомнить нечем; правило честно пишет причину в свой журнал, а не делает вид,
что сообщение ушло.
SMS мы не отправляем — ни одной. В лестнице каналов напоминания ступень «SMS» видна и стоит на
своём месте, но она помечена плашкой «SMS пока не подключён — напомним следующим каналом» и не
включается: у платформы нет договора с оператором. Правило со ступенью SMS не ломается — оно проходит
её насквозь и отправляет следующим каналом (почтой), а в журнале видно, каким именно. Клиенту, у
которого есть только телефон, напоминание не уйдёт вовсе: это ровно тот случай, где мы предпочитаем
сказать вслух, а не показать галочку, которая ничего не делает.
Ссылка подключения не бессрочная: с экранов записи она живёт до визита плюс сутки, из
письма-напоминания — до 30 суток. Просроченная ссылка не беда: на странице статуса кнопка выдаёт
новую.
Подключиться клиент может с трёх мест — экран «Вы записаны», страница статуса визита и ссылка
в самом письме-напоминании. В портале клиента такого предложения пока
нет.
Подтверждение со ссылкой уходит РОВНО ОДИН РАЗ — при создании записи. Перенесли или изменили
бронь потом — второго письма не будет: ссылка в первом продолжает работать и показывает актуальное
состояние. Отозвать выданную ссылку в этой версии нельзя — у неё есть срок (он написан рядом с
кнопкой «Поделиться статусом»), и по истечении срока клиент просит новую.
Подтверждение со ссылкой уходит записи на время — к мастеру или в кабинет. Записи в группу оно
пока не приходит: время там держит само занятие, а не запись клиента, поэтому «перенести или
отменить» участнику нечего — о групповых занятиях клиента извещают как раньше.
У записи, заведённой в кабинете, в подтверждении нет строки «Адрес» — площадку визита резолвит
только публичная страница записи. Всё остальное (время, услуга, мастер, ссылка) на месте.
Ответить на письмо-подтверждение клиент не может — оно уходит от имени платформы, без вашего
адреса в «Ответить». Для переписки есть Telegram и телефон из карточки.
Личное уведомление мастеру требует связки «человек ↔ календарь» в модуле «Сотрудники и ставки».
Пока связки нет, запись видит всё пространство общей строкой, а персонально — никто.
Личные уведомления живут в колокольчике кабинета — приходят мгновенно, без перезагрузки страницы.
Если живое соединение с сервером оборвалось (пропала сеть, корпоративный интернет режет постоянные
подключения), колокольчик догоняет запасным путём — проверкой сервера каждые 15 секунд; о самом
обрыве честно говорит плашка «Связь восстанавливается…» в шапке.
То же уведомление можно получать в личный Telegram — новая запись, отмена и перенос приходят
сотруднику в личные сообщения бота вашей компании, с кнопкой «Открыть в CRM» прямо на карточку.
Это личный выбор каждого: нужно привязать свой Telegram и выбрать «В Telegram» или «Везде» в
настройках уведомлений; по умолчанию не привязан никто. Тумблеры выше сильнее выбора канала —
выключенное уведомление в Telegram не приедет. Пока бот компании не подключён или стоит на паузе,
уведомления приходят только в колокольчик и не теряются. Напоминания клиенту в Telegram —
другой механизм, и он работает (см. выше).
Тумблеры выключают уведомления о самой записи — о новой, отменённой и перенесённой. Если
ответственного меняют руками прямо в карточке записи, человек получит обычное уведомление о
назначении — то же, что в заказах и задачах; оно общее для всех разделов и этими тумблерами
не управляется.
Предоплата — это списание, а не удержание карты. Деньги действительно уходят со счёта клиента, а
не «замораживаются до визита»: двухфазного холдирования карты у нас нет. От неявки это защищает так же,
а иногда и лучше — заплаченное жальче замороженного.
Возврата предоплаты кнопкой нет. Возвратов в продукте нет вовсе, ни у одной оплаты. Практический
случай один: клиент заплатил уже после того, как окно закрылось и час ушёл другому. Час у нового
клиента система не отбирает — деньги пришли, но время уже продано, и это решается вашим разговором с
человеком, а не автоматикой. Чем короче окно, тем реже такое вообще возможно.
В чеке депозит проходит как полная предоплата. Признак способа расчёта у наших чеков двузначен —
«полный расчёт» или «полная предоплата», отдельного «частичная предоплата» в нём нет. Для депозита
в 100% это точно, для 30% — приблизительно.
Надпись на карточке просроченной записи может отстать от календаря. Час освобождается сразу и
честно — в сетке он появляется в ту же секунду, как вышел срок. А вот статус самой карточки
переписывается в «Отменена», когда на этот день записывается следующий клиент со страницы. Не хотите
ждать — включите готовое правило модуля «Записи: автоотмена неоплаченной»: оно само гасит любую
неоплаченную запись через сутки, независимо от того, приходил ли кто-то ещё.
Групповые занятия предоплату не спрашивают. Три поля стоят на карточке услуги и работают на
записи к мастеру. Запись на групповое занятие идёт своим путём: время держит само занятие, а не
запись клиента, — освобождать там нечего, и депозит услуги, по которой вы ведёте группы, на этой
записи не отразится никак. Деньги за групповые занятия сегодня берут абонементы.
Когда объём записей тарифа исчерпан, страница перестаёт принимать новых клиентов — посетитель
видит нейтральное «страница записи недоступна», без единого слова о вашем тарифе: его биллинг не
касается. Вы узнаёте сразу — на первом же отбитом клиенте приходит уведомление в кабинет со ссылкой
на тариф; дальше оно повторяется раз в сутки, пока место не появится.
Что дальше
Принимайте оплату по счетам и заказам — платежи по заказу; продайте
пакет визитов — абонементы. Предоплата за саму запись жить в других модулях не
уехала — она встроена сюда (см. «Час, за который заплатили вперёд, не пропадает»).