Implement a subscription-based enrollment system for activities that run on a semester/term basis with automatic expiry and renewal tracking. The current system has indefinite signups, no enrollment periods, and no automatic expiry/renewal. Proposed features include semester-based, annual, monthly, and custom duration subscription plans.
## Feature Description Implement a subscription-based enrollment system for activities that run on semester/term basis with automatic expiry and renewal tracking. ## Current State - Activity signups are indefinite (no end date) - No concept of enrollment periods - No automatic expiry or renewal ## Proposed Features ### Subscription Plans - **Semester-based**: Fall, Spring, Summer terms - **Annual**: Full school year subscription - **Monthly**: Rolling monthly enrollment - **Custom Duration**: Flexible start/end dates ### Enrollment Periods Each activity can have: - Start date - End date - Enrollment deadline - Renewal period - Maximum duration ### Subscription Lifecycle 1. **Active Subscription** - Student enrolled and period hasn't expired - Full access to activity 2. **Expiring Soon** - Within 7-14 days of expiration - Show warning to student - Send renewal reminders 3. **Expired** - Past end date - Student removed from activity - Can re-enroll for nex