Member lifecycle rules
Every member sits in exactly one role_id at a time. Almost every
other gate on the platform is downstream of which role_id a member
is in plus what flags are set on their record.
role_id reference
role_id | Name | Status |
|---|---|---|
1 | Administrator | IBA staff with back-office access. |
2 | Banned / deleted | Account removed or suspended for cause. |
4 | Pending email verification | Registration started, email not yet verified. |
6 | Flyer | Default role on entry; the vast majority of members. |
7 | Coach | Deprecated. Coach status is now a flag on the member record. |
8 | Instructor | Authorised to approve flyer skills up to their level. |
9 | Trainer | Authorised to certify new instructors. |
10 | Examiner | Authorised to run formal level assessments. |
11 | AFC | Passed the AFC milestone — gateway to the instructor track. |
Reserved / unused: 3, 5. Higher values may exist for future
classifications; pull from the source of truth before assuming a
mapping.
Roles tracked outside role_id
Two roles live as boolean flags on the member record, not as
values of role_id:
- Coach — the legacy
role_id = 7is no longer written. Coach status is a flag, which means a member can be (e.g.) an instructor (role_id = 8) and flagged as a coach simultaneously. Each side carries its own currency clock and its own approval scope. - Military — military programme membership is a flag, paired with
channel_currency_militaryfor the separate currency cycle. A military flyer is still a regular flyer inrole_idterms; the flag activates military-specific rules.
This split — single role_id for the formal progression ladder,
flags for parallel programmes — is why a member’s standing depends
on both role_id AND the flags on their record.
Transitions
role_id evolves with the member. The valid transitions:
| From | To | Trigger |
|---|---|---|
| (new) | 4 (pending) | Member starts registration. |
4 (pending) | 6 (flyer) | Member clicks email verification link. |
6 (flyer) | 11 (AFC) | Flyer passes the AFC milestone skill. |
11 (AFC) | 8 (instructor) | AFC member passes Instructor Level 1 (initial training + assessment). |
8 (instructor) | 9 (trainer) | Instructor completes trainer certification. |
9 (trainer) | 10 (examiner) | Trainer completes examiner certification. |
| any | 2 (banned/deleted) | Administrative action only. Doesn’t drift from inactivity. |
1 (admin) | (any) | Administrative role assignments are out of band — set by IBA staff with appropriate authority. |
role_id is independent of currency. An active flyer can be
not-current; a not-current member is still in their normal role_id;
banned (role_id = 2) wins regardless of currency.
[!NOTE] Whether a demotion path exists (e.g. an instructor stepping back to flyer for a sabbatical) and how it’s triggered isn’t documented here yet. Add when nailed down.
Group 2 in detail (banned / deleted)
role_id = 2 is the IBA’s way of saying “this account is no longer
operational” without losing the audit trail.
Effects:
- Sign-in: blocked.
- Partner validation: integrated booking systems get a not-found-like response when they look up a Group 2 member.
- Logbook: no new entries can be made for or by them.
- Historical records: logbook entries they accumulated AND approvals they granted to other members are preserved for audit. Other members’ records aren’t retroactively invalidated.
Bans are administrative — IBA staff (role_id = 1) move members into
Group 2; nothing automated does it.
Group 4 in detail (pending email verification)
A role_id = 4 member has started registration but hasn’t clicked
their verification link yet.
Effects:
- They exist on the platform but aren’t a full member yet.
- Partner systems treat them as not-found at validation time.
- They can’t be assigned to a tunnel as a home tunnel, can’t accrue logbook entries, and can’t request skills.
- They sit at Group 4 until verification completes; after a configured window with no verification, they may be cleaned up by an administrative process.
Sub-pages in this module
- Registration flow — sequence diagram of registration from “Sign Up” click through email verification.
- Authentication flow — sequence diagram of sign-in and session establishment, including Google OAuth.