How Schedules Are Created

The Magic Behind Your Schedules

Welcome to the heart of The Club Schedule – our sophisticated automated scheduling engine. This is not just a digital calendar or a simple rotation system. What you’re about to learn represents months of careful development, countless iterations, and deep collaboration with Toastmasters leaders to solve one of the most persistent challenges clubs face: creating fair, balanced, and effective meeting schedules.

Our scheduling algorithm considers dozens of variables simultaneously – member availability, role eligibility, experience levels, rotation fairness, major role restrictions, speaker-evaluator pairing, and much more – all working together to create schedules that would take a human administrator hours to perfect. We’ve automated the tedious work while preserving the flexibility for clubs to customize and adjust as needed.

This is the defining feature that sets The Club Schedule apart. While other tools offer basic scheduling or simple rotations, we’ve built an intelligent system that understands the nuances of how successful Toastmasters meetings actually work.

Please note: This help documentation is currently being updated to reflect recent enhancements to the scheduling system. While the core concepts remain accurate, some specific details may be refined in the coming weeks.

Quick Summary

When you click “Generate New Schedule,” the system:

  1. Checks if you already have enough upcoming meetings
  2. Creates or extends schedules based on your club’s settings
  3. Calculates meeting dates using your configured meeting interval and day
  4. Assigns members to roles automatically using a fair rotation algorithm
  5. Preserves existing assignments when building on published schedules

Schedule Creation Process

Step 1: Check for Existing Future Meetings

Before creating anything new, the system looks at your existing schedules (both draft and published) to see if you already have enough upcoming meetings scheduled.

What “enough meetings” means:

  • Your club settings determine how many meetings should be in each schedule (2, 4, or 6 meetings)
  • The system counts meetings that haven’t happened yet (future meetings)
  • If you already have the required number of future meetings, no new schedule is created

Example:
Your club is set to generate 4 meetings per schedule. You have a published schedule with 3 future meetings. The system will create a new schedule with those 3 meetings plus 1 additional meeting (total: 4 meetings).

Step 2: Determine Schedule Creation Strategy

The system follows different strategies depending on your situation:

Strategy A: Extend Existing Draft Schedule

When this happens: You have a draft schedule with some future meetings, but not enough

What the system does:

  • Adds new meetings to your existing draft schedule
  • Calculates new meeting dates starting after the last meeting in the draft
  • Updates the schedule name to reflect the new date range
  • Runs the assignment algorithm only for the newly added meetings

Why this is helpful: Preserves any manual adjustments you made to existing assignments

Strategy B: Create New Draft from Published Schedule

When this happens: Your most recent published schedule has some future meetings, but not enough

What the system does:

  • Creates a brand new draft schedule
  • Copies the remaining future meetings from the published schedule
  • Adds additional new meetings to reach your target count
  • Copies all existing assignments from the old meetings (preserves member assignments and their status)
  • Runs the assignment algorithm only for the newly added meetings

Why this is helpful: Members who already confirmed their roles don’t lose their assignments

Strategy C: Create Completely New Schedule

When this happens: You have no existing schedules, OR all your existing schedules have passed (no future meetings)

What the system does:

  • Creates a fresh schedule starting from today (or after your last meeting date)
  • Calculates all meeting dates from scratch
  • Runs the assignment algorithm for all meetings

Step 3: Calculate Meeting Dates

The system calculates meeting dates based on your club’s configuration:

SettingDescriptionHow Dates Are Calculated
WeeklyMeets every week on the same dayFinds the next occurrence of your meeting day (e.g., next Thursday), then adds 1 week repeatedly
MonthlyMeets once per month on a specific weekFinds the 1st/2nd/3rd/4th occurrence of your meeting day each month
Bi-weeklyMeets twice per month on specific weeksCombines two week patterns (e.g., 1st and 3rd Thursday of each month)
CustomUses manually entered datesUses the specific dates entered by your administrator (up to 6 dates)

Step 4: Automatically Assign Members to Roles

Once meetings are created, the system automatically assigns members to roles using a sophisticated algorithm designed to be fair and balanced.

Note: A new scheduling algorithm is in the works. It’s expected to be deployed in mid-December, 2025.

Roles are assigned in this specific order to ensure the most important roles are filled first:

  1. Speakers (assigned to least experienced members first)
  2. Toastmaster (major role)
  3. Evaluators (assigned to most experienced members, matched to speakers)
  4. General Evaluator (major role)
  5. Table Topics Master (major role)
  6. Remaining roles (Timer, Grammarian, Ah-Counter, etc.)

How the Algorithm Chooses Members

For each role assignment, the system follows these rules in order:

1. Basic Eligibility Filters

A member is NOT eligible if they:

  • Are already assigned to another role in the same meeting (unless the role allows concurrent assignments)
  • Have marked themselves absent for that date
  • Have been administratively opted out of that specific role by a club admin
  • Have a membership expiration date that has passed before the meeting date
2. Role Prerequisites

If a role has prerequisites (e.g., “Must complete 3 speeches before being an Evaluator”):

  • Members must have completed the required number of the prerequisite role
  • Exception: Members with “Eligible for All Roles” override bypass prerequisite checks
  • Members without sufficient completions are skipped
3. Major Role Gap Restrictions

For major roles (Toastmaster, General Evaluator, Table Topics Master):

  • The system checks when the member last performed any major role
  • Members must wait a minimum number of weeks between major roles (configured by club admin)
  • This gap requirement applies to everyone, even members with “Eligible for All Roles” override
  • The system checks both historical role completions AND assignments within the current schedule

Example:
Your club requires 2 weeks between major roles. John was Toastmaster on January 9.
❌ John is NOT eligible for General Evaluator on January 16 (only 1 week gap)
✅ John IS eligible for General Evaluator on January 23 (2+ week gap)

4. President-Only Roles

Some roles (like Presiding Officer) can only be filled by club presidents:

  • Only members marked as “President” are eligible
  • All other members are automatically filtered out
5. Fair Rotation Selection

Once eligible members are identified, the system selects based on fairness:

Highest Priority: Members who have never performed this specific role

  • These members are always selected first
  • Ensures everyone gets experience with new roles

Next Priority: Members who haven’t done this role in the longest time

  • The system calculates how many days since each member last did this role
  • It checks BOTH historical completions AND assignments in the current schedule
  • The member with the longest gap is selected
6. Placeholder Assignments

If no eligible members are found:

  • The system creates a “placeholder” assignment with no member assigned
  • The assignment appears as “No Eligible Member Found” in the schedule
  • Club administrators can manually assign someone later

Step 5: Preserve Existing Assignments

When creating a new draft schedule from a published schedule, the system carefully preserves member assignments:

What Gets Copied

  • Member assignments (who was assigned to which role)
  • Assignment status (pending, accepted, or rejected)
  • Assignment numbers (for roles with multiple slots, like Speaker #1, Speaker #2)

Why This Matters

  • Members who already accepted their roles don’t need to reconfirm
  • Avoids confusion and duplicate notifications
  • Maintains schedule continuity across the transition from published to draft

Schedule Status Workflow

Schedules move through three status levels:

Draft Status

  • Purpose: Allows review and manual adjustments before members see it
  • Who can see it: Only club administrators
  • What you can do: Edit assignments, add/remove meetings, delete the schedule
  • Can be extended: Yes – the system can add more meetings if needed

Published Status

  • Purpose: Makes the schedule visible to all club members
  • Who can see it: All club members
  • What you can do: Members can accept/decline assignments, admins can still make changes
  • Can be extended: No – once published, new meetings require a new draft schedule

Archived Status

  • Purpose: Historical record of past schedules
  • Who can see it: Club administrators (members see it in history)
  • What you can do: View only – no modifications allowed
  • When to use: After all meetings have passed and the schedule is no longer active

Special Features and Behaviors

Within-Schedule Awareness

The assignment algorithm is “aware” of assignments within the same schedule:

  • When checking rotation fairness, it considers assignments earlier in the current schedule
  • Prevents members from being assigned the same role too frequently within one schedule
  • Example: If John did Timer on meeting 1 of the schedule, he won’t get Timer again on meeting 2 (unless no one else is eligible)

Member Override: “Eligible for All Roles”

Club administrators can mark specific members with “Eligible for All Roles” status:

  • Bypasses: Role prerequisite requirements, absence restrictions, membership expiration
  • Does NOT bypass: Major role gaps, president-only restrictions, role opt-outs, concurrent assignment limits
  • Use case: Experienced members who can fill any role when needed

Role Opt-Outs (Admin Setting)

Administrators can prevent specific members from being assigned to specific roles:

  • This is different from a member marking themselves absent
  • Used for permanent preferences or restrictions (e.g., “Sarah should never be assigned as Speaker”)
  • Applies to all members, including those with “Eligible for All Roles” override

Concurrent Role Assignments

Some roles allow members to perform multiple roles in the same meeting:

  • Example: A member could be both Timer and Grammarian
  • Only allowed when the role is configured with “Allow Concurrent Assignments”
  • Used as a backup option when no other eligible members are available

Configuration Settings That Affect Schedule Creation

Club administrators control schedule creation behavior through these settings:

SettingLocationImpact on Schedules
Meetings to GenerateSchedule OptionsDetermines how many meetings are created (2, 4, or 6)
Meeting IntervalSchedule OptionsControls how meeting dates are calculated (weekly, monthly, etc.)
Meeting DaySchedule OptionsWhich day of the week meetings occur
Custom DatesSchedule OptionsSpecific dates when using “Custom” interval
Major Role Gap WeeksSchedule OptionsMinimum weeks between major role assignments
TimezoneSchedule OptionsEnsures dates/times are calculated correctly for your location

Frequently Asked Questions

Q: Why wasn’t a new schedule created when I clicked “Generate New Schedule”?

A: You already have enough future meetings. The system only creates schedules when your existing schedules have fewer upcoming meetings than your “meetings to generate” setting.

Q: Why does the schedule show “No Eligible Member Found” for some roles?

A: No active members met all the eligibility criteria for that role (prerequisites, major role gaps, absences, opt-outs). A club administrator needs to manually assign someone or review member settings.

Q: Why did some assignments carry over from my published schedule?

A: When you still have future meetings in a published schedule, the system preserves those assignments in the new draft schedule to avoid disrupting members who already confirmed their roles.

Q: Can I change meeting dates after a schedule is created?

A: Yes, administrators can edit meeting dates in draft schedules. However, you cannot edit dates in published schedules without unpublishing them first.

Q: How does the system handle holidays or special events?

A: The automatic calculation doesn’t skip holidays. After generating a schedule, administrators should review the dates and mark specific meetings as “Holiday Event” or “No Meeting” as needed.

Q: Why is the same person assigned to multiple major roles?

A: Check your club’s “Major Role Gap Weeks” setting. If it’s set to 0 or 1 week, and you don’t have enough members, the system may assign the same person to multiple major roles across different meetings. Increase the gap setting to spread major roles more evenly.

Tips for Best Results

  1. Review draft schedules carefully before publishing – the algorithm is smart, but manual review ensures quality
  2. Keep member absence dates up to date – accurate absence tracking leads to better assignments
  3. Configure role prerequisites appropriately – ensures members are ready for advanced roles
  4. Set major role gaps based on your club size – larger clubs can have bigger gaps for better rotation
  5. Use “Eligible for All Roles” sparingly – reserve it for experienced members who truly can fill any gap
  6. Publish schedules well in advance – gives members time to accept/decline and plan accordingly
  7. Archive old schedules regularly – keeps your schedule list clean and focused on current/upcoming schedules