Что нового
🔄 Частичные возвраты — главная фича релиза Раньше возврат был «всё или ничего». Теперь возвращаете ровно то, что нужно — одну услугу из абонемента, пару товаров из чека, часть занятий, конкретную разовую услугу клиента. Депозит, бонусные баллы, комиссии — всё пересчитывается честно и попадает в кассовый чек. Клиент вернул две банки протеина из пяти? Остальные остаются при нём. История возвратов видна прямо в транзакции, а обновления появляются у всех сотрудников моментально — без перезагрузки страницы.
📝 Контракты и счета — следующий уровень Контракты вы уже видели. Теперь к ним подъехала вся обвязка для серьёзной B2B-работы:
-
Счета и графики платежей, модели оплат, НДС
-
Шаблоны полей — не заполняете каждый раз с нуля
-
Допсоглашения и приложения к договору
-
Овердрафт и управление балансом в детальном попапе
-
Автоподстановка клиента-контрагента, удобный поиск
-
Выбор конкретных записей для оплаты из расписания
-
Привязка клиента к контрагенту — для B2B это критично
📊 Канбан для контрактов и контрагентов Визуальная доска — перетаскиваете карточки между этапами, всё как на ладони. Появились «ушки» для горизонтального скролла с плавной анимацией — мелочь, а приятно.
📁 Файлы как тип дополнительного поля Дополнительное поле теперь может хранить файл, а не только текст или число. Работает везде: сотрудники, студии, залы, клиенты, занятия. Удобно для справок, сертификатов, договоров. При удалении файла поле аккуратно очищается — запись не ломается.
🏋️ Дополнительные поля для занятий Раньше их можно было заводить только для клиентов и локаций. Теперь — и для самих занятий, с фильтрацией по типу. Храните список оборудования, инструкции для тренера, чек-лист перед стартом.
🚫 Чёрный список — кнопка и скорость В карточке клиента появилась кнопка блокировки: один клик — блокируются и телефон, и email. Под капотом всё ускорили: фильтры и отчёты по чёрному списку на больших базах теперь работают в разы быстрее.
🏪 Офлайн-касса на несколько студий Одна касса — несколько точек. Удобно для небольших сетей с общей ККТ.
💬 История уведомлений в карточке клиента Новая вкладка: видно, какие SMS, пуши и сообщения в мессенджерах ушли клиенту, через какой канал, когда. Технические служебные уведомления скрыли — чтобы не засоряли картину.
🎫 Обращения клиентов Создать обращение теперь можно прямо из карточки бронирования. На вкладке обращений появились фильтры и превью последнего комментария — сразу видно, на чём остановились, без открытия карточки.
👥 Расписание сотрудников — полный редизайн Карточный макет, группировка по сотрудникам, вкладки «Активные / Архив», фильтр тренеров по студии, мультивыбор локаций в форме сотрудника. Порядок имён, состояние вкладок, пагинация — всё перетрясли, чтобы работало тихо и предсказуемо.
📋 Копирование длинных расписаний Кнопка «Копировать» теперь есть и в длинных, и в управленческих расписаниях. Время окончания слота сохраняется как было — вручную править не нужно.
🎨 Автор технического перерыва на карточке Когда перерывов много — полезно видеть, кто его поставил, прямо на карточке в расписании.
📜 История статусов записи — с телефоном В истории изменения статусов видно телефон клиента кликабельной ссылкой — сразу можно позвонить или открыть карточку.
🧾 Чеки и подписки в каталоге
-
Поле «Наименование в чеке» для подписок — можно указать отдельно от системного названия
-
Подписки добавляются в каталог услуг
-
Фильтр услуг по формату
-
В разовых услугах транзакции теперь видны детали занятия — когда, где, с кем
💰 История депозита — видно, куда ушли деньги В истории списаний теперь видно, к каким именно записям привязан расход. Никаких «а куда делись мои 500₽?». Цвета оплаты и возврата больше не путаются, сортировка — от свежих к старым. И самое главное — история отображается в часовом поясе вашей студии, а не в серверном.
🔍 Умные фильтры в записях клиента Несколько статусов сразу, диапазон дат, сортировка по сотруднику, быстрый фильтр «Отменённые», поиск по телефону и отметке «не пришёл». Найти нужную запись теперь — дело пары секунд.
💳 Фильтры и удобство в транзакциях
-
SMS/ссылка как способ оплаты в фильтре транзакций клиента
-
Фильтры сохраняются при пагинации — больше не сбрасываются
-
Депозит подтягивается при открытии карточки клиента со страницы создания транзакции
-
Создать транзакцию можно прямо из массовых действий длинного расписания
-
Фильтр «Единоразовая оплата» переименовали в более понятное «Полностью оплачено»
🏷️ Промо-акции в карточке товара Клиент видит в приложении не просто «Абонемент 8 занятий — 8000₽», а «Абонемент 8 занятий — 8000₽ 🔥 Весеннее предложение». Применённые промо-акции теперь видны и на странице создания транзакции. Продаёт лучше.
🚗 Время на дорогу для выездных мастеров Если у вас мастер на выезде — теперь учитывается время в пути. Слоты корректно рассчитываются, мастер не опаздывает. Режим бронирования (обычный / выездной) выбирается прямо в форме услуги.
🔐 Тонкая настройка прав доступа — полная матрица Кто работает с какими студиями, залами, товарами — настраивается прицельно. Появился отдельный виджет белого списка локаций. А самое чувствительное — экспорт базы клиентов — теперь под отдельным правом: кнопка «Экспорт» просто скрыта у тех, у кого этого права нет. Админ субаккаунта остаётся менеджером с полными правами, внешние ресурсы в матрице не мельтешат.
📈 Маркетинг и каталог Meta-теги для каталога (страницы лучше индексируются поисковиками) и ID клиента в источниках трафика — теперь точно видно, какой канал кого привёл.
🔑 Безопасность и инфраструктура Под капотом разделили контуры входа для администраторов и клиентов — безопаснее. Клиенты создаются автоматически, ошибки системы стали человекочитаемыми — если что-то идёт не так, фронт понятно объясняет проблему вместо техношифра.
Работа над ошибками 🔧
Возвраты и деньги
-
НДС корректно пересчитывается при частичном возврате
-
Цена разовых услуг больше не «прыгает»
-
Количество и скидка при возврате товаров — честно распределяются на остаток
-
Бонусные баллы: нельзя вернуть больше, чем было начислено
-
Распределение стоимости разовой услуги при количестве > 1 — починено
-
Превью оплаты по долгосрочным контрактам — сумма больше не завышается
-
Фиксированная цена занятия — корректный расчёт, никаких «откуда лишние рубли»
Статистика и карточка клиента
-
Подтверждённые «не пришёл» корректно учитываются в посещениях
-
Отменённые записи не портят счётчики
-
Правильный расчёт долга, учтены все неоплаченные записи
-
Аналитика летает — оптимизировали тяжёлые запросы
-
Стабильный экспорт клиентов: выгрузка не обрывается на полпути, ошибки ловятся аккуратно
-
Пагинация истории депозита больше не «залипает»
-
Ошибка 500 при фильтре клиентов по дополнительным полям — пофиксили
Расписание и карточка занятия
-
Убрали мерцание карточки события при первом рендере
-
Карточка занятия не шлёт бесконечные запросы в пик нагрузки
-
Данные в peek занятия обновляются после возврата со страницы транзакции
-
Индикатор неоплаты теперь единый — все неоплаченные гости считаются корректно
-
Выбор бронирований сохраняется между страницами в длинной персоналке
-
Таймпикер стал удобнее: можно указать 00:00 как окончание, не нужно жать «ОК»
Дополнительные поля
-
Убрана гонка при сохранении, починен счётчик процента заполнения и чекбокс
-
Отправляются только изменённые поля, а не все подряд
-
Типы файлов предвыбираются в форме редактирования, группировка читаемая
-
Поле-файл не исчезает после отвязки
Формы и валидации
-
Дубликат email сотрудника — внятная ошибка вместо системного сбоя
-
Дубликат должности — то же самое
-
Валидация спецсимволов в имени сотрудника
-
Количество на складе проверяется перед оплатой
-
Пересечение времени в форме прайсинга ловится моментально
-
Поле «телефон обязателен» — корректная ошибка, фронт показывает понятное сообщение
Поиск и навигация
-
Карточка клиента открывается по клику в любую область результата в шапке поиска
-
Телефон клиента виден в истории подтверждений визитов
-
Создание нового аккаунта больше не упирается в админские права
Промо и транзакции
-
На редактировании промо-акции корректно сохраняется пустой список товаров
-
Связывание транзакций больше не отображается как «успешная оплата»