Repositioning
Backoffice path: backoffice/aircraft-repositioning and backoffice/user-repositioning
Available to roles: System Administrator, Administrator
Overview
Repositioning keeps your airline's fleet and pilots where they need to be. The system provides two distinct management views:
- Aircraft Repositioning (
backoffice/aircraft-repositioning) -- move aircraft from their current location back to their assigned base or to a different airport. - User Repositioning (
backoffice/user-repositioning) -- move pilots to a different airport so they can access aircraft and schedules at that location.
Automatic Bounty Creation
The system continuously monitors aircraft positions relative to their assigned base airports. When an aircraft has been idle away from its base for longer than the REPOSITIONING_IDLE_HOURS threshold, a repositioning bounty is automatically created.
Bounties are also created automatically when a charter contract completes and leaves the aircraft at an airport with no outbound schedules available for that aircraft type. These bounties have no causer restriction, so any pilot can claim them.
The bounty creation process works as follows:
- Idle detection -- the system identifies aircraft that have been sitting at a non-base airport beyond the configured idle threshold.
- Route resolution -- a route back to the aircraft's base is calculated using Breadth-First Search (BFS) over existing published schedules from the aircraft's airline only. A Sambalog aircraft will only use Sambalog schedules, and vice versa. The search is limited to a maximum of
REPOSITIONING_MAX_HOPSlegs to keep routes practical. - Bounty publication -- if a valid route is found, a repositioning bounty is published with a Points reward for the pilot who completes it.
- Direct ferry fallback -- if no schedule route can be found within the aircraft's airline, the system creates a direct ferry bounty from the aircraft's current location to its base. When claimed, these generate a flight number starting with
9(e.g.,9042).
Bounty Lifecycle
Repositioning bounties follow this lifecycle:
- Created -- bounty is published and available for pilots to claim.
- Claimed -- a pilot accepts the bounty and begins repositioning the aircraft.
- Completed -- the pilot delivers the aircraft to the target airport and receives the Points reward. Legs are completed at flight submission time (before PIREP review), since the aircraft has physically moved regardless of the review outcome.
- Expired -- if the bounty is not completed within
REPOSITIONING_BOUNTY_EXPIRATION_HOURS, it expires. The aircraft is then teleported to its base airport automatically to restore operational availability.
Aircraft Repositioning View
This view shows all aircraft that are currently away from their base or have active repositioning bounties. Administrators can:
- See which aircraft are out of position and where they are located.
- Monitor active bounties and their status (unclaimed, claimed, expired).
- Track which pilots have claimed repositioning tasks.
- Review the calculated route (hops) for each bounty.
User Repositioning View
This view allows administrators to move pilots to different airports. This is useful when:
- A pilot needs to be relocated to match fleet availability.
- Operational needs require pilot presence at a specific hub.
- A pilot's current location has no available aircraft or schedules.
Safeguards
The repositioning system includes several safeguards to prevent conflicts:
- Causer restriction -- the pilot who last flew an aircraft to its current (non-base) location is tracked as the "causer" of the bounty. That pilot cannot see or claim the bounty they caused. This prevents pilots from deliberately stranding aircraft to collect repositioning points.
- Alternate declaration cleanup -- when a pilot alternates (diverts) while flying a bounty flight, the entire bounty is cancelled before any new stranded bounty is created. This ensures there are no conflicting bounties for the same aircraft. The diverting pilot is recorded as the causer of any resulting stranded bounty.
- Booking conflict resolution -- when a pilot books an aircraft through normal channels (not through the bounty system), any unclaimed repositioning bounty for that aircraft is automatically cancelled.
- Staff reposition cleanup -- when staff manually moves an aircraft, any unclaimed repositioning bounty for it is cancelled.
- Move protection -- staff cannot manually reposition an aircraft that has active bookings. All bookings must be cancelled first.
- Hub/base skip -- when
REPOSITIONING_SKIP_HUBS_BASESis enabled, aircraft parked at company hubs or bases are not considered idle, even if they haven't flown recently.
Configuration Reference
| Setting | Description | Default |
|---|---|---|
REPOSITIONING_ENABLED | Master toggle for automatic repositioning bounty creation. | On |
REPOSITIONING_SKIP_HUBS_BASES | Skip repositioning for aircraft at company hub or base airports. | Off |
REPOSITIONING_IDLE_HOURS | Hours an aircraft must be idle away from base before a bounty is auto-created. | Airline-configured |
REPOSITIONING_MAX_HOPS | Maximum number of legs (schedule hops) the BFS route finder will consider. | Airline-configured |
REPOSITIONING_BOUNTY_EXPIRATION_HOURS | Hours before an uncompleted repositioning bounty expires and the aircraft is teleported to base. | Airline-configured |
All repositioning settings are available both in System Settings and on the OCC Repositioning Dashboard.
Notifications
| Notification | Recipient | Trigger |
|---|---|---|
| Repositioning bounty available | Pilots | A new bounty is published. |
| Bounty expiration | Pilots | A claimed bounty expires without completion. |
UnroutableAircraftNotification | Staff | No valid route found for an out-of-position aircraft within the max hop limit. |