Как создать приложение для абонементов в фитнес-клубе: тарифы, оплата, запись на занятия и check-in
Приложение для абонементов позволяет людям записаться, платить каждый месяц, бронировать занятия и отмечаться на входе, а персонал видит, кто активен, кто заплатил и кто пришёл. Чтобы его построить, нужны учётные записи участников, тарифы, связанные с подписками платёжного провайдера, расписание занятий с местами и листом ожидания, способ отметки на входе и панель для персонала. ИИ-конструктор может быстро собрать основу. Сложнее всего правила денег: заморозка, неудачные платежи, отмена, перерасчёт — и то, чтобы доступ на входе соответствовал тому, за что участник действительно заплатил.
Начните с модели абонементов
Клубы и студии очень отличаются. Запишите:
- Типы тарифов. Безлимит на месяц, дневные часы, пакеты занятий (10 занятий), разовые визиты, годовая предоплата, семейные или студенческие тарифы.
- Условия договора. Ежемесячное продление без срока или с минимальным сроком, срок предупреждения об отмене. Проверьте местные правила защиты потребителей для договоров и отмены.
- Что входит в тариф. Только тренажёрный зал, только занятия, всё вместе или конкретные филиалы.
- Заморозка. Могут ли участники приостановить абонемент из-за поездки или травмы? На какой срок и взимается ли плата?
- Вступительный взнос, если он есть.
- Занятия. Фиксированное расписание, вместимость каждого занятия, листы ожидания, правила для поздней отмены и неявки.
Маленькой студии йоги или бокса с пакетами занятий нужно совсем другое приложение, чем 24-часовому залу с доступом через турникеты. Стройте под свой случай.
Что нужно приложению
Данные
| Таблица | Ключевые поля |
|---|---|
| Участники | Имя, email, телефон, экстренный контакт, дата подписания отказа, QR-токен, статус |
| Тарифы | Название, цена, период оплаты, включённые занятия (безлимит или число), часы доступа, активен да/нет |
| Абонементы | Участник, тариф, статус (активен, заморожен, просрочен платёж, отменён), дата начала, дата окончания или продления, ID подписки у платёжного провайдера |
| Типы занятий и сессии | Название, тренер, зал, время начала, длительность, вместимость |
| Записи | Сессия, участник, статус (записан, в листе ожидания, отменён, пришёл, не пришёл), дата создания |
| Отметки на входе | Участник, время, место, способ |
| Платежи | Участник, сумма, статус, дата, ссылка у провайдера — копия данных от платёжного провайдера |
Следите, чтобы статус абонемента совпадал с данными платёжного провайдера. Провайдер — источник истины о том, прошёл ли платёж; ваше приложение обновляет свой статус, когда провайдер его уведомляет.
Страницы
- Публичные: тарифы и цены, расписание, процесс вступления (выбрать тариф, создать аккаунт, подписать отказ, оплатить).
- Кабинет участника: мой абонемент, ближайшие записи, запись и отмена занятий, QR-код для отметки, история платежей, запросы на заморозку или отмену.
- Стойка администратора: сканер для отметки, поиск участника, сегодняшние занятия со списками посещаемости.
- Админка персонала: участники, тарифы, расписание, неудачные платежи, отчёты по активным участникам, посещаемости и заполняемости занятий.
Права доступа
Участники видят только свои данные. Тренеры видят списки своих занятий. Администраторы на стойке могут отмечать посетителей и искать участников. Менеджеры управляют тарифами, возвратами и отчётами. Данные о здоровье и травмах, которые собирают при регистрации, чувствительны: собирайте только необходимое и ограничивайте, кто их видит.
Сложные части
Регулярные платежи
Используйте функцию подписок платёжного провайдера, а не собственную систему оплаты. Участник вводит данные карты на защищённой странице провайдера; провайдер списывает деньги каждый период, повторяет неудачные платежи и присылает вашему приложению события через вебхук (платёж прошёл, платёж не прошёл, подписка отменена). Ваше приложение меняет статус абонемента в ответ. Наше руководство о подписках через Stripe описывает это, а оплата в приложении — основы.
Решите, что делать, если платёж не прошёл: частое правило — льготный период в несколько дней, затем статус «просрочен платёж» и отсутствие доступа на вход, пока платёж не исправлен.
Заморозка, смена тарифа и отмена
Заморозка обычно приостанавливает списания и доступ на заданный срок. Смена тарифа в середине месяца поднимает вопрос перерасчёта (оплата за часть периода). Большинство платёжных провайдеров умеют считать перерасчёт автоматически. Отмена с предупреждением означает, что абонемент остаётся активным до будущей даты. Запишите каждое правило и протестируйте его.
Вместимость занятий и листы ожидания
Та же проблема двойной записи, что и в любом приложении для записи: проверяйте вместимость на сервере при сохранении записи, а не только при загрузке страницы. Когда кто-то отменяет запись, предложите место первому в листе ожидания. Решите, за сколько часов до занятия отмена считается поздней, и лишается ли кредита за занятие тот, кто не пришёл.
Отметка на входе и доступ через турникеты
QR-код в кабинете участника, который сканируют на стойке, хорошо работает в клубах с персоналом. Без персонала или в круглосуточных залах доступ обычно обеспечивает оборудование для турникетов, которым управляет собственная система этого оборудования; собственное приложение сможет им управлять только при наличии API. Часто именно это решает вопрос, строить или покупать.
Отказы
Многие клубы просят новых участников подписать отказ от ответственности или заполнить анкету о здоровье. Сохраняйте, кто, какую версию и когда принял. Формулировка — юридический документ: получите её у специалиста, а не у ИИ.
Первый промпт, который работает
Создай приложение для абонементов для Ironside, силового зала в одном филиале. Тарифы: Безлимит на месяц ($60/месяц), Дневной ($40/месяц, по будням с 9:00 до 16:00) и Пакет из 10 занятий ($120, разово). Публичные страницы: тарифы, расписание занятий на неделю и процесс вступления, где человек выбирает тариф, создаёт аккаунт, подписывает отказ и оплачивает через Stripe (подписки для месячных тарифов). У участников есть кабинет со статусом абонемента, QR-кодом для отметки, записью на занятия с лимитом мест и листом ожидания, а также кнопкой запроса на заморозку. Персонал на стойке входит в страницу-сканер, которая проверяет QR-код, показывает, активен ли абонемент (и попадает ли время в дневные часы для тарифа «Дневной»), и записывает отметку. Менеджеры видят участников, неудачные платежи, посещаемость и заполняемость занятий. Статус абонемента обновляется по вебхукам Stripe. Всё храни в базе данных. Строгий и простой дизайн; для участников — приоритет телефонам, для стойки — планшетам.
Пошаговая сборка
- Тарифы, расписание и аккаунты участников.
- Запись на занятия с проверкой вместимости на сервере и листом ожидания.
- Оплата в тестовом режиме: сначала разовые пакеты занятий, потом подписки и вебхуки.
- Правила статуса абонемента: активен, просрочен платёж, заморожен, отменён, и что каждый статус разрешает.
- Сканер на входе, который соблюдает эти правила.
- Виды для персонала и менеджеров с ролями.
- Принятие отказа с версией и временной меткой.
- Проверьте денежные сценарии: неудачный платёж, обновление карты, заморозка, смена тарифа, отмена с предупреждением, возврат.
- Импорт существующих участников аккуратно; действующие подписки на карты обычно переносит миграция провайдера оплаты, а не ваше приложение.
Частые ошибки
- Доверие собственному флагу «оплачено» вместо событий платёжного провайдера.
- Проверка вместимости занятия только в браузере.
- Нет льготного периода при неудачных платежах: участников не пускают на вход, потому что карта истекла вчера.
- Хранение данных карт. Пусть их хранит платёжный провайдер.
- Сбор подробной медицинской информации, которая не нужна, и её видимость всему персоналу.
- Обещание доступа через турникеты до того, как вы убедились, что ваше приложение может управлять оборудованием.
Когда лучше ПО для управления фитнес-клубом
Специализированное ПО для залов и студий уже решает оплату, заморозку, запись на занятия, отметку на входе, интеграцию с турникетами, фирменное приложение для участников и отчёты. Для большинства залов, особенно с турникетами или несколькими филиалами, это более разумный выбор. Сравните несколько вариантов по нужным функциям и по тому, как они отпускают клиентов: проверьте, можно ли выгрузить участников и подписки на оплату.
Строить своё решение стоит, если у вас небольшая студия с простыми правилами, а ПО обходится дороже, чем оно того стоит, если ваша модель не вписывается в готовые решения (например, гибрид из тренировок, программ и занятий) или если вы создаёте ПО для залов как бизнес. Если вы ведёте клиентов, а не управляете помещением, см. как начать бизнес персонального тренера, а для платного онлайн-контента — как создать сайт с подпиской.
Как это сделать в Mythex
В Mythex вы описываете приложение для зала в чате и проверяете его в живом превью при размерах телефона и планшета. Агент добавляет отдельную базу данных Postgres, когда нужно сохранять участников и записи (или введите /database). Mythex не включает встроенный вход и платежи для ваших приложений: вы подключаете собственный аккаунт Stripe и ключи, которые хранятся как секреты проекта (рецепт Stripe), а вход участников реализуете собственным способом. Вебхуки Stripe требуют опубликованного URL, поэтому публикуйте приложение до сквозного тестирования. На тарифе Pro Mythex также может упаковать приложение в Android- и iPhone-приложение для внутреннего тестирования в Google Play и TestFlight.
За стартовым дизайном можно обратиться к шаблону сайт студии йоги с профилями тренеров и редакционной версткой.
Вопросы
Что нужно приложению для абонементов фитнес-клуба?
Учётные записи участников, тарифы с регулярной оплатой, расписание занятий с записью и лимитом мест, отметку на входе и кабинет персонала с участниками, платежами и посещаемостью. Заморозка, пакеты занятий и отказы обычно добавляются следом.
Как фитнес-клубу принимать регулярные платежи?
Через функцию подписок платёжного провайдера, например Stripe Billing: участник сохраняет карту, а провайдер списывает оплату каждый период, повторяет неудачные платежи и уведомляет ваше приложение. Номера карт никогда не храните сами.
Как участники отмечаются на входе?
Чаще всего показом QR-кода из личного кабинета, который сканирует персонал или планшет на входе. Приложение проверяет, активен ли абонемент, и записывает визит.
Стоит ли строить ПО для клуба или купить готовое?
Большинству клубов лучше подходит существующее ПО для управления фитнес-клубом: оно решает оплату, оборудование контроля доступа и приложения. Строить имеет смысл для нестандартных моделей, маленьких студий с простыми задачами или если вы хотите продавать такое ПО другим клубам.