LOVI: CRM для бьюти-салонов, выросшая из дашборда владельца

От P&L-дашборда салона до CRM с онлайн-записью и предоплатой

Данные пилота, загруженные для управленческой аналитики, апрель 2026 года
→1519 записей YCLIENTS и 3584 банковские транзакции

Задача

Салон head spa вёл запись в YCLIENTS, но не видел управленческой картины: P&L, маржу на час мастера, потери на пустых слотах и неявках. Задача — сначала посчитать экономику салона, а затем дать CRM, которая эти потери закрывает. Первый пилот — спа-салон массажа головы в Москве.

Что сделали

Что было

Первый пилот LOVI — салон head spa и массажа в Москве. Салон вёл запись в YCLIENTS. Система давала операционные данные, но не управленческую аналитику: P&L, эффективность мастеров, реальную маржу.

У салона своя экономика, которую стандартная CRM не видит. Мастера работают за фиксированную ставку за смену плюс бонус. Часть клиентов приходит через агрегатор Fitmost со скидкой 35%, абонементы продаются со скидкой 30%. Парные программы требуют двух мастеров в смене.

Задача — понять, где салон зарабатывает и теряет деньги, а затем дать инструмент, который эти потери закрывает.

Как продукт вырос из дашборда в CRM

Продукт прошёл три шага, и каждый опирался на данные предыдущего.

Шаг 1. Insalon — дашборд владельца (апрель 2026 года). Управленческий модуль поверх YCLIENTS. Главная метрика (North Star) — CM/LH: маржинальная прибыль на оплаченный час мастера. В систему загрузили 1519 записей из YCLIENTS, 1584 транзакции расчётного счёта и 2000 транзакций карты.

Что появилось в дашборде:

  • P&L по салону, очищенный от личных расходов и других проектов;
  • эффективность мастеров по сменам и учёт двойных смен;
  • ведомость и расчёт ФОТ с авансами и бонусами;
  • обязательства на месяц с автоматическим сопоставлением платежей из выписок;
  • 7 автоматических проверок качества данных за месяц.

Шаг 2. Онлайн-запись и LOVI.today (май 2026 года). Сначала появился свой виджет записи с реальными слотами, выбором мастера и предоплатой через ЮKassa. Затем — витрина «горящих окошек» по модели yield management (управление доходностью, как у авиакомпаний и отелей). Пустой слот выставляется со скидкой, клиент вносит 100% предоплату, салон заполняет расписание.

Скидка зависит от времени до визита. Больше суток — 10%, от часа до суток — 15%, меньше часа — 40%. Для премиальных и популярных услуг работают отдельные стратегии. Слоты показываются, только если до визита больше 60 минут — клиент должен успеть доехать.

Параллельно собрали аналитику плотности конкурентов: 176 объектов в 17 зонах четырёх районов ЮЗАО по данным 2GIS.

Шаг 3. LOVI Core и LOVI Business — собственная CRM. Единое ядро записи и CRM для салона поверх него. Салон переезжает из YCLIENTS импортом: мастера, услуги, клиенты, вся история записей, сертификаты и абонементы. Импорт идемпотентный: повторный запуск обновляет данные, а не создаёт дубли.

Что умеет LOVI Business

  • Запись. Шахматка и недельный вид, защита от двойного бронирования, перенос, смена мастера и поиск ближайшего свободного окна.
  • Предоплата. Правила по дням недели, таймер оплаты, статус «не подтверждена» вместо удаления записи. После неявки следующая запись требует 100% предоплаты, а клиент получает тег «Не приходит».
  • Парные программы. Обязательная предоплата, приглашение второго гостя по ссылке, общая оплата двух мастеров.
  • Деньги клиента. Сертификаты с PDF, абонементы на визиты или баланс, личный счёт с кэшбэком, который сгорает через 14 дней.
  • Коммуникации. Напоминания, подтверждения, запрос отзыва, возврат клиента и поздравления с днём рождения. Каналы — SMS, email, Telegram, WhatsApp и MAX.
  • Рассылки. Конструктор аудитории, очередь, темп отправки, пауза и трекинг кликов.
  • Команда. Расписание смен, права доступа и модуль расчёта зарплаты с учётом продавца и апсейла.
  • Партнёры. Разбор PDF-отчёта Fitmost и сверка с визитами: агрегатор платит в конце следующего месяца одной суммой.
  • Каналы записи. Кабинет клиента как PWA-приложение салона, онлайн-запись с аналитикой воронки, черновик интеграции с онлайн-записью Яндекс.Карт.

Где в продукте деньги

Для салона продукт считает и защищает маржу. CM/LH показывает прибыль на час мастера, а не просто выручку. Главная точка роста в документации — переход клиента со SPA-программы на массаж. Правила предоплаты бьют по неявкам, кэшбэк со сроком сгорания возвращает клиента, а сверка Fitmost ловит расхождения в выплатах агрегатора.

Для платформы модель заложена в витрине LOVI.today. Целевая комиссия — 15–20% с успешной брони. Следующие слои монетизации в планах — платная аналитика для салонов и единый абонемент. Для первых партнёров на посадочной заявлено 0% комиссии в первые 3 месяца.

Ключевые метрики витрины — IFR (доля заполненных горящих слотов) и прирост конверсии записи по сравнению со стандартным виджетом YCLIENTS.

Масштабирование упёрлось во внешний барьер. Публичное приложение LOVI в маркетплейсе YCLIENTS ждало модерации. Без него подключать новые салоны пришлось бы вручную, через логин администратора, — такой процесс не масштабируется.

Что получилось

Продукт работает в одном контейнере на Timeweb Cloud. Внутри nginx разводит четыре поверхности: витрину lovi.today, дашборд Insalon, CRM crm.lovi.today и её API. Два бэкенда работают с двумя отдельными базами PostgreSQL.

В ядре CRM — 224 HTTP-эндпоинта: запись, доступность, оплата, абонементы, кошелёк, зарплата и напоминания. Для переезда салона-пилота из YCLIENTS есть импорт всей истории.

Как команда из ИИ-агентов собрала продукт

LOVI сделан без штатных дизайнера и разработчиков. Я ставил задачи, принимал продуктовые решения и принимал результат. Дизайн, код и тесты писали ИИ-агенты.

  • Сроки. По документации работа началась в апреле 2026 года: первый спринт Insalon — первая неделя апреля. Четыре отдельных репозитория позже собрали в монорепозиторий, их собственная история туда не перенесена.
  • Git монорепозитория. Первый коммит — 19 августа 2026 года, последний — 13 октября 2026 года. Это 217 коммитов, сделанных в 19 разных дней; в пиковый день, 24 сентября, — 41 коммит. 69 коммитов помечены соавторством Claude.
  • Память проекта в файлах. Контекст живёт в AI_BRIEF — его загружают в начале каждой сессии. Для разных задач есть стартовые промпты под роли: аналитик, разработчик, P&L, продакт-менеджер с метриками, воронками и юнит-экономикой без кода.
  • Журнал решений. После каждой сессии с изменениями обновляются SESSION_LOG и обновляет BACKLOG с приоритетами P0–P2. Сессии логируются с длительностью и токенами, например 240 минут и около 180 000 токенов за одну сессию в мае.
  • Правила для агентов. Читать файл перед правкой. Делать один шаг и сразу проверять его командой: запрос к API, сборка или поиск по коду.
  • Решения оставались за человеком. На старте выбрали ступенчатую скидку, а не экспоненциальную: её проще объяснить и меньше рисков. Цену салона не зачёркивают, потому что это реальная цена, а не маркетинговый приём. Бэкенд сначала был общим с Insalon ради быстрого старта.
  • Тест ядра. Вертикальный сценарий проверяет создание записи, конфликт с подсказкой ближайшего свободного окна, перенос, смену мастера, отмену, пересчёт доступности и журнал событий.

Стек: Python и FastAPI, PostgreSQL, React 19 на Vite с Tailwind 4 и TanStack Query, интеграции с YCLIENTS, ЮKassa, sms.ru и RuSender, Docker на Timeweb Cloud.