Career Mode User Guide: Difference between revisions

From FSFO Support Hub
 
(14 intermediate revisions by the same user not shown)
Line 321: Line 321:
Current Total Score model:
Current Total Score model:


Each career flight starts at Total Score = 100
Each career flight starts at Total Score = 100.


Score deductions are then applied for:
Score deductions are then applied for:
Line 330: Line 330:
- General errors
- General errors


Passenger Comfort is tracked separately and is also deducted from the final Total Score.
Passenger Comfort is tracked separately and can also reduce the final Total Score.


Final Total Score = Pilot Score - Comfort Score
Final Total Score = Pilot Score - Comfort Penalty - Passenger Outcome Penalty
</pre>
</pre>
</div>
</div>


'''Landing Score''' is calculated separately from touchdown performance:
=== Total Score Deductions ===


<div style="margin:0.6em 0; padding:0.8em 1em; background:#f4f9f6; border-left:6px solid #5cb85c; border-radius:8px;">
<div style="margin:0.6em 0; padding:0.8em 1em; background:#fdf8ee; border-left:6px solid #d58512; border-radius:8px;">
<pre>
<pre>
Landing Score components:
Critical
 
Crash detected = score set to 0
- Threshold: landing rate greater than 900 FPM
 
Stall detected = -10
- Threshold: stall warning is active


Vertical speed              = 40%
Overspeed warning = -10
Touchdown G-force          = 30%
- Threshold: overspeed warning is active
Runway threshold distance  = 30%


If runway distance cannot be determined, FSFO redistributes the weights across
Aircraft overweight = -10
vertical speed and G-force only.
- Threshold: gross weight is greater than maximum gross weight


A Landing Score below 80 triggers a Landing Evaluation penalty.
Unstable approach = -10
- Checked only between 1,000 ft AGL and 100 ft AGL
- Triggered if vertical speed is outside -1200 to -300 FPM
  or bank angle is greater than 25°
</pre>
</pre>
</div>
</div>


Current Total Score deductions:
<div style="margin:0.6em 0; padding:0.8em 1em; background:#fdf8ee; border-left:6px solid #d58512; border-radius:8px;">
<pre>
Configuration
 
Flaps misconfigured / flap overspeed = -6
- Triggered if:
  - flap overspeed is detected
  - or, during climb, flaps are not clean below 200 ft AGL
  - or, on final, landing flaps are not set below 1,000 ft AGL
 
Gear misconfigured / gear overspeed = -6
- Triggered if:
  - landing gear overspeed is detected
  - or gear is still down above 499 ft AGL during climb
  - or gear is not extended below 1,000 ft AGL on final
 
Spoilers not deployed on rollout = -6
- Triggered when:
  - spoilers are available
  - IAS is between 80 and 95
  - spoiler position is less than 6000
 
Excess G-force = -6
- Threshold: absolute G-force is greater than 2.5 G
 
Fuel management failure = -2
- Threshold: landing fuel is below 7% of total fuel capacity
</pre>
</div>


<div style="margin:0.6em 0; padding:0.8em 1em; background:#fdf8ee; border-left:6px solid #d58512; border-radius:8px;">
<div style="margin:0.6em 0; padding:0.8em 1em; background:#fdf8ee; border-left:6px solid #d58512; border-radius:8px;">
<pre>
<pre>
Critical
Lights
- Crash detected = score set to 0
 
- Stall detected = -10
Navigation lights misconfigured = -2
- Overspeed warning = -10
- Threshold: ground speed greater than 5 during taxi and navigation lights are off
- Aircraft overweight = -10
 
- Unstable approach = -10
Beacon lights misconfigured = -2
- Landing lights left on above 18,500 AGL = -2
- Threshold: ground speed greater than 5 during taxi and beacon light is off


Configuration
Strobe lights misconfigured = -2
- Flaps misconfigured / flap overspeed = -6
- Threshold: strobe lights are off during climb or final
- Gear misconfigured / gear overspeed = -6
- Spoilers not deployed on rollout = -6
- Excess G-force = -6
- Fuel management failure = -2


Lights
Landing lights misconfigured = -2
- Navigation lights misconfigured = -2
- Threshold: landing lights are not on when required
- Beacon lights misconfigured = -2
- Also triggered if landing lights are left on above 18,500 ft AGL
- Strobe lights misconfigured = -2
</pre>
- Landing lights not on when required = -2
</div>


<div style="margin:0.6em 0; padding:0.8em 1em; background:#fdf8ee; border-left:6px solid #d58512; border-radius:8px;">
<pre>
Speed / Angle
Speed / Angle
- Pitch angle exceeded = -5
- Bank angle exceeded = -5
- IAS exceeded below 10,000 MSL = -4
- Ground speed exceeded while taxiing = -4


Pitch angle exceeded = -5
- Threshold: absolute pitch angle greater than 25°
Bank angle exceeded = -5
- Threshold: absolute bank angle greater than 35°
IAS exceeded below 10,000 MSL = -4
- Triggered when:
  - IAS greater than 260
  - altitude is below 10,000 MSL
  - aircraft empty weight is greater than 200,000 lbs
Ground speed exceeded while taxiing = -4
- Threshold: ground speed greater than 30
</pre>
</div>
<div style="margin:0.6em 0; padding:0.8em 1em; background:#fdf8ee; border-left:6px solid #d58512; border-radius:8px;">
<pre>
General
General
- Pause used = -1
 
- Slew used = -1
Landing score below passing threshold = -6
- Landing score below passing threshold = -6
- Threshold: Landing Score below 80
</pre>
</pre>
</div>
</div>
=== Landing Score ===
'''Landing Score''' is calculated separately from touchdown performance.
<div style="margin:0.6em 0; padding:0.8em 1em; background:#f4f9f6; border-left:6px solid #5cb85c; border-radius:8px;">
<pre>
Landing Score components:
Vertical speed              = 35%
Touchdown G-force          = 15%
Runway threshold distance  = 30%
Runway centerline          = 20%
A Landing Score below 80 triggers a Landing Evaluation penalty.
</pre>
</div>
=== Landing Score Details ===
<div style="margin:0.6em 0; padding:0.8em 1em; background:#eef3fb; border-left:6px solid #1f4fa3; border-radius:8px;">
<pre>
Vertical-speed score buckets:
>= 750 FPM = 0
500-749 FPM = 50
400-499 FPM = 70
300-399 FPM = 80
200-299 FPM = 90
100-199 FPM = 100
0-99 FPM = 90
</pre>
</div>
<div style="margin:0.6em 0; padding:0.8em 1em; background:#eef3fb; border-left:6px solid #1f4fa3; border-radius:8px;">
<pre>
G-force score:
Ideal touchdown G-force is 1.0 G.
The score degrades linearly as touchdown G-force increases toward 2.5 G.
</pre>
</div>
=== Qualification for Progression ===


A flight is currently marked '''Qualified for Progression''' when '''Total Score is 90 or greater'''.
A flight is currently marked '''Qualified for Progression''' when '''Total Score is 90 or greater'''.
Line 398: Line 491:
* fines paid
* fines paid
* critical, configuration, lights, and speed error counts
* critical, configuration, lights, and speed error counts
* landing data such as landing rate, landing G, and block fuel
* landing rate
* landing G
* block fuel
* landing score
* total score


[[#top|Back to top]]
[[#top|Back to top]]
Line 413: Line 510:
* the flight is a valid career flight
* the flight is a valid career flight


<div style="margin:0.6em 0; padding:0.8em 1em; background:#eef3fb; border-left:6px solid #1f4fa3; border-radius:8px;">
<div style="margin:0.6em 0; padding:0.8em 1em; background:#eef3fb; border-left:6px solid #1f4fa3; border-radius:8px;"><pre>
<pre>
Current comfort limits:
Current comfort limits:


Line 422: Line 518:


Taxi braking
Taxi braking
- both brakes >22000 while ground speed >9 and not on a runway
- both brakes >90% of Max while ground speed >9 and not on a runway


Jerky taxi turning
Jerky taxi turning
- slip/skid >25 = level 1
- FSFO uses the same slip/skid thresholds, but the ground-speed trigger now depends on aircraft weight.
- slip/skid >50 = level 2
 
Jerky taxi turning penalty levels:
- Small aircraft, acftMaxGrossWeight < 60,000 lbs:
  - slip/skid >50 while ground speed >15 kt and not on a runway = level 1
  - slip/skid >70 while ground speed >15 kt and not on a runway = level 2
 
- Narrow-body / medium aircraft, acftMaxGrossWeight 60,000-299,999 lbs:
  - slip/skid >50 while ground speed >12 kt and not on a runway = level 1
  - slip/skid >70 while ground speed >12 kt and not on a runway = level 2
 
- Wide-body / heavy aircraft, acftMaxGrossWeight >= 300,000 lbs:
  - slip/skid >50 while ground speed >10 kt and not on a runway = level 1
  - slip/skid >70 while ground speed >10 kt and not on a runway = level 2


G-force in air
G-force in air
- |G - 1.0| >0.30 = level 1
- |G - 1.0| >0.45 = level 1
- |G - 1.0| >0.45 = level 2
- |G - 1.0| >0.55 = level 2


Bank angle in air
Bank angle in air
- |bank| >25° = level 1
- |bank| >30° = level 1
- |bank| >35° = level 2
- |bank| >35° = level 2


Vertical speed in climb
Pitch Change
- |VS| >2500 = level 1
- pitch rate > 3° per second for 2 seconds = level 1
- |VS| >3200 = level 2
- pitch rate > 5° per second for 1 second = level 2
- |VS| >4000 = level 3
- pitch rate > 8° per second immediately = level 3
 
Vertical speed in airborne flight
- |VS| >1800 = level 1
- |VS| >2500 = level 2
- |VS| >3200 = level 3
 
Vertical speed on final
- |VS| >1000 = level 1
- |VS| >1300 = level 2
- |VS| >1700 = level 3


Slip/skid in air
Slip/skid in air
- slip/skid >25 = level 1
- slip/skid >35 = level 1
- slip/skid >50 = level 2
- slip/skid >60 = level 2


Landing firmness
Landing firmness
Line 460: Line 558:


Rollout braking
Rollout braking
- both brakes >22000 while ground speed >40
- both brakes >90% of Max and ground speed >40
</pre>
</pre>
</div>
</div>


<div style="margin:0.6em 0; padding:0.8em 1em; background:#f4f9f6; border-left:6px solid #5cb85c; border-radius:8px;">
<div style="margin:0.6em 0; padding:0.8em 1em; background:#f4f9f6; border-left:6px solid #5cb85c; border-radius:8px;">
<pre>Current comfort penalty values:
Taxi Too Fast                    = 0 / 2 / 4
Braking Too Hard                = 0 / 4 on taxi, 0 / 2 on rollout
Jerky Turning                    = 0 / 1 / 2
Excessive G-Force                = 0 / 2 / 4
Excessive Bank Angle            = 0 / 1 / 2
Pitch Rate Change                = 0 / 1 / 2 / 3
Slip/Skid Too High              = 0 / 1 / 2
Landing Too Firm                = 0 / 1 / 2</pre>
</div>
FSFO stores only the highest bucket reached for each comfort category. If the same category is triggered again at the same or a lower level, no additional penalty is added. If a worse level is reached later, only the difference to the higher bucket is added.
=== Effect on Final Career Score ===
If '''Passenger comfort''' is enabled, the final career score now uses both:
* the normal '''comfort event penalty''' from the limits above
* the '''actual passenger condition at shutdown/block-in''' before deboarding starts
The final score is calculated as:
<pre>
<pre>
Current comfort penalty values:
Total Score = Pilot Score - Comfort Penalty - Passenger Outcome Penalty
</pre>


Taxi Too Fast          = 0 / 2 / 4
The '''Comfort Penalty''' is the running total from the monitored comfort events above.
Braking Too Hard      = 0 / 4 on taxi, 0 / 2 on rollout
 
Jerky Turning          = 0 / 1 / 2
The '''Passenger Outcome Penalty''' is a separate end-of-flight penalty based on how the cabin actually finished the flight. This lets poor passenger outcomes matter even if they were caused by a combination of delay, anxiety, hunger, thirst, health decline, and service timing.
Excessive G-Force      = 0 / 2 / 4
 
Excessive Bank Angle   = 0 / 1 / 2
=== End-of-Flight Passenger Outcome Score ===
VS Too High (Climb)   = 0 / 1 / 2 / 3
 
VS Too High (Airborne) = 0 / 1 / 2 / 3
At shutdown, FSFO takes the average passenger values and builds a cabin outcome score from:
VS Too High (Final)   = 0 / 1 / 2 / 3
 
Slip/Skid Too High    = 0 / 1 / 2
* Satisfaction
Landing Too Firm      = 0 / 1 / 2
* Anxiety
* Health
* Hunger
* Thirst
 
The cabin outcome score is weighted as:
 
<pre>
Cabin Outcome Score =
   (Satisfaction x 0.34) +
  ((100 - Anxiety) x 0.22) +
  (Health x 0.22) +
  ((100 - Hunger) x 0.11) +
  ((100 - Thirst) x 0.11)
</pre>
</pre>
</div>


FSFO stores only the highest bucket reached for each comfort category. If the same category is triggered again at the same or a lower level, no additional penalty is added. If a worse level is reached later, only the difference to the higher bucket is added.
Higher satisfaction and health help the score.
Higher anxiety, hunger, and thirst reduce the score.
 
=== Passenger Outcome Penalty Rules ===
 
At block-in, FSFO adds a modest extra penalty when passenger outcomes are poor:
 
<pre>
If Cabin Outcome Score < 85:
  add ceil((85 - score) / 4)
 
If average Satisfaction < 70:
  add ceil((70 - satisfaction) / 10)
 
If average Anxiety > 40:
  add ceil((anxiety - 40) / 15)
 
Maximum Passenger Outcome Penalty = 15 points
</pre>
 
This penalty is intentionally capped so that passenger outcomes matter, but do not completely overpower the pilot score.
 
=== Important Note About Passenger Comfort % ===
 
The live '''Passenger Comfort %''' shown on the Operations page is not used directly for the final score.
 
That live value already includes the handling comfort penalty, so using it again for final scoring would double-penalize the same event. To avoid that, FSFO uses the clean '''Cabin Outcome Score''' above for the end-of-flight passenger outcome penalty.


[[#top|Back to top]]
[[#top|Back to top]]

Latest revision as of 02:59, 30 April 2026

FSFO Career Mode User Guide

This page explains how Career Mode works in FSFO, including setup, pilot progression, schedules, training, scoring, fatigue, passenger comfort, company discipline, and the permanent flight log.

Career Mode uses a local database to track your pilot profile, your active schedule, and your long-term flight history.


Overview

Career Mode is designed for pilots who want persistent progression across multiple flights instead of isolated one-off sessions.

Career Mode is built around three main areas:

  • Pilot Profile

Your pilot's name, company, rank, tier, balance, location, type ratings, score, errors, contract legs, and training status

  • Current Schedule

Your active scheduled legs

  • Flight Log

Your permanent flight history and performance record

Use Career Mode if you want your flights, scores, contracts, and company history to carry forward over time.

Back to top


Quick Start

To begin using Career Mode:

  1. Open the Career Dashboard
  2. Click Rebuild Database the first time you use Career Mode
  3. Review, Select and Save your Career Options
  4. Enter your pilot name
  5. Select a company
    1. You can click on the underline to see all compaines
  6. Select a type rating (the first one is free)
  7. Click Apply Company
  8. Click Generate Schedule
  9. Fly the next pending leg
  10. Review your results in the Flight Log

Once accepted, your pilot profile is created and Career Mode begins tracking your progress.

Important: A flight does not automatically count toward progression. If schedule enforcement is enabled, you must complete the next pending leg correctly for the flight to advance your career.

Back to top


Career Mode Flow at a Glance

Typical Career Mode flow:

1. Create or rebuild the database
2. Apply to a company
3. Configure career options
4. Generate a schedule
5. Fly the next pending leg
6. Receive a Landing Score and Total Score
7. Update pay, balance, progression, fatigue, warnings, and flight log

Back to top


Career Dashboard

The Career Dashboard includes the following major functions:

  • Rebuild Database

Creates or recreates the local career database

  • Apply Company

Applies for a company and creates your pilot profile if needed

  • Apply Type Rating

Starts type-rating training

  • Generate Schedule

Builds your current schedule

  • Load Stats

Refreshes pilot statistics

  • Save Options

Saves career settings

  • Flight Log

Opens the permanent flight history window

NOTE: The current Show Contract button is not implemented yet.

Back to top


Career Options

These options affect how schedules are generated, when flights count toward progression, and whether readiness checks can block a flight.

  • Start from last airport

Requires you to begin your next career flight from your saved current location. If enabled, FSFO checks that you are within 10 NM of the pilot's stored airport before the flight is considered ready.

  • Fatal crash starts over

If enabled, a fatal crash can end your current career and force you to start over.

  • Must fly scheduled flight

Only credits career progress when you complete the next pending scheduled leg in order. If enabled and you do not fly the correct leg, the flight can still be logged, but it will not advance total legs, average score, balance, rank, or career tier.

  • Passenger comfort

Enables passenger-comfort rules so smoother, better-managed flights matter more to your career results.

  • Can be fired

Enables the career rule that allows poor performance or major failures to put your employment at risk.

  • Enable fatigue

Turns on fatigue tracking. If enabled, FSFO checks recent workload and can block career-flight readiness when fatigue rises above the allowed threshold.

  • Schedule based on rank

Automatically builds schedules using the pilot's current rank and tier to determine the maximum leg distance. If a full schedule cannot be built within that cap, FSFO falls back to the full eligible route set.

  • Must have type rating

Requires the pilot to hold the appropriate type rating before operating aircraft that need one.

  • Lock schedule until complete

Prevents generating a new schedule while an existing schedule still has incomplete legs.

  • Application based on rank

Makes company applications depend on your current rank, including tier eligibility and hiring probability. It also enforces the rejection cooldown for repeat applications.

Back to top


Before You Fly: Readiness and Schedule Rules

Before a career flight can fully count, FSFO may check:

  • your current company
  • your current schedule
  • your current location
  • type-rating requirements
  • fatigue
  • readiness rules tied to enabled career options

If Start from last airport is enabled, you must begin near your saved pilot location.

If Lock schedule until complete is enabled, you cannot generate a new schedule while your current one still has incomplete legs.

If Enable fatigue is enabled, readiness fails if your fatigue is too high.

If Must have type rating is enabled, FSFO verifies that you already hold the required type rating for the current aircraft.

Back to top


Schedule Generation

Schedules are built from your route data and filtered by:

  • current airline
  • rank
  • type rating, if type-rating enforcement is enabled
  • current location and preferred-airport logic

If Schedule Based On Rank is enabled, FSFO automatically applies a maximum leg distance by rank:

Rank 1 = 600 NM
Rank 2 = 1200 NM
Rank 3 = 2500 NM
Rank 4 = 5000 NM
Rank 5 = 10000 NM

FSFO first tries to build a schedule using that cap. If it cannot build a full schedule, it falls back to the full eligible route pool.

If Schedule based on rank is disabled, the Max NM value entered by the user is enforced strictly.

If Lock schedule until complete is enabled, FSFO will not generate a new schedule while an incomplete schedule already exists.

Back to top


Schedule Bidding System

The Schedule Bidding System lets you request specific route segments when generating a Career Mode schedule.

Enter your bids in the Route Bid box using directional airport pairs separated by commas, for example:

KBOS-KBGR,KBGR-KDEN

Bids are directional only, so KBOS-KBGR is different from KBGR-KBOS.

FSFO applies bids in the order entered, and each bid must maintain schedule continuity. The next bid must depart from the airport where the previous leg ended, otherwise the remaining bid is wasted.

If Schedule Based On Rank is enabled, each bid leg is awarded based on the pilot's current rank:

Current rank-based bid chances:

Rank 1 = 20%
Rank 2 = 40%
Rank 3 = 60%
Rank 4 = 80%
Rank 5 = 90%

If Schedule Based On Rank is disabled, FSFO will try to honor the requested bid exactly as entered, but only if it can still build a continuous schedule from the pilot's current location.

Back to top


When a Flight Counts Toward Progression

A flight does not automatically count toward career progression.

If Must fly scheduled flight is enabled, the flight must complete the next pending leg in order.

FSFO compares:

  • the actual departure airport
  • the actual arrival airport

For the leg to count, the pilot must:

  • start at the correct airport
  • arrive at the correct airport
  • match the next pending scheduled leg

If the flight does not meet that requirement:

  • it can still be logged
    • it will not increase Total Legs
    • it will not update Average Score
    • it will not reduce Contract Remaining Legs
    • it will not update Balance
    • it will not trigger promotion

If the next scheduled leg is completed correctly, it is marked COMPLETED. If that was the final remaining leg, the schedule is cleared.

Back to top


Flying a Career Flight

Before flight, FSFO captures:

  • company
  • flight number
  • aircraft
  • departure airport
  • arrival airport

During flight, Career Mode monitors multiple operational and scoring categories.

Examples include:

  • pitch exceedance
  • bank exceedance
  • G-force exceedance
  • IAS exceedance
  • taxi-speed exceedance
  • light misuse
  • fuel-management failures
  • landing-performance issues

These events affect the total score and increment the appropriate error counters.

Back to top


Total Score and Qualification

Career Mode stores both:

  • Landing Score
  • Total Score

Landing Score and Total Score are not the same thing.

Current Total Score model:

Each career flight starts at Total Score = 100.

Score deductions are then applied for:
- Critical errors
- Configuration errors
- Lights errors
- Speed / angle errors
- General errors

Passenger Comfort is tracked separately and can also reduce the final Total Score.

Final Total Score = Pilot Score - Comfort Penalty - Passenger Outcome Penalty

Total Score Deductions

Critical

Crash detected = score set to 0
- Threshold: landing rate greater than 900 FPM

Stall detected = -10
- Threshold: stall warning is active

Overspeed warning = -10
- Threshold: overspeed warning is active

Aircraft overweight = -10
- Threshold: gross weight is greater than maximum gross weight

Unstable approach = -10
- Checked only between 1,000 ft AGL and 100 ft AGL
- Triggered if vertical speed is outside -1200 to -300 FPM
  or bank angle is greater than 25°
Configuration

Flaps misconfigured / flap overspeed = -6
- Triggered if:
  - flap overspeed is detected
  - or, during climb, flaps are not clean below 200 ft AGL
  - or, on final, landing flaps are not set below 1,000 ft AGL

Gear misconfigured / gear overspeed = -6
- Triggered if:
  - landing gear overspeed is detected
  - or gear is still down above 499 ft AGL during climb
  - or gear is not extended below 1,000 ft AGL on final

Spoilers not deployed on rollout = -6
- Triggered when:
  - spoilers are available
  - IAS is between 80 and 95
  - spoiler position is less than 6000

Excess G-force = -6
- Threshold: absolute G-force is greater than 2.5 G

Fuel management failure = -2
- Threshold: landing fuel is below 7% of total fuel capacity
Lights

Navigation lights misconfigured = -2
- Threshold: ground speed greater than 5 during taxi and navigation lights are off

Beacon lights misconfigured = -2
- Threshold: ground speed greater than 5 during taxi and beacon light is off

Strobe lights misconfigured = -2
- Threshold: strobe lights are off during climb or final

Landing lights misconfigured = -2
- Threshold: landing lights are not on when required
- Also triggered if landing lights are left on above 18,500 ft AGL
Speed / Angle

Pitch angle exceeded = -5
- Threshold: absolute pitch angle greater than 25°

Bank angle exceeded = -5
- Threshold: absolute bank angle greater than 35°

IAS exceeded below 10,000 MSL = -4
- Triggered when:
  - IAS greater than 260
  - altitude is below 10,000 MSL
  - aircraft empty weight is greater than 200,000 lbs

Ground speed exceeded while taxiing = -4
- Threshold: ground speed greater than 30
General

Landing score below passing threshold = -6
- Threshold: Landing Score below 80

Landing Score

Landing Score is calculated separately from touchdown performance.

Landing Score components:

Vertical speed              = 35%
Touchdown G-force           = 15%
Runway threshold distance   = 30%
Runway centerline           = 20%

A Landing Score below 80 triggers a Landing Evaluation penalty.

Landing Score Details

Vertical-speed score buckets:

>= 750 FPM = 0
500-749 FPM = 50
400-499 FPM = 70
300-399 FPM = 80
200-299 FPM = 90
100-199 FPM = 100
0-99 FPM = 90
G-force score:

Ideal touchdown G-force is 1.0 G.
The score degrades linearly as touchdown G-force increases toward 2.5 G.

Qualification for Progression

A flight is currently marked Qualified for Progression when Total Score is 90 or greater.

The flight log stores the qualification result along with:

  • pay earned
  • fines paid
  • critical, configuration, lights, and speed error counts
  • landing rate
  • landing G
  • block fuel
  • landing score
  • total score

Back to top


Passenger Comfort

If Passenger comfort is turned on, FSFO monitors handling and comfort limits during taxi, rollout, climb, airborne flight, and final approach.

Passenger comfort is only monitored when:

  • Passenger comfort is enabled
  • the flight is a valid career flight
Current comfort limits:

Taxi speed
- >29 = Taxi Too Fast, level 1
- >34 = Taxi Too Fast, level 2

Taxi braking
- both brakes >90% of Max while ground speed >9 and not on a runway

Jerky taxi turning
- FSFO uses the same slip/skid thresholds, but the ground-speed trigger now depends on aircraft weight.

Jerky taxi turning penalty levels:
- Small aircraft, acftMaxGrossWeight < 60,000 lbs:
  - slip/skid >50 while ground speed >15 kt and not on a runway = level 1
  - slip/skid >70 while ground speed >15 kt and not on a runway = level 2

- Narrow-body / medium aircraft, acftMaxGrossWeight 60,000-299,999 lbs:
  - slip/skid >50 while ground speed >12 kt and not on a runway = level 1
  - slip/skid >70 while ground speed >12 kt and not on a runway = level 2

- Wide-body / heavy aircraft, acftMaxGrossWeight >= 300,000 lbs:
  - slip/skid >50 while ground speed >10 kt and not on a runway = level 1
  - slip/skid >70 while ground speed >10 kt and not on a runway = level 2

G-force in air
- |G - 1.0| >0.45 = level 1
- |G - 1.0| >0.55 = level 2

Bank angle in air
- |bank| >30° = level 1
- |bank| >35° = level 2

Pitch Change
- pitch rate > 3° per second for 2 seconds = level 1
- pitch rate > 5° per second for 1 second = level 2
- pitch rate > 8° per second immediately = level 3

Slip/skid in air
- slip/skid >35 = level 1
- slip/skid >60 = level 2

Landing firmness
- Landing G >= 1.40 or landing rate >= 350 = level 1
- Landing G >= 1.80 or landing rate >= 500 = level 2

Rollout braking
- both brakes >90% of Max and ground speed >40
Current comfort penalty values:

Taxi Too Fast                    = 0 / 2 / 4
Braking Too Hard                 = 0 / 4 on taxi, 0 / 2 on rollout
Jerky Turning                    = 0 / 1 / 2
Excessive G-Force                = 0 / 2 / 4
Excessive Bank Angle             = 0 / 1 / 2
Pitch Rate Change                = 0 / 1 / 2 / 3
Slip/Skid Too High               = 0 / 1 / 2
Landing Too Firm                 = 0 / 1 / 2

FSFO stores only the highest bucket reached for each comfort category. If the same category is triggered again at the same or a lower level, no additional penalty is added. If a worse level is reached later, only the difference to the higher bucket is added.

Effect on Final Career Score

If Passenger comfort is enabled, the final career score now uses both:

  • the normal comfort event penalty from the limits above
  • the actual passenger condition at shutdown/block-in before deboarding starts

The final score is calculated as:

Total Score = Pilot Score - Comfort Penalty - Passenger Outcome Penalty

The Comfort Penalty is the running total from the monitored comfort events above.

The Passenger Outcome Penalty is a separate end-of-flight penalty based on how the cabin actually finished the flight. This lets poor passenger outcomes matter even if they were caused by a combination of delay, anxiety, hunger, thirst, health decline, and service timing.

End-of-Flight Passenger Outcome Score

At shutdown, FSFO takes the average passenger values and builds a cabin outcome score from:

  • Satisfaction
  • Anxiety
  • Health
  • Hunger
  • Thirst

The cabin outcome score is weighted as:

Cabin Outcome Score =
  (Satisfaction x 0.34) +
  ((100 - Anxiety) x 0.22) +
  (Health x 0.22) +
  ((100 - Hunger) x 0.11) +
  ((100 - Thirst) x 0.11)

Higher satisfaction and health help the score. Higher anxiety, hunger, and thirst reduce the score.

Passenger Outcome Penalty Rules

At block-in, FSFO adds a modest extra penalty when passenger outcomes are poor:

If Cabin Outcome Score < 85:
  add ceil((85 - score) / 4)

If average Satisfaction < 70:
  add ceil((70 - satisfaction) / 10)

If average Anxiety > 40:
  add ceil((anxiety - 40) / 15)

Maximum Passenger Outcome Penalty = 15 points

This penalty is intentionally capped so that passenger outcomes matter, but do not completely overpower the pilot score.

Important Note About Passenger Comfort %

The live Passenger Comfort % shown on the Operations page is not used directly for the final score.

That live value already includes the handling comfort penalty, so using it again for final scoring would double-penalize the same event. To avoid that, FSFO uses the clean Cabin Outcome Score above for the end-of-flight passenger outcome penalty.

Back to top


Fatigue

If Enable fatigue is turned on, FSFO calculates fatigue from your recent workload using both:

  • number of legs
  • block hours

It evaluates three rolling workload windows:

  • Last 24 hours
  • Last 72 hours
  • Last 7 days
Current formula:

Acute Load  = max(legs in last 24h / 3.5, block hours in last 24h / 7)
Short Load  = max(legs in last 72h / 7,   block hours in last 72h / 16)
Weekly Load = max(legs in last 7d  / 14,  block hours in last 7d  / 32)

The 24-hour window is intentionally stricter, so 4 legs in a day is near the limit and 5 legs in a day will usually fail readiness.

Each load is clamped from 0 to 1.

Final fatigue:

Fatigue = (Acute Load × 50) + (Short Load × 30) + (Weekly Load × 20)

The result is capped at 100 and rounded to the nearest whole percent.

Career Mode readiness fails if fatigue is greater than or equal to 75%.

Back to top


Companies and Company Tiers

Companies are loaded from Airlines.cfg. Each airline has a tier. That tier affects hiring rules, contract-leg requirements, and pay scaling.

Current contract-leg requirements by company tier:

Tier 1 = 30 legs
Tier 2 = 60 legs
Tier 3 = 90 legs
Tier 4 = 120 legs
Tier 5 = 150 legs

If you leave a company before satisfying the required legs, Career Mode can apply a contract-break penalty.

Back to top


Ranks

Career Mode uses a five-rank system:

  • Rank 1 - Cadet
  • Rank 2 - Second Officer
  • Rank 3 - First Officer
  • Rank 4 - Captain
  • Rank 5 - Senior Captain

Your rank affects:

  • the maximum leg distance used in automatic scheduling
  • your bidding advantage when schedules are generated
  • which companies you can apply to if rank-based hiring is enabled
  • your promotion eligibility
  • your pay multiplier through Career Tier

Back to top


How Promotions Work

Promotions are based on two things:

  • Total Legs
  • Average Score

Requirement: Your Average Score must be at least 92.0 before any promotion is possible.

Promotion thresholds:

50 total legs  = Second Officer
125 total legs = First Officer
200 total legs = Captain
350 total legs = Senior Captain

If your flight is not credited toward progression, it will not count toward promotion.

Back to top


Career Tier and Pay

Each company has a base hourly pay rate. Base pay is assigned by region and is intended to reflect the average starting pay for airline pilots in that part of the world.

Career Tier increases with promotion. Pay is recalculated using a fixed hourly raise, not a multiplier.

Current Career Tier hourly raises:

Tier 1 = +$0/hr
Tier 2 = +$5/hr
Tier 3 = +$10/hr
Tier 4 = +$18/hr
Tier 5 = +$28/hr

Final hourly pay = company base hourly pay + current Career Tier hourly raise

When you are promoted, FSFO updates:

  • your rank
  • your career tier
  • your pay per hour

Back to top


Company Applications

If Application based on rank is enabled, not every pilot can freely join every airline tier.

Current hiring chances:

Cadet
- Tier 1 = 100%

Second Officer
- Tier 1 = 100%
- Tier 2 = 50%

First Officer
- Tier 1 = 100%
- Tier 2 = 100%
- Tier 3 = 50%

Captain
- Tier 1 = 100%
- Tier 2 = 100%
- Tier 3 = 75%

Senior Captain
- Tier 1 = 100%
- Tier 2 = 100%
- Tier 3 = 95%

If you are rejected by the same company, FSFO enforces a 7-day wait before trying again.

Back to top


Type Ratings

Type Ratings are used to control which aircraft a pilot is qualified to fly in Career Mode.

If Must Have Type Rating is enabled, FSFO checks the current aircraft against the type-rating alias file and verifies that the pilot already holds the required rating before the flight can qualify as career-ready.

A pilot must already belong to a company before applying for a new type rating. FSFO will not allow a new application if:

  • the pilot does not currently belong to a company
  • the pilot is already in training
  • the pilot already holds the selected type rating

When applying for a new type rating, FSFO offers two training paths:

Private Training
- deducts the training cost from your balance
- cost is adjusted by region using the current company's hub
- cannot be started if the new balance would fall below -75,000

Company Training
- does not charge the training cost directly to your balance
- increases your Contract Remaining Legs instead

Training length and cost depend on the selected type-rating group:

CRJ / F7X
- 5 training days
- Private Training: 15,000 × regional multiplier
- Company Training: +20 contract legs

A32 / B73
- 7 training days
- Private Training: 25,000 × regional multiplier
- Company Training: +35 contract legs

A31 / A33 / B76 / B77 / MD1 / MD11
- 10 training days
- Private Training: 45,000 × regional multiplier
- Company Training: +60 contract legs

All other supported type ratings
- 7 training days
- Private Training: 20,000 × regional multiplier
- Company Training: +30 contract legs

Once training is started, FSFO records the training type, start date, duration, and end date in the pilot profile.

Back to top


Company Discipline, Warnings, and Termination

If Can be fired is enabled, FSFO tracks company discipline through warnings and possible termination.

Warnings do not begin immediately. A pilot must complete at least 5 company legs before warning thresholds are evaluated.

After that point, FSFO checks the pilot's accumulated company error rates against the following warning thresholds:

Warning thresholds:

Critical errors      = 10% of company legs
Configuration errors = 25% of company legs
Speed errors         = 35% of company legs
Lights errors        = 50% of company legs

If any category reaches its threshold, FSFO issues a company warning and increases the pilot's warning count by 1.

A pilot may be terminated from the current company if either of the following occurs:

Termination conditions:

Warnings on file >= 3
or
Most recent flight Total Score < 50
or
Pilot's total average score < 80

If a pilot is terminated, FSFO currently applies the following career penalties:

  • current company is cleared
  • pay per hour is set to 0
  • company legs are reset to 0
  • contract remaining legs are reset to 0
  • critical, configuration, speed, and lights error totals are reset
  • warnings are reset to 0
  • the current schedule is cleared
  • the pilot is demoted by one rank, down to a minimum of Cadet
  • Career Tier is adjusted to match the new rank

If Can be fired is turned off, FSFO does not terminate the pilot through this system.

Back to top


Flight Log

The Flight Log is the permanent history of your career flights.

Each flight log entry stores:

  • date
  • company
  • flight number
  • aircraft
  • from airport
  • to airport
  • block time
  • landing score
  • total score
  • landing rate
  • landing G
  • block fuel
  • critical/configuration/lights/speed error counts
  • qualification result
  • pay earned
  • fines paid

Use the Flight Log window to review your performance over time.

Back to top


Route Map

After a schedule is generated, FSFO can build a route map from the loaded schedule legs and open it externally.

Back to top


Notes

Quick reference notes for current Career Mode behavior.

  • Career Mode currently supports one local pilot profile
  • The current schedule stores only the active trip
  • The flight log is the permanent historical record

Back to top


Troubleshooting

"PilotProfile was not found"

Create or rebuild the database, then apply to a company.

No schedule was generated

Check that:

  • routes.csv exists
  • the file format is valid
  • routes match the current airline
  • type-rating rules are not filtering everything out
  • the requested leg count is realistic for the route pool

My flight did not count toward progression

If Must fly scheduled flight is enabled, verify that:

  • you flew the next pending leg in order
  • you started at the scheduled departure airport
  • you arrived at the scheduled arrival airport
  • the flight number matched when required

I cannot generate a new schedule

If Lock schedule until complete is enabled, finish the current schedule first or turn that option off.

My flight was blocked before departure

Check whether one of the following options prevented readiness:

  • Start from last airport
  • Enable fatigue
  • Must have type rating

For additional setup help, see Getting Started. For general problem solving, see Troubleshooting.