Support Center

We're here to help you make the most of ScheduleMyClasses

Getting Started

New to ScheduleMyClasses? Learn the basics of setting up your profile and creating your first schedule.

Learn More
Smart Scheduling

Explore AI optimization, scheduling setup, student management, and creating & publishing your schedules.

Learn More
Tuition & Billing

Learn how tuition is auto-calculated, how to send statements to parents, and how to track payments.

Learn More

Frequently Asked Questions

Getting Started

To generate an AI-optimized schedule:

  • Your availability: Days and time ranges when you can teach
  • Student information: Names and contact details
  • Student availability: Each student's available time slots
  • Class requirements: Types of classes, duration, and preferred frequency
  • Teaching locations: Where you conduct lessons (required only if you selected multi-location during signup)

For setup steps, see "How do I create my first optimized schedule?" below.

To create a schedule manually (fewer inputs needed):

  • Student information: Names and contact details
  • Teaching locations: Required only if you selected multi-location during signup

For how-to steps, see "Can I create a schedule manually without running the optimizer?" in the Smart Scheduling section below.

To use Tuition & Billing features:

  • A schedule with an effective date: Either AI-optimized or manually created (see above). The effective date can be set in Schedule Management → Manage Schedules .
  • Your days off (recommended): So tuition calculations automatically exclude days you didn't teach

For details on the tuition workflow and days off, see "How does automatic monthly tuition calculation work?" and "How do I manage time off and days off?" in the Tuition & Billing section below.

  1. Set up your profile: Go to Profile Settings → Weekly Availability to set your weekly availability windows
  2. Add locations: If you teach at multiple locations, add them in Profile Settings → Teaching Locations
  3. (Optional) Set breaks and preferences: If you want to consider breaks, specify them in Profile Settings → Break Requests and corresponding time range in Profile Settings → Break Preferences
  4. (Optional) Set schedule preferences: Specify schedule style preferences in Profile Settings → Schedule Preferences
  5. Add students: Navigate to Student Management and add your students with their contact information
  6. Set student availability: Go to Student Management → Student Availability to set each student's available time slots
  7. Create class requests: Define the classes you want to schedule in Student Management → Class Requests
  8. Generate schedule: Go to Schedule Management → Create Schedule and run the optimization engine

Smart Scheduling

How It Works
Our AI scheduling engine uses the same advanced optimization technology that Fortune 500 companies rely on for their most complex business decisions:
Enterprise-Grade Intelligence:
  • Explores every possible combination: The system evaluates millions of potential schedules to find the absolute best solution for your situation
  • Two powerful algorithms: Uses both Mixed Integer Programming (used by airlines and hospitals) and Google's Constraint Programming technology
  • Smart algorithm selection: Automatically chooses the most powerful approach for your specific scheduling complexity
  • Guaranteed optimal solution: Unlike manual scheduling or simple tools, this finds the mathematically perfect answer every time
What this means for you:
  • Maximum income potential: Higher-priced classes are prioritized when time slots are limited
  • Perfect puzzle solving: Fits all your classes, breaks, and travel time together like pieces of a complex puzzle
  • Everyone's needs considered: Balances your preferences with student availability and scheduling constraints
  • No human error: The computer never forgets a constraint or misses a better combination
  • Lightning fast: Completes in minutes what would take you hours or days to figure out manually

The result: You get the single best possible schedule from all millions of potential arrangements - the same level of optimization that major corporations pay thousands for, designed specifically for independent teachers.

ScheduleMyClasses is specifically designed to boost your teaching income through intelligent optimization:
Income Maximization Strategies:
  • Prioritizes higher-paying classes: When you have more requests than available time, the system automatically schedules your most profitable classes first
  • Eliminates scheduling gaps: Packs classes efficiently to reduce wasted time between lessons
  • Considers your capacity: Ensures you're teaching during your most productive hours while respecting break needs
Real Income Impact:
  • Better time utilization: Instead of random scheduling, every hour is optimized for maximum earning potential
  • Strategic pricing flexibility: Adjust class prices anytime to influence which lessons get priority
  • Retain high-value students: Ensure your best-paying students always get scheduled, improving retention
The optimizer automatically balances multiple preferences to create schedules that work well for both you and your students:
Optional Preference Settings:
  • Schedule pattern preferences: Optionally choose whether you prefer classes clustered together or spread throughout the day
  • Teacher's preferred availability: Optionally set your preferred teaching hours within your available time windows
  • Teacher's break preferences: Add must-scheduled breaks (always included) or optional breaks (scheduled if time allows)
  • Teacher's break time preferences: Optionally specify preferred time slots within your break time ranges
  • Student's preferred time: Add student preferred time slots if students have time preferences beyond their availability
How the System Prioritizes Preferences:

The algorithm tries to satisfy preferences when they don't hurt your income, following this priority order:

  1. Teacher's availability preference: Schedule during your preferred teaching hours first
  2. Schedule style preference: Apply your clustering/spreading preference
  3. Optional breaks: Schedule optional breaks when time slots are available
  4. Must-scheduled breaks at preferred time: Place required breaks at your preferred times
  5. Student's preferred time: Accommodate student time preferences when possible
  6. Optional breaks at preferred time: Schedule optional breaks at preferred times last

Note: All preferences are balanced to maximize your income while maintaining schedule quality and satisfaction for everyone.

ScheduleMyClasses is designed to protect your time and energy — not just maximize your class count. Several settings work together to help you build a schedule that's both productive and sustainable.

Daily Hour Cap (Hard Constraint)

In Profile Settings → Schedule Preferences, set "What's the maximum hours you'll teach per day?" The optimizer treats this as a hard limit — it will never schedule more teaching time than this, regardless of student demand. Use this to protect your energy and avoid burnout.

Preferred Teaching Hours (Soft Constraint)

In Profile Settings → Availability, you can mark certain time windows as preferred. The optimizer will try to schedule classes within these windows first, as long as doing so does not reduce your total teaching income. This lets you protect mornings, evenings, or any block of time that matters to you.

Schedule Style

In Profile Settings → Schedule Preferences, choose "Which schedule style do you prefer?":

  • Clustered: Groups classes together, leaving large uninterrupted blocks of free time on other days — good for teachers who want big blocks of time off.
  • Spreaded: Distributes classes more evenly across available days — good for teachers who prefer a lighter, consistent daily load.
  • No Preference: The optimizer focuses purely on income and constraints without applying a style preference.
Break Scheduling

You can also protect meal times with Break Requests and Break Preferences. See "How does break scheduling work?" below for full details.

ScheduleMyClasses gives you smart, flexible control over your breaks — protecting time for lunch or dinner without sacrificing your teaching income. Breaks are managed through two settings: Break Requests (what to schedule and how strictly) and Break Preferences (when the break can or should be placed).

Step 1 — Break Requests: Must Schedule or Optional?
  • Must Schedule = Yes: The break is always placed in your schedule, even if doing so reduces your teaching income. Use this for breaks you cannot skip.
  • Must Schedule = No: The break is only placed if it does not reduce your teaching income. If no income-safe slot exists, the break is skipped.
Step 2 — Break Preferences: Allowed Window and Preferred Time

Every break needs a defined time range to work within. Configure this in Profile Settings → Break Preferences.

  • Allowed Window (required): The time range within which the break can be placed. The scheduler will never place a break outside this window. A default window is created automatically when you add a break request (Lunch: 12:00–2:00 PM, Dinner: 6:00–8:00 PM). You can edit or replace it anytime in Profile Settings → Break Preferences.
  • Preferred Time (optional): A narrower window within the allowed window that the scheduler tries to use first. It prioritizes this time as long as it does not reduce income — even for must-schedule breaks (if no preferred-time slot is available, the break is still placed anywhere within the allowed window).
Other Notes
  • Supported break types: We currently support Lunch and Dinner breaks, with smart defaults for each. Need a different break type? Let us know — we're tracking demand and plan to expand support based on user feedback.
  • No travel time needed: Breaks do not require additional travel buffer time.
  • Flexible duration: Set custom break lengths in 15-minute increments.
Group classes allow you to teach multiple students together, but they have special scheduling requirements:
Group Class Requirements:
  • All students must be available: Group classes only get scheduled when ALL students in the group are available at the same time
  • Single daily limit per student: Each student can only have one class per day (whether individual or group)
  • Group size flexibility: You can create groups of any size, but larger groups are harder to schedule due to availability conflicts
Benefits & Tips:
  • Higher income per hour: Teaching multiple students at once increases your hourly rate
  • Efficient use of time: One time slot serves multiple students
  • Keep groups small: 2-3 students per group typically schedule more easily than larger groups
  • Flexible individual students: Students with more flexible schedules are easier to group together
Yes! ScheduleMyClasses has robust multi-location support, but it needs to be enabled during your initial account setup:
Initial Setup Required:
  • Choose during signup: Multi-location support must be selected when you first create your account
  • Cannot switch later: This setting affects the underlying optimization algorithms and cannot be changed after account creation
  • Need to switch? Contact our support team at admin@schedulemyclasses.com - we can help migrate your data to a multi-location account
Multi-Location Features:
  • Add multiple venues: Define all your teaching locations in Profile Settings → Teaching Locations
  • Set travel times: Specify travel duration between each location pair
  • Smart scheduling: The AI automatically considers travel time when scheduling consecutive classes

Note: If you're unsure whether you have multi-location enabled, check your Profile Settings page. If you don't see a Teaching Locations card, you'll need to contact support to upgrade.

Student Management
The Batch Import feature lets you add up to 100 students at a time by pasting data from a spreadsheet.
Steps:
  1. Paste your data: Copy student names (and optionally emails, phone numbers, dates of birth) from your spreadsheet and paste them into the corresponding text fields
  2. Preview and validate: The system parses your data, auto-detects name format, and shows a preview table with inline editing
  3. Check for duplicates: Duplicate names are automatically flagged — both within the batch and against your existing student list
  4. Save: Confirm and save to create all student records at once
Details:
  • Only names are required: Email, phone, and date of birth are optional — you can add them later
  • Flexible name format: Supports both "First Last" and "Last, First" formats
  • Edit before saving: Correct any parsing errors directly in the preview table
  • Up to 100 per batch: For larger student lists, run multiple imports
Instead of manually entering each student's availability, you can email students a secure link where they submit their own available time slots.
How It Works:
  1. Customize your template: Edit the email subject and body using placeholders like {{ student_name }}
  2. Choose recipients: Send to all students, or only students who haven't submitted availability yet
  3. Students receive a secure link: Each student gets a unique, personalized link — no login or account needed
  4. Students submit availability: They fill in their available days and time slots through a simple, focused form
  5. Track submissions: Monitor who has submitted via status indicators (Ready / Sent / Accessed)
Important Details:
  • Links expire after 30 days: For security, each link is valid for 30 days from the date sent
  • No student account needed: Students access the form through their secure link without creating a login
  • Only active students with email: The system only sends to active students who have an email address on file
  • Resend anytime: You can resend emails to students who haven't responded yet
Creating & Editing
You can modify your schedule in Schedule Management → Edit Schedule in several ways:
  • Drag and drop: Click and drag classes to different time slots in the calendar view, or between unscheduled requests and calendar
  • Edit individual events: Double-click any class to modify its details, duration, or students
  • Delete classes: Remove classes that are no longer needed
  • Add new classes: Manually add classes that weren’t in the original optimization
  • Save changes: Remember to save your schedule with a custom name to preserve edits
Yes! You can build a schedule entirely by hand using the interactive calendar in Schedule Management → Create Schedule.
Minimum Requirements:
  • Active students: At least one active student in your student list
  • Location: At least one teaching location (required only if you selected multi-location during setup)
How It Works:
  • Click to add: Click any open time slot, select a student from the dropdown, enter the required details (such as class rate), and the class will be added instantly.
  • Drag and drop: Move classes between time slots by dragging them
  • Save when ready: Give your schedule a custom name and save it for future reference

Tip: Manual scheduling requires fewer inputs and is a great way to explore the calendar and tuition features, but it does not optimize your schedule. Filling some optional information will further enhance your experience. For example, if you add teacher availability, the calendar will automatically adjust to your working hours. With student availability enabled, the system will also check for conflicts and alert you when a selected time falls outside a student’s available hours.

The optimizer works to schedule as many classes as possible, but some may not fit due to various constraints. Here are the main reasons:
Too Many Requests for Available Time:
  • Lower class prices: Higher-priced classes were scheduled first, using up available time slots
  • Daily teaching hour limit reached: You’ve hit your maximum teaching hours per day (set in Profile Settings → Schedule Preferences)
  • Required breaks take space: Mandatory breaks reduced available time for classes
Impossible to Schedule Due to Conflicts:
  • No overlapping availability: Your availability doesn’t match with student availability
  • Group students conflict: Not all students in a group class share common available times
  • Student already has class: Students can only have one class per day
  • Travel time too short: Not enough time to travel between locations for consecutive classes
Solutions:
  • Expand student availability: Ask students to provide more flexible available time slots
  • Expand teacher availability: Add more available time slots in your weekly schedule
  • Increase daily teaching hours: Raise your maximum teaching hours per day limit in Profile Settings → Schedule Preferences
  • Adjust break requirements: Make some mandatory breaks optional to free up time slots
  • Review group compositions: Consider splitting large groups
Note: You can also manually add the classes as you see fit, which may not satisfy all availability constraints, as the optimizer has already considered every possibility within the given requirements.
If schedule generation is taking longer than expected, the most common cause is overly broad student availability. Here's what to check:
  • Use real student availability: The scheduler evaluates every possible combination of time slots across all students. When students are marked as available for most or all of the week, the number of possible schedules grows dramatically — making it much harder for the optimizer to find the best arrangement. Make sure each student's availability reflects their actual constraints rather than leaving large open windows. Narrower, realistic availability leads to significantly faster results.
  • Still running slow? Contact us at admin@schedulemyclasses.com and we'll help diagnose your specific setup.
Managing & Publishing
ScheduleMyClasses supports multiple effective schedules with different effective dates, which is essential when your teaching schedule changes mid-semester.
How Effective Dates Work:
  • Set an effective date: In Schedule Management → Manage Schedules, assign an "effective from" date to a selected schedule — this is when that schedule becomes active, and it remains active until the next schedule's effective date
  • Multiple schedules coexist: For example, "Fall Schedule" effective Sep 1 and "Holiday Schedule" effective Dec 15 can both exist
  • Automatic transitions: The system automatically uses the correct schedule based on the date — no manual switching needed
Why This Matters:
  • Tuition auto-splits: If your schedule changes mid-month, tuition calculations automatically pro-rate using the correct schedule for each portion of the month
  • Historical accuracy: Past schedules are preserved, so tuition for prior months always calculates correctly
  • Easy semester transitions: Create your new semester schedule ahead of time and set the future effective date

Example: If "Schedule A" is effective Aug 10 and "Schedule B" starts Sep 20, September tuition will use Schedule A for Sep 1–19 and Schedule B for Sep 20–30.

The Schedule Management → Publish Schedules page is your hub for distributing schedules. You can export schedules to your personal calendar, email personalized schedule summaries to students, and track delivery status.
Export to Calendar (.ics):
  1. Select a schedule: Choose which schedule to export from the dropdown
  2. Set date range: Enter the "Weekly repeating from" and "to" dates — the exported events will repeat weekly within this range
  3. Include breaks (optional): Check this option if you want break periods included in the export
  4. Export: Click "Export to Calendar" — the system emails you an .ics file you can import into Google Calendar, Outlook, or Apple Calendar
Email Schedules to Students:
  1. Customize your template: Click "Edit Email Template" to personalize the subject and body using placeholders like {{ student_name }}, {{ effective_from }}, and {{ schedule_summary }}
  2. Send individually or in bulk: Click "Send" next to a specific student, or use "Send to All" to email every student with a valid email address
  3. Track delivery: Each student’s status shows as "Ready" (not yet sent) or "Sent" (with timestamp), so you always know who has received their schedule
What Students Receive:
  • Personalized summary: Each student sees only their own classes — day, time, and class name (plus location if applicable)
  • Effective date: The email includes when the schedule takes effect, so students know exactly when to expect changes
  • No login required: Students simply read the email — no account or sign-in needed

Tuition & Billing

ScheduleMyClasses uses a schedule-based flat monthly tuition model — the same approach used by the majority of established independent teachers and music studios.

How it works:
  • Tuition is calculated from the number of scheduled classes in a given month, not actual attendance
  • If you cancel a class (e.g. a personal day off), that class is automatically excluded from the tuition calculation
  • If a student misses a class, the scheduled slot still counts — consistent with standard independent teaching practice
Why this model?

From conversations with many teachers we talked to, the vast majority charge a flat monthly rate regardless of student attendance. It provides predictable income for teachers and clear expectations for families.

Other billing models:

We know some teachers use alternative models like pre-paid class packages or pay-per-attendance billing. These are not currently supported, but we're actively listening to user feedback. If your studio uses a different billing model, let us know — enough demand will move it up our roadmap.

The Tuition Management → Monthly Tuition Detail page automatically calculates each student's monthly tuition based on your published schedule.
Workflow:
  1. Select a month: Choose any month to view tuition calculations
  2. Review draft: The system automatically calculates tuition from your effective schedule — showing each student's classes, frequency, rate, and total
  3. Save: Persist the calculations to the database so they're stored for future reference
  4. Edit if needed: Adjust class counts, rates, or apply discounts for individual students using inline editing
  5. Finalize: Lock the month's tuition to prevent further edits and enable sending tuition statements
Smart Calculation Features:
  • Days off excluded: Full and partial days off are automatically subtracted from class counts
  • Schedule changes handled: If your schedule changed mid-month (different effective dates), tuition automatically pro-rates across both schedules
  • Per-class breakdown: Each class request generates its own line item (class type, count, rate, discount, subtotal)
  • Unfinalize if needed: Made a mistake after finalizing? You can unfinalize to re-open the month for edits
The Calendar Management → Days Off Plan page lets you manage your time off with an interactive calendar interface.
Types of Time Off:
  • Full day off: Mark entire days as unavailable — perfect for vacations, personal days, or holidays (e.g., "Off Sep 1–5")
  • Partial day off: Block specific hours on certain days — ideal for appointments or recurring commitments (e.g., "2:00–4:00 PM on Nov 2–4")
Features:
  • Click to add: Click any date on the calendar to quickly create a day off entry
  • Multi-day ranges: Set start and end dates for extended time off periods
  • US holiday reference: National holidays are displayed as background markers on the calendar for planning context (these are non-editable reference markers)
  • Optional notes: Add a reason or description to each time off entry for your records
  • Tuition impact: Days off are automatically excluded from monthly tuition calculations, so you're never billing for days you didn't teach
Once you've finalized a month's tuition, you can email professional tuition statements to students (or their parents) through Tuition Management → Statement Delivery & Payment.
Steps:
  1. Finalize the month: Tuition must be finalized before statements can be sent
  2. Customize your email: Edit the email template with your preferred subject and message
  3. Send statements: Select students and send — each receives a personalized email with a secure link to view their statement
  4. Track delivery: Monitor email status for each student (Sent / Viewed)
  5. Record payments: Mark tuition as paid directly from the tracking page
What Students See:
  • No login required: Students click a secure link to view their statement — no account needed
  • Clear breakdown: Class type, number of sessions, rate per class, any discounts, and total amount due
  • Payment status: Students can see whether their tuition is marked as paid or unpaid
  • Links expire after 30 days: For security, statement links are valid for 30 days
Contact Us

Still have questions? We're here to help you optimize your teaching schedule.


Getting Started Steps
Set your availability windows
Add student information and availability
Create class requests with prices
Run your first optimization
Save and review your schedule