Skip to main content

Maintenance Checks

Overview

Maintenance checks simulate the real-world scheduled inspection and service program for your fleet. You define check types with intervals based on flight hours, cycles, or calendar days. The system continuously evaluates each aircraft against these definitions and manages the full lifecycle from detection through repositioning, maintenance, and return to service.

Backoffice path: backoffice/maintenance-checks

Available to roles: System Administrator, Administrator


Check Types

The platform supports four standard maintenance check types, mirroring real-world aviation maintenance programs:

TypeDescription
A CheckLight maintenance performed at regular short intervals
B CheckIntermediate inspection, more detailed than an A check
C CheckHeavy maintenance requiring the aircraft to be taken out of service
D CheckThe most comprehensive overhaul, also known as a heavy maintenance visit (HMV)

Defining a Maintenance Check

Core Fields

FieldDescription
NameDisplay name for the check (e.g., "A Check - 737 Family")
Check TypeOne of A, B, C, or D
AirlineThe airline this check definition applies to
Fleet / Subfleet ScopeWhich fleet or subfleet this check targets. Leave both blank for an airline-wide definition that applies to all aircraft. If a fleet is specified, only aircraft in that fleet will receive the check. Ensure every fleet that needs maintenance has at least one matching definition
DescriptionFree-text description of the check and what it entails
ActiveToggle to enable or disable the check definition

Interval Configuration

At least one interval is required. You can combine multiple interval types — the check will become due when any interval is reached.

FieldDescription
Flight HoursNumber of flight hours between checks
CyclesNumber of flight cycles between checks
Calendar DaysNumber of calendar days between checks

Operational Thresholds

FieldDescription
Ground on OverdueWhen enabled, the aircraft will be automatically grounded if this check becomes overdue
Estimated DurationThe expected time the maintenance check takes to complete
Reposition Threshold (hours)How far in advance of the due point the aircraft should begin repositioning to its base airport
Ground Threshold (hours)How far in advance of the due point the aircraft should be grounded at its base to begin maintenance

Check Statuses

Each aircraft is continuously evaluated against every active maintenance check definition that applies to it. The status of each check per aircraft is represented by one of the following:

StatusColorDescription
OKGreenThe aircraft is within all intervals and no action is needed
REPOSITIONINGAmberThe aircraft is within the reposition threshold and is away from its base airport. It should be repositioned
PENDING_AT_BASEYellowThe aircraft is within the ground threshold and is at its base airport. It is ready to enter maintenance
IN_MAINTENANCEBlueThe aircraft is currently undergoing this maintenance check
OVERDUERedThe aircraft has exceeded the check interval. If "ground on overdue" is enabled, the aircraft will be automatically grounded

Evaluation Logic

Maintenance checks are evaluated after each flight is approved. The evaluation follows this logic:

  1. Overdue + Ground on Overdue enabled — The aircraft is immediately grounded. Status: OVERDUE
  2. Within ground threshold + aircraft is at base — The aircraft enters maintenance. Status: IN_MAINTENANCE
  3. Within reposition threshold + aircraft is away from base — The aircraft should be repositioned. Status: REPOSITIONING
  4. None of the above — Status: OK

This evaluation ensures that aircraft are caught before they exceed their maintenance intervals, allowing time for repositioning and scheduled downtime.

Initialization

Each aircraft's maintenance page includes an Initialize / Refresh button. When clicked, the system finds all active check definitions that match the aircraft (by airline, fleet, and subfleet scope) and creates check records with initial due dates. If no matching definitions exist, a warning is shown advising the administrator to create definitions for the aircraft's fleet.

Checks are also automatically created when an aircraft completes its first flight. If a check already exists but is missing due-date values, the Initialize / Refresh action fills in the missing values without overwriting existing ones.


Maintenance Dashboard

The maintenance dashboard provides a high-level overview of the fleet's maintenance posture.

Summary Metrics

MetricDescription
Total AircraftTotal number of aircraft subject to maintenance checks
GroundedNumber of aircraft currently grounded due to maintenance
Due SoonNumber of aircraft approaching a check interval
OverdueNumber of aircraft that have exceeded a check interval
In MaintenanceNumber of aircraft currently undergoing a maintenance check

Aircraft List

Below the summary, a detailed aircraft list is displayed. This list is filterable by status, allowing you to quickly focus on aircraft that need attention (e.g., show only OVERDUE or REPOSITIONING aircraft).

The Next Check Due column shows the soonest upcoming check for each aircraft, including:

  • The check name (e.g., "A Check - 737 Family")
  • The calendar due date (if the check has a calendar interval)
  • Remaining flight hours until due (if the check has a flight hours interval)
  • Remaining cycles until due (if the check has a cycles interval)

Editing a Check Definition

When you edit a check definition and change its interval values (flight hours, cycles, or calendar days), the system automatically recalculates the next due dates for all existing aircraft checks linked to that definition.

The recalculation logic works as follows:

  • Previously completed checks: The next due date is calculated from the last completion point plus the new interval. For example, if a check was last completed at 500 flight hours and the interval is changed from 100 to 80 hours, the next due point becomes 580 hours.
  • Never-completed checks: The next due date is calculated from the aircraft's current totals plus the new interval.
  • Checks in maintenance: Checks currently in IN_MAINTENANCE status are not affected — they will be recalculated after completion.

After recalculation, the system also re-evaluates all aircraft to update statuses (e.g., a shortened interval may cause a check to become due sooner, triggering repositioning or grounding).


Automation

The platform runs three automated processes to keep maintenance checks progressing without manual intervention:

ProcessFrequencyDescription
Daily EvaluationOnce per dayRe-evaluates all aircraft against all active check definitions, catching any status changes that may have occurred due to calendar-based intervals
Hourly Auto-CompleteOnce per hourAutomatically completes maintenance checks that have been in the IN_MAINTENANCE state long enough to satisfy the estimated duration
Daily Auto-RectifyOnce per dayAutomatically resolves maintenance-related grounding once the check is completed, returning the aircraft to service

Manual Grounding

Staff can manually ground an aircraft from the aircraft's maintenance page. Clicking the Ground Aircraft button opens a modal with the following fields:

FieldDescription
ReasonA required free-text field describing why the aircraft is being grounded (e.g., "Suspected hydraulic leak", "Awaiting parts for tyre replacement")
Scheduled ReleaseAn optional date and time. If set, the aircraft will automatically return to service at the specified time via the existing hourly auto-complete job

When grounded:

  • All active bookings on the aircraft are cancelled
  • A Technical Logbook entry is created with the reason and scheduled release time (if set)
  • The AircraftGrounded event is dispatched (triggers Discord notification if configured)

If a scheduled release is set, the system creates a maintenance check that will automatically complete at the specified time, returning the aircraft to service. Staff can also manually return the aircraft to service at any time by clicking the Return to Service button, which opens a confirmation modal.


Manual Technical Logbook Entries

Staff can add free-form entries to an aircraft's Technical Logbook directly from the maintenance page. This is useful for recording observations, inspections, part replacements, or any other maintenance-related notes that don't fall into the automated categories.

The entry form is located at the top of the Technical Logbook section and requires:

FieldDescription
TitleA required short description of the entry (e.g., "Replaced nose wheel tyre")
DescriptionAn optional detailed description with additional context

Manual entries appear in the logbook with an amber Manual Entry badge and record the staff member who created them and the timestamp.


Hard Landing Auto-Grounding

When a pilot lands with an excessively hard landing rate or high G-force, the system can automatically ground the aircraft for a configurable period by creating a maintenance check. This feature is disabled by default and must be enabled by setting the grounding duration to a value greater than zero.

How It Works

After every flight is processed, the system checks the flight's landing rate and G-force against configured thresholds. If either threshold is exceeded:

  1. A Hard Landing Inspection maintenance check is created for the aircraft in IN_MAINTENANCE status, with an auto-completion timer matching the configured grounding duration.
  2. The aircraft is grounded with a Technical Logbook entry recording the hard landing details.
  3. All active bookings on the aircraft are cancelled.
  4. The pilot receives an email and in-app notification with the aircraft registration, reason, and expected return date.
  5. A Discord notification is sent to the staff channel (if Discord integration is active).
  6. When the grounding period expires, the existing hourly auto-complete job completes the maintenance check and returns the aircraft to service automatically.

The hard landing inspection appears on the maintenance dashboard alongside regular maintenance checks. Staff can also manually complete the check early via the backoffice if needed.

Configuration

Backoffice path: backoffice/maintenance-settings

Available to roles: System Administrator, Administrator

SettingDescriptionDefault
Hard Landing Ground HoursNumber of hours to ground an aircraft after a hard landing. Set to 0 to disable the feature entirely.0 (disabled)
Hard Landing Rate ThresholdLanding rate in feet per minute (fpm) below which a landing is considered hard. Landing rates are negative values; a lower value means a harder landing. For example, -600 means any landing at -601 fpm or worse triggers grounding.-600
Hard Landing G ThresholdLanding G-force above which a landing is considered hard. For example, 1.6 means any landing at 1.61G or higher triggers grounding.1.6