Описание проекта
Сердце проекта — расписание. Система должна хранить устройство бассейна: дорожки и временные окна, и позволять ставить занятия на эту сетку так, чтобы никогда не возникало двойного бронирования дорожки или тренера. Каждое занятие относится к уровню и возрастной группе, имеет вместимость и повторяется еженедельно на весь сезон. Когда мы открываем набор, семьи видят только те занятия, которые подходят их ребёнку и где ещё есть места. Нужны повторяющиеся уроки и лист ожидания: когда группа заполняется, следующий желающий встаёт в очередь автоматически и первым получает освободившееся место. Посещаемость отмечается по каждому занятию, а у каждого пловца есть карточка навыков, которую тренер обновляет: освоенные стили, пройденные дистанции, перевод на следующий уровень при выполнении критериев.
Оплаты должны быть привязаны к записи, а не жить отдельно. Нам нужны варианты за одно занятие, помесячно и за полный курс, видимый баланс, напоминания до срока оплаты и понятный отчёт, кто оплатил текущий месяц. Опишите, пожалуйста, предлагаемый стек, как вы устроите проверку конфликтов по дорожкам и тренерам, и реальные сроки. Что мы ждём в работе:
— каталог уровней и занятий с вместимостью и правилами по возрасту;
— планирование дорожек и тренеров с защитой от накладок;
— самостоятельная запись, повторяющиеся уроки и лист ожидания;
— отметка посещаемости и прогресс навыков по каждому пловцу;
— платежи, балансы и напоминания о сроках оплаты.