Ferry Flights
Backoffice path: backoffice/occ/ferry-flights
Available to roles: System Administrator, Administrator; Operations Staff has full access
Overview
Ferry flights are staff-created, non-revenue operations used to move aircraft along specific routes. Unlike automatic repositioning bounties, ferry flights give operations staff full control over routing, timing, pilot assignments, and rewards. They are ideal for planned fleet movements, seasonal repositioning, or situations where the automatic bounty system cannot find a suitable route.
Creating a Ferry Flight
To create a new ferry operation, staff specifies the following:
| Field | Description |
|---|---|
| Aircraft | The aircraft to be ferried. |
| Description | A public description visible to pilots, explaining the purpose of the ferry (e.g., "Seasonal repositioning to winter hub"). |
| Legs | An explicit route defined as a sequence of airports (departure and arrival for each leg). |
| Flight numbers | A flight number assigned to each leg of the ferry. |
| Points per leg | The Points reward a pilot earns for completing each individual leg. |
| Time window per leg | The maximum time allowed to complete each leg (default: 24 hours). |
| Notes | Internal staff notes, not visible to pilots. |
| Pilot assignments | A priority queue of pilots assigned to the ferry. The system works through the queue in order if the primary pilot is unavailable or their window expires. |
Defining Legs
Each ferry operation consists of one or more legs. A leg represents a single flight segment from one airport to another. For a multi-stop repositioning (e.g., moving an aircraft from KJFK to KLAX via KORD), you would define two legs:
- KJFK to KORD
- KORD to KLAX
Each leg has its own flight number, Points reward, and time window.
Pilot Assignment Queue
Pilots are assigned to a ferry in a priority queue. The first pilot in the queue is the primary assignee. If that pilot's time window expires without completion, the assignment cascades to the next pilot in the queue. This ensures ferry operations are not stalled by a single unavailable pilot.
When a pilot is added to a leg that is currently waiting for a pilot (Assigned status with no active window), and the new pilot is first in the queue, they are automatically given an active window and notified immediately.
Time Window Management
Every 5 minutes, the system checks for expired time windows on active ferry legs. When a window expires:
- The current pilot's assignment is removed, freeing the slot so the pilot can re-apply later if needed.
- The next pilot in the priority queue is activated.
- Notifications are sent to both the departing and incoming pilots.
Protection for active flights: If a pilot is actively flying a ferry leg and has submitted position reports, the system protects that leg from expiry. The time window is not enforced while the flight is in progress.
Pilot Notifications
Pilots receive notifications at each stage of the ferry lifecycle:
| Event | Notification |
|---|---|
| Assigned | Pilot is notified they have been assigned to a ferry operation. |
| Window open | Pilot is notified their time window has begun. |
| Window expired | Pilot is notified their window has expired and the assignment has moved to the next pilot. |
| Delayed | Pilot is notified of a delay in the ferry operation. |
| Completed | Pilot is notified the ferry operation (or their leg) has been completed. |
Leg Completion
Ferry legs are completed at flight submission time, as soon as the pilot's ACARS client submits the flight data. Completion does not wait for the PIREP to be reviewed (approved, warned, or rejected). This ensures ferry operations continue smoothly and the next leg can be activated immediately, since the aircraft has physically moved to its destination.
Points and Rewards
Upon completion of a ferry leg, the assigned pilot is awarded Points with the transaction type "ferry". The amount is the per-leg Points value configured when the ferry was created. Points are awarded individually per leg, so a pilot completing multiple legs of the same ferry earns rewards for each.
Managing Legs After Creation
Staff can manage ferry legs after initial creation:
- Edit pending legs — Change airports, flight numbers, distance, points, or window hours for any leg still in Pending status.
- Add new legs — Append additional legs to ferries that are Pending or In Progress. New legs are added at the end of the sequence.
- Remove pending legs — Remove legs that are still in Pending status and have no active pilot assignments. Remaining legs are automatically resequenced.
Monitoring Ferry Operations
The ferry flights page displays all ferry operations with their current status. Staff can:
- View the overall progress of each ferry (how many legs are complete).
- See which pilot is currently assigned to the active leg.
- Monitor time window status for each leg.
- Track the full assignment history, including expired windows and cascaded assignments.
- Create new ferry operations as needed.
- Edit the public description at any time from the expanded ferry view.