Chapter 04

Regular Routes

How do I run a schedule? The weekly route plan, route settings and generation, freelance routes, the leaderboard and route ranks.

4.1 Routes Weekly Schedule

Switching views

The Planning button at the top right swaps the list for the resource grid. Next to it, the Strips / Table toggle picks how the list itself is drawn; that choice is remembered. Leaving Planning always clears any selection you had made.

Actions

  • New Route — Blank route, opening straight into its settings in edit mode.
  • Generate Set — Automatic route-set wizard from a hub airport.
  • Leaderboard — World ranking of the top routes.
  • Merge Similar — Merges duplicates (same departure, arrival, schedule, aircraft and crew) after confirmation.
  • Export / Flight log — CSV of the filtered routes, or one unified CSV of every flight of those routes (~last 30 days) with day, departure date, status, late flag and last comment.

The week

The schedule week runs Sunday to Saturday UTC; the bar shows its dates and the time left before it rolls over. Flights for the coming week are generated by the server on Sunday, so a route created mid-week waits for the next run. The week filter (Current, -1, -2, -3) looks back at past weeks inside expanded rows — there is no view of future weeks, because those flights do not exist yet.

When an active route got no flights this week, an orange banner says why: a route added this week waits for next Sunday's run, while a skipped week usually means the company was paused when that run happened.

Conflicts banner

Above the list, a banner appears when two things in your week cannot both happen: the same aircraft on two overlapping flights, or a crew member still resting when a flight is due to leave. It only reports what can be demonstrated from the schedule — back-to-back legs are legitimate and are never flagged. If the banner is absent, nothing overlapping was found; it is not a promise that every flight will succeed.

It also names an aircraft that will not be where its next AI flight departs. That flight cannot board: the server refuses it, and nothing waits behind it — the aircraft's other flights are not held. The server cancels the refused flight, and the route loses reliability, when the aircraft next departs on a later AI route flight, and at the latest when the schedule week turns, on Sunday 00:00 UTC.

Statistics and filters

Gauges for active and inactive routes, average reliability (green ≥ 70%, orange ≥ 40%, red below) and total earnings, each with a sparkline. Filter by Status, Aircraft, Route Set and free text on route number, ICAO or aircraft. The match count sits at the right of the toolbar. In Planning mode the statistics and filters fold away — the grid needs the height more than the gauges do.

Reading a route row

  • Status — Pending, In progress, Suspended, Week completed, No flights scheduled, Week missed or Inactive. Sorting lifts the states that need attention to the top. A crew resting pill appears next to the status when the route's pilot is asleep and a flight is due before they wake.
  • Route #, Route, Aircraft — Flight number on its own colour, departure → arrival ICAO, and the assigned aircraft; all clickable.
  • Fill Rate — One split pie per day: blue left half = PAX, coral right half = Cargo, height = forecast rate. Grey means the day is off.
  • Dep UTC / Arr UTC, Flights, Reliab, Earned — Next departure and arrival, flights flown over hours, reliability, total earnings. Hover them for the same times on your computer's clock.
  • SIM — A labelled cell, not a button: a red airplane means the route is flown in the simulator.
  • Edit and Duplicate — Duplicate creates an inactive copy, renumbered to the next free route number.

Click a row to expand it. Each scheduled flight shows its own journal — the log the server writes while preparing the flight, including the reason it was refused. The row carries the last entry, the one that says why; the small button next to it opens the full log, which is often a dozen lines long. Under each flight's slot, the same time appears on your computer's clock (« the day before » or « the day after » when the date differs); when a flight waits for an aircraft parked at another airport, hovering the line says until when the server keeps it and how to free it.

Planning — reading the grid

One row per aircraft, then one row per crew member, and seven day columns. Each block in a day cell is one route flying that day, coloured by that route's own colour (the one you pick in its settings); the number inside says how many times it flies that day. The same route-day therefore appears twice — once on the aircraft row, once on the pilot row.

  • Red cell — a conflict falls on that day for that resource.
  • Purple cell — that crew member is resting during that day.
  • Clicking a block opens its route.

There is no time axis inside a day, and that is deliberate. At the app's minimum window width a day column is about 113 pixels: a two-hour flight drawn to scale would be nine pixels wide — unreadable and impossible to click reliably. Equal-width blocks say density and ownership honestly instead of faking an accuracy the space cannot carry. Read exact times from the expanded row in the list.

Changing crew from the grid, step by step

1. Switch to Planning, then press Select. Until you do, clicking a block simply opens its route — selection is an explicit mode so a stray click can never write anything.

2. Click the blocks you want. A tick replaces the number. Picking a route-day selects all of that route's flights that day. The bar under the grid counts what you really hold: "24 flights selected on 10 routes".

3. Choose One pilot or Rotation.

  • One pilot — pick someone from the list; every selected flight gets them.
  • Rotation — click the crew groups that should take turns, in the order you want them to fly. They are numbered as you pick. A preview appears: every flight, sorted by departure, with the group and the pilot who will take it. Read it before you press anything — a round-robin that lands badly is impossible to spot afterwards.

4. Read the button before pressing it. It names its real target — "Assign to 7" — and a note next to it says how many are left alone. Flights already in progress, completed or cancelled are never touched.

5. Press it, then read the report. Three counts: assigned, skipped, failed — and every failure named with its route, its departure and the server's own words. A batch that half-worked says so.

In the rotation preview, a rest marker means the pilot that turn lands on is still asleep at that departure time, and the flight will not leave with that crew. Only a rest already under way is shown — nothing here guesses at a rest that has not started.

What crew assignment never changes

Assigning crew rewrites the pilot seat only (or, in rotation, the whole seat set of the chosen group). A replacement aircraft you set by hand on a given flight, its fly-in-sim override, and — in single-pilot mode — its copilot and cabin crew are all preserved. Assigning the route's own default pilot to a flight clears that flight's override rather than duplicating it, which is how you put a flight back to normal.

Two things are refused before a request is even sent: an occurrence that has already flown, and a pilot who is already the copilot on that same flight.

Crew duty and rest

When your company has the employees' duty system switched on, a crew member may work a 14-hour duty window and then must rest 8 hours. The window is wall-clock time from the start of duty, not hours flown — waiting on the ground consumes it just as flying does. A flight scheduled to end past the window costs a penalty per AI crew member, and a flight due to leave while its crew is resting is simply refused. Your own avatar is exempt.

This is why the rotation exists: three crews taking turns on a loop keep every flight inside someone's window, where one pilot cannot.

Before a route can fly

A route must be Activated from its settings, and the settings page runs a checklist first — aircraft, crew, departure, arrival, alternate, days and times. The alternate airport is required and is the one most often missed; its card is always shown, with a warning when it is empty. Ticket prices are computed by the server when Auto Pricing is on.

Tips

  • Run Merge Similar after Generate Set to clear routes that ended up identical.
  • A Suspended flight is not lost: the server retries it once its cooldown has passed, so fixing its crew is usually enough.
  • Crew groups are saved on this device only, per company — create them on the Crew Groups page.
  • Times are in UTC, like the server; your computer's local time is shown next to them, or on hover where the column is narrow.

4.2 Route Settings

Full configuration panel for one regular route: settings on the left, map preview, demand heatmap, forecast and the week's flights on the right.

Pre-activation checklist

A banner at the top lists what must be true before the route can be activated — aircraft and pilot assigned, departure and arrival times that differ, at least one seat or some cargo offered, all three airports set, both slot durations set, and every airport big enough for the aircraft. Green means ready, orange lists what is missing, and Activate refuses locally with the count of remaining items rather than a block of server text.

Header actions

  • Edit / Delete — Save is blocked until departure, arrival and one operating day are set; Delete removes the route after confirmation.
  • Duplicate — Creates an inactive copy, renumbered to the next free route # so Activate no longer fails with « already in use ».
  • Activate / Deactivate — While active, airports, times and slots are read-only; aircraft, crew and capacity stay editable. Before activating, the app checks where the aircraft will be: if activation would create a flight it cannot fly — typically the return of a round trip, activated after its outbound time has passed — it asks first, naming the flight, that the server would refuse it while the aircraft is elsewhere, without holding the aircraft, and when to activate instead. Deactivating, like activating, brings the route's reliability back to 50 % if it is higher.

Settings

  • Activation days — Monday to Sunday, at least one required.
  • Aircraft, Route #, Color, Tag — Company aircraft (freelance excluded), flight number, group colour, and an optional label grouping the routes of one set.
  • Departure / Arrival / Alternate — ICAO auto-resolves; each side carries Time UTC, Slot Start UTC and Slot Duration, and editing a time syncs its slot. Adjust appears on arrival when the time deviates by more than 5 min and 20 % from the standard duration. The Alternate card is always shown, marked Required to activate this route while empty.
  • Time fields — What you type stays until you leave the field or press Enter (Escape cancels), and « 930 », « 9 » or « 9h30 » are understood. Unreadable input flashes red rather than being dropped in silence. Each time also shows in your computer's local time, with « the day before » or « the day after » when its UTC day differs.
  • Operations — Fly in Simulator, Force Crew Rest, Auto Pricing, and the weekly status badge (Scheduled, or « No flights this week » with a tooltip explaining which).
  • Default Crew — Pilot, optional co-pilot and enough attendants for the offered seats; uncertified crew is blocked, and the Crew Groups bar loads or saves a local preset in one click.

A slot belongs to a day, not only to an hour. Departure and arrival windows repeat weekly on each operating day: a Monday flight has a Monday slot and no other. Starting or shutting down the engines outside it costs 5 % of the route's maximum pay, per end — so a flight caught up on a different day pays both. Airports of size 0 and 1 carry no slot, no slot fee and no timing penalty.

Map, heatmap, capacity and forecast

Great-circle route to the arrival with a dashed hop to the alternate, over a 24 h x 7 days demand grid at the departure airport (PAX or Cargo, grey on off-days); the orange line marks the departure hour and follows the time you are editing. Outside edit mode, click the cell of an operating day at the departure hour to show that day's forecast; while the times can be edited, a click on any cell also sets the departure hour. The purple box is the cell the forecast reads. Capacity & Pricing holds Eco / Bus / First seats and cargo in your weight unit with their prices; they lock under Auto Pricing and then show the reference prices the next flight charges; without it, a price still at 0 takes the server's reference price. Forecast Computation recomputes reliability, modifiers and fill rate (green ≥ 70 %, orange ≥ 40 %, red below) shortly after each edit, ticket prices included when Auto Pricing is off, since each price moves the fill rate.

The forecast describes one weekly flight. Pick its day at the top of the card (the first operating day by default). The server never loads more than it forecasts: for each class it puts on board the smaller of the demand and your offer, and pays your prices on that load. Outside edit mode the forecast uses the fill rate stored at the last save or completed flight, the one the next flight is generated with; when it differs from the rate just computed, a Next flight uses line shows it.

  • Expected — The passengers and cargo forecast for that flight: this week's demand at the departure hour, capped by your offer. Bold means sold out; the tooltip gives the demand. The demand grid is redrawn every 7 days.
  • Resulting fill rates — Route fill rate × the demand cell of that day and hour, for passengers and for cargo.
  • Expected pay per flight, Pay if all sold, Slot fees per flight and Expected after slot fees — Slot fees are debited at every flight and computed on the pay if every seat sold at the saved prices, so seats you offer and never sell still cost you. An airport you own charges no slot fee.
  • Weight check — Weighs the expected load and the all-sold load against the aircraft's limits. Red when the expected load does not fit, which the server would refuse when the flight is created. Orange when only a sold-out flight would not fit.

Scheduled flights

  • Live window chip — On pending rows: green when flying now lands in the on-time bonus window, orange when the departure slot is missed. The tooltip spells out the early −5 % rule and the bonus.
  • OFF-SLOT — Flagged when the server's comment mentions a slot penalty, even on successful flights.
  • Override (gear) — Swaps aircraft, crew or Fly-in-Simulator for one flight; those rows go orange with an OV badge.
  • Fly Now — Enabled on pending flights with Fly in Simulator on and an aircraft on the route, otherwise greyed with a tooltip. The server generates the mission, debits the slot fee, and dispatch is pre-filled.
  • Local time — Under each slot, the same time on your computer's clock. When a flight waits for its aircraft parked at another airport, hovering the line says until when the server keeps that flight — and the aircraft — and how to free it.

Fly Now still checks the aircraft. A generated occurrence and an assigned aircraft do not override grounding or required maintenance. Resolve the stated availability problem before dispatching the flight.

Automatic fuel purchase at departure requires one FBO with enough stock for the whole amount. Your own eligible FBO is preferred, then your VA’s, otherwise the cheapest eligible FBO. Stocks from multiple FBOs are not combined.

Company regular routes are separate from Freelance Routes: the company operating the aircraft pays for fuel. AI-flown routes buy it automatically. If no FBO can supply the purchase, nothing is bought; the flight needs onboard fuel for the destination, alternate and 30 minutes of cruise or it shows Not started with the reason in the journal. With Fly in Simulator, prepare fuel yourself through dispatch.

4.3 Route Set Generation

The Route Set Generation page is a wizard that builds a batch of regular routes as a single chained rotation: the aircraft hops hub → A → B → ... → back to hub, with each leg departing where the previous one landed (aircraft continuity). All routes are created and activated in one server call.

Layout

The screen has three areas: a dataset panel on the left, a configuration + results stack in the middle-right, and an interactive map at the bottom right.

Dataset (top-right tabs)

  • Airlines — Browse the FR24 airline database and pick a real-world carrier. Its route network is shown as thin red arcs on the map, and its hubs feed the Starting Airport dropdown. Filter by text, ICAO used, fleet size, or country. The colored left border of each card reflects the fleet-size bucket.
  • Favorites — Pick from your favorite airports (tick/untick each one). Use Manage to jump to the Favorite Airports page. At least two selected airports are needed.
  • Manual — Paste ICAO codes separated by spaces, commas, or newlines. A live counter shows how many were recognized.

Aircraft and Crew

  • Aircraft — Pick a non-freelance aircraft. It sets max range, cruise speed, and seat/cargo capacity for the whole rotation.
  • Starting Airport — The hub. Choose one from the dropdown (airline hubs, favorite airports, or your ICAO list depending on dataset), or leave Any (Auto) to let the engine pick.
  • Crew picker — Appears once an aircraft is chosen. Pilot (required), co-pilot (if the type needs one), and the required number of cabin attendants. Uncertified employees are blocked. Crew already assigned to other regular routes is flagged. VA member pilots appear in the pilot list too.
  • Crew Group quick bar — Same preset bar as Dispatch, Work Orders, and Route Edit. One click loads a saved crew group.
  • Fly in Simulator — When on, every flight in the rotation must be flown in the sim. Automatically forced on and locked when the pilot is your player character.

Routing

  • Distance Min / Max (NM) — Accepted leg distance. Automatically clamped to the aircraft's max range.
  • Number of Routes — 1 to 21 legs.
  • Weekly Frequency — Flights per route per week. Capped at 7 / ceil(numRoutes / 3) to prevent saturation.
  • Start Flight # — First flight number. The dice button rerolls a random base.
  • Set Name (Tag) — Shared label stamped on every route in the set.
  • Color — Shared color (native color wheel + hex input) for map arcs and route lists.

Generation

Click Generate Preview to build the rotation. The engine:

  • Resolves ICAOs from the local airport database.
  • Filters candidate legs by distance and range.
  • Runs a DFS chain from the hub (open-chain with a ferry fallback if no closed loop is possible).
  • Balances legs across the week and picks each departure at the local PAX/Cargo demand peak (heatmap).
  • Computes seat mix (Eco/Bus/First) and cargo weight from capacity and available payload.
  • Picks each leg's alternate like the dispatch's automatic alternate: the nearest civilian airport at least 50 NM from the arrival and large enough for the aircraft, a military field only as a last resort. A helicopter's alternate has no size floor.
  • Sets arrival times from the server's standard flight duration.

Preview, Map and Table

Every generated leg appears in the results table (flight #, per-day fill-rate pies, from → to, alternate, distance, UTC times, active days). Ferry legs get an orange badge and orange arc. Click a row to highlight its arc in fuchsia and zoom in; click again to clear. The hub gets a larger purple marker; intermediate stops are green.

Acceptance

Click Accept & Create Routes to send the set to the server. All routes are created and activated at once, then the page redirects to the routes list. The server checks every route before creating any: if one is refused, none is created, and the reason stays on screen until you close it. The server activates the set the moment it creates it: if that would create a flight its aircraft cannot fly — typically a return leg whose outbound time has already passed today — the app asks first, naming the flight and how long the server would keep the aircraft.

Tips

  • Ticket and cargo prices are auto-computed server-side (AutoPricing is on for every generated route).
  • Fill-rate pies use blue (PAX) on the left half and coral (Cargo) on the right; grey dots mark non-flying days.
  • If an ICAO is unknown or out of range, an inline error lists the problem codes before any route is created.

4.4 Routes Leaderboard

The Routes Leaderboard shows the best Regular Routes across the entire OnAir world, split into two side-by-side rankings.

Two Rankings

  • Top Landings (green accent) — Routes ranked by total completed flights, with cumulative flight hours shown next to the count. Measures how often a route is actually flown.
  • Top Credits Earned (amber accent) — Routes ranked by cumulative revenue in credits. Measures overall profitability.

Top / My Routes Toggle

  • Top shows every route on both boards, worldwide.
  • My Routes narrows both boards to your own company's entries — while keeping the global rank numbers. A route ranked #47 worldwide stays #47 when filtered; the numbers never lie about your position.
  • Your own rows are also always highlighted (blue tint) in Top mode, so you can spot them at a glance without switching tabs.

Reading the Table

  • # — Rank position. The top three places display colored badges: gold (1st), silver (2nd), bronze (3rd).
  • Route — Flight number (e.g. #1234), followed by clickable departure and arrival ICAO codes.
  • Airline — IATA code or short name of the company operating the route. Click it to open the Company Lookup for that airline.
  • Metric — Landings with flight hours in parentheses, or credits amount, depending on the ranking.

Navigation & Export

  • Back to Routes — Returns to your own route list.
  • Refresh button (top right) — Reloads both rankings from the server. They also reload automatically every time you open this page.
  • CSV button on each board — Exports the visible rows (respecting the Top / My Routes toggle) to a spreadsheet file.
  • Click an ICAO code to open the Airport Lookup.

Tips

  • Compare your own routes against the leaderboard to spot profitable connections worth replicating.
  • The data reflects cumulative history since the route was created — a recent high-fill-rate route can outrank an older low-activity one.
  • Only Regular Routes are shown here — Company Jobs and freelance missions are not part of this ranking.

4.5 Freelance Routes

Fly a recurring weekly schedule for a real-world airline as a freelance pilot. Reached from the Routes card on the Pilot Hub. Pick an airline and an aircraft type, then generate a schedule; if one is already active, the page goes straight to it.

Airline picker

  • Filters — free text over name, ICAO, IATA and callsign, plus country, fleet-size band, and an airport code the airline must serve.
  • Distance filter — a single at-most field in NM that keeps airlines with at least one route under the limit. The first time you tick it, route distances are fetched for every airline, which takes a moment; they are then cached per airline for 7 days, so coming back is near-instant.
  • Recently used — the last five airlines you accepted stay pinned at the top with a star.
  • Cards are coloured by fleet size and show the airline logo, the codes, country, route count and aircraft count.
  • Your rank — once you have flown for an airline, its card shows your rank name and icon. Hover the card for your progress in that rank and the pay bonus it earns.

Aircraft type

  • The dropdown lists your fleet types plus every type you previously imported from the simulator, up to ten.
  • From Sim reads the loaded aircraft and matches it on the server by weight, fuel and simulator version.
  • The In your simulator line under the settings names the loaded aircraft and, when you are on the ground, the nearest airport. Use this applies them: the airport fills both the airport filter and the starting airport. Nothing changes until you click.

Schedule generation

  • Starting airport — any hub of the airline, the airport set in the airline filter, or leave it on automatic. An airport set in the filter stays selected when you pick an airline. If the airline has no routes departing from it, switch back to automatic.
  • Flights (1 to 10), distance min and max in NM, and a speed compatibility filter that keeps routes whose average sits between 0.45 and 1.2 times the aircraft's design speed.
  • Propose schedule builds a round trip; when the loop cannot close, it falls back to one fewer real leg plus a Ferry leg home.

Map and legend

The map draws the airline's own routes in red, the generated flights in green, the ferry leg in amber and the selected leg in fuchsia. Hubs are tagged Minor (10 to 14 routes), Hub (15 to 19) and Major (20 or more). Airport popups give size, elevation, lighting, the military flag and live weather, plus a Show TAF section that unfolds the aerodrome forecast — decoded periods and the raw bulletin, capped and scrollable, with a button to hear it read out. Size and category labels are translated into your language.

Result and accept

The schedule renders as strips or as a table, switched from the header; clicking a row or a green line focuses that leg on the map. Accept creates the freelance aircraft and one mission per leg on the server, then returns you to the Pilot Hub with the active schedule card.

4.6 Current Freelance Schedule

The Current Freelance Schedule page lists every leg of your active freelance route schedule. It opens from Show legs or Route Map on the Pilot Hub. When no schedule is active, the page says so.

Header and summary

  • View toggle — dense flight strips or a grid of compact cards; your choice is remembered.
  • Refresh reloads from the server, Back returns to the Pilot Hub.
  • The summary names the airline and the aircraft type, counts the legs, and shows the Weekly Bonus Limit (UTC, one week after the schedule started).
  • Show on Map opens the operational map pre-filtered on these legs. Abandon schedule drops everything and returns to the Pilot Hub.

Schedule total

A green band above the list gives the whole schedule's pay and XP as computed by the server, with your rank multiplier and any airport boost shown separately when they apply.

Speed warning

A red banner appears when your aircraft's design speed cannot sustain the average speed at least one leg requires. You still earn XP and credits, but a leg that finishes late loses the rank-points bonus.

Recovering a broken schedule

If the server keeps returning a leg it can no longer resolve, an amber banner explains the situation and offers a one-click Abandon. The same notice is mirrored on the Pilot Hub, so you can recover from either page.

Strips and cards

Each leg shows its state (Pending, InProgress, Completed, Skipped), flight number, route with clickable ICAOs, scheduled UTC times, block duration, great-circle distance, payout, a Ferry tag and the inline actions. Cards add full airport names and average speed.

  • Fly dispatches the idle aircraft on the current leg.
  • Resume opens tracking when the aircraft is already airborne; the button pulses to catch your eye.
  • Skip drops the current leg while idle — not available in flight or in warp.
  • Disabled buttons keep their place and explain in a tooltip what is blocking them: no aircraft, warping, busy.

Consistency

Cargo and passenger missions follow the same display rules everywhere, so weights, your kg or lbs preference and split cargo read the same on the Pilot Hub, in the strip and on the map. If a leg has been removed server-side and you try to skip it, the page says so plainly and reloads the schedule instead of showing a raw server error.

Flight states

  • Pending (blue), InProgress (purple), Completed (green), Skipped (amber).
  • The aircraft is created on the server when you accept, and stays bound to the leg in progress.
  • Abandoning the schedule is irreversible and clears every remaining leg.

4.7 Routes Ranks

The Ranks page, under Staff & HR in the menu, has two tabs. Routes Ranks, described here, follows your progression as a route pilot with each real-world airline you have flown for. Pilot Ranks, the tab that opens first, follows your progression per aircraft class.

What counts here

Only flights from an accepted freelance route schedule feed this tab. Charters taken from Browse freelance jobs do not — they progress on the Pilot Ranks tab instead. The same note sits behind the information icon next to the leaderboards.

My freelance ranks (left)

One card per airline you have flown for, sorted by rank XP, highest first.

  • Tier badge with a bar towards the next tier and the XP earned inside the current one: Trainee, then Junior Officer at 200 XP, Flight Officer at 500, First Officer at 1000 and Captain at 2000. Captain is the ceiling, so the counter under the bar disappears there.
  • The airline's code and full name.
  • Mini stats: XP, Flights, Hours, Credits, and Distance in NM when there is any.

Before your first route flight the column shows an empty state with a Browse Freelance Routes shortcut.

Global leaderboards (right)

Two top-15 tables, aggregated per company across every freelance route — not per airline.

  • Top 15 — Route Salary: total credits earned on freelance routes.
  • Top 15 — Landings: completed flights, with the cumulative hours in brackets.

Each row gives the position, the company's airline code and the total. Your own row is highlighted in purple when your company makes the table, and a table with nothing in it says so rather than staying blank.

Refresh and errors

The refresh control in the page header reloads the ranks and both leaderboards at once. If the server refuses one of the three, a red banner names what failed instead of blanking the page; a result that is simply empty is treated as empty, not as an error.

Tips

  • Ranks are held per airline, so flying the same airline again is what raises its tier.
  • The quickest climb is consecutive weekly schedules, taken from the Routes card on the Pilot Hub.