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.

Role: Lead developer

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