← Back to Home

Multi-League Scheduler

Complete User Manual — Everything you need to create professional, fair schedules.

1. Getting Started

Multi-League Scheduler is a web application for creating, managing, and sharing sports league schedules. It works entirely in your browser — no software to install.

Guest Mode

You can try all features instantly without creating an account. In guest mode:

Tip: Guest mode is great for evaluating the app. When you're ready, create an account to save your data to the cloud and access it from any device.

Creating an Account

Click Register on the landing page. Enter your email and password, accept the terms, and verify your email. Once logged in, your leagues sync automatically across all your devices.

2. Leagues

A league is the core container for your schedule. Each league has its own teams, arenas, referees, settings, and fixtures.

Creating a League

Click the + New League button in the sidebar. Give your league a name (e.g., "Sunday Football", "U-14 Basketball"). Each league gets a unique color for easy identification in the calendar.

Switching Between Leagues

All your leagues appear in the left sidebar. Click any league name to switch to it. The main area updates to show that league's data.

Duplicating a League

Need a similar setup for a new season or division? Use the Duplicate option in the sidebar to clone a league with all its teams, arenas, referees, and settings. Fixtures are not copied — you generate fresh ones. (Pro)

League Limits by Plan
PlanMax Leagues
Free1
Starter2
Club8
ProUnlimited

3. Teams

Adding Teams

Go to the Teams tab. Type a team name and press Enter or click Add. Each team can have:

Rename a team by clicking the edit icon. Delete a team with the trash icon.

Bulk Import

Have a long list of teams? Click Import to paste names (one per line) or upload a CSV/TXT file. All teams are added at once. (Club+)

Team Preferences

Expand a team's row to reveal preference settings. These influence the scheduling algorithm: (Pro)

4. Arenas

Go to the Arenas tab to add your venues. You need at least one arena before generating fixtures.

Operating Hours

Each arena can have per-day operating hours (e.g., Monday 08:00–22:00). The scheduler will never place a game that would start before opening or end after closing time.

If an arena is closed on a certain day, simply leave that day without hours — the scheduler will skip it.

5. Referees

The Referees tab lets you manage your officials. (Pro)

6. League Settings

The Settings tab lets you configure how your league operates. These settings directly control the scheduling algorithm.

Allowed Days

Select which days of the week games can be scheduled. For example, a weekend-only league would select Saturday and Sunday. If no days are selected, all 7 days are allowed.

Blackout Dates

Add date ranges when no games should be scheduled — holidays, school breaks, venue closures, etc. You can add multiple blackout periods. (Starter+)

Constraints & Options

SettingDescription
League NameIdentifies the league in the sidebar and exports
Start TimeDefault game kick-off time (e.g., 18:00)
Game DurationMinutes per game (15–300). Used for overlap detection
Season Start / EndDate range the season runs. Fixtures are generated within these dates
Max Games Per DayMaximum number of games on any single day (1–50)
Max Games Per Week Per TeamPrevents a team from being over-scheduled in a single week
Avoid Back-to-BackIf enabled, no team plays on consecutive days
Double Round-RobinEach pair plays twice (home and away). Return legs are spaced for maximum gap (Club+)

7. Fixtures

Generating Fixtures

Go to the Fixtures tab and click Generate. The algorithm creates a complete round-robin schedule that respects all your settings, preferences, and constraints.

Requirements: You need at least 2 teams and 1 arena to generate fixtures.

Each generated fixture includes: date, time, home team, away team, venue, and (if referees are configured) referee assignments.

You can regenerate at any time — each generation produces a fresh schedule. Click Clear to remove all fixtures.

Quality Score

After generating fixtures, a Quality Bar appears showing fairness metrics:

MetricWhat It MeasuresWeight
Home/AwayHow evenly each team's home and away games are balanced35%
RestHow fairly rest days are distributed between teams35%
Ref DiversityHow evenly referees are spread across different teams30%
OverallWeighted average of all three metrics

Scores are color-coded: green (80%+) means excellent, amber means acceptable, red means review needed.

Tip: If the score is lower than expected, try regenerating. Each generation uses randomized optimization, so results may vary slightly.

Editing a Game

Click the edit icon on any fixture row to open the Game Editor. You can change:

Game Status

Each game has a status indicator:

Filtering Fixtures

Use the dropdown filters above the fixtures table to narrow by: (Club+)

Printing Fixtures

Click the Print button in the Fixtures header to open a clean, print-ready view of your schedule in a new browser window. The print view uses a white background and black text regardless of your theme. It supports multiple pages automatically — the browser print dialog handles page breaks. After printing, the window closes itself.

8. Conflict Detection

The conflict engine runs automatically and alerts you to scheduling problems. A red badge on the Fixtures tab shows the number of active conflicts. (Club+)

Within a League

The system detects 10 types of conflicts:

ConflictDescription
Team Double-BookingA team appears in two games at the same time
Venue Double-BookingAn arena is scheduled for two games at the same time
Referee Double-BookingA referee is assigned to two overlapping games
Blackout Date ViolationA game is placed on a blackout date
Allowed Days ViolationA game is scheduled on a non-allowed day
Team Blocked DayA game is on a day the team has blocked
Arena UnavailableA game is outside the arena's operating hours
Home Arena MismatchA home game is not at the team's designated home arena
Max Games Per WeekA team has too many games in one week
Back-to-Back GamesA team plays on consecutive days (when avoidance is enabled)

Conflicted games are highlighted with a red left border in the fixtures table.

Cross-League Conflicts

If you manage multiple leagues that share arenas or referees, the system detects conflicts across all your leagues. For example, if Arena A is booked for League 1 and League 2 at the same time, both will show a conflict. Arenas and referees are matched by name across leagues, so a shared physical venue is correctly detected even when it has different internal IDs.

Smart scheduling: When you generate fixtures for a league, the scheduler automatically checks all other leagues' existing fixtures and tries to avoid placing games in already-occupied arenas and assigning already-busy referees. If no conflict-free option exists, the scheduler still completes the schedule and shows a warning — no games are ever dropped.

9. Calendar

The Calendar tab provides visual schedule views. Games from all your leagues appear together, color-coded by league.

Month View

A traditional calendar grid showing games as colored cards on each day. Days with conflicts show a warning indicator. Blackout dates are greyed out. Click a day to switch to Day view.

Day View

Shows all games for a single day, sorted by time. Each game card displays the teams, venue, time, status, and which league it belongs to.

Year View

A compact overview of all 12 months. Dots indicate days with games; red dots indicate conflicts. Click any month to zoom in.

Drag & Drop Rescheduling

In Month view, drag a game card from one day to another to reschedule it instantly. The conflict engine re-checks the schedule in real-time. (Club+)

10. Seasons

The Seasons tab lets you archive completed seasons and start fresh. (Club+)

Archived seasons show the game count and the date they were archived. You can archive as many seasons as you like.

11. Team Schedule

The Team tab gives you a dedicated per-team view of the season schedule. This is useful for printing a schedule sheet for a specific team or manager.

Using the Team Schedule View

  1. Go to the Team tab
  2. Select a team from the dropdown
  3. The schedule table appears immediately, showing all that team's games sorted by date

Each row shows:

A stats bar above the table shows the team's Total, Home, Away, and Played counts at a glance.

Printing a Team Schedule

With a team selected, click the Print button next to the dropdown. A clean print window opens with the league name, team name, and full schedule formatted for paper. HOME/AWAY badges are color-coded in print. The window closes itself after printing.

12. Export & Share

PDF Export

Click the PDF button in the Fixtures header to download a professionally formatted PDF document of your schedule. Includes all games sorted by date with team names and venues. (Starter+)

Excel Export

Click the Excel button to download a spreadsheet with all fixture data. The file is fully sortable and filterable in Excel or Google Sheets. (Pro)

Print

Both the Fixtures panel and the Team Schedule tab have a Print button. Clicking it opens a dedicated print window with a clean white layout, no app chrome, and full multi-page support. The window closes automatically after the browser print dialog is dismissed.

Click the Share button to generate a unique public link to your schedule. (Pro)

13. AI Assistant

The AI tab is your built-in assistant that understands your league data. (Pro)

Ask questions in natural language, in any of the supported languages. Examples:

The assistant can analyze your league data (team stats, rest distribution, referee workload) and provide step-by-step how-to guidance for every feature.

14. Plans & Pricing

Feature Free Starter
€29/yr
Club
€89/yr
Pro
€169/yr
Leagues128Unlimited
Teams & Arenas
Fixture Generation
Calendar Views
PDF Export
Game Status Tracking
Blackout Dates
Constraints
Conflict Detection
Drag & Drop Calendar
Double Round-Robin
Team Logos
Bulk Import
Filters
Season Archive
Referees & Workload
Team Preferences
Excel Export
AI Assistant
Share Links
Duplicate & New Season

All plans are billed annually. Payments are processed by Paddle. You can cancel anytime — access continues until the end of your billing period.

Upgrading Your Plan

You can upgrade from Free to a paid plan, or from a lower paid plan to a higher one, at any time from the Pricing page.

Example: If you are on the Starter plan (€29/yr) and upgrade to Club (€89/yr) halfway through the year, you pay approximately €30 — the prorated difference for the remaining 6 months.

Managing Billing & Cancelling

Paid subscribers can manage their subscription through the Paddle billing portal:

  1. Log in and go to Profile (top-right menu)
  2. In the Plan section, click Manage Billing
  3. The Paddle portal opens in a new tab where you can:
After cancelling, your access continues until the end of your current billing period. You will receive a cancellation confirmation email.

Deleting Your Account

To permanently delete your account and all your data:

  1. Log in and go to Profile
  2. Scroll to the bottom and click Delete my account
  3. Enter your password to confirm
  4. Click Confirm Delete
Warning: Account deletion is permanent and cannot be undone. All your leagues, fixtures, teams, arenas, and data will be deleted immediately. If you have an active paid subscription, it will be cancelled automatically.

15. Data & Sync

16. Languages

The app is available in 8 languages:

English, Greek, Russian, French, Spanish, German, Italian, Portuguese

Switch language from the language selector on the landing page or within the app. The AI assistant also understands questions in all supported languages.

17. The Scheduling Algorithm

Multi-League Scheduler uses a professional-grade scheduling engine with techniques used at the highest levels of sports organization. Here is what makes our algorithm stand out:

1. Circle-Method Round-Robin

The classic circle method generates perfectly balanced rounds where every team plays every other team exactly once (or twice in double round-robin). One team stays fixed while the others rotate — guaranteeing mathematical fairness.

2. Home/Away Balancing

The algorithm alternates home and away assignments to ensure no team plays more than two consecutive home or away games. Over the season, each team's home and away count stays as close to 50/50 as mathematically possible.

3. Rest Fairness

The scheduler tracks cumulative rest days per team and uses a scoring function when selecting dates. It actively avoids giving one team long rest periods while another plays on tight turnaround. The result is equalized rest gaps across all teams.

4. Carry-Over Balancing

A technique used by UEFA: carry-over occurs when Team A's opponent in round N becomes Team B's opponent in round N+1, transferring fatigue or momentum effects. The algorithm tests up to 300 random permutations of round order and selects the arrangement with the lowest carry-over score.

5. Referee-Team Diversity

When assigning referees, the algorithm maintains an exposure matrix tracking how often each referee has officiated each team. New assignments are weighted 10× toward diversity, ensuring no referee sees the same team excessively. Workload balancing (1× weight) ensures roughly equal game counts.

6. Arena Sharing Awareness

When multiple teams share a venue, the algorithm applies a penalty for scheduling too many different home teams at the same arena on the same day. This spreads venue usage more evenly and reduces logistical pressure on shared facilities.

7. Return Leg Spacing

In double round-robin mode, the return rounds are reversed so that round 1's rematch becomes the last game of the return phase. This maximizes the time gap between a match and its rematch — just like professional leagues do.

8. Smart Constraint Handling

The algorithm respects all your configured constraints simultaneously: allowed days, blackout dates, arena operating hours, team blocked days, priority levels, max games per week, and back-to-back avoidance. It finds the best schedule that satisfies everything.

9. Even Season Distribution

The algorithm pre-calculates evenly spaced target dates for each round across the full season. Instead of packing rounds into the earliest available dates, it spreads them proportionally from start to end — typically using 95% of the season window. This prevents fixture clustering in the first few weeks and ensures every day of the week gets games throughout the season.

10. Cross-League Soft Avoidance

When generating fixtures for a league, the scheduler reads all other leagues' existing fixtures and applies a strong penalty to arenas and referees that are already occupied at the same date and time. It always finds a free alternative first; only if none exists does it fall back to the conflicting slot (and shows a warning). This makes it practical to run multiple leagues sharing the same venues and officials with minimal manual intervention.

How It Compares
FeatureBasic GeneratorsMulti-League Scheduler
Pairing methodRandom or simple round-robinCircle-method with carry-over balancing
Home/Away balanceCoin-flip or alternatingOptimized with streak prevention
Rest fairnessNot consideredCumulative rest tracking & equalization
Referee assignmentManual or basic rotationDiversity-weighted matrix + workload balance
Venue conflictsNot checkedReal-time overlap detection + sharing penalty
Cross-leagueNot supportedMulti-league conflict detection + soft-avoid scheduling
Return leg spacingBack-to-back roundsReversed return rounds for maximum gap
Quality metricsNoneLive fairness scores after generation

18. Frequently Asked Questions

I can't generate fixtures. What's wrong?

You need at least 2 teams and 1 arena. If you have those, check that your season start and end dates are set in Settings.

Can I edit fixtures after generating?

Yes. Click the edit icon on any game to change the date, time, teams, venue, referees, or status. You can also drag games in the calendar.

What happens if I regenerate?

Regenerating replaces all current fixtures with a brand new schedule. If you want to keep the old schedule, archive it as a season first.

Why do some features show a lock icon?

Locked features require a higher plan. The badge next to the feature shows which plan unlocks it (Starter, Club, or Pro). See the Plans & Pricing section.

Is my data safe?

Yes. Data is saved locally in your browser and, if logged in, synced to our secure cloud. Even if you lose internet, your data is preserved locally.

Can other people edit my schedule?

No. Share links are read-only. Only you (the account owner) can edit your leagues and fixtures.

How many teams can I have?

There is no limit on the number of teams per league. The algorithm handles leagues of any size — from 4-team local tournaments to 20+ team professional divisions.

Does it work on mobile?

Yes. The app is fully responsive and works on phones and tablets. You can install it as a Progressive Web App (PWA) for a native app experience.

Can I use it for different sports?

Absolutely. Multi-League Scheduler is sport-agnostic. It works for football, basketball, volleyball, handball, hockey, cricket, tennis leagues, or any sport with round-robin scheduling.

How do I cancel my subscription?

Log in → ProfileManage Billing. This opens the Paddle billing portal where you can cancel, view invoices, and manage your payment details. Access continues until the end of your billing period. See our Refund Policy.

Can I upgrade mid-year?

Yes. You can upgrade at any time from the Pricing page. If you are already on a paid plan, you are only charged the prorated difference for the remaining period — not the full price. See Upgrading Your Plan.

How do I delete my account?

Log in → Profile → scroll to Delete Account. Confirm your password and click Confirm Delete. This permanently removes your account and all data. See Deleting Your Account.


Need help? Use the AI Assistant inside the app, or contact us directly.


© 2025–2026 Multi-League Scheduler. All rights reserved.