• Mahmoud Aglan's avatar
    feat(sports): implement full sports module enhancement (Phases 0-10) · b6b61bdb
    Mahmoud Aglan authored
    - Phase 0: Schema — training attendance, makeup sessions, institutions tables + sport_type on disciplines
    - Phase 1: Player lifecycle — pause/resume months, medical grace enforcement with auto-suspend cron
    - Phase 2: Medical grace integration — grace deadline on enrollment, extend grace endpoint
    - Phase 3: Training attendance — group-session-based system (separate from booking-based sa_attendance)
    - Phase 4: Make-up sessions — create from absence, schedule, complete, auto-expire cron
    - Phase 5: Institution management — full CRUD with booking linkage and contract tracking
    - Phase 6: Subscription renewal — medical verification flag on auto-generated subscriptions
    - Phase 7: Treasury auto-sync — already existed via SaEventListenerService (verified)
    - Phase 8: Recreational differentiation — sport_type enum on disciplines (training/recreational)
    - Phase 9: Dashboard — added medical grace expiry + makeup session alerts
    - Phase 10: Schedule copy — copy between groups, shift times, program-wide schedule propagation
    Co-Authored-By: 's avatarClaude Opus 4.6 <noreply@anthropic.com>
    b6b61bdb
MakeupSessionService.php 7.05 KB