DASHBOARD
—
UPCOMING MATCHES
TOP PLAYERS
TEAM STANDINGS
YOUR SEASON
🔥 Streaks & Records
🎯 Personal Bests
🏅 Achievements
0 / 0MY PROFILE
Personal information & preferences
Edit Profile
Season Snapshot
Lifetime Stats
All SeasonsAwards & Achievements
💰 Payment History
MY STATS
ACHIEVEMENTS
🏅 Achievements
0 / 0MATCH HISTORY
TEAM HUB
STANDINGS
Teams & players, ranked
TEAM STANDINGS
PLAYER STANDINGS
LEADERBOARDS
Multiple categories
LEAGUE SCHEDULE
—
TEAM PROFILES
Rosters & Stats
PLAYER PROFILE
—
Season Snapshot
Lifetime Stats
All SeasonsAwards & Achievements
SCOREKEEPER
Opens in a dedicated app — results sync back here automatically
Launch Scorecard App
Results are saved automatically and will appear here in Match History once submitted.
Latest Submission
—MATCH HISTORY
Submitted results from Scorekeeper
LEAGUE CONFIG
Admin only · System settings
League Settings
Email Preview
TEST SENDUpload a designed HTML email and send it to yourself, to see how it really renders in an inbox before it goes anywhere near the league. It can only be delivered to your own address (—) — the recipient is decided on the server, so there's no way to aim a half-finished template at everyone by mistake.
Email the League
GOES TO EVERYONESends a designed HTML email to every active player who has an address on file. This can't be recalled once sent, so check the recipient list first — and it's worth sending yourself a preview above before using this.
Active Season
SCHEDULE MANAGER
Admin · Generate & edit match schedule
Auto-Generate Schedule
🎱 Pegasus · 3 TablesEach week's 3 matches are automatically split across Pegasus's 3 tables, one match per table. Weeks are spaced 7 days apart starting from Start Date.
Social & Special Nights
not league nightsNights with no league matches (a social, banquet, etc.). They appear on the schedule and dashboard but never count as a league night — no reminders, spare availability or scorecard matchups.
USER MANAGEMENT
Admin · Manage access & roles
ANNOUNCEMENTS
League news, polls, and updates — react and comment below
LEAGUE CHAT
One room for the whole league — say hey, talk trash, coordinate practice
DATA MIGRATION
Admin · Import & export CSV data
EXPORT
Players & Season Stats
CSV
Exports every player's current-season stats, previous-season stats, lifetime totals, team, role, and spare status.
Stat columns are tagged with the actual season id (e.g. season-24_gp), so this always reflects whichever season is active. Compatible with the Import Players format below.
<current_season>_gp, _gw, _gl, _pf, _pa, _mp, _mvp,
<previous_season>_gp, _gw, _gl, _pf, _pa, _mvp,
lt_gp, lt_gw, lt_pf
Match Results
CSVExports all locked match results stored in this session (submitted via the Scorekeeper). Includes team scores, individual matchup results, MVPs, and scorekeepers.
homeMatchWins, awayMatchWins,
homeTotalPts, awayTotalPts, homeGameWins, awayGameWins,
mvpHomeTeam, mvpAwayTeam, homeSK, awaySK,
feesCollected, feesTotal, submittedAt
Individual Matchups
CSVOne row per individual player contest within each match, including the score of every individual game played (where recorded). Useful for building per-player game logs in a database.
homePlayer, awayPlayer,
homeGW, awayGW, homePts, awayPts,
game1Winner, game1HomePts, game1AwayPts,
game2Winner, game2HomePts, game2AwayPts, …
Match Fee Payments
CSVOne row per player slot per match, with who paid, whether they were present or a sub, and paid status. Useful for reconciling the treasury after match nights.
team, slot, payer, isPresent, isSub, subType, paid
Full League Backup
ALLDownloads Players, Match Results, Matchups, and Payments as separate CSV files. Use before any major data change or season rollover.
IMPORT
Import Players
Upload a players CSV (matching the export format above) to add new players or update existing ones.
Rows are matched by id. Missing ids create new players; existing ids update in place.
Import Match Results
Upload a match results CSV to restore historical results into Match History.
Rows are matched by id — duplicates are skipped automatically.
Import Season History
CSV
Upload one completed season's file (e.g. vpl-s21-import.csv) to load its final standings,
team totals and roster. This only adds history — current team assignments, lifetime
totals and every other season are left untouched, and re-running the same file just refreshes that
season's numbers. Players who have since left the league are created as archived records, so they still
appear in the seasons they played without showing up in today's rosters or standings.
MIGRATION LOG
Recent Actions
MANUAL MATCH ENTRY
Admin · Enter scores if the Scorecard app failed
OVERRIDE SCORE
Admin · Edit past match results
AUDIT LOG
Superadmin · Every privileged action taken across the league, permanently recorded
FEEDBACK
Share thoughts about the league · suggestions, ideas, anything
📝 Submit Feedback
Tell the league exec what's on your mind. Specific, actionable, ranty — all welcome.
💡 Quick Pulse
How's the season treating you? One tap, no message required.
YOUR SUBMISSIONS
FEEDBACK INBOX
Admin · Review and respond to player feedback
SEASON REGISTRATIONS
Admin · Sign-ups from the public registration page
Public sign-up page
—PAYMENTS
Admin · Every fee across the league — season sign-ups and match nights
Revenue Report
Cash actually collected, split into registration fees, advance (prepaid) match fees and regular match fees paid at the table. Match fees covered by an advance balance are not counted again — the cash was counted when the advance was paid.
Prepaid Match Fees
Record an advance payment for a player's match fees. The Scorekeeper automatically marks them Paid at check-in for as long as their balance covers that season's match fee — no cash or e-transfer needed week to week.
LIVE MATCH OVERRIDE
Superadmin · Correct attendance, matchups or scores on a match in progress. Both scorekeepers are told, resync, and carry on from the corrected position.
EMAIL TEMPLATES
Admin · Edit the wording of the emails the portal sends. The preview is exactly what recipients get.
SPARE ALLOCATION
Admin · Every spare's availability, captain requests, and manual placement for each league night
MATCHUPS
SPARES
CAPTAIN REQUESTS
BADGE AWARDS
Admin · Hand out badges that can't be worked out from match results, like winning a Killer Pool game or placing in a tournament