← Все статьи
07.05.2026 · 8 минут чтения

Как теннисный клуб теряет 15% выручки на двойных бронях

Двойная бронь — когда два клиента приходят на один корт в одно время и думают, что они забронировали правильно. Это не редкость, не «может случиться раз в год». В клубах на Excel + WhatsApp это происходит регулярно — и стоит дороже, чем кажется.

Анатомия двойной брони

Типичный сценарий:

  1. 15:00. Лебедева звонит, бронирует корт 1 на 19:00. Админ-А записывает в Excel-файл #1.
  2. 15:30. Иванов звонит, тоже хочет корт 1 на 19:00. Админ-Б открывает другой Excel-файл #2 (тот же сетевой диск, но не синхронизирован — Excel зависал утром, перезагружали).
  3. 15:30. Админ-Б видит, что 19:00 свободно (в его файле), бронит для Иванова.
  4. 15:45. Файлы синхронизируются. Поздно — обе записи в системе.
  5. 19:00. Лебедева и Иванов приходят на корт 1. Скандал на ресепшне.

Что вы реально теряете

Считаем для среднего московского клуба с 6 кортами и средним чеком 2500 ₽.

1. Упущенная выручка от пересечения

Один из двух клиентов уходит. -2500 ₽ (одна бронь). Допустим у вас 2-4 двойных в месяц = 5 000 — 10 000 ₽ за месяц.

2. Потеря клиента (LTV)

Клиент которого «выгнали» с корта (хоть он и был прав) — обычно больше не возвращается. Особенно молодёжь. Lifetime value клиента в теннисе — 50-80 броней за год. Это 125 000-200 000 ₽ выручки за год от каждого ушедшего.

За год с 2-4 двойных в месяц = 24-48 двойных. Если уходит хотя бы каждый второй = 12-24 потерянных клиента × 150 000 ₽ = 1.8-3.6 млн ₽ потерь LTV в год.

3. Репутационный ущерб

«Я к вам ходил полгода, а вы мне устроили цирк на корте» — это пишут в Я.Картах, в Telegram-чатах теннисистов. Один публичный отзыв с конфликтом отпугивает 5-10 потенциальных новых клиентов. ~30 000-100 000 ₽ упущенных регистраций в год.

4. Время админа на разруливание

Каждый конфликт — 30-60 минут стресса для админа. Звонки, извинения, поиск свободного корта на сейчас (часто его нет в прайм). Если админ зарабатывает 60 000 ₽/мес, это 30-60 минут × 24 раза в год = ~10-15 тысяч в год чистых трудозатрат.

Итого в год

Категория потерьЗа год
Упущенная выручка с пересечений~60 000 — 120 000 ₽
LTV ушедших клиентов~1 800 000 — 3 600 000 ₽
Репутационный ущерб~30 000 — 100 000 ₽
Время админа~10 000 — 15 000 ₽
Итого~1.9 — 3.8 млн ₽ в год

Для клуба с годовой выручкой 12-25 млн ₽ — это и есть те самые 15% потерь.

Решение — гарантия на уровне БД

В letscourt двойные брони невозможны не потому что «мы постарались валидировать на UI», а потому что в Postgres стоит EXCLUDE constraint:

CONSTRAINT bookings_no_overlap
EXCLUDE USING gist (
  court_id WITH =,
  tstzrange(start_at, end_at) WITH &&
) WHERE (status != 'cancelled');

В переводе: «нельзя создать две записи где court_id одинаковый И диапазоны времени пересекаются». Если два администратора в один момент пытаются создать пересекающиеся брони — второй получит ошибку «slot conflict» от базы данных. Никакая логика на сервере не нужна — БД сама не даст.

То же самое срабатывает для онлайн-броней через виджет/Telegram-бот. Если клиент через сайт пытается забронить занятый слот — увидит ошибку до оплаты, не после.

Что делать сейчас

  1. Посчитайте свои двойные брони за последний месяц (поднимите Excel-журналы)
  2. Умножьте на 12 (за год) и на формулу выше — поймёте свой реальный убыток
  3. Сравните с 7 200 ₽ в месяц на letscourt для 6 кортов = 86 400 ₽/год
  4. Если убыток выше стоимости — переходите. ROI считается в первый месяц

Запустить letscourt и забыть про двойные брони

14 дней бесплатно. Если потеряете хоть одну двойную бронь за это время — мы что-то делаем не так.

Подать заявку →