Начать проект

Обсудим проект?

Нажимая на кнопку, вы даете согласие на обработку персональных данных и соглашаетесь с политикой конфиденциальности.

Отправлено!

Спасибо за заявку, мы свяжемся с вами в ближайшее время!

Система бронирования и онлайн-записи: как она устроена внутри

Система бронирования: календарь ресурсов, слоты и подтверждённая запись

Снаружи это выглядит как календарь: клиент выбрал время, нажал кнопку, получил подтверждение. Внутри — конкурентный доступ к одному слоту, буферы между записями, предоплата с фискальным чеком и правила отмены, которые нужно объяснить и клиенту, и бухгалтерии. Мы в 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. Опишите свои ресурсы и правила отмены — по ним уже видно, хватит ли готового сервиса. Обсудить проект →

Обсудим проект?

Заполните форму или напишите нам
на airmail@code-pilots.ru
Нажимая на кнопку, вы даете согласие на обработку персональных данных и соглашаетесь с политикой конфиденциальности.

Спасибо!

Спасибо за сообщение, мы свяжемся
с вами в ближайшее время!
success