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:
| Type | Description |
|---|---|
| A Check | Light maintenance performed at regular short intervals |
| B Check | Intermediate inspection, more detailed than an A check |
| C Check | Heavy maintenance requiring the aircraft to be taken out of service |
| D Check | The most comprehensive overhaul, also known as a heavy maintenance visit (HMV) |
Defining a Maintenance Check
Core Fields
| Field | Description |
|---|---|
| Name | Display name for the check (e.g., "A Check - 737 Family") |
| Check Type | One of A, B, C, or D |
| Airline | The airline this check definition applies to |
| Fleet / Subfleet Scope | Which 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 |
| Description | Free-text description of the check and what it entails |
| Active | Toggle 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.
| Field | Description |
|---|---|
| Flight Hours | Number of flight hours between checks |
| Cycles | Number of flight cycles between checks |
| Calendar Days | Number of calendar days between checks |
Operational Thresholds
| Field | Description |
|---|---|
| Ground on Overdue | When enabled, the aircraft will be automatically grounded if this check becomes overdue |
| Estimated Duration | The 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:
| Status | Color | Description |
|---|---|---|
| OK | Green | The aircraft is within all intervals and no action is needed |
| REPOSITIONING | Amber | The aircraft is within the reposition threshold and is away from its base airport. It should be repositioned |
| PENDING_AT_BASE | Yellow | The aircraft is within the ground threshold and is at its base airport. It is ready to enter maintenance |
| IN_MAINTENANCE | Blue | The aircraft is currently undergoing this maintenance check |
| OVERDUE | Red | The 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:
- Overdue + Ground on Overdue enabled — The aircraft is immediately grounded. Status: OVERDUE
- Within ground threshold + aircraft is at base — The aircraft enters maintenance. Status: IN_MAINTENANCE
- Within reposition threshold + aircraft is away from base — The aircraft should be repositioned. Status: REPOSITIONING
- 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
| Metric | Description |
|---|---|
| Total Aircraft | Total number of aircraft subject to maintenance checks |
| Grounded | Number of aircraft currently grounded due to maintenance |
| Due Soon | Number of aircraft approaching a check interval |
| Overdue | Number of aircraft that have exceeded a check interval |
| In Maintenance | Number 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_MAINTENANCEstatus 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:
| Process | Frequency | Description |
|---|---|---|
| Daily Evaluation | Once per day | Re-evaluates all aircraft against all active check definitions, catching any status changes that may have occurred due to calendar-based intervals |
| Hourly Auto-Complete | Once per hour | Automatically completes maintenance checks that have been in the IN_MAINTENANCE state long enough to satisfy the estimated duration |
| Daily Auto-Rectify | Once per day | Automatically 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:
| Field | Description |
|---|---|
| Reason | A required free-text field describing why the aircraft is being grounded (e.g., "Suspected hydraulic leak", "Awaiting parts for tyre replacement") |
| Scheduled Release | An 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
AircraftGroundedevent 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:
| Field | Description |
|---|---|
| Title | A required short description of the entry (e.g., "Replaced nose wheel tyre") |
| Description | An 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:
- A Hard Landing Inspection maintenance check is created for the aircraft in
IN_MAINTENANCEstatus, with an auto-completion timer matching the configured grounding duration. - The aircraft is grounded with a Technical Logbook entry recording the hard landing details.
- All active bookings on the aircraft are cancelled.
- The pilot receives an email and in-app notification with the aircraft registration, reason, and expected return date.
- A Discord notification is sent to the staff channel (if Discord integration is active).
- 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
| Setting | Description | Default |
|---|---|---|
| Hard Landing Ground Hours | Number of hours to ground an aircraft after a hard landing. Set to 0 to disable the feature entirely. | 0 (disabled) |
| Hard Landing Rate Threshold | Landing 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 Threshold | Landing 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 |