Class Scheduling & Enrollment
Create class types, schedule classes, and manage student enrollment
1. Overview
DojoMaster's class scheduling system provides a flexible, powerful way to organize your training programs. The system uses a two-tier approach: Class Types define categories of classes (like "Beginner Karate" or "Advanced Sparring"), while individual Classes represent specific scheduled sessions with instructors, times, and enrolled students.
Key Concepts
- Class Types: Templates that define the category, requirements, and default settings for classes (e.g., "Beginner Karate", "Teen Sparring")
- Classes: Specific scheduled sessions based on a class type, with assigned instructors, day/time, and enrolled students
- Enrollment: The process of registering students for classes, with automatic validation of age and belt requirements
- Stripe Award Model: Configuration that determines how stripes are awarded (automatically on attendance or manually by assessment)
- Recurring Classes: Classes that repeat on multiple days each week (e.g., Monday/Wednesday/Friday)
2. Prerequisites
Before creating classes, ensure you have:
- ✓OWNER or admin SENSEI role (required to create classes)
- ✓Belt system configured if you plan to set minimum belt rank requirements (see Belt System Configuration Guide)
- ✓Instructors added to your club with SENSEI or SEMPAI roles (see User Roles Guide)
- ✓Understanding of your class structure: What types of classes you offer, their schedules, and requirements
Recommended Workflow
Start by creating Class Types for each category of training you offer (Beginner, Intermediate, Advanced, Sparring, etc.). Then create individual Classes based on those types with specific schedules and instructors. Finally, enroll students in the appropriate classes.
3. Creating Class Types
Class Types serve as templates for your classes. They define the category, visual appearance, and default requirements.
How to Create a Class Type
- 1.Navigate to Settings → "Class Types"
- 2.Click "Add Class Type" or "New Class Type"
- 3.Complete the class type form with the following information
Class Type Fields
Name: Descriptive name for the class type (2-50 characters) - e.g., "Beginner Karate", "Advanced Sparring", "Teen Jiu-Jitsu"
Description: Optional detailed description (max 500 characters) explaining what the class covers
Color: Hex color code for visual identification (e.g., #3B82F6 for blue, #EF4444 for red) - defaults to #3B82F6
Icon: Optional emoji or icon (max 10 characters) - e.g., 🥋, 🥊, ⚔️
Age Group: Target age group - JUNIOR (under 13), TEEN (13-17), ADULT (18-59), SENIOR (60+), or ALL (all ages)
Minimum Belt Rank: Optional minimum belt rank required (0-20, where 0 is beginner/white belt)
Default Duration: Optional default class duration in minutes (15-480 minutes, i.e., 15 minutes to 8 hours)
- 4.Click "Save" or "Create Class Type"
Important
Class Types cannot be deleted if they have associated classes. Deactivate unused class types instead to preserve historical data.
4. Creating Classes
Once you have Class Types configured, create individual classes with specific schedules and instructors.
How to Create a Class
- 1.Navigate to Classes from your dashboard
- 2.Click "Add Class" or "New Class"
- 3.Complete the class creation form
Basic Information
Class Name: Specific name for this class (2-100 characters) - e.g., "Monday Morning Beginners", "Advanced Sparring - Evening"
Class Type: Select from your configured class types (required)
Description: Optional additional details about this specific class (max 500 characters)
Custom Color: Optional color override (hex format) - if not specified, uses the class type's color
Schedule Configuration
DojoMaster supports both single-day and recurring multi-day classes:
Single-Day Classes
Classes that occur on one specific day of the week
- • Day of Week: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, or SUNDAY
- • Start Time: HH:MM format (24-hour) - e.g., 09:00, 18:30
- • End Time: HH:MM format (24-hour) - must be after start time
Recurring Multi-Day Classes
Classes that repeat on multiple days each week (e.g., Monday/Wednesday/Friday)
- • Check "Recurring Class" option
- • Select multiple days of the week
- • Set start and end times (same for all selected days)
Instructor Assignment
Instructors: Select one or more instructors (users with SENSEI or SEMPAI role) - at least one instructor is required
Enrollment Requirements
Maximum Students: Optional capacity limit (1-100 students) - leave empty for unlimited enrollment
Minimum Belt Rank: Optional minimum belt rank (0-20) - students below this rank cannot enroll
Age Group: Optional age restriction - JUNIOR, TEEN, ADULT, SENIOR, or ALL
Stripe Award Model
Choose how stripes (progress markers between belt ranks) are awarded in this class:
AUTOMATIC_CLASS_BASED (Default)
Stripes are automatically awarded based on class attendance. Students earn stripes by consistently attending classes.
✓ Best for: Regular training classes where attendance demonstrates progress
MANUAL_ASSESSMENT_BASED
Instructors manually award stripes based on skill assessment and performance. Provides more control over student progression.
✓ Best for: Advanced classes, specialized training, or when skill mastery is required
- 4.Review all settings and click "Create Class" or "Save"
5. Managing Class Enrollment
Once classes are created, you can enroll students and manage the class roster.
Enrolling Students in a Class
- 1.Navigate to Classes and select the class
- 2.Click "Enroll Student" or "Add Student"
- 3.Select a student from the dropdown (only eligible students are shown)
- 4.Click "Enroll" to confirm
Automatic Eligibility Validation
DojoMaster automatically validates student eligibility based on:
- • Age Group: Student's age must match the class age group requirement
- • Belt Rank: Student's current belt rank must meet or exceed the minimum requirement
- • Capacity: Class must have available spots (if max students is set)
- • Active Status: Student must be active in the club
Ineligible students won't appear in the enrollment dropdown.
Removing Students from a Class
- 1.Navigate to the class and view the roster
- 2.Find the student you want to remove
- 3.Click "Remove" or the remove icon (🗑️)
- 4.Confirm the removal
Important
Removing a student from a class sets the enrollment's droppedAt timestamp and marks it as inactive. Historical attendance records are preserved for reporting purposes.
6. Viewing and Managing the Class Roster
The class roster shows all currently enrolled students and provides quick access to student information.
Roster Information
For each enrolled student, you can view:
- •Student Name: Full name with avatar (if available)
- •Student Number: Unique identifier for the student
- •Current Belt Rank: Student's current belt level
- •Enrollment Date: When the student joined the class
- •Attendance Rate: Percentage of classes attended (if available)
Quick Actions from Roster
- •Click a student's name to view their full profile
- •Use the remove button to unenroll a student
- •View current enrollment count vs. maximum capacity
7. Editing and Deactivating Classes
Editing a Class
- 1.Navigate to Classes and select the class to edit
- 2.Click "Edit" or "Edit Class"
- 3.Modify any field (name, schedule, instructors, requirements, stripe award model)
- 4.Click "Save Changes"
Tip
When changing enrollment requirements (age group or minimum belt rank), existing enrolled students are not automatically removed. Review the roster after making changes to ensure all students still meet the requirements.
Deactivating a Class
Instead of deleting classes (which would lose historical data), deactivate them:
- 1.Navigate to the class you want to deactivate
- 2.Click "Edit" or access class settings
- 3.Toggle the "Active" status to OFF or uncheck "Is Active"
- 4.Save the changes
Deactivated classes:
- •No longer appear in active class lists
- •Cannot accept new enrollments
- •Preserve all historical attendance and enrollment data
- •Can be reactivated at any time
8. Understanding Recurring Classes
Recurring classes allow you to schedule a single class that meets on multiple days each week, simplifying management for classes that follow a regular pattern.
When to Use Recurring Classes
✓ Use Recurring Classes For:
- • Classes that meet on the same schedule multiple days per week (e.g., Mon/Wed/Fri at 6:00 PM)
- • Classes with the same instructor(s) across all days
- • Classes where students are enrolled for all sessions
- • Simplified roster management (one enrollment covers all days)
✗ Use Separate Classes For:
- • Classes with different instructors on different days
- • Classes with different content or focus on different days
- • Classes where students can attend only specific days
- • Classes with different time slots on different days
How Recurring Classes Work
- •Single Enrollment: Students enroll once and are automatically enrolled for all selected days
- •Unified Roster: One class roster applies to all days
- •Attendance Tracking: Attendance is tracked separately for each day's session
- •Same Schedule: All selected days use the same start and end times
9. Capacity Management
Setting capacity limits helps you maintain optimal class sizes and ensure quality instruction.
Setting Maximum Students
When creating or editing a class, you can set a maximum number of students (1-100). This limit:
- •Prevents enrollment once the limit is reached
- •Displays current enrollment count vs. capacity (e.g., "15/20 students")
- •Shows "Full" status when capacity is reached
- •Can be adjusted at any time (even after enrollment begins)
Best Practice
Consider your training space size, instructor-to-student ratio, and equipment availability when setting capacity limits. A good rule of thumb is 1 instructor per 10-15 students for beginner classes, and 1 per 8-12 for advanced classes.
Unlimited Capacity
Leave the "Maximum Students" field empty or set to null for unlimited enrollment. This is useful for:
- •Large group classes with flexible space
- •Online or virtual classes
- •Open training sessions
10. Common Pitfalls and Troubleshooting
❌ Problem: Can't create a class
Possible Causes:
- • You don't have OWNER or admin SENSEI role
- • No class types have been created yet
- • No instructors (SENSEI/SEMPAI) are available in your club
- • Invalid time format (must be HH:MM in 24-hour format)
- • End time is before or equal to start time
✓ Solution: Verify your role, create class types first, ensure instructors are added, and check time format (e.g., 09:00, 18:30).
❌ Problem: Student doesn't appear in enrollment dropdown
Possible Causes:
- • Student is already enrolled in the class
- • Student's age doesn't match the class age group requirement
- • Student's belt rank is below the minimum requirement
- • Class is at maximum capacity
- • Student is inactive or archived
✓ Solution: Check the student's profile (age, belt rank, active status) and verify class requirements. Consider adjusting class requirements if appropriate.
❌ Problem: Can't delete a class type
Possible Causes:
- • The class type has associated classes (active or inactive)
- • Database constraint prevents deletion to preserve data integrity
✓ Solution: Deactivate the class type instead of deleting it. This preserves historical data while hiding it from active use.
❌ Problem: Stripe award model not working as expected
Possible Causes:
- • AUTOMATIC_CLASS_BASED requires attendance tracking to be enabled
- • MANUAL_ASSESSMENT_BASED requires instructors to manually award stripes
- • Stripe system not configured for the belt system
✓ Solution: Verify stripe system configuration in Settings. For automatic awards, ensure attendance is being tracked. For manual awards, instructors must use the stripe award interface.
❌ Problem: Recurring class not showing all days
Possible Causes:
- • Recurring pattern not properly saved
- • Calendar view filtering by specific day
- • Class was created as single-day instead of recurring
✓ Solution: Edit the class and verify the "Recurring Class" option is checked and all desired days are selected. Check calendar filters.
11. Related Features
Class scheduling works together with other DojoMaster features:
Attendance Tracking
Track student attendance for each class session
Stripe/Theme System
Configure how stripes are awarded in classes
Student Enrollment
Learn how to add and manage students
Belt System Configuration
Set up belt ranks for class requirements
Staff & Instructor Management
Manage instructors who teach classes
Kiosk Mode
Enable student self-check-in for classes
12. Next Steps
Now that you understand class scheduling and enrollment:
- 1.Create class types: Define categories for all your training programs (Beginner, Intermediate, Advanced, Sparring, etc.)
- 2.Schedule classes: Create individual classes with specific days, times, and instructors
- 3.Enroll students: Add students to appropriate classes based on their age and belt rank
- 4.Configure stripe awards: Choose automatic or manual stripe award models for each class
- 5.Start tracking attendance: Use the attendance tracking system to monitor student participation
- 6.Review and adjust: Regularly review class rosters, capacity, and requirements to optimize your program
