Skip to Content
Business logicMember lifecycleMember lifecycle rules

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_idNameStatus
1AdministratorIBA staff with back-office access.
2Banned / deletedAccount removed or suspended for cause.
4Pending email verificationRegistration started, email not yet verified.
6FlyerDefault role on entry; the vast majority of members.
7CoachDeprecated. Coach status is now a flag on the member record.
8InstructorAuthorised to approve flyer skills up to their level.
9TrainerAuthorised to certify new instructors.
10ExaminerAuthorised to run formal level assessments.
11AFCPassed 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 = 7 is 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_military for the separate currency cycle. A military flyer is still a regular flyer in role_id terms; 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:

FromToTrigger
(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.
any2 (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.
Last updated on