Все возможности letscourt
Полный список функций по 8 группам. Это то, что уже работает в продакшене — не roadmap «когда-нибудь сделаем». Каждый пункт можно проверить демо-доступом или регистрацией клуба.
Подать заявку →📅Расписание и брони
Цветовая кодировка покрытий: хард → синий, грунт → терракотовый, трава → зелёный, падл → синий. Глядя на сетку видно занятость без чтения текста.
Click в клетку → попап с поиском клиента → выбор тренера → готово. Поиск показывает подсказки начиная с 2 символов имени.
Через 250 мс появляется popover с клиентом, типом, тренером, оплатой — без открытия drawer. Удобно для быстрого взгляда.
Click на бронь → справа выезжает drawer с inline-редактированием тренера, клиента, суммы. ESC закрывает.
Hold-бронь автоматически снимается, если клиент не оплатил за 10 минут. Воркер expire-holds работает каждые 30 секунд.
Postgres физически не даст создать две пересекающиеся брони на одном корте. Гарантия не «постараемся», а на уровне базы данных.
При выборе 2/3/4 часов клетки в публичной броне объединяются. Если в диапазон попадает занятый слот — красная пунктирная рамка.
Технический блок (уборка, ремонт) не считается в выручке. Турнирные сетки на 4-32 пары не путаются с обычными бронями.
👥Клиенты (CRM)
Аватар-градиент по hash имени, потрачено всего, визитов, sparkline активности 12 недель — открыли список и сразу видно кто VIP кто пропадает.
VIP / Абонемент / Долг / Уснул N дней — каждый бейдж окрашен. Строки клиентов с долгом подсвечены жёлтым.
Все · VIP · С абонементом · С долгом · Уснувшие. Один клик — отфильтровано.
Карточка клиента показывает 50 последних броней с временем, кортом, тренером, оплатой. Inline-редактирование баланса.
Один клиент = одна запись во всей сети клубов. Не «синхронизация», а архитектурно.
Кнопка «Удалить клиента» делает полное стирание данных, не soft-delete. Для соответствия требованию «право быть забытым».
💳Платежи и финансы
Карты, СБП, идемпотентные webhook-и. Авто-возврат при отмене оплаченной брони.
Клиент пришёл и заплатил наличными — кнопка «Отметить оплачено» с выбором метода (наличные / перевод / карта офлайн / другое).
Создана → Hold → Оплачена → (Отменена → Возвращена) — полная цепочка событий с временем и автором действия.
Период 7/30/90 дней, разрезы по клубам и тренерам, динамика выручки по дням, средний чек, конверсия в оплату.
🎾Тренеры и кабинеты
Новичок / Любитель / III–I разряд / КМС / МС / МСМК. Каждый со своим цветом плашки. МСМК — чёрная (премиум).
Массив строк через запятую — отображаются цветными пилюлями со ★ («Чемпион России 2018», «Финалист WTA»).
Своё расписание во всех клубах сети, занятия, история выплат, расчёт «к получению» в реальном времени.
Confirmed-часы × ставка тренера → автоматически. Через UI у director создание payout документ-заявки.
Топ-3 пьедестал, ранг по выручке/часам/сессиям/новым клиентам, переключатели 7/30/90 дней.
🌐Каналы для клиента
Бренд клуба, фото, слоты с ценами, выбор длительности 1-4 часа, оплата через ЮKassa. Работает 24/7.
iframe или script-тег на сайте партнёра. Авто-resize. Безопасность по доменам через wpk_-ключ с allow-list (wildcard *.example.com).
Каждая орг подключает своего бота через @BotFather под собственным брендом. За 5 минут — webhook регистрируется автоматически.
Кнопка «Забронировать» открывает тот же UI что на сайте — но внутри Telegram. Авто-логин по signed initData. Платёж не выходит из мессенджера.
Клиент пишет вопрос в бот → пересылается в админский Telegram-чат с подписью клиента. Админ отвечает в этом же чате.
📊Аналитика и дашборды
4 KPI с trend-стрелочками (выручка/конверсия/брони/отмены), heatmap загрузки час × клуб, топ-10 тренеров.
Автоматический список клубов с просадкой выручки 30%+ относительно среднего по сети.
Hold-брони со счётчиком обратного отсчёта (обновляется каждую секунду). Цветная полоска по статусу.
⚙️Управление и роли
Владелец / Директор / Администратор клуба / Тренер / Только чтение. Привязка администратора к конкретным клубам сети.
Правило × День недели × Конкретные корты. Court-specific цены (корт 1 — прайм 5500 ₽, остальные 3500 ₽).
Учёт мячей / ракеток / струн с порогами заказа. KPI: критичные / низкие / общий остаток.
Партицирован по месяцам. Кто, что, когда, IP, user-agent. Поиск по сотруднику/типу действия/периоду.
🛡Безопасность и compliance
Access-токен 15 минут + refresh 30 дней. Compromise токена даёт минимальное окно эксплуатации.
УЗ-3 совместимость, документированное удаление и экспорт данных клиента, Audit-лог IP/user-agent на каждой мутации.
Platform-админ может зайти под сотрудником клуба с полной фиксацией в audit. У сотрудника жёлтый баннер «Сейчас имперсонация».
UNIQUE constraint на (provider, event_id) — повторный webhook от ЮKassa не создаст дубль платежа.
Попробовать всё это
Заявка → пароль на email → пять минут на настройку клубов и кортов → принимаете брони. Возможность вывезти данные обратно в любой момент.
Подать заявку →