How passenger demand actually works in PlaneSim
No spawned passengers, no fixed route values. Demand is a gravity model over origin and destination markets, recalculated daily, spent by nine customer types who compare everything you fly against everything else, including staying home.
Ask a veteran of this genre what separates a deep airline sim from a shallow one and the answer is usually demand. If a route has a fixed value and filling it is a formality, the game is a spreadsheet with liveries. PlaneSim's demand model is the part of the engine we spent the most time on, and it works differently enough from the genre norm to be worth explaining properly.
Markets, not routes
Demand in PlaneSim attaches to origin and destination pairs, not to flights. A market like Oslo to Rome has its own daily passenger potential, derived from a gravity model over the two catchments, recalculated every game day. The current public world runs 706 European airports; a full world draws on a curated set of roughly 4,000. Every pair that clears a floor is a live market, whether or not anyone serves it.
You do not fly a market, you compete for it. The engine builds the actual itineraries available in that market: your nonstop, a rival's one stop over Frankfurt, a two stop connection somebody's network accidentally created. Connections are only bookable if they respect the hub's minimum connecting time, which is set per airport and differs for domestic and international transfers. A tight connection bank at a hub with a 40 minute international MCT is a real engineering problem, not a slider.
Nine kinds of passenger, four cabins
Bookings happen through a cast of customer types, nine by default, who weigh fare, total travel time, number of transfers, schedule timing, comfort, service, and airline image. The weights differ per type and per cabin class, and PlaneSim books four of those: economy, premium economy, business, and first.
The consequence that surprises new players: the people evaluating your premium economy fare are not the same people evaluating your economy fare. A W cabin that undercuts your own business product can cannibalize it. A red eye departure loses the schedule sensitive types and keeps the price sensitive ones. None of this is scripted per route; it falls out of who is choosing.
The other consequence is that bad options lose to no option. Staying home and going by ground are always in the choice set. Price a thin market like a fortress hub and the passengers do not grudgingly pay; a share of them simply does not travel. Total demand in a market is partly yours to grow and partly yours to kill.
Seats are finite, spill is real
Inventory is per flight, per cabin. When your Tuesday departure sells out, the overflow does not evaporate; it spills to the remaining options in the market, which may be your Thursday flight, or your competitor. Watching spill patterns is how experienced players find frequency gaps. The engine does not tell you this directly. It shows you your own loads exactly and your market's shape vaguely, and you infer.
Which brings up the rule that shapes everything else.
You know what a real airline would know
PlaneSim enforces fog of war server side. Your own operational data is exact to the seat. Rival fares and schedules are public, as they are in reality. Rival loads, revenue, and bookings are hidden or bucketed. If you want exact numbers for a market, you earn them: fly it, or commission a market study.
One engineering note behind all of this: the interface never calculates a simulation number. Every figure on screen was computed by the engine and sent down; missing data renders as a dash, not a guess. When the demand model does something you did not expect, the number you are staring at is the real one, which makes the disagreement worth investigating. Usually the model knows something about your network that you do not.
The full reference lives in the wiki, written from the engine's code rather than from patch notes: wiki.theplanesim.com. The live world it describes is at play.theplanesim.com.