Session-Based Enrollment System for In-Person Education (Tutor LMS Extension)
A NYC-based music school offers both online courses and in-person classes with scheduled sessions, limited capacity, and varying start dates.
The Problem
The business needed to support in-person classes with:
- Specific start dates and schedules
- Limited seat capacity per session
- Multiple sessions per course (e.g., March, April, May cohorts)
However, Tutor LMS only supports a single product per course, with:
- No concept of multiple sessions or cohorts
- No built-in capacity management
- No way to associate a purchase with a specific scheduled instance of a course
This created several challenges:
- Manual workarounds for tracking enrollments
- Risk of overbooking or data inconsistencies
- Inability to scale in-person offerings efficiently
- Fragmented user experience during checkout
The Solution
I developed a custom plugin that introduces a session layer on top of Tutor LMS, enabling full support for scheduled, capacity-based enrollments.
Session Data Model
- Created a custom system to define:
- Session dates and labels (e.g., “March 2026”)
- Capacity limits per session
- Relationships between sessions and parent courses
Enrollment Logic
- Built logic to:
- Associate each purchase with a specific session
- Track enrollment counts in real time
- Prevent overbooking by enforcing capacity limits
Checkout Integration
- Integrated session selection directly into the course purchase flow
- Ensured the selected session is:
- Stored with the order
- Passed through to analytics and backend systems
Custom Database Layer
- Implemented a dedicated database structure to store:
- Session enrollments
- Enrollment status (pending, active, etc.)
- Ensured data integrity across edge cases (e.g., abandoned checkouts, retries)
Admin & Operational Tools
- Enabled internal teams to:
- View enrollment counts per session
- Manage capacity and availability
- Maintain accurate records without manual reconciliation
Results
- Enabled SoundCollective to scale in-person course offerings with structured, reliable enrollment management
- Eliminated manual processes and reduced risk of overbooking and data errors
- Improved the checkout experience by allowing users to select specific sessions
- Created a flexible system to support dynamic pricing and future enhancements
- Established a foundation for integrating in-person and online offerings within a single platform