Competition module
The competition module is Hob’s module for running club competitions (contests). It is written for club admins and team staff — this page describes day-to-day use, not the technical API.
Profiles see the module as Competitions. The technical identifier in the system remains competition (URL paths, API, permissions).
A competition team is not the same as a teamsports season squad. This module answers who is entered in this contest, not who trains on which squad week to week.
Introduction
The module covers:
- Competitions — a named contest with its own page (
/comp/{slug}), an enrollment window, and an enrollment mode. - Competition teams — a team with a roster and staff, created and managed at
/comp. - Enrollment (entry) — one team enrolls in one competition. The entry can confirm immediately or stay pending until the club confirms it.
Typical uses: an in-club contest or tournament period where teams enroll in advance.
The example tournament club includes a test competition, for example /comp/hob-open. The frontpage has a Competitions link (/comp).
Terminology
| Term | Meaning |
|---|---|
| Competition | One club-run contest: name, slug, optional dates, and an enrollment window. |
| Slug | The technical id in the URL. A competition opens at /comp/{slug}. |
| Competition team | A team in this module: roster and staff. Not a teamsports season squad. |
| Enrollment (entry) | One competition team enrolled in one competition. |
| General manager | Team staff who can manage the roster and other staff, and enroll the team in a competition. The person who creates the team gets this role. Other staff (free-text role) cannot enroll the team. |
| Enrollment window | The time when new entries are accepted. Outside that window, enrollment is closed. |
| Entry fee | Optional lump-sum charged to the team's general manager when staff approve a pending entry. There is no charge while the entry is still pending. Empty or zero means no fee. The amount is fixed at confirmation. |
Who is it for?
- Clubs that run contests where people enroll as a team
- Cases where the team is assembled before enrollment
- Contests where the club wants to confirm an entry before the team is in
Profile view
At /comp (Competitions):
- Competitions — the club’s contests. Each opens at
/comp/{slug}. If enrollment is not open, the page shows it as closed. The list can be browsed without signing in. - My teams — teams the profile belongs to. The list shows which competitions each team is entered in. My teams, creating a team, and joining a team require a club profile — a Hob account alone is not enough.
- Create team — a club profile can create a competition team. The creator becomes staff with the general manager role. If the Hob account does not yet have a profile in this Hob environment, they must join the environment first. When creating the team they can optionally prepare it for an open competition: that competition’s roster fields are copied onto the new team so player details can be filled in advance. This does not enroll the team.
- Join a team — if the profile is not on a competition team yet, they can enter an invite code from a general manager and join that team. Without a profile, the invite code cannot be used.
On the team page /comp/team/{id} (when the profile can manage the team):
- Players — the general manager adds their own profile and sub-profiles (for example children) to the roster. From the same add-player step they can also create a new sub-profile (a child), who is added to the roster and managed by them. Other club profiles cannot be added from this list. An organization profile cannot be added as a player. The general manager can also remove a player from the roster. Other players or staff cannot remove players.
- Invite player — from the same add-player step, the general manager can create a shareable invite code. The invited profile enters it under Join a team on
/comp, confirms joining, and shares first name, last name, email, and phone number with the team staff listed on that confirmation. After they join, those staff see those contact fields. - Extra fields — if the team has roster fields (for example a number), they can be filled on the roster. If the competition requires roster fields, the general manager cannot enroll the team until those fields are filled for every player.
- Staff — the general manager adds and removes staff. The role is free text (for example coach). An organization profile cannot be added as staff.
On the competition page /comp/{slug}, the team’s general manager enrolls the team when enrollment is open. Before enrolling they can prepare an existing team for that same open competition: the competition’s roster fields are copied onto the team so player details can be filled in advance. Preparing does not enroll the team. Other players or staff cannot enroll the team. If the competition requires club confirmation, the entry stays pending approval. Club staff can approve it (the team is marked enrolled) or reject it (the entry is removed and the team is not in). Otherwise it is marked enrolled at once.
When the competition has an entry fee and staff approve a pending entry, the team's general manager is charged that lump-sum. The unpaid fee (competition name, team name, and remaining amount) appears on the general manager's own page. They pay with that entry's reference number. A pending entry has no fee yet; rejecting it removes the entry without charging.
On a family account, sub-profiles can be managed from the same login: existing sub-profiles can be added to the roster, or a new sub-profile can be created when adding a player. An organization profile cannot be a player or staff.
Admin view
Competitions (name, slug, dates, enrollment window, whether enrollment needs confirmation, roster form, and an optional team entry fee) can be created and updated with an MCP assistant. A competition created with only a name stays open for enrollment until a window is set. A competition can be deleted only when it has no entries. Profiles see them at /comp once they exist.
The dashboard does not yet have a competition-create screen or tournament grouping. Club staff can approve or reject a pending entry. Approving a pending entry with a fee charges the team's general manager. Player invites are on the team page, not in the dashboard.
Permissions
| Role | Rights |
|---|---|
| Not signed in | Sees the competition list at /comp |
| Hob account without a profile | Sees the competition list, but cannot create a team or use an invite code until they join the Hob environment |
| Signed-in profile | Sees My teams, can create a competition team, and can join a team with an invite code |
| General manager | Manages the team roster and staff at /comp/team/{id} (adds and removes players), can invite a player with a shareable code, and can enroll the team when enrollment is open |
| Club staff | Can approve or reject a pending entry. A competition can be created, updated, and deleted (when it has no entries) with an MCP assistant |
Integrations
Competition teams and entries belong to this module. An optional team entry fee is charged through Hob payments when staff approve a pending entry. A competition can be defined with an MCP assistant; enrolling a team, approving an entry, and creating a team are not in MCP. A membership class can have a custom automation rule that applies for membership for every player on the team when staff approve an entry; a pending entry does not apply, and a player who already applied is not applied twice. This is not a ready-made rule on the class list. Membership gates on enrollment (members only) are not in this view yet.
Practical tips
- Create the team and add players before enrolling — enrollment attaches an existing team to the competition. You can add your own profiles, create a new sub-profile when adding a player, or invite a player with a code. If the competition has required roster fields, prepare the team for that competition when creating it, prepare an existing team on the competition page, or fill the fields on the roster before enrolling.
- Only the team’s general manager can enroll it. Check the enrollment window: outside it a team cannot enroll.
- If the competition requires confirmation, the team is not in until the club accepts the entry. A rejected pending entry is removed and is not charged. Approving an entry that has a fee charges the general manager; they pay with the entry reference.
- Try the example at hob.fi/ex_competition (open Competitions; join the environment to manage teams).