Выпускаем открыто
Новые возможности и улучшения по мере выхода. Исправления ошибок перечислены внутри продукта, в разделе «Новое», где их увидят те, кто о них сообщил.
- OpenAir
Статистика OpenAir: выберите период и смотрите общее время тренировок
Страница «Ваша статистика» теперь по умолчанию показывает текущий год, а вы можете переключиться на прошлый год, всё время или свой диапазон дат. Новая карточка суммирует ваше общее время тренировок от входа до выхода, а средние значения и количества следуют выбранному периоду. «В этом месяце» и средняя длительность раньше всегда показывали 0; теперь они считаются по вашим реальным посещениям. Посещения без отметки выхода или длившиеся более 12 часов в это время не входят.
- Курсы
Дату курса можно отменять автоматически, если записалось слишком мало людей
Отметьте у даты курса «Отменять автоматически, если участников слишком мало» и укажите число дней до начала и минимум. Если к этому моменту записалось меньше людей, дата отменяется так же, как кнопкой «Отменить эту дату»: все записи отменяются, участники получают письмо (при желании с вашим текстом через «Общие шаблоны»), ответственный за курс получает уведомление, а оплатившим можно выдать одноразовый код скидки 100% на тот же курс. Деньги автоматически не возвращаются. Правило никогда не применяется задним числом. См. руководство: Курсы > Даты курсов.
- Серийные карты
Пополнения теперь сохраняют и посещения (абонементы), и дни (месячные карты), всегда вместе с картой, на которую они пошли
Каждое пополнение карты теперь сохраняется вместе с картой, к которой оно относится, и записывает, что добавлено: деньги на карте с балансом, посещения на абонементе (купленные, а не перенесённые со старых карт) и дни действия на месячной карте (её длина или дни, на которые карту продлили). Строки пишутся и тогда, когда в редакторе карты меняют сумму, посещения или дату окончания, и когда все карты продлевают на несколько дней; раньше это не записывалось. История посещений в редакторе карты показывает их как строки «Пополнение», а вкладка «Пополнения баланса» клиента перечисляет все. У пополнений до этого обновления нет карты и посещений/дней, они остаются как были. Нужны /super/aftal/ и перезагрузка переводов.
- Товары
Тег товара extend_upon_sale: карты с балансом и абонементы, купленные онлайн, продлевают срок действия, как на кассе
Добавьте extend_upon_sale в теги товара карты с балансом (pass_value) или абонемента (pass_Nx). Когда клиент покупает его в OpenAir, публичном магазине или веб-магазине, карта получает срок действия своего типа (столбец Expire, например +1 year) с момента покупки — так же, как опция продления на кассе. Собственный тег expiry_ у товара приоритетнее типа карты; фиксированный custom_span_ и подарочные билеты (holding) не меняются. Товары без тега работают как раньше.
- Касса
Продажа карты с балансом или абонемента клиенту, у которого он уже есть: выберите, продлевать ли срок действия карты
В диалоге Configure Product кассы у карты с балансом или абонемента (10x и т. д.), продаваемых клиенту, появился флажок «Продлить срок действия карты», по умолчанию включён. Если включён, карта получает правило срока действия своего типа (столбец Expire, например +1 year), считая с сегодняшнего дня; собственный тег срока у товара приоритетнее. Если выключен, баланс или посещения добавляются, а текущий срок клиента сохраняется. Карта, выбранная через поиск товаров, теперь открывает тот же диалог (один вариант, количество 1), в нём показан id товара, вместо клавиатуры — кнопки количества, а вопросы да/нет идут по одному в строке. Нужна перезагрузка переводов.
- Серийные карты
Пополнение карты теперь видно: пополнения в истории посещений карты и вкладка «Пополнения баланса» у клиента
Каждый раз, когда на карту добавляется сумма (пополнение, перенос старой суммы на новую карту или ручное изменение в редакторе карты), карта теперь это запоминает. Вкладка «История посещений» в редакторе карты показывает такие записи как строки «Пополнение» среди посещений, с суммой и автором. В окне клиента появилась вкладка «Пополнения баланса» со всеми пополнениями клиента, а также общей суммой, средним пополнением, суммой за год и средним временем между пополнениями (корректировки, уменьшающие баланс, в эти числа не входят). Пополнения до этого обновления нельзя привязать к карте, поэтому они видны только на вкладке «Пополнения баланса» клиента. Для развёртывания нужны /super/aftal/ и перезагрузка переводов.
- Киоск
Киоск самообслуживания работает: клиенты идентифицируются, покупают разовые билеты, абонементы и членства и платят, есть демо-товары для скалодрома и обычного зала
Клиенты идентифицируются по QR-коду в OpenAir или по ссылке в письме (или регистрируются на месте), выбирают товары из категории kiosk_shop и платят. Устройство подтверждает руководитель в Настройки → Киоски, где теперь есть и кнопка Открыть киоск. На демо-сайте команда demo:kiosk добавляет готовые товары: входы, аренду, абонементы, месячные, 3-месячные и годовые членства, товары магазина и кафе. В руководстве появилась новая глава Киоск самообслуживания.
- Бронирования
Бронирование процедур: клиент выбирает процедуру, время и специалиста на публичной странице, а кабинет назначается автоматически
Клиент выбирает процедуру (с дополнениями и текущей суммой), время и исполнителя и добавляет её в корзину. Специалист и свободный кабинет бронируются вместе. Персонал настраивает это в разделе Аренда → Процедуры (процедуры, дополнения, навыки, свойства кабинетов) и выбирает вид страницы в настройках публичной страницы: шаги кнопками слева, сверху или мастером. Панель шагов остаётся на виду при прокрутке, специалисты со свободным временем обведены зелёным, без времени — красным. В кассе есть календарь специалиста (день, неделя, месяц), откуда бронь загружается в корзину, а кабинет брони можно сменить. См. страницу «Бронирование процедур» в руководстве.
- Настройки
Изменения настроек доходят до открытых экранов: новая кнопка Refresh settings
Раньше после сохранения настройки до часа использовалась старая копия, поэтому, например, требование PIN-кода на кассе применял сервер, но касса его не запрашивала. Теперь при сохранении копия обновляется, а в боковой панели под Force reload есть новая кнопка Refresh settings, которая сразу перезагружает настройки на открытом экране. Документация по PIN и блокировке экрана это объясняет.
- Касса
Касса: продажа от имени другого сотрудника, личные PIN-коды и блокировка экрана
Кассир теперь может продавать от имени другого сотрудника через кнопку продавца в шапке кассы (по умолчанию выключено). Каждый может задать свой PIN-код в профиле, новая настройка может требовать его перед сменой (руководители освобождены), а замок на верхней панели блокирует экран, пока не введён PIN пользователя или руководителя.
- Клиенты
Поиск клиентов (Cmd/Ctrl+J): значок у каждого результата открывает редактор клиента, Enter по-прежнему открывает серийные карты
Выберите клиента клавишей Enter или щелчком, и вы сразу попадёте к его серийным картам, как и раньше. Новый значок редактирования в конце каждой строки вместо этого открывает редактор клиента.
- Серийные карты
Месячные абонементы: выбирайте для каждого товара, начинается ли новый абонемент после старого, сегодня или продлевает текущий
В библиотеке тегов редактора товаров появились три новых тега. extend_monthly_pass начинает новый абонемент после окончания текущего абонемента клиента, no_extend_monthly_pass всегда начинает его сегодня, а extend_current_monthly_pass не создаёт новую карту, а продлевает текущий абонемент на купленный срок. Товар без этих тегов, как и раньше, следует общей настройке магазина. Работает одинаково в интернет-магазине, OpenAir, на кассе и в киоске. Если у товара оба тега продления, побеждает продолжение.
- Абонементы клуба
Шаблоны биллинга: запускайте автоматический биллинг из готового шаблона, например 6 месяцев за 336 € сразу, затем 59 € в месяц
Создавайте шаблоны в разделе Настройки > Членства > Шаблоны биллинга (продукт, цена, НДС, интервал) и выбирайте один в окне Запустить автоматический биллинг у клиента или в окне Добавить подписку на экране Подписки. Поля заполняются, остаётся выбрать только локацию. Шаблон может также запрашивать сумму предоплаты, покрывающую первые месяцы: дата первого списания сдвигается на эти месяцы, а сразу после запуска платёж можно принять, создав счёт, показав клиенту QR-код оплаты на телефоне или добавив его в кассу.
- Товары
Комплектные предложения: особые цены на другие товары, пока в корзине есть членство (или другой выбранный товар)
Предлагайте клиентам особую цену на другие товары, пока в корзине есть запускающий товар, например шейкер за 5 €, скидку 20 % на худи или 2 € на бутылку при покупке членства. Корзина показывает предложения в виде полосы («Вас это заинтересует?») с зачёркнутой обычной ценой; товар с размерами открывает свою карточку для выбора варианта, после чего строка корзины показывает цену по предложению. Предложения работают в киоске, на кассе, в интернет-магазине и в OpenAir, а цена считается на сервере, поэтому клиент платит ту цену, которую видит. Комплектное предложение никогда не суммируется с акцией «при покупке нескольких» на ту же единицу. Создавайте их в разделе Товары → Комплектные товары; в руководстве описаны триггеры, типы цен и то, что нельзя предлагать.
- Товары
Акции при покупке нескольких: особая общая цена при покупке нескольких одинаковых товаров
Задайте общую цену за покупку нескольких товаров вместе, например 3 протеиновых батончика за 10 €, или за набор конкретных товаров. Всегда применяется лучшая цена: такая акция никогда не суммируется со скидками для участников и акционными ценами. Такие акции отображаются в киоске, на кассе, в интернет-магазине и в OpenAir. Создавайте их в разделе Товары → Акции при покупке нескольких; в руководстве объясняется, как рассчитывается цена.
- Панель
Новый виджет на панели: начатые и завершённые подписки, разница и отток
Смотрите, сколько подписок начиналось и завершалось каждую неделю или месяц, чистое изменение и отток. Фильтруйте по локации и выбирайте период: готовые периоды или любой диапазон дат. Добавьте его через Настроить панель.
- ИИ-ассистент (MCP)
ИИ-ассистент теперь умеет создавать счета, заказы продажи и заказы поставщикам, а также выдавать серийные карты
Опишите документ, и ассистент его создаст. Ничего не отправляется: счета создаются неотправленными, заказы продажи остаются открытыми, а заказы поставщикам — черновиками, так что вы проверяете и отправляете их сами. Новые права ключа API: Products Read, Invoices Write, Sales Orders Write, Purchase Orders Write, Serial Cards Read/Write.
- ИИ-ассистент (MCP)
Мы начали работу над MCP: подключите ИИ-ассистента, например Claude, чтобы создавать системы бронирования и управлять паузами карт
Доступна первая версия подключения MCP: с помощью API-ключа ИИ-ассистент может по описанию создать полную систему бронирования (ресурс, единицы, цены, время, отмена, вкладка страницы бронирования и виджет для сайта), а также искать, создавать и завершать паузы карт и абонементов. Правила зала по-прежнему действуют, а права ключа ограничивают возможности ассистента. Работает с Claude Code, Claude Desktop, Codex CLI, Cursor и VS Code; для ChatGPT и claude.ai нужен процесс входа, который мы ещё не создали. Скоро появятся новые инструменты.
- Залы-партнёры
Залы-партнёры: принимайте карты и членства друг друга, с двусторонним отчётом о визитах
Свяжите два зала в Настройки → Залы-партнёры, и клиент одного сможет использовать свою карту, месячный абонемент или членство в другом: домашний зал списывает визит, оба зала хранят свою строку, а месячный отчёт Визиты залов-партнёров (также на странице Отчёты) даёт CSV и сверку с каждым партнёром. Персональные данные не покидают домашний зал — посещаемый зал видит только отображаемое имя. Доступные типы карт выбираются по типам, отдельную карту можно разрешить или запретить независимо от типа, а приложение участника показывает вводимый резервный код для стойки, где QR-код не читается.
- Платежи
Управляйте тем, какие способы оплаты (Smartum, ePassi, Stebby и т.д.) предлагаются для товара, включая метку «только спортивная льгота» — теперь действует и в OpenAir
Выбирайте, какие способы оплаты предлагаются для товара — Smartum, ePassi, Stebby и остальные — включая метку, ограничивающую товар только оплатой спортивной льготой. Такое же ограничение теперь действует и в OpenAir.
- Клиенты
Клиенты могут видеть и редактировать данные своего профиля, а также просматривать или скачивать прошлые заказы в PDF
Клиенты теперь могут просматривать и редактировать данные своего профиля, а также видеть прошлые заказы со скачиваемой PDF-квитанцией по каждому.
- Курсы
Публичная страница курсов обновлена
У публичной страницы курсов новый вид.
- Настройки
Просматривайте журнал всех писем, отправленных вашим клубом, и настройте собственный SMTP-аккаунт в Настройках
Новый журнал показывает каждое письмо, отправленное вашим клубом, чтобы вы могли проверить, что оно действительно ушло. Вы также можете настроить собственный SMTP-аккаунт в Настройках вместо постоянной отправки через общий.
- Смены
Применяйте шаблон смен сразу к нескольким неделям, с ИИ-планированием
Применяйте шаблон смен сразу к нескольким неделям вместо одной за раз, а ИИ-планировщик распределит сотрудников на каждую неделю периода.
- Серийные карты
Месячные абонементы теперь могут автоматически начинаться там, где заканчивается текущий абонемент клиента — настраивается для каждого товара
Включите это для каждого товара месячного абонемента, и новый абонемент клиента начнётся в день окончания текущего, а не со дня покупки — так ранняя покупка никогда не отнимает у клиента время.
- Аренда
На публичных страницах бронирования теперь есть подвал с реквизитами вашего клуба
Публичная страница бронирования теперь может показывать подвал с реквизитами вашего клуба, чтобы клиенты видели, у кого они бронируют.
- Маркетинг
Отправьте себе тестовую копию шаблона письма перед отправкой клиентам
Отправьте себе тестовую копию шаблона письма прямо из редактора, чтобы проверить, что всё выглядит правильно, прежде чем оно уйдёт клиентам.
- Отчёты
Учёт часов: автопереход в поле минут при вводе
Ввод часов в отчёте «Учёт часов» теперь сразу переходит в поле минут после завершения часа, вместо необходимости щёлкать или нажимать Tab.
- Товары
Список пополнения: фильтр по эталонному местоположению, остатки на складе
Отчёт «Список пополнения» теперь можно отфильтровать до одного эталонного местоположения, и рядом с каждым товаром отображается текущий остаток на складе.
- Отчёты
Отчёт «Открытые подарочные карты»: исправлены карты, которые незаметно пропадали, добавлено среднее значение, предупреждение при отсутствии шаблона
Некоторые открытые подарочные карты незаметно отсутствовали в отчёте; теперь учтены все. Отчёт также показывает среднюю стоимость карты и предупреждает, если шаблон карты ещё не настроен.
- Подарочные карты
Коды подарочных карт теперь работают везде, где вы их вводите — при оплате и при погашении
Раньше код подарочной карты вёл себя по-разному в зависимости от того, где его вводили. Теперь он работает одинаково везде — и при оплате, и при погашении.
- Маркетинг
Конструктор маркетинговой аудитории: сравнение любого поля клиента, сопоставление И/ИЛИ, и объяснение, когда клиент исключён
Создавайте аудиторию, сравнивая любое поле клиента — равно, содержит, больше чем и другое — и комбинируя условия через И или ИЛИ. Когда клиент не проходит отбор, конструктор теперь объясняет почему.
- Аренда
Окончательно удалить уже отменённое бронирование
Отменённое бронирование теперь можно полностью удалить, а не оставлять навсегда в списке.
- Настройки
Предоставляйте или отзывайте функцию у всех сотрудников сразу, а не по одному
Включайте или отключайте функцию у всех сотрудников одним действием, вместо того чтобы заходить в учётную запись каждого по отдельности.
- Аренда
Оплачивайте бронирование корта подарочной картой
Теперь за бронирование корта можно расплатиться подарочной картой, как и за любую другую покупку.
- Товары
Удаление категории товаров теперь сначала показывает затронутые товары (заодно исправлен сбой), с поиском по названию/ID
Перед удалением категории вы теперь точно видите, какие товары она затронет, с поиском по названию или ID для дополнительной проверки. Также исправлен сбой, который мог возникать при удалении.
- Интернет-магазин
Загрузка главного изображения для публичной страницы, больший баннер, закреплённая верхняя панель, переведённая панель инструментов магазина
Загрузите собственное главное изображение для публичной страницы магазина — теперь оно показывается в большем баннере. Верхняя панель остаётся видимой при прокрутке, а панель инструментов магазина теперь полностью переведена.
- Аренда
Не вошедшие в систему клиенты видят подсказку войти перед бронированием; администраторы видят ссылку на публичную страницу бронирования в Настройках
Клиент, не вошедший в систему, теперь видит подсказку войти перед бронированием, а не узнаёт об этом только при оформлении. Ссылка на публичную страницу бронирования теперь также показана прямо в Настройках, так что искать её не нужно.
- Аренда
Загрузите изображение и описание для бронируемого ресурса — они будут видны на карточке каталога бронирования
Добавьте бронируемому ресурсу собственное фото и короткое описание — клиенты увидят это на его карточке в каталоге бронирования вместо одного названия.
- Аренда
Именованные переиспользуемые наборы бронируемых ресурсов для типов билетов
Вместо того чтобы перечислять ресурсы по одному для каждого типа билета, создайте именованный набор один раз — например, «Все корты» или «Снаряжение для новичков» — и назначьте его где угодно. Обновите набор, и все использующие его типы билетов обновятся вместе с ним.
- Серийные карты
Новая автоматизация: уведомление об истекающем сроке карты; уточнённые уведомления «мало визитов осталось»
Настройте автоматизацию, которая свяжется с клиентом до того, как закончится карта, а не после. Заодно уточнено существующее уведомление «мало визитов осталось», чтобы они не срабатывали одновременно.
- Аренда
Неоплаченные бронирования теперь показывают срок освобождения, с кнопкой «Освободить сейчас»
Неоплаченное бронирование теперь точно показывает, когда оно освободится обратно в календаре, а не просто висит без объяснений. Персонал также может освободить его немедленно одним нажатием, не дожидаясь автоматического освобождения.
- Аренда
Календари аренды: фильтр по выбранным ресурсам, компактный режим отображения, переключатель строк/столбцов
Сузьте календарь аренды только до нужных вам ресурсов, переключитесь на компактный вид, чтобы уместить больше на экране, и выберите, идут ли ресурсы строками или столбцами.
- Аренда
Тарифы в непиковые часы для бронирований
Для бронируемых ресурсов теперь можно задать более низкую цену вне пиковых часов — например, до 9 утра или после 20 вечера. Настройте окна непиковых часов и цены для каждого ресурса отдельно, и публичная страница бронирования автоматически покажет правильную цену для каждого временного слота. Новая настройка также позволяет полностью скрыть цены в сетке бронирования — для залов, которые предпочитают их там не показывать.
- Аренда
Войдите и оплатите корт уже имеющимся абонементом
Постоянный клиент теперь может войти на публичную страницу бронирования по одноразовому коду — не нужно запоминать пароль — и оплатить корт тем, что у него уже есть: абонементом на 10 посещений, накопительной картой, месячным абонементом или годовым членством, вместо новой оплаты картой каждый раз.
- Отчёты
Два новых отчёта: журнал часов сотрудников и длительность использования абонемента 10x
Журнал часов сотрудников показывает отработанные часы одного сотрудника за период — итог, а под ним каждую отметку — с фильтром по типу работы. Оставьте сотрудника не выбранным, чтобы увидеть всех сразу. Длительность использования абонемента 10x показывает, сколько времени клиентам реально требуется, чтобы использовать абонемент на 10 посещений: среднее, медиану и гистограмму скорости использования абонементов.
- Аренда
Публичная страница бронирования кортов и других сдаваемых ресурсов
Участники и разовые посетители теперь могут просматривать доступное для бронирования — корты, инвентарь или любой другой ресурс, который сдаёт зал —, видеть фото и подробности по каждому и сразу бронировать время, не создавая заранее отдельный аккаунт. Администраторы решают, какие ресурсы отображаются, как они выглядят на странице и как расположены доступные временные слоты.
- Коды скидок
Ограничьте код скидки шаблоном адреса эл. почты
Код скидки уже можно было закрепить за одним названным клиентом. Это подходит для жеста в адрес одного человека, но не для договора с компанией, где никто не хочет вводить четыреста имён. Теперь код можно ограничить и по адресу эл. почты. Напишите *@company.ru — и им смогут воспользоваться все с адресом этого работодателя, и больше никто. Звёздочка означает любой текст, поэтому *@*.company.ru охватывает и поддомены. Если задать и клиента, и шаблон, достаточно одного совпадения: этот человек или любой подходящий. Шаблоны, пропускающие почти любой адрес, отклоняются уже при сохранении, так что забытая @ не откроет код кампании для всех незаметно.
- Коды скидок
Закрепите код за клиентом или за выбранными курсами
Кодом скидки до сих пор мог воспользоваться любой, кто его знал. Если вы хотели пойти навстречу одному человеку — возврат, оформленный кодом, извинение, договорённость по телефону — ничто не мешало передать код дальше и использовать ещё десять раз. В редакторе кодов появились два новых необязательных поля. «Закреплён за клиентом» привязывает код к одному человеку: он работает только для него и проверяется по адресу эл. почты, указанному при оформлении заказа или записи, — то есть и для гостей, а не только для вошедших участников. Оставьте поле пустым, и код будет работать ровно как раньше. «Действует на курсах» ограничивает код выбранными курсами. Код с выбранными курсами — это код курса: он применяется, когда покупается один из них, и магазин не примет его ни для чего другого. Оставьте пустым, и это останется обычным кодом магазина. Оба поля необязательны и по умолчанию выключены, поэтому все ваши текущие коды работают без изменений.
- Курсы
Коды скидок работают при записи на курсы
У курсов было две цены — обычная и для участников — и никакой возможности принять код скидки. Выданный код работал в магазине, но к курсу и близко не подходил. На публичной странице записи теперь есть поле для кода. Код проверяется до оплаты, а не после: вы вводите код, и страница сразу говорит, действует ли он и сколько будет стоить запись, — никто не узнаёт об этом лишь на шаге оплаты. Сумма рядом с кнопкой оплаты меняется на ту, которая действительно будет списана, а прежняя цена показана зачёркнутой. Скидка считается от действующей цены. Если клиент подтвердил членство и ему полагается цена участника, код уменьшает именно её — участник никогда не окажется в проигрыше, применив тот же код. При записи на несколько дней скидка считается от всей суммы, а не от одного занятия. Согласованная цена для отдельного участника по-прежнему важнее всего: то, что внёс ваш персонал, код не занижает.
- Курсы
Назначьте отдельному участнику свою цену
У курса уже было две цены — обычная и для участников клуба — но обе действуют для всех. Договориться с одним человеком было невозможно: скидка для братьев и сестёр, травма, член семьи сотрудника, жест доброй воли. Сотрудники либо меняли цену для всего курса, либо решали разницу вне системы. Откройте курс, разверните дату, и в меню ⋮ в строке участника теперь есть **Задать цену**. Введите сумму, добавьте краткую причину — и эта запись будет оценена так. Согласованная цена видна в отдельном столбце, причина — при наведении. Пустое поле и 0 намеренно означают разное: очистка возвращает обычную цену курса, а 0 — согласованное бесплатное место. Согласованная цена заменяет всю сумму. После отметки об оплате цену изменить нельзя, и пункт меню исчезает.
- Серийные карты
Не дайте несвязанным серийным картам объединяться
При покупке серийной карты оставшиеся посещения со старых карт того же типа переносятся на новую. Именно этого и ждёшь, когда клиент пополняет карту на 10 посещений, — и совсем не этого, когда карта новичка на 3 посещения и детская на 10 сливаются в одну карту с 13 посещениями. Внутри системы каждая карта хранится с одним и тем же типом, каким бы товаром она ни была продана, поэтому до сих пор ничто их не разделяло. Настройки ▸ Группы карт позволяют задать ящики, по которым раскладываются карты. Создайте группу и скопируйте показанный тег в товары, которые к ней относятся, — в поле «Применить тег» типа карты или прямо в теги товара. После этого карта, проданная этим товаром, объединяется только с другими картами той же группы. Тег действует везде, где товар продаётся: на кассе, в интернет-магазине и в OpenAir, а также при создании карты вручную. Если вы не создадите ни одной группы, ничего не изменится — карты без группы по-прежнему объединяются между собой как раньше. Группа видна в списке карт клиента, на быстрой кнопке кассы и в строке корзины, так что сразу понятно, какие карты с какими объединятся.
- Настройки
Смотрите в одном месте, что пошло не так
Фоновые задачи — импорт счетов, интеграции, задания по расписанию — раньше завершались с ошибкой молча. «Настройки ▸ Журнал ошибок» теперь перечисляет, что сломалось, с полными подробностями за каждой строкой, а на панели появляется счётчик, когда что-то требует внимания. Отметьте проблему как просмотренную, пока разбираетесь, и как решённую, когда всё исправлено. Повторы одной и той же ошибки сводятся в одну запись, а не заполняют список, и панель не показывает ничего, когда всё в порядке.
- Касса
Отложите продажу и вернитесь к ней
Когда покупатель возвращается за забытым товаром, нажмите «Отложить». Корзина откладывается целиком, касса освобождается для следующего в очереди, а пункт «Отложено» возвращает её. Одновременно может ждать несколько, и при возврате одной откладывается начатая продажа — если по ней ещё не проведён платёж. Отложенные продажи остаются на этой кассе и очищаются каждое утро, поэтому вчерашние брошенные корзины не накапливаются. Продажу, по которой уже проведены платежи, отложить нельзя — завершите или отмените её.
- Оформление
Тёмная тема следует за системой и запоминает ваш выбор
Приложение теперь открывается в том режиме, который выбран на вашем компьютере, поэтому сразу совпадает с остальной системой. Кнопка солнца и луны в верхней панели в любой момент переопределяет это: ваш выбор запоминается на этом устройстве и с этого момента важнее системной настройки. Тёмная тема теперь охватывает всё приложение, а не отдельные экраны: около 1400 панелей, таблиц, меток и информационных блоков, остававшихся белыми, — и текст, который был тёмным на тёмном, а иногда и вовсе невидимым, — теперь следуют теме.
- Интернет-магазин
Страница курсов теперь использует цвета вашего магазина
Задайте их в разделе Интернет-магазин → Настройки → Брендинг: основной цвет, фон страницы и фон содержимого. Публичная страница курсов следует всем трём — шапка, баннер, кнопки и ссылки — и сама подбирает читаемый текст для тёмного фона. Если цвета не заданы, ничего не меняется.
- Курсы
Напишите свой текст на странице курсов
В разделе Настройки → Общие шаблоны добавьте шаблон с целью «courses_public» и одним из идентификаторов: hero_title, hero_subtitle или info_text. Оставьте язык пустым, чтобы использовать один текст везде, или добавьте по строке на каждый язык. info_text — дополнительный абзац, который скрыт, пока в нём ничего не написано.
- Курсы
Оплата курсов теперь видна в отчётах о продажах
Курс, оплаченный онлайн, теперь становится настоящим заказом и чеком, поэтому сам попадает во все отчёты о продажах. Можно выбрать, на какой товар относится каждый курс: откройте курс, вкладка «Цены», поле «Товар для продаж». Если оставить пустым, курс будет отнесён к общему товару «Курсы», который создаётся при первой необходимости. Касается платежей с этого момента; более ранние задним числом не добавляются.
- Клиенты
Узнайте, скольким клиентам можно писать
В реестре клиентов рядом с выбором столбцов появился фильтр маркетинговой рассылки: согласен, отказался или не спрашивали. Выберите один — и общее число вверху списка станет ответом: скольких человек кампания действительно достигнет. «Согласен» — то же условие, что применяет рассылка, поэтому число совпадает с тем, кому письмо реально уйдёт. «Не спрашивали» намеренно отделено от «отказался»: это клиенты, которым вопрос никогда не задавали, обычно самая большая группа и единственная, с которой ещё можно что-то сделать.
- Панель
Группируйте выручку на панели по-своему
Виджет выручки задавал один вопрос — вход против всего остального, — который для скалодрома верен как первый и неверен, когда интересные деньги это кафе, магазин или бронирование праздников. Теперь группировку решаете вы: пометьте товар тегом «bucket_cafe» (любое имя после bucket_), и его ряд появится на панели сразу же. Сколько угодно. Новая страница «Группы выручки» в настройках даёт каждой нормальное название, цвет и место и показывает, сколько товаров несёт каждый тег — группа без товаров это опечатка в теге, и больше её нигде не видно. Из виджета туда ведёт короткий путь. Ничего не меняется, пока вы не пометите первый товар.
- Касса
Товар может требовать клиента до продажи
Некоторые товары имеют смысл только привязанными к человеку — абонемент, именная карта, продажа по счёту, — а касса до сих пор охотно продавала их никому, и это всплывало позже: картой без владельца. В разделе кассы в редакторе товара появилась настройка «Требовать клиента на кассе». Когда она включена, товар нельзя добавить в корзину, пока не выбран клиент, — независимо от того, попал он туда с быстрой кнопки или из поиска товаров. Касса не просто отказывает: она открывает поиск клиента и завершает продажу, как только вы кого-то выберете, так что кнопку не приходится нажимать дважды. По умолчанию выключено.
- Курсы
Вкладки «Видимые», «Скрытые» и «Все» в списке курсов
Список открывается на вкладке «Видимые», поэтому снятые с клиентского сайта курсы — особенно старые сезоны — не мешают, пока вы их не запросите. На каждой вкладке показано количество курсов, так что сразу видно, что скрытые есть.
- Панель
Три новых виджета, которые сообщают о неполадках
Панель умела рассказать, что произошло — продажи, посетители, тренды — но никогда о том, что что-то перестало работать. Четыре новых виджета закрывают этот пробел. Состояние способов оплаты замечает способ, объём которого обвалился или платежи по которому отменяются; такая поломка может тянуться месяцами, пока цифры выглядят просто спокойными. Неудавшиеся регулярные списания показывают подписки, которые активны, но ничего не собирают. А Вход и всё остальное разделяет разовые посещения и продажи магазина, чтобы спад по снаряжению не прятался за стабильными цифрами входа. Добавьте их в редакторе панели.
- Отчёты
Таможенный отчёт по алкоголю теперь в новых отчётах
Ежемесячный таможенный отчёт по алкоголю переехал из старой формы экспорта в Отчёты, где его можно фильтровать, сортировать и выгружать как любой другой. Он показывает бутылки и литры по группам алкогольного налога на основе ваших заказов на продажу. Теперь он также предупреждает о товарах, которые нельзя задекларировать — без налоговой группы или без объёма — ещё до подачи. Старая версия молча исключала их из итогов и полностью теряла товары без финского названия, из-за чего декларация могла оказаться заниженной без всякого предупреждения.
- Отчёты
Посетители по гостевому пропуску теперь видны в воронке
Гостевой пропуск дарят, а не продают, поэтому на кассе он не оставлял следа — а отчёт о пути клиента находит людей по первой покупке. Тот, кто впервые пришёл по пропуску друга, выглядел так, будто не приходил вовсе, а купленное через три месяца членство не засчитывалось никому. Теперь первый визит записывается как продажа на 0 € с датой прямо перед выдачей пропуска, чтобы отчёт засчитал его как точку входа. Ни выручку, ни НДС, ни закрытие дня это не меняет. Выберите товар в блоке вверху панели; до этого ничего не записывается.
- Панель
Панель теперь показывает, что ещё нужно настроить
Некоторые функции не могут работать, пока кто-то не сделает выбор, который можете сделать только вы, — и об этом ничто не сообщало: настройка могла месяцами оставаться пустой, пока вы считали функцию включённой. Теперь вверху панели есть блок, который перечисляет незакрытые вопросы, объясняет, почему они важны, и позволяет заполнить их сразу. Он исчезает, когда делать больше нечего. Первое: к какому товару относится визит по гостевому пропуску — без этого получатели невидимы в отчёте о пути клиента.
- Отчёты
Продажи WooCommerce теперь видны в кассовых отчётах
Заказы из WooCommerce создавали карты и затем исчезали из учёта — оборот не попадал ни в один отчёт. Теперь каждый оплаченный заказ WooCommerce записывается ещё и чеком по точке интернет-магазина, поэтому виден в дневных, месячных и НДС-отчётах рядом с вашим собственным магазином. Учитывается весь заказ, включая доставку и сборы, а платёж попадает на способ оплаты «WooCommerce», создаваемый автоматически при первом использовании — задайте ему счёт учёта в настройках способов оплаты. Отменённые и неоплаченные заказы пропускаются, и ничто не учитывается дважды.
- Товары
Перевод названий дополнений с помощью ИИ
Дополнения показывали всем клиентам одно и то же название, независимо от языка. Теперь для каждого дополнения можно задать название на каждом языке в разделе Товары → Дополнения, а кнопка рядом с заполненным полем переведёт его на все остальные языки. Пустой язык безопасен — магазин покажет собственное название дополнения.
- Отчёты
Сколько владельцев абонемента становятся участниками
Отчёт о пути клиента теперь показывает каждый переход относительно его собственной отправной точки, а не только относительно всех. «Из тех, кто дошёл до абонемента, сколько вступили» — это число, по которому можно действовать, и оно было незаметно, пока каждый этап показывался как доля всей когорты: этап выглядит слабым, когда до предыдущего дошли немногие. Оба числа показаны рядом. Медианные дни тоже считаются от предыдущего этапа, поэтому клиент, которому понадобилось 20 дней до абонемента и ещё 20 до вступления, здесь показан как 20, а в таблице этапов — как 40.
- Товары
Показывайте пробное предложение только тем, кто ничего не покупал
Новая настройка товара «Скрыть от клиентов, которые уже покупали» убирает цену первого визита из виду у всех, у кого уже есть карта, оплаченный заказ или кассовый чек. Работает в веб-магазине и в OpenAir и отклоняет прямую ссылку на страницу товара — прятать из списка, но выдавать по адресу было бы слабым правилом. Не вошедшие посетители его тоже не видят, иначе достаточно было бы выйти, чтобы снова получить предложение. Брошенный неоплаченный заказ покупкой не считается.
- Отчёты
Видно, когда отменяли, а не только почему
Отчёт о причинах отмен теперь можно группировать по месяцам или годам, а рядом с каждой кольцевой диаграммой появляется столбиковая диаграмма с накоплением, показывающая, из каких причин складывался каждый период. Своя есть у обеих частей — у автоматических подписок и у традиционных членств. Период, когда никто не отменял, сохраняет своё место на оси, поэтому тихий месяц читается как тихий, а не исчезает.
- Отчёты
Видно, превращается ли первый визит в членство
Новый отчёт о пути клиента следит за всеми, чья первая карта куплена в выбранный период, и показывает, сколько из них перешли к абонементу, месячной карте и годовому членству — вместе с диаграммой того, откуда клиенты пришли и что сделали дальше. Поскольку отслеживаются одни и те же люди во времени, проценты означают конверсию, а не количество: тех, у кого карта была уже до периода, намеренно не учитывают. Пробную карту на 3 посещения или гостевой билет можно засчитать как точку входа, отметив товар тегом «customer path entry point»; отметка необязательна и лишь уточняет картину.
- Отчёты
Проведите кампанию «кто приведёт больше всего новых клиентов»
В отчёте о переданных членских пропусках появились два новых флажка. «Считать только новых клиентов» засчитывает пропуск, только если учётной записи получателя не существовало до начальной даты отчёта и до пропуска на ней ничего не происходило — ни покупки, ни счёта, ни карты, ни посещения. Проверка счетов и посещений важна: участники, платящие по ежемесячному счёту, никогда не создают кассовый чек, поэтому правило, смотрящее только на продажи, считало бы ваших самых давних участников новыми вечно. «Считать только использованные пропуска» засчитывает пропуск лишь после того, как друг действительно пришёл, — это стоит включить, когда разыгрывается приз: зарегистрировать адрес почты ничего не стоит, а прийти в зал стоит. Новизна оценивается относительно диапазона дат отчёта, а не сегодняшнего дня, поэтому повторный запуск не изменит победителя.
- Абонементы
Передача пропуска для друга теперь отправляет письмо обоим
Получатель получает сообщение о том, кто подарил ему пропуск, сколько в нём посещений и до какого числа он действует; даритель получает подтверждение с именем получателя. Каждое письмо пишется на языке самого адресата. Галочки в приложении нет намеренно: получатель всегда уже ваш клиент, поэтому отправку определяет его собственное согласие на важные письма, а явный отказ соблюдается. Письмо — единственный способ заметить, что пропуск попал не тому человеку, ведь передачу нельзя отменить. Отключается для каждого зала настройкой «Отправлять письмо получателю (и дарителю) при передаче пропуска для друга».
- Абонементы
Теперь пропуск для друга можно скрыть в OpenAir
Новая настройка «Показывать членский пропуск для друга в openair» по умолчанию включена. Если её выключить, участники перестанут видеть свои пропуски для друга и кнопку «Подарить другу» в приложении, при этом пропуски продолжают выдаваться и видны вам в реестре клиентов. При обратном включении они сразу возвращаются — ничего не расходуется и не удаляется.
- Абонементы
Членский пропуск можно заработать по правилу и подарить другу
Правила определяют, какие карты дают пропуск для друга и что получает друг. Участник дарит его в OpenAir, друг получает настоящую карту. Ночной процесс сбрасывает пропуска по ритму каждого правила.
- Отчёты
Отчёт о переданных членских пропусках
Кто и сколько пропусков подарил. Строку можно раскрыть и увидеть получателей, их карты и оставшиеся посещения.
- Касса
Касса без отвлечений и корректно печатающиеся чеки
Кнопка открывает кассу на весь экран, всё лишнее убрано. Чеки подогнаны под 72 мм печатной ширины, без знаков валюты и лишних десятичных, а печать идёт из скрытого фрейма, а не через пустую вкладку.
- Аренда
Бронирования на таймлайне аренды можно рисовать, перетаскивать и растягивать
Протяните по свободному времени, чтобы создать бронирование, перетащите существующее, чтобы сдвинуть, потяните за край, чтобы изменить длительность. Время теперь хранится в настоящем UTC, поэтому бронирование больше не съезжает на час при переводе часов.
- Навигация
Новая панель меню
Боковая панель — узкая полоса иконок с выпадающим меню для каждого раздела, поэтому ширина достаётся рабочей области, а не навигации.
- Штамп-карты
Штамп-карты от и до
Десятый кофе бесплатно. Типы карт настраиваются как товары, касса и интернет-магазин их выдают и штампуют, участник видит свои, и у каждого типа свои иконка и цвета. Использованную карту можно скрыть или отозвать вместо удаления.
- Абонементы клуба
Пауза членства сдвигает и списания
Во время паузы списаний нет, а оплаченные дни переносятся в конец, а не сгорают. Лимиты настраиваются по типу членства, срочный договор получает свои дни авансом, а расторжение сверяет паузу с фактически использованными днями.
- Контроль доступа
Приостановленное членство останавливается на двери
Приостановленное в админке членство всё равно открывало дверь. Теперь вход запрещается с указанием причины, так что приостановка означает именно это.
- Касса
Терминалы Nets Cloud Connect в кассе
Учётные данные задаются один раз на клуб, а терминал привязывается к каждой кассе, так что продажа уходит на ридер именно этой стойки.
- Касса
Иконки и цвета для категорий кассы
Дайте каждой группе быстрого выбора иконку, фон и цвет текста, при желании крупнее. В загруженную субботу глаз находит цвет быстрее, чем читает слово.
- Интернет-магазин
PDF веб-заказа и отметка оплаты реальным способом
Заказ печатается или уходит письмом как нормальный PDF с вашей шапкой. При отметке оплаты спрашивается, каким способом пришли деньги, а наличные способы доступны только сотруднику за кассой.
- Абонементы
Правила паузы для абонементов
Сколько пауз допускает карта, какой длины может быть каждая и сколько дней в году суммарно — по типу карты. Клиент ставит паузу сам в OpenAir, когда вы включите это для клуба.
- Отчёты
Продажи товаров сгруппированы по варианту, фильтр по товару
Размеры и цвета одной футболки складываются в одну строку, а не рассыпаются по отчёту, и отдельный товар можно вывести сам по себе.
- Панель
Соберите свою панель
Панели настраиваются для каждого клуба, и каждый пользователь собирает свою из доступных ему виджетов. Управляющему и человеку на ресепшене не нужен один и тот же экран.
- Интеграции
Интеграция с PrestaShop перестроена
Товары, остатки и заказы синхронизируются со страницы настроек, которую действительно можно прочитать, а соединение можно проверить до того, как на него положиться. Старая интеграция не тронута и работает.
- Языки
Вся админка говорит на десяти языках
Клиенты, товары, касса, счета, курсы, аренда, снаряжение, смены, маркетинг, отказы от ответственности и всё остальное переведены, а не наполовину на английском. Смена языка теперь меняет весь экран.
- Контроль доступа
Доступ к двери может зависеть от того, где телефон
Задайте радиус вокруг каждой локации, отклоняйте открытие извне и смотрите отчёт об аномалиях, кто пробовал с другого конца города.
- Лендинги
Лендинги, которые вы правите сами
У каждого клуба свои публичные страницы — секции, текст, изображения, новости — редактируемые в админке и маршрутизируемые без правки шаблона и ожидания выката.
Хотите узнавать сразу?
Мы пишем клиентам, когда выходит что-то стоящее. Без фиксированного графика и без рассылки ради рассылки.