System Settings
Backoffice path: backoffice/settings/system
Available to roles: System Administrator, Administrator
Overview
System Settings is a dynamic key-value configuration store that controls platform behavior across every module. Settings are grouped by module (category) and can be modified at any time. All changes take effect immediately -- there is no publish or deploy step.
Setting Structure
Each setting entry has the following properties:
| Property | Description |
|---|---|
| Display Name | Human-readable label shown in the interface |
| Description | Explanation of what the setting controls and its expected values |
| Module | The category/module the setting belongs to (used for grouping) |
| Type | Data type: choices (select from predefined options), int (integer), or string (free text) |
| Value | The current value of the setting |
| Choices | For choices type only -- the list of valid options to select from |
Key Settings by Category
Career System
| Setting | Type | Description |
|---|---|---|
CAREER_ENABLED | choices | Master toggle for the career system. When disabled, career progression features (rank promotions, demotions, inactivity tracking) are turned off. |
INACTIVITY_DAYS | int | Number of days of inactivity before a pilot is subject to rank demotion. |
Booking Configuration
| Setting | Type | Description |
|---|---|---|
BOOKING_EXPIRATION_HOURS | int | Hours before an unflown booking expires and is automatically cancelled. Default: 48. |
UNIQUE_SCHEDULE_BOOKING | choices | When enabled, a schedule can only be booked once at a time (no duplicate active bookings for the same schedule). |
UNIQUE_AIRCRAFT_BOOKING | choices | When enabled, an aircraft can only appear in one active booking at a time, preventing double-booking. |
DIRECTED_REROLL_COSTS_POINTS | choices | When enabled (default: On), each reroll of a directed schedule deducts the same Points cost as the initial generation. When disabled, rerolls are free. |
PREFILE_CUSTOM_RMK | string | Custom RMK prefix injected into network prefile links (VATSIM, IVAO, POSCON, PilotEdge). When set, the prefile buttons on the briefing page use modified URLs that prepend this value to SimBrief's remarks. Forward slashes and special characters are allowed. Example: VOESAMBA CS/SAMBA WEB/VOESAMBA.COM. Leave empty to use SimBrief's default prefile links. |
Booking Costs
| Setting | Type | Description |
|---|---|---|
| Booking cost mode | choices | Determines how booking costs are calculated: fixed (flat rate per booking) or per-mile (cost scales with route distance). |
| Deadhead costs | int/string | Cost applied to deadhead (repositioning) legs within a booking. |
DEADHEAD_HUB_BASE_FREE | choices | When On, deadheading to a company hub or base airport is free (no points charged). Default: Off. |
| Fleet booking surcharge | int/string | Additional cost applied when booking aircraft from a specific fleet. |
| Aircraft booking surcharge | int/string | Additional cost applied when booking a specific aircraft (on top of any fleet surcharge). |
| Cancellation penalties | int/string | Cost deducted from the pilot's balance when a booking is cancelled. |
Auto-Approval
| Setting | Type | Description |
|---|---|---|
| Auto-approval toggles | choices | Control whether certain submissions (e.g., flights, documents) are automatically approved or require manual staff review. |
Spotter Photos
| Setting | Type | Description |
|---|---|---|
SPOTTER_PHOTO_POINTS | int | Number of points awarded for each approved spotter photo submission. |
SPOTTER_FIRST_PHOTO_POINTS | int | Bonus points awarded when a pilot submits the first-ever spotter photo for a specific aircraft. |
Repositioning / Ferry Flights
| Setting | Type | Description |
|---|---|---|
REPOSITIONING_ENABLED | choices | Master toggle for automatic repositioning bounty creation. When Off, the idle scanner does not create new bounties. Default: On. |
REPOSITIONING_SKIP_HUBS_BASES | choices | When On, aircraft located at any company hub or base airport are excluded from idle scanning. Default: Off. |
REPOSITIONING_IDLE_HOURS | int | Number of hours an aircraft must be idle at an airport before it becomes eligible for a repositioning (ferry) flight. |
REPOSITIONING_MAX_HOPS | int | Maximum number of intermediate stops allowed in a repositioning route. |
REPOSITIONING_BOUNTY_EXPIRATION_HOURS | int | Hours before an unclaimed repositioning bounty expires. |
These settings can also be configured directly from the OCC Repositioning Dashboard (backoffice/occ/repositioning).
VOCC (Voice Communications)
| Setting | Type | Description |
|---|---|---|
VOCC_ENABLED | choices | Master toggle for the voice communications (VOCC) system. |
| VOCC sub-toggles | choices | Granular toggles for individual VOCC features (specific voice packs, language options, etc.). |
General
| Setting | Type | Description |
|---|---|---|
LIVERIES_REPOSITORY_URL | string | URL to an external liveries repository (e.g. Google Drive, Mega). When set, an informational callout with a link to this URL is shown at the top of the in-app Liveries page (/liveries). |
Discord
| Setting | Type | Description |
|---|---|---|
DISCORD_FLIGHT_NOTIFICATIONS | choices | Send Discord notifications when flights start and complete. |
DISCORD_DAILY_RANKINGS | choices | Send daily top pilot rankings to Discord. |
DISCORD_DAILY_RANKINGS_HOUR | int | UTC hour (0-23) at which daily rankings are posted. |
DISCORD_SPOTTER_NOTIFICATIONS | choices | Send Discord notifications when spotter photos are approved. |
DISCORD_ALTERNATE_NOTIFICATIONS | choices | Send Discord staff notifications when a pilot declares an alternate. |
These settings are also configurable from the Discord Integration settings page (backoffice/settings/discord).
Editing Settings
- Navigate to
backoffice/settings/system. - Settings are displayed grouped by their module. Locate the setting you want to change.
- Modify the value:
- For choices type: select from the dropdown of valid options.
- For int type: enter a whole number.
- For string type: enter the desired text value.
- Save the change.
All setting changes take effect immediately across the entire platform. There is no staging or preview mechanism. Exercise caution when modifying settings that affect active bookings, flights, or cost calculations.
Permissions
Modifying system settings requires the update ability on the SystemSetting model. Both the System Administrator and Administrator roles include this ability by default.