Skip to main content

Ranks

Backoffice path: backoffice/ranks

Available to roles: System Administrator, Administrator

Overview

Ranks define the career progression ladder for pilots in your airline. Each rank represents a tier with specific requirements that pilots must meet to advance. The ranks system controls who can fly what, how pilots progress, and what happens when pilots become inactive.

Rank Fields

FieldDescription
NameDisplay name of the rank (e.g., "First Officer", "Captain").
SlugAuto-generated URL-safe identifier based on the name.
ColorHex color code used for visual identification in the UI (e.g., #FF5733).
IconIcon displayed alongside the rank name.
LevelNumeric value that determines the rank's position in the hierarchy. Higher values represent higher ranks.
Is DefaultToggle indicating this is the starting rank assigned to new pilots. Only one rank should be marked as default.
Minimum HoursMinimum total flight hours required to be eligible for this rank.
Minimum FlightsMinimum number of completed flights required.
Minimum PointsMinimum Points balance required.
Minimum Landing RateMinimum average landing rate required (nullable -- leave empty for no landing rate requirement).
Promotion CostPoints deducted from the pilot's balance upon promotion to this rank.
Seat LimitMaximum number of pilots that can hold this rank simultaneously. Set to null for unlimited capacity.
Approval ModeEither auto (pilots are promoted automatically when they meet all requirements) or manual (pilots must submit an application that staff reviews).

Ranks Dashboard

The ranks management page includes a dashboard summary at the top:

  • Total pilots -- the total number of registered pilots across all ranks.
  • Pending applications -- the count of promotion applications awaiting staff review.
  • Inactive pilots -- the number of pilots currently flagged as inactive.

Below the summary, each rank is displayed with its occupancy percentage -- the proportion of the seat limit that is currently filled. This helps administrators identify ranks that are approaching capacity.

Promotion Applications

When a rank uses manual approval mode, pilots who meet the minimum requirements submit a promotion application. These appear in the Pending Applications table on the ranks dashboard.

Staff can take the following actions on each application:

  • Approve -- the pilot is promoted to the requested rank, and the promotion cost (if any) is deducted from their Points balance.
  • Reject -- the application is denied. The pilot remains at their current rank.

Seat Limit Queuing

If a rank has a seat limit configured and all seats are occupied, new applications are queued in FIFO order (first in, first out). When a seat opens up (e.g., a pilot is demoted or leaves the rank), the next application in the queue is processed.

Inactivity Demotion

A daily background job monitors pilot activity and enforces inactivity rules:

  1. The system checks each pilot for accepted (completed) flights within the last INACTIVITY_DAYS period.
  2. Pilots who have not completed any flights within this window are demoted to the fallback rank (typically the default/starting rank).
  3. New accounts receive a grace period -- recently registered pilots are exempt from inactivity checks for a configurable number of days after account creation.

This ensures that rank positions (especially those with seat limits) are not occupied indefinitely by inactive pilots.

Activity Log

The rank edit page includes a paginated activity log that records every change to the rank's attributes (name, level, requirements, seat limit, approval mode, etc.) with timestamps and the staff member who made the change.

Best Practices

  • Set clear progression requirements -- use a combination of hours, flights, and points to create meaningful milestones.
  • Use seat limits sparingly -- seat limits are most useful for top-tier ranks where exclusivity adds value to the progression system.
  • Consider promotion costs carefully -- a points deduction on promotion adds weight to the achievement but should not be prohibitively expensive.
  • Configure inactivity days appropriately -- too short a window may demote casual pilots unfairly; too long may leave seats occupied by pilots who have left.
  • Use manual approval for senior ranks -- this gives staff oversight over who reaches the highest tiers and creates a sense of accomplishment for pilots.