logo
ConceptsTeams and roles

Teams and roles

How team membership and per-team roles work in Klubb.

Klubb is built around teams. Every game, arena, referee, chat message, and notification belongs to exactly one team. A user can belong to multiple teams and have different roles on each.

The four roles

A team member can hold any combination of these roles:

RoleTypical useWhat they can do
adminCoach or team managerManage members, games, arenas, referees, settings, alerts
playerAnyone on the fieldView the schedule, post in team chat, see the roster
trainerAssistant coach or staffSame view as players, plus access to training-oriented info
guardianParent or guardian of a youth playerView the team feed and the games of the players they're linked to

Roles are stored as an array on each team membership, so a person can be both a trainer and a player, for example.

At least one team member must have the admin role at all times. Removing the last admin is blocked.

How membership is structured

Membership is a separate record per team, not a property of the user. That means:

  • Removing you from one team doesn't affect your access to your other teams.
  • Your role on Team A has no bearing on your role on Team B.
  • An invite code is scoped to a single team and a single set of roles.

Joining a team

There are two paths in:

  1. Create a team — you become its first admin.
  2. Redeem an invite code — an admin generates an 8-character code (uppercase letters and digits) under Settings → Members → Add. They can cap the number of uses and set an expiry.

Codes are case-insensitive on input but stored uppercase.

Age categories

Each team has an optional age categoryjunior or senior. This is used by the app to surface guardian-related features (guardian linking is most useful on junior teams) and may drive other defaults in the future.