06Club Admins

Training Module 06 — Admin Panel

GoClubPro User Training | Area: Admin Panel


What Users Need to Learn

The Admin Panel is the operational command centre for Club Admins. It is accessible under Club Admin in the navigation bar and features four dedicated sub-pages:

  • Members Roster (/admin/members): Roster search, invitations, shareable join links, join request approvals, moderation, and editing a member's name or email.
  • Roles & Permissions (/admin/roles): Role summary cards across 7 roles, permissions breakdown matrix, and direct role assignment.
  • Seasons & Competitions (/admin/seasons): Season setup, competition creation, grade configuration, temporary (club-only) grades with merge/delete, and a link through to Season Availability — the in-app replacement for the pre-season "who's playing?" WhatsApp poll (see the walkthrough below).
  • Teams & Squads (/admin/teams): Team rosters, self-managed teams, Team Manager/Treasurer role assignments, and team creation.

1. Step-by-Step Walkthrough

Approving a Join Request

The Members Roster, showing pending requests and the full member list

  1. Click Club Admin in the navigation (or via the Dashboard notification).
  2. Click Members Roster (/admin/members).
  3. Review the Pending Requests section at the top.
  4. Review the request — name, email, requested role.
  5. Click Approve or Decline.
  6. Approved members are notified and gain immediate access.

📺 Video walkthrough: Coming soon on YouTube.

Inviting a New Member

  1. Club Admin → Members Roster (/admin/members) → click Invite Members or Share Join Link.
  2. Enter the member's email address.
  3. Select their role (Player, Coach, Selector, Treasurer, etc.).
  4. Click Send Invites (data is loaded on-demand when the modal opens).
  5. The member receives an email with a unique invite link.

Changing a Member's Role

The Roles & Permissions screen

  1. Club Admin → Roles & Permissions (/admin/roles) or Members Roster (/admin/members).
  2. Filter or search for the member.
  3. On Roles & Permissions, click + [Role] to assign or ✓ [Role] to revoke.
  4. On Members Roster, click Add Designation to give custom titles (e.g., President, Secretary, Captain).
  5. Role updates apply immediately across the system.

Editing a Member's Name or Email

  1. Club Admin → Members Roster (/admin/members).
  2. Find the member and open their profile edit option.
  3. Update their Name and/or Email — email doubles as their sign-in address, so changing it means they'll log in with the new one from then on.
  4. Save. This signs the member out of any existing sessions (a security precaution whenever an identity field changes), so let them know to log in again with the updated email if you changed it.

Creating a New Season

  1. Club Admin → Seasons & Competitions (/admin/seasons).
  2. Click New Season to launch the step-by-step season wizard.
  3. Enter:
  • Season name (e.g., "Winter 2026")
  • Start and end date
  • Association selection
  1. Click Create to activate the season.

Running Season Availability (Who's Playing Next Season?)

Season Availability replaces the old approach of posting "who's in for next season?" in the club WhatsApp group and manually counting replies. It gives every member a two-tap answer (Full season / Away for some / Fill-in only / Not playing), tracks who hasn't replied, and projects whether you'll have enough players for each match day — weeks before the draw is even published.

  1. Club Admin → Seasons & Competitions (/admin/seasons) → click through to Season Availability.
  2. If your club has more than one season open at once, pick the right one from the season picker at the top — each has its own tally.

Season Availability admin screen showing the season picker, response tally by intent, and share link / close poll controls

  1. Click Copy share link for the group chat. The copied link is scoped to that one season, so posting it into a specific team's chat only ever asks about that team's season — it won't drag in an unrelated grade or competition.
  2. Paste the link into the club's WhatsApp/group chat, or send it directly to members. They answer in the app; no login screen shown if they're already signed in on their phone.
  3. Watch the tally build: N responded / N no response, broken down by answer. A missing answer always counts as unknown, never as available — don't count silent members as playing.
  4. Got an answer outside the app (a text, a chat at training)? Open the No response yet list and record it on the member's behalf — it's tagged "recorded by you" so it reads as weaker evidence than a self-reported answer.
  5. Click Remind non-responders to send an in-app notification to everyone who hasn't answered yet (guardians get it on behalf of juniors).
  6. Once the season's roster picture is settled — or the poll has run its course — click Close this poll. The share link stops accepting new answers (existing answers stay visible), so an old forum post can't keep nagging people about a season that's moved on. Reopen it any time from the same screen if you need to collect more answers.

Note: a season with two or more grades still asks one whole-season question, not one per grade — a player who's "in" is in for whichever grade they end up selected for. If someone says "Most games — away for some," they (or you, recording on their behalf) also enter the actual away dates, which feed directly into the availability projection selectors use when building teams.

Creating a Competition & Team

The Teams & Squads screen

  1. Club Admin → Seasons & Competitions (/admin/seasons) → select a season.
  2. Click Add Competition (e.g., "Senior Men's Division 1").
  3. Enter competition name, grade level, and sport-specific settings.
  4. Go to Teams & Squads (/admin/teams) → click Add New Team.
  5. Name the team, assign it to the competition, and set team managers/treasurers via Team Roles.

Creating a Temporary Grade Before Real Grades Are Announced

Sometimes registration needs to open before the season's actual grades exist — before trials, or before the association has published/synced its draw. A Club Admin can open with a placeholder grade so members can register and pay immediately, then fold everyone into the real grade once it's known.

  1. Club Admin → Seasons & Competitions (/admin/seasons) → select the season.
  2. Click Add Competition (or + Add Grade under an existing competition) and name it something recognisable as temporary, e.g. "Synthetic Mat — TBC".
  3. Set that grade's registration fee in Settings → Fee Configuration as normal — members can register and pay against it straight away.
  4. This temporary grade is only visible to your own club — no other club in your association sees it or can add a team to it, even though the season itself is shared across the association. It stays yours until you merge it away.
  5. Once the association publishes/syncs the real grade from your league platform, open the temporary grade's card and click Merge.
  6. Pick the real grade as the target and click Confirm & Merge. Every registration, team, and fee override moves across in one step, and each player's fee is automatically re-priced against the real grade — if they'd already paid more than the real price, the difference is credited to their wallet; if they owe more, their registration flips to Partial for the difference owed. The temporary grade is then removed.
  7. If a temporary grade was never used (no one registered, no team added), remove it directly with Delete instead of merging — this only works while nothing is attached to it; if anything has, merge it into a real grade instead.

Note: Merge and Delete are both blocked on any grade already synced from your league platform — those are managed automatically and can't be edited or removed here. Only your own club's manually-created grades can be merged or deleted, never a sibling club's.

Making a Team Self-Managed

By default every team is club-managed — its match fees, training fees, and finances flow through the club's normal Treasurer reports. Some clubs let a specific team (a social side, a one-off representative team) run its own money independently instead.

  1. Club Admin → Teams & Squads (/admin/teams) → open the team.
  2. Untick Club-managed. This team's match fees, training fees, registration, and team-tagged fines are now excluded from the club's treasurer reports — the club only records this team's flat season fee as a single manual ledger entry. Schedule and squad selection are unaffected either way.
  3. Under Team Manager & Treasurer, designate up to two ordinary members to run it:
    • Team Manager — roster and squad selection, no money powers.
    • Team Treasurer — collects this team's own match fees and registrations, logs the team's own expenses, and sees the team's balance. Never any other team's money, and never the club's wider finances.
    • One person can hold both roles.
  4. These roles only ever apply to this specific self-managed team. If you tick Club-managed back on later, any Team Manager/Treasurer designation on it stops working immediately — the assignment itself is kept, so it picks back up automatically if you switch the team back to self-managed.

2. Simple Explanation (Beginners)

The Admin Panel is where you run your club. Think of it as the club secretary's office:

  • Members Roster: Manage who is in the club and approve incoming members.
  • Roles & Permissions: See who holds which permissions and change role badges.
  • Seasons & Competitions: Set up seasons, competitions, and grades — open registration early with a temporary grade only your club can see, merge it into the real grade once announced — and use Season Availability to find out who's actually playing next season, without a WhatsApp poll.
  • Teams & Squads: Organize teams, managers, and rosters — and hand a specific team its own independent finances if it should run separately from the club's books.

3. Advanced Explanation (Power Users)

Role hierarchy: Club Admin is the highest club-level role. Platform Admin (SUPER_ADMIN) can override or manage any club. Association Admin has oversight across clubs in their association.

Dedicated sub-pages: Rather than crowding everything into tabbed views, each admin section has its own full URL (/admin/members, /admin/roles, /admin/seasons, /admin/teams).

On-Demand Modal Loading: Modals such as Invite Members and Share Join Link load their invitation data lazily when opened by user click, preventing unnecessary initial page load operations.

Temporary-grade ownership: A grade you create manually is stamped with your club's id the moment you create it — it's invisible to every other club in the association from that point on, whether or not you've added a team to it yet. Grades already synced from your league platform, and any created by an Association Admin or Platform Admin, have no owning club and stay visible to everyone. Only the owning club (or an Association Admin/Platform Admin) can merge or delete a temporary grade — a sibling club sees "Unauthorized" if they somehow try.

Self-managed team scope: Team Manager and Team Treasurer are narrow, additive roles — they never override or reduce anything a Club Admin, club-wide Treasurer, Coach, or Selector can already do. A club-wide Treasurer keeps full power over every team's money regardless of its Club-managed setting; the flag only changes what shows up in club-wide reports. A Team Treasurer, by contrast, can only ever act on their own single team — never a sibling team, even one in the same club.