Skip to content

Admin App Walkthrough: League Oversight, Alerts & Conflict Resolution ​

This SOP explains how Athletic Directors (ADs) and League Administrators monitor the league dashboard, read the app's alerts, and resolve the two most common institutional conflicts: a missing or disputed score and a double-booked facility. It is the Admin companion to the Phase 1 Coaches Portal guide (Matchday Operations: Score Entry & Submitter Flags).

Source of Truth: This guide is verified against the AppSheet Application Documentation V7 (Format Rules, ConflictStatus engine) and the live Supabase edge functions (auditscores, reschedule, facilities).


1. How To Unlock The Admin App Using Email + PIN ​

  • Access School URL: Open your school-specific portal URL provided in your welcome email (e.g., https://bisal.athleticos.net/portal/?school=your-school-ID).
  • Enter Credentials: Type in the email address registered with the league and your designated 6-digit PIN.
  • Role Check: The system reads the SchoolRole on your account. Admin features unlock only for the admin and director (AD) roles. Coaches see the Coaches Portal view only.
  • Delegating Admin Access: ADs can delegate Admin privileges to trusted staff. Delegated users sign in with their own email and PIN.
  • Support Contact: If you do not have your PIN or login email, contact Tony or support@athleticos.net with your full name and school name to request a credential reset.

2. Admin Dashboard Overview ​

Default View: Upon unlocking the app, you land on the Admin Dashboard. It is the control center for everything that needs a human decision.

Permission Scope ​

  • Director / Admin: Can run a Local audit (your school's teams) or a Global audit (every fixture in the league), and can manage your own school's facilities.
  • Coach: Can run a Local audit for their own school but cannot manage facilities or run Global audits.
  • School Boundary: You cannot audit, reschedule, or modify facilities for another school. The system rejects the request with an authorization error.

Dashboard Areas ​

  • Fixtures & Match Status: Every match with its status (see Section 3).
  • Conflict Status Column: The audit result for each match (see Section 4).
  • Team Registration: Each team's RegistrationStatus (Pending, Approved, Withdrawn, Inactive). Approval lives at the team level, not on the fixture.
  • Facilities: Your venues, operating hours, and blackout dates (see Section 7).

Running The Audit ​

  1. Open the Admin Dashboard and run the Score Audit.
  2. Choose the scope: Local (your school) or Global (entire league, Admin/Director only).
  3. The system re-evaluates every match in scope and refreshes the Conflict Status column.
  4. A confirmation reads Audit complete. Processed X match records.

3. Understanding The Match Status Lifecycle ​

Admins see the same statuses coaches use, plus the verification states created by the coach-to-coach score loop.

  • Scheduled: Default. Match is confirmed for its date and time.
  • In-Progress: Match is underway. No scores are due yet.
  • Pending Verification: One coach has logged scores and the opposing coach has not yet confirmed. Public standings are not updated.
  • Completed / Verified: Both coaches agreed. Standings and public feeds update automatically.
  • Disputed: The opposing coach pressed Dispute Score. Public publication is halted and the match is routed to League Administration (you).
  • Postponed: The match is being moved. A reschedule proposal is in flight (see Section 6).
  • Cancelled: Permanently called off. No score required.
  • Forfeited: A team conceded. The result is assigned per league rules and bypasses the verification loop.

4. Visual Language: Conflict Status, Colors & Icons ​

Every match carries a Conflict Status value. It is calculated natively by the app's ConflictStatus column, and the Score Audit refreshes it. Any value other than ✅ Clear or Awaiting Opponent Sign-off is treated as a conflict and is formatted as shown in the Format Rules below. Awaiting Opponent Sign-off is a routine pending state, not a conflict, and has its own format.

Conflict Status Values ​

Conflict Status TextTriggered WhenWhat It Means For You
✅ ClearNo conflict of any kind is detectedNo admin action needed.
Double BookedOverlapping games at the same venue push the combined V_Resource_Weight above 100Admin action required. Follow Section 7.
Venue BlackoutThe match date falls inside a School_Availability blackoutAdmin action required. Follow Section 7.
Active Dispute LoggedMatch status is DisputedAdmin action required. Follow Section 5.
Awaiting Opponent Sign-offMatch status is Pending VerificationRoutine pending state. Waiting on the opposing coach. Nudge them if it lingers past matchday.

Note: ✅ Clear is the literal text stored in the Conflict Status field, so it appears exactly as written in the data. Every other visual cue in the app uses the FontAwesome icons below.

Format Rules: Match Rows ​

These rules control how a match row looks on the Admin Dashboard. Icons are FontAwesome icons.

Match StateText ColorText StyleHighlightIcon
Conflict (Double Booked, Venue Blackout, or Active Dispute Logged)RedStandardRed highlightfa-alarm-exclamation
Awaiting Opponent Sign-offOrangeStandardNonefa-clock
In-ProgressGreenBold, UnderlinedNonefa-play-circle
CompletedGray (minorText)ItalicNonefa-clipboard-check
PostponedOrangeStandardNonefa-exclamation-triangle
CancelledRedStrikethroughNonefa-bell-slash
  • Red text with a red highlight is reserved for conflicts. If you see it, the row needs an admin decision.
  • Red strikethrough text (no highlight) means a match was cancelled. It is not a conflict.
  • Orange text with fa-clock means a score is logged and the match is waiting on the opposing coach's sign-off. No admin action is needed unless it lingers past matchday.
  • Orange text with fa-exclamation-triangle means a match is postponed and waiting on a reschedule agreement.
  • Gray italic text means a match is finished. Nothing is required.

Format Rules: Roster Eligibility ​

EligibilityText ColorIcon
EligibleGreenfa-badge-check
Too OldRedfa-engine-warning

Map Pins ​

Facility and school locations are plotted by conference.

ConferencePin Color
North ConferenceGreen (#52c920)
South ConferenceRed

Status Banners (Carried Over From The Coaches Portal) ​

  • Orange/Brown banner: SCORES LOGGED. WAITING ON OPPONENT VERIFICATION means the match is in Pending Verification.
  • Prompt banner: OPPONENT LOGGED SCORES. VERIFY ACCURACY BELOW. is what the opposing coach sees. You only see it when acting as that team.

5. Conflict Resolution Workflow: Missing Or Disputed Scores ​

An AD handles two score problems: a score the opposing coach disputed, and a score that was never submitted.

Scenario A: Disputed Score ​

What you see: Match status Disputed and Conflict Status Active Dispute Logged. The row displays as a conflict (red text, red highlight, fa-alarm-exclamation).

  1. Open The Match: Find it on the Dashboard (filter Status = Disputed) and open the record.
  2. Check The Submitter: Review the Score_Submitter field to see who logged the original score (for example Home or Admin).
  3. Gather Evidence: Contact both coaches. Compare the submitted score with scoresheets, referee reports, or photos.
  4. Enter The Official Score: Enter the agreed Home and Away scores in the match record.
  5. Close The Match: Set the status to Completed.
  6. Run A Local Audit: Re-run the audit so Conflict Status refreshes to ✅ Clear.
  7. Confirm Standings: Check that standings and the public feed updated.

Scenario B: Missing Score ​

What you see: A match whose date has passed but is still Scheduled or In-Progress with no scores logged. Stale In-Progress matches stand out in green bold underlined text with the fa-play-circle icon. A missing score does not change the Conflict Status, so you find these matches by filtering the Dashboard.

  1. Filter The Dashboard: Status = Scheduled or In-Progress and Date earlier than today.
  2. Contact The Home Coach First: Ask them to submit the score. The Coaches Portal then routes verification to the opponent.
  3. If A Coach Cannot Submit: Enter the score yourself from the match record.
  4. If The Match Was Not Played: Choose the correct status instead of entering a score:
    • Postponed if it will be made up (go to Section 6).
    • Cancelled if it will not be played. No score is required.
    • Forfeited if a team conceded.
  5. Save And Audit: Save the record and run a Local audit to confirm the row is ✅ Clear.

6. Conflict Resolution Workflow: Rescheduling A Match ​

Rescheduling uses a two-party agreement ledger. A new date only takes effect when both sides accept the same proposal.

  • Propose A New Slot: A proposal records the proposed date and time, notes the proposer's side (Home or Away), and sets the match to Postponed. Older alternate slots are wiped.
  • Up To Three Slots: The ledger holds proposals 1 to 3. Each has its own status showing who has accepted it.
  • Accept: The first acceptance records that side and waits for the counterpart. When the other side accepts the same slot, the match Date and Time update, the status returns to Scheduled, and all proposals are cleared.
  • Decline: Declining wipes all proposals so a fresh one can be made.
  • Admin Scope: Admins and ADs can propose and vote on behalf of their own school. You cannot vote for the opposing school.

Time Changes vs. Postponements ​

  • Same-Day Time Change: Update the time in the edit modal. The status stays Scheduled.
  • Different Day: Changing the date sets the status to Postponed to alert the league and the opposing team.

7. Conflict Resolution Workflow: Double-Booked Or Unavailable Facilities ​

How The System Detects Facility Conflicts ​

The ConflictStatus column detects facility conflicts automatically. No manual check is needed to raise the flag.

Conflict StatusTriggerWhat You See
Double BookedOverlapping games at the same venue have a combined V_Resource_Weight above 100Red text, red highlight, fa-alarm-exclamation
Venue BlackoutThe match date falls inside a School_Availability blackoutRed text, red highlight, fa-alarm-exclamation

How Facilities Are Modeled ​

  • Stand-Alone Venue: A single court or pitch with a resource weight of 100.
  • Parent Complex With Sub-Courts: A parent venue (weight 100) split into numbered courts, for example Main Sports Hall (Court 1). Each court gets an equal share of the weight (100 divided by the number of courts). An optional Main court can be added as a full-court overlay.
  • Why This Matters: Sub-courts share a parent, so overlapping games add up their V_Resource_Weight. Two full-court games (100 + 100) or a full-court game plus any sub-court game will exceed 100 and flag as Double Booked. Two half-court games (50 + 50) total exactly 100 and do not flag.
  • Default Operating Hours: Weekdays 4:00 PM to 7:30 PM. Weekends 8:00 AM to 5:00 PM.
  • Status: Each venue is Active or Inactive.

Resolving A Double Booked Flag ​

  1. Find The Flag: Filter the Dashboard by Conflict Status = Double Booked. Each flagged row shows red text, a red highlight, and the fa-alarm-exclamation icon.
  2. Identify The Collision: Note the matches that overlap, the venue, and the time window.
  3. Decide Which Match Moves: Apply league priority rules and contact both coaches.
  4. Edit The Fixture: Resolve double-bookings by editing the disputed Fixture to assign a new VenueID, Date, or Time. Open the losing match's record and change one or more of those fields.
    • New VenueID: Use the Venue Dropdown (pre-filtered to your school's registered facilities).
    • New Time (same day): The match status stays Scheduled.
    • New Date: The match goes to Postponed (orange text, fa-exclamation-triangle), as described in Section 6.
  5. Save: Save the fixture.
  6. Verify: Run a Local audit and confirm the Conflict Status returns to ✅ Clear and the red highlight is gone.

Resolving A Venue Blackout Flag ​

  1. Find The Flag: Filter the Dashboard by Conflict Status = Venue Blackout.
  2. Check The Blackout: Open the school's availability entries and note the blackout dates and reason.
  3. Option A: Move The Match. Use the reschedule flow in Section 6 to pick a date outside the blackout, or move the match to another venue that is not blacked out.
  4. Option B: Remove An Incorrect Blackout. If the blackout was entered by mistake or has changed, delete the availability entry (see below).
  5. Verify: Run a Local audit and confirm the row returns to ✅ Clear.

Blocking Dates With Blackout Constraints ​

Use blackouts for known unavailability. Any match that lands inside a blackout is flagged Venue Blackout automatically.

  1. Open the facility availability tools and add one or more exceptions.
  2. Choose the Scope: whole School, a single Venue, or an optional Division.
  3. Set the Start Date, End Date, and Constraint.
  4. Save. All entries sync in a single batch.
ConstraintCan The School Host?
Not AvailableNo
School HolidayNo
Available to Travel OnlyNo (away games only)
Any other constraintYes
  • Remove A Blackout: Delete the availability entry and the venue is bookable again.
  • Update Hours: Edit the weekday and weekend start/end times on a venue.

8. Team Registration & Data Integrity ​

  • Registration Status: Each team is Pending, Approved, Withdrawn, or Inactive. New teams default to Pending. Use the dropdown (QuickEdit is enabled in the Teams detail view).
  • Approval Lives On Teams: Do not look for an approval column on fixtures. Confirm all teams in a division are Approved before generating a schedule.
  • Soft Deletes: Use Withdrawn or Inactive rather than deleting a team. This protects fixture and standings history.
  • Season Awareness: Records are tagged with a season_id. Archive the active season before creating a new one.

Cautionary Notes & Efficiency Tips (fa-exclamation-triangle) ​

  • Audit Before You Act: Run a Local audit first thing on matchday so the Conflict Status column reflects reality.
  • Do Not Bypass The Verification Loop Casually: Entering a score as Admin should be the exception. Document who you spoke to and why.
  • Never Hard-Delete Teams Or Fixtures With History: Use Withdrawn, Inactive, or Cancelled.
  • Respect School Boundaries: You can only change schedules and facilities for your own school.
  • Close The Loop With Coaches: After resolving any conflict, tell both coaches so the Coaches Portal and your Dashboard agree.
  • Red Highlight Means Act: A red highlighted row is a conflict (Double Booked, Venue Blackout, or Active Dispute Logged). Orange text with a clock is only a routine pending sign-off, and red strikethrough text without a highlight is just a cancelled match.

For accessing various resources associated with the AthleticOS League Management Ecosystem.

AthleticOS Support Team & Resources

AthleticOS Helpdesk