Career Mode User Guide

From FSFO Support Hub

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 is also deducted from the final Total Score.

Final Total Score = Pilot Score - Comfort 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.

Current Total Score deductions:

Critical
- Crash detected = score set to 0
- Stall detected = -10
- Overspeed warning = -10
- Aircraft overweight = -10
- Unstable approach = -10
- Landing lights left on above 18,500 AGL = -2

Configuration
- Flaps misconfigured / flap overspeed = -6
- Gear misconfigured / gear overspeed = -6
- Spoilers not deployed on rollout = -6
- Excess G-force = -6
- Fuel management failure = -2

Lights
- Navigation lights misconfigured = -2
- Beacon lights misconfigured = -2
- Strobe lights misconfigured = -2
- Landing lights not on when required = -2

Speed / Angle
- Pitch angle exceeded = -5
- Bank angle exceeded = -5
- IAS exceeded below 10,000 MSL = -4
- Ground speed exceeded while taxiing = -4

General
- Pause used = -1
- Slew used = -1
- Landing score below passing threshold = -6

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 data such as landing rate, landing G, and block fuel

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| >25° = level 1
- |bank| >35° = level 2

Vertical speed in climb (<10000 ft AGL)
- |VS| >4500 = level 1
- |VS| >5000 = level 2
- |VS| >6000 = level 3

Vertical speed in airborne flight (>10000 ft AGL)
- |VS| >4000 = level 1
- |VS| >4500 = level 2
- |VS| >5000 = level 3

Vertical speed on final(<10000 ft AGL)
- |VS| >1000 = level 1
- |VS| >1500 = level 2
- |VS| >1800 = 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
VS Too High (Climb)    = 0 / 1 / 2 / 3
VS Too High (Airborne) = 0 / 1 / 2 / 3
VS Too High (Final)    = 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.