What Are Player Reports?
Player Reports are the system's tool for tracking temporary changes to a player's eligibility — suspensions, concussion protocols, inactive periods, age-eligibility holds, and other time-limited restrictions.
The most important thing to understand: Player Reports are a temporary overlay, not a permanent state change. You do not need to manually flip a player's status to Inactive when you create a report, and you do not need to flip it back to Active when the report expires. The system handles all of that automatically based on the report's date range.
Once you file a report, you can stop thinking about it. The system will enforce it during the date range and quietly remove the enforcement when the end date passes.
Creating a Player Report
- Go to Season > Suspensions tab
- Click Add Player Report
- Fill in the form:
- Player — who the report is about
- Status — Suspended, Inactive, Injured, etc.
- Type — Affects only this team, only this division, or all games
- Game Incident Occurred (optional) — leave blank if the report is not tied to a specific game (for example, an age-eligibility hold or a concussion protocol)
- Description — your notes for the record
- Hidden — see Hidden Reports below
- Date Start / Date End — the window during which this report is active
- Click Submit Player Report
That's it. The report is now live for the date range you specified.
How the System Enforces Reports
When a player has an active Suspended or Inactive report for a game's date, the system will:
Prevent Check-In
- On the public check-in page, the check-in button is disabled and displays Blocked
- The admin game page's Present checkbox is disabled with a tooltip explaining why
- If anyone tries to bypass this (e.g., via a direct action), the system returns an error: "Cannot check in: Suspended — [your description]"
Prevent Invitations
- On the matchup page, the Invite button is replaced with a BLOCKED badge
- Bulk team invites automatically skip blocked players
- Automatic pickup invites (auto-emailer) automatically skip blocked players
- Direct invite links are also blocked server-side
Display Status Publicly
- Players with an active report show a SUSPENDED (red) or INACTIVE (yellow) badge on the matchup page and check-in page
- Team managers, captains, and players can all see who is blocked — no more surprises at game time
Smart Game-Date Scoping
Enforcement is always scoped to the game's date, not today's date. This means:
- A player suspended May 10–24 will be BLOCKED for a May 15 game
- The same player will NOT be blocked for a June 1 game, even if you're looking at June 1's matchup page today (May 15)
- You can invite players in advance for games that fall outside their suspension window
You never have to time-slice your planning around suspensions — set up games and invites whenever you want, and the system applies the right rules to each game.
Automatic Expiry — Trust the System
When a report's Date End passes:
- The SUSPENDED / INACTIVE badges disappear on their own
- The check-in button re-enables on its own
- The Invite button reappears on its own
- The player is automatically eligible again
Do not manually change the player's status. The report handles enforcement for its date range only. Once the end date passes, the system stops matching on that report and the player reverts to their normal Active status. The report itself remains in the database as a permanent historical record, but it no longer has any functional effect.
This is a significant workflow improvement: you do not need to come in on weekends to flip a player's status back to Active. The system has already done it.
Expiry Notifications (FYI)
To help you trust the auto-expiry behavior, the system sends two informational notifications:
- Two days before expiry — "Heads up: Jane Doe's Suspended period ends on 2026-04-15. They will automatically become eligible again — no action needed."
- On the expiry day — "Jane Doe is now eligible — their Suspended period ended today (2026-04-15). No action needed, the system has handled it."
These are information-only notifications. They are not action items — they exist to keep you informed and to build confidence that the automation is working.
Notifications are delivered to admins with the "Score Game" or "Manage Admins" capability.
Hidden Reports
Sometimes you need to track something internally without showing it publicly. Examples:
- An age-eligibility reminder ("Turns 15 on Feb 5 — recheck division placement")
- Internal notes about a player's availability
- Any report that should not appear on public rosters
Check the Hidden box on the report form when creating or editing. Then:
| Audience | Behavior |
|---|---|
| Public / logged-out viewers | Report is completely invisible |
| Team managers, captains | Report is completely invisible |
| Logged-in admins | Report is visible with reduced opacity and a Hidden badge |
Important: Hidden Reports Still Enforce Blocking
A Hidden + Suspended or Hidden + Inactive report still blocks check-in and invitations. The Hidden flag controls visual display only — it does not override the eligibility logic. This is intentional: if you have a reason to block a player, the block should work regardless of whether the reason is public.
Where Reports Appear
Admin pages (everything visible, with indicators)
- Season > Suspensions tab — full list of reports for the season, with Hidden badge where applicable
- Player Reports admin list — filterable list across all seasons
- Admin game page — status icons next to each player on the roster; Present checkbox disabled for blocked players
- Matchup page (as admin) — SUSPENDED / INACTIVE badges plus (H) indicator for hidden reports
- Check-in page (as admin) — SUSPENDED / INACTIVE badges plus (H) indicator; check-in button shows "Blocked"
Public pages (non-hidden reports only)
- Public season page — Player Reports section lists non-hidden reports
- Matchup page (as player/team manager) — SUSPENDED / INACTIVE badges on blocked players
- Check-in page (as player) — SUSPENDED / INACTIVE badges on blocked players
Quick Reference: What Each Status Does
| Status | Enforces Blocking? | Shows Publicly? | Typical Use |
|---|---|---|---|
| Active | No | — | Normal eligible player (default) |
| Inactive | Yes | Yes (unless hidden) | Concussion protocol, extended absence |
| Injured | No | Yes (unless hidden) | Informational — player may still play |
| Substitute | No | Yes (unless hidden) | Informational |
| Suspended | Yes | Yes (unless hidden) | Disciplinary action |
Best Practices
- File the report and forget it. Do not also manually set the player's roster status — the report does that job for you for the date range.
- Set accurate end dates. The auto-expiry is based on Date End. If you enter the wrong end date, the report stays active longer or shorter than intended.
- Use Hidden reports for internal notes. Age-eligibility reminders, return-to-play tracking, and anything you don't want parents or players to see — but keep in mind hidden + blocking still enforces.
- Use "Affects all games" type for league-wide suspensions. Use "division" for division-scoped eligibility, and "team" for team-scoped incidents.
- Trust the expiry notifications. When you see the "now eligible" notification, the player is already unblocked everywhere in the system. You don't need to do anything else.
Troubleshooting
Q: The SUSPENDED badge didn't disappear on the expiry date.
Check the report's Date End. If it says today, the badge should be gone for games dated tomorrow and later. Remember enforcement is scoped to the game's date — a game on the final day of the suspension still shows the badge because the date still matches.
Q: A suspended player is still showing as invitable.
Verify the game's date falls inside the report's date range. If the game date is outside the range, this is correct behavior — the report only applies to games within its window.
Q: I want to end a suspension early.
Edit the report and change the Date End to yesterday (or any past date). The player will become eligible immediately.
Q: I want to extend a suspension.
Edit the report and push the Date End further out.
Q: I accidentally manually set a player to Inactive on their roster status — do I need to undo that?
Yes — roster status is separate from Player Reports. If you manually changed a player's roster status, you need to manually change it back. Going forward, use Player Reports instead so the auto-expiry does the work for you.
Comments
0 comments
Please sign in to leave a comment.