Система бронирования и онлайн-записи: как она устроена внутри
Снаружи это выглядит как календарь: клиент выбрал время, нажал кнопку, получил подтверждение. Внутри — конкурентный доступ к одному слоту, буферы между записями, предоплата с фискальным чеком и правила отмены, которые нужно объяснить и клиенту, и бухгалтерии. Мы в Code Pilots делаем веб-сервисы и кабинеты, где бронь — центральная сущность продукта.
Если совсем коротко. Система бронирования состоит из модели ресурсов, календаря слотов, механики удержания и подтверждения, денег (предоплата, возвраты, чеки) и правил отмены. Интерфейс записи — самая простая её часть.
Три вещи, которые обычно недооценивают: услуга занимает не одного исполнителя, а комбинацию ресурсов; два клиента могут нажать «записаться» одновременно; неявка стоит дороже скидки, которую вы бы дали за предоплату.
В статье
- Что называют системой бронирования
- Ресурсы и слоты
- Расписание и исключения
- Двойные брони
- Предоплата и чеки
- Неявки и напоминания
- Отмены и переносы
- Каналы и овербукинг
- Интеграции
- Приложение или веб
- Что мерить
- Готовый сервис или своя разработка
- Сколько стоит
- Ошибки
- С чего начать
- Часто задаваемые вопросы
Что называют системой бронирования
Под общим словом живут три разных продукта с разной логикой.
| Семейство | Что бронируют | Особенность | Примеры отраслей |
|---|---|---|---|
| Онлайн-запись к специалисту | Время конкретного человека | Услуга, длительность, квалификация, буфер между клиентами | Клиники, салоны, автосервис, репетиторы |
| Бронирование ресурса | Объект на период | Даты и интервалы, тарифы, залоги, состояние объекта | Отели, коворкинги, аренда техники и залов |
| Билеты и события | Место или вход на мероприятие | Разовая продажа, пиковые нагрузки, схемы залов | Мероприятия, спорт, экскурсии |
Различия принципиальные. Запись к мастеру считается минутами и упирается в расписание человека; аренда номера считается сутками и упирается в состояние объекта; продажа билетов упирается в одновременный наплыв и обычно живёт в связке с веб-приложением под нагрузкой.
Смешанные случаи встречаются часто: фитнес продаёт абонементы (подписка), записывает на групповые занятия (места) и на персональные тренировки (время специалиста). Каждая из механик проектируется отдельно.
Ресурсы и слоты
Ключевая ошибка простых календарей — считать, что услуга занимает одного исполнителя. В реальности она занимает набор ресурсов одновременно.
Комбинация ресурсов. Окрашивание занимает мастера, кресло и мойку в конце; диагностика — механика и подъёмник; УЗИ — врача, кабинет и аппарат. Свободным слот считается, только когда свободны все нужные ресурсы.
Длительность зависит от параметров. Стрижка мужская и женская — разное время; ТО зависит от модели; массаж бывает на 30 и 90 минут. Длительность привязывается к услуге, а иногда к паре «услуга + исполнитель»: опытный мастер делает быстрее.
Буферы. Уборка кабинета, дезинфекция, перестановка зала, подготовка оборудования — время, которого нет в прайсе, но которое ресурс занимает. Задаются до и после услуги.
Шаг сетки. Слоты по 15 минут дают гибкость и дыры в расписании; слоты по часу — плотность и отказы. Разумный подход — привязать шаг к самой частой услуге и разрешить системе предлагать «подтягивание» записей к соседним, чтобы не рвать день на куски.
Правила совместимости. Не каждый мастер делает каждую услугу, не каждый кабинет подходит под процедуру. Матрица «услуга — исполнитель — место» становится частью модели, и её нужно проектировать сразу: добавить её потом дороже, чем заложить.
Расписание и исключения
График работы — не константа, а набор правил с исключениями, и именно исключения дают большую часть заявок в поддержку.
Базовое расписание задаётся по дням недели, но поверх него живут отпуска и больничные, праздничные дни и сокращённые предпраздничные, разовые смены, перерывы на обед, технические паузы, сезонные графики. Плюс индивидуальные исключения: этот мастер работает через выходные, этот кабинет закрыт на ремонт до конца месяца.
Отдельный сюжет — часовые пояса. Как только у компании появляются филиалы в разных регионах или онлайн-услуги, время нужно хранить в универсальном формате и показывать в поясе клиента и исполнителя. Ошибки здесь дорогие: клиент приходит на час позже и считает виноватым сервис.
Двойные брони
Самая частая техническая жалоба: два клиента записались на одно время. Причина не в интерфейсе, а в том, что между показом свободного слота и подтверждением записи проходит время.
Гонка за слот. Двое одновременно видят свободное окно и нажимают «записаться». Без блокировки на уровне базы данных оба получают подтверждение. Решение — атомарная проверка занятости в момент записи, а не при показе календаря.
Удержание. Если клиент проходит несколько шагов (выбор услуги, данные, оплата), слот нужно придержать на несколько минут с обратным отсчётом. Не удержали — клиент теряет время; удержали слишком надолго — расписание блокируется несостоявшимися записями.
Повторная отправка. Клиент нажал «подтвердить» дважды или сеть подвесила запрос — без ключа операции появляются две записи на одно имя. Идемпотентность здесь так же обязательна, как в платежах.
Внешние каналы. Если записи приходят ещё из агрегатора и от администратора по телефону, все три потока должны идти в один календарь через одну точку. Параллельные источники правды — гарантированный конфликт.
Предоплата и чеки
Деньги превращают простую запись в финансовую операцию со своими требованиями.
Предоплата и депозит — самый действенный инструмент против неявок, но каждая такая операция проходит по закону о применении контрольно-кассовой техники: при получении аванса пробивается фискальный чек, а в момент оказания услуги — второй, на зачёт аванса. Отсюда требование к системе: она должна уметь работать с онлайн-кассой, в том числе облачной, и хранить связь между бронью, платежом и чеками.
Дополнительно с 1 января 2026 года в чеках применяется основная ставка НДС 22% — при переходе периодов и по авансам, полученным раньше, расчёт нужно проверять отдельно, а настройки кассы сверять до запуска, а не после первой продажи.
Возвраты — отдельная логика: полный возврат при отмене заранее, частичный при поздней отмене, удержание при неявке. Каждое правило превращается в операцию с чеком и в строку в отчёте, поэтому формулировать их нужно вместе с бухгалтерией, а не в интерфейсе на ходу.
Неявки и напоминания
Неявка — прямой убыток: ресурс простоял, другому клиенту отказали. Работает набор мер, а не одна.
- Напоминание за сутки и за пару часов — самый дешёвый инструмент, снимает большую часть забывчивости. Канал выбирается по клиенту: push, мессенджер, СМС.
- Подтверждение брони в один клик — кнопка «буду» в сообщении; неподтверждённые записи можно освобождать за несколько часов.
- Предоплата или депозит — работает жёстче всего, но снижает конверсию витрины: применяется к дорогим услугам, длинным слотам и повторным неявкам.
- Лист ожидания — освободившийся слот автоматически предлагается ожидающим; закрывает дыру за минуты.
- История клиента — счётчик неявок в карточке и правило «третья неявка — только по предоплате». Здесь удобно опираться на данные системы лояльности, если она уже есть.
Отмены и переносы
Правила отмены — первое, о чём спрашивает клиент, и последнее, что обычно описывают в системе.
Минимальный набор решений: за сколько часов отмена бесплатна, что происходит при поздней отмене, сколько раз можно переносить запись, кто может отменять со стороны компании и что видит клиент в этот момент. Отдельно — что делать с записью, если заболел исполнитель: предложить другого, перенести, вернуть деньги.
Техническая часть: перенос — это не удаление и создание, а изменение с сохранением истории. Иначе теряются связь с платежом, счётчик переносов и возможность разобраться в спорной ситуации.
Каналы и овербукинг
Записи приходят не только с вашего сайта. Типичный набор: собственная витрина, приложение, агрегаторы и карты, телефон, мессенджеры, повторная запись на выходе после визита.
Все каналы должны писать в один календарь мгновенно, иначе появляются те самые двойные брони. Для гостиничного сегмента это отдельный класс задач: синхронизация с агрегаторами идёт через менеджер каналов, и задержка обновления доступности прямо превращается в перебронирование.
Овербукинг — сознательная продажа сверх доступного объёма с расчётом на статистику отмен. Инструмент рабочий, но требует трёх вещей: точной статистики неявок по сегментам, правил компенсации при переселении и человека, который принимает решение в конфликтной ситуации. Без этого он превращается в лотерею с отзывами.
Интеграции
- Онлайн-касса и эквайринг — оплата, чеки на аванс и зачёт, возвраты.
- Учётная система — услуги и цены, расходники, зарплата исполнителей по выполненным записям; механика обмена разобрана в материале про интеграцию с 1С.
- CRM и рассылки — карточка клиента, история визитов, сегменты, напоминания.
- Телефония — звонок с определением клиента, запись из разговора, обратный звонок при отмене.
- Календари сотрудников — двусторонняя синхронизация с личными календарями, чтобы личные встречи не превращались в двойную запись.
- Агрегаторы и карты — витрина записи там, где клиент вас ищет.
Приложение или веб
Витрина записи должна открываться по ссылке без установки — это главное требование к клиентской части: человек приходит из карты, соцсети или сообщения, и любое препятствие снижает конверсию.
Приложение оправдано для повторных клиентов: абонементы, история, баланс, быстрая перезапись в два тапа, push вместо СМС. Для сотрудников мобильная версия часто важнее клиентской: мастер смотрит расписание с телефона, отмечает приход клиента, добавляет услуги по факту. Такие вещи мы обычно и делаем в связке веб + мобильное приложение, где веб закрывает первый визит, а приложение — удержание.
Что мерить
| Метрика | Что показывает | На что влияет |
|---|---|---|
| Загрузка ресурса | Доля занятого времени по часам и дням | Расписание, число исполнителей, тарифы |
| Конверсия витрины | Из просмотра календаря в подтверждённую запись | Шаги оформления, обязательность регистрации, наличие слотов |
| Доля неявок | Сколько записей не состоялось | Напоминания, депозиты, правила |
| Средний интервал до визита | За сколько дней записываются | Глубина расписания, потребность в листе ожидания |
| Дыры в расписании | Простой между записями | Шаг сетки, буферы, подтягивание записей |
| Повторная запись | Доля вернувшихся | Качество услуги, напоминания, программы удержания |
Число записей само по себе ничего не говорит: сто записей при пустых утренних часах и сто записей при равномерной загрузке — разные бизнесы. Смотреть нужно на заполненность ресурса и на стоимость простоя окна.
Готовый сервис или своя разработка
Рынок готовых решений плотный: для салонов и клиник — YCLIENTS, DIKIDI, EasyWeek и другие; для гостиниц — TravelLine, Bnovo, Frontdesk24. Для стандартного бизнеса услуг они закрывают почти всё за абонентскую плату.
| Вариант | Когда подходит | Что учесть |
|---|---|---|
| Готовый сервис записи | Типовая отрасль, стандартные услуги, до нескольких филиалов | Быстрый старт, чужая модель расписания, ограничения по нестандартным правилам |
| Модуль в CRM или на сайте | Простая запись без ресурсов и оплат | Дёшево, но упирается в первое же нестандартное требование |
| Своя разработка | Бронирование — ядро продукта, сложная модель ресурсов, свои каналы и тарифы | Дороже на старте, зато правила ваши и данные ваши |
| Гибрид | Учёт и расписание в готовом сервисе, витрина и приложение свои | Нужен обмен без задержек, иначе двойные брони |
Своя разработка оправдана, когда бронирование — не функция, а сам бизнес: маркетплейс услуг, аренда с динамическими тарифами, сеть с нестандартной моделью ресурсов, продукт с собственной экономикой и партнёрскими каналами.
Сколько стоит
Стоимость определяют модель ресурсов, число каналов и наличие денег внутри системы. Витрина записи для одной точки и платформа бронирования с тарифами, депозитами и агрегаторами — проекты разного порядка.
| Фактор | Дешевле | Дороже |
|---|---|---|
| Модель ресурсов | Один тип исполнителя | Комбинации ресурсов, совместимость, буферы |
| Деньги | Оплата на месте | Предоплата, депозиты, возвраты, чеки, тарифы |
| Каналы | Только своя витрина | Агрегаторы, менеджер каналов, телефония, приложение |
| Пользователи | Клиент и администратор | Клиент, исполнитель, менеджер, партнёр, филиалы |
| Нагрузка | Ровный поток | Пики продаж, старт записи на популярные слоты |
По нашим работам: веб-сервис записи с витриной и кабинетом — от 1 млн ₽, компактная первая версия для проверки спроса — тоже от 1 млн ₽, мобильное приложение для клиентов или сотрудников — от 1,8 млн ₽, отдельная интеграция (касса, учёт, агрегатор, телефония) — от 150 тыс. до 1,5 млн ₽. Точная цифра считается по модели ресурсов и каналам: оценка проекта бесплатная.
Прикинуть бюджет можно заранее — бесплатный калькулятор оценки собирает вилку по составу работ за несколько минут.
Ошибки
Календарь без модели ресурсов. Записи ставятся на мастера, а кресло занято — конфликт всплывает в зале, а не в системе.
Слот не удерживается на время оформления. Клиент вводит данные и оплачивает, а на последнем шаге получает «время занято». Самый обидный отказ из возможных.
Правила отмены только в тексте на сайте. Система их не знает, администратор трактует по-своему, клиент спорит и уходит в отзывы.
Напоминания шлются одним каналом. СМС не дошло — клиент не пришёл; связка «push, мессенджер, СМС» с подтверждением работает заметно лучше.
Записи из агрегатора попадают в систему с задержкой. Двойные брони при этом неизбежны, и виноватым выглядит ваш администратор.
С чего начать
Первое — описать ресурсы и услуги: что занимает каждая услуга, сколько длится, какие буферы нужны, кто и где может её выполнять. Это документ на одну-две страницы, и он определяет половину сложности проекта.
Второе — решить вопрос денег: берёте ли предоплату, при каких услугах, что при отмене и неявке. От ответа зависит, нужна ли касса и эквайринг в первой версии.
Третье — посчитать текущую загрузку и неявки хотя бы приблизительно. Эти две цифры показывают, что вообще должна улучшить система и на чём считать окупаемость.
Часто задаваемые вопросы
Онлайн-запись — частный случай: клиент занимает время конкретного специалиста, счёт идёт на минуты, важны услуга, квалификация и буфер. Бронирование в широком смысле — занятие ресурса на период: номер, зал, техника, площадка, где считаются сутки или часы, есть тарифы, залог и состояние объекта. Модель данных и правила у них разные, поэтому продукты обычно тоже разные.
Между показом свободного слота и подтверждением проходит время, и за него слот может занять другой клиент. Исключается это атомарной проверкой занятости в момент записи, кратковременным удержанием слота на время оформления и ключом операции, который защищает от повторной отправки. Отдельное условие — все каналы записи должны писать в один календарь без задержек.
Да. Получение аванса — расчёт, при котором пробивается фискальный чек, а при оказании услуги оформляется второй чек на зачёт аванса. Касса при этом может быть облачной, физическое устройство на стойке не обязательно. Ставку НДС в настройках кассы стоит проверить отдельно: с 1 января 2026 года основная ставка — 22%.
Комбинацией: напоминание за сутки и за пару часов в удобном клиенту канале, подтверждение брони в один клик, лист ожидания для быстрого закрытия освободившихся окон и предоплата или депозит для дорогих услуг и повторных неявок. Депозит эффективнее всего, но снижает конверсию, поэтому его вводят точечно, а не для всех подряд.
Веб-сервис с витриной записи и кабинетом — от 1 млн ₽, мобильное приложение — от 1,8 млн ₽, каждая интеграция — от 150 тыс. до 1,5 млн ₽. Если отрасль типовая и филиалов немного, честнее начать с готового сервиса и вложиться в свою витрину и приложение. Оценка бесплатная.
Разработка с Code Pilots
Code Pilots — студия заказной разработки полного цикла: веб- и мобильные продукты со сложной бизнес-логикой, интеграциями и высокими нагрузками. В бронировании мы отвечаем за то, что не видно в интерфейсе: модель ресурсов и совместимости, атомарная запись без двойных броней, удержание слота, работа с предоплатой и чеками, синхронизация каналов.
Что делаем: витрину записи и кабинет клиента, приложения для клиентов и сотрудников, интеграции с кассой, учётом, телефонией и агрегаторами, тарифную логику и правила отмены. Внедрением чужих облачных сервисов записи не занимаемся — если ваш случай типовой, скажем об этом на первом звонке.
Внутри — аналитики с отраслевой экспертизой, дизайнеры, backend- и мобильные разработчики, QA и DevOps, middle+ и senior. Опишите свои ресурсы и правила отмены — по ним уже видно, хватит ли готового сервиса. Обсудить проект →