© 2026 FSCharter

Bug Fix

Nov 02, 2026

Improvements

Cabin cargo space is now drawn and listed when seats are removed (FSC-4219, FSC-4239)

Previously, an aircraft with seats removed showed "Cabin 0 seats" in the 3D view, and the floor left free for cargo wasn't drawn or listed anywhere. The 3D view now draws the cabin cargo space inside the cabin, and the "Aircraft Layout" tab lists it on its own "Cabin Cargo Space" line with its dimensions and volume.

Above: A CRJ700 with some economy seats removed, showing the cabin cargo space at the back of the cabin and its own "Cabin Cargo Space" line (434 × 350 × 175 cm, 26.6 m³).

The Antonov An-225 can now be maintained, slotted and parked (FSC-4222, FSC-4228)

Previously, the An-225 (7,425.6 m²) was larger than every Service Centre, slot and stand, so it could never get a C or D check, fly route-backed jobs or park on a stand. The Large Service Centre, Huge Domestic Slot, Huge International Slot and Huge Stand have been enlarged to 8,000 m². Existing ones have been enlarged too.

Above: A Large Service Centre at KMSP, now 8,000 m², with "Perform C check" supporting aircraft up to 8,000 m².

Above: The "Huge Domestic Slot", which now supports aircraft with a footprint of up to 8,000 m².

Mixed charter routes now count each commodity (FSC-4227)

In "Create Charter", a route carrying several commodities previously showed a single count under one name (e.g. "25 mail bags" for 8 passengers, 11 mail bags and 6 parcel sacks). The route now shows a count for each commodity where there is room, and hovering over it lists every commodity on the route.

Above: A mixed route showing 8 economy passengers, 11 mail bags and 6 parcel sacks as separate counts.

Above: Hovering over a busy mixed route lists every commodity on it, with the weight of each cargo type.

The public API specification is now available (FSC-4223)

The public API's OpenAPI specification at https://v2.fscharter.net/api/v1/openapi.json previously returned a 404. It is now published, so anyone building on the API can read it.

Bug Fixes

Passengers who booked a cabin are now seated before upgrades (FSC-4183)

Previously, on routes with cabin upgrades, a large upgrading group could take a cabin's seats before a smaller group who had booked that cabin, leaving the booked group off the flight. Each cabin now seats the groups who booked it first, then upgrades by booked class (business before economy).

Passengers returned to the pool are no longer priced at an upgraded class (FSC-4218)

Previously, a passenger group that was upgraded on a route job went back to the pool still marked with its upgraded cabin, so the next company could be offered an economy booking priced as first class. Groups now return to the pool priced at the class they booked.

The job revenue breakdown now shows a restriction penalty once (FSC-4221)

Previously, on a charter with a restriction breach, the "Revenue Breakdown" on a job's "Financials" tab showed the restriction loss twice (once as an "Exclusivity" penalty) and inflated the base revenue to match. The penalty now appears once, and the breakdown ends with a "Total" line. The amount paid for the job was always correct.

Above: A charter's "Revenue Breakdown" showing the restriction penalty once, with the "Total" line at the bottom.

New personal access tokens now appear on the "API Access" tab (FSC-4224)

Previously, after creating a personal access token, the "API Access" tab in your profile still showed "No Tokens Issued". New tokens now appear in the list straight away.

Above: A new token, "My flight tracker", listed on the "API Access" tab as soon as it is created.

A saved hire "Limit Location" is now kept (FSC-4220)

Previously, a saved Country or Airport "Limit Location" showed as "No Limit" when the aircraft's "Hire" tab was reopened, and the tab opened with an unsaved changes prompt. The saved limit now shows, and the prompt only appears after a change.

Oct 29, 2026

Bug Fixes

Passengers are no longer seated below the class they booked (FSC-4215)

Previously, on multi-leg charters and jobs with a relocation leg, business and first class passengers could be counted and drawn in a lower cabin when their own cabin was full, and accepting a route job could give passengers upgrades the route doesn't allow. Passengers are now only ever seated in the class they booked or higher, and a job that can't seat everyone this way is rejected on acceptance. Each leg of a multi-leg job is now seated on its own, so its passenger weight is based on the busiest leg rather than every leg added together.

Every passenger in a group is now shown on the seat map (FSC-4214)

Previously, the in-flight seat map could leave members of a group off the map (e.g. 87 of 97 passengers drawn on a BAe 146), either when the whole group sat in one cabin or when an upgraded group only partly fitted the higher cabin. The class counts on the job and leg screens could also count a whole upgraded group in its higher cabin, showing more first class passengers than the aircraft has first class seats. Every passenger is now drawn in their own seat, and the class counts on new and in-progress jobs match the seats passengers actually occupy.

VIP fares are no longer cut by cargo or freight on the same leg (FSC-4213)

Previously, a VIP group lost 75% of its fare through the exclusivity factor whenever cargo or freight shared the leg. Passengers and cargo are now counted separately, so cargo and freight in the hold no longer affect a VIP fare. A VIP fare still drops to a quarter if another passenger group shares the leg.

Oct 28, 2026

New Features

A 3D view of your cabin and hold (FSC-4192)

Every aircraft loadout screen now shows the aircraft in 3D, with the cabin and the hold together. You can rotate the view, zoom in and hover over seats or items for more information. You can also switch seats, bags, cargo and freight on and off to see each layer on its own.

Above: An A320 carrying first, business and economy passengers, bags, cargo and a freight container.

Above: Hover over an item or stack for more information.

Cargo can now be transported in the hold (FSC-4172)

Previously, standard cargo was only permitted to travel in the cabin, which meant that many narrowbodies (737, A320, MD-82, CRJ, E190) could not earn from cargo revenue when every seat was occupied. Now cargo (and high value cargo) can travel in the hold (or the cabin cargo space if you have seats removed). Routes now also stop loading cargo at the aircraft's payload limit, so a full route no longer loads more than the aircraft can structurally lift.

Above: A 737 carrying mail and parcels into the hold beside passenger bags (the seat layer is switched off so the hold is visible).

Better understanding of cargo dimensions and restrictions (FSC-4192)

The loadout page has been reworked to give you more information when items aren't loaded onto the aircraft. When accepting a job, there is now a "Not loading" list, grouped by the reason the cargo would be left behind (e.g. too tall, no hold, no room left, over weight limits). By default the list only shows items that must be carried on the route, so you can easily see why a job can't be accepted. You can also toggle "Show left behind" to see all cargo left at the airport (including cargo you don't need to carry).

Above: The "Not loading" list displaying why a non-required pallet can't be loaded onto the aircraft (it is 4 cm too tall for this hold).

An overhauled "Create Charter" mode (FSC-4192)

The "Create Charter" mode in the Operations Cockpit has been overhauled. The aircraft loadout, which used to be squeezed into a narrow side panel, now sits in a dock along the bottom of the map that can be dragged taller or folded away, and includes the new 3D view. A bar along the bottom of the dock always shows the current payload and the next step. Cargo is loaded as soon as demand is selected, so you can see what will be carried before any jobs are created. If something is blocking the charter (e.g. passengers without a seat), the bar turns red and the next step button becomes "Errors", which takes you straight to the problem. Releasing a plan now waits for the load check to finish, so a plan that physically can't be flown can no longer be released.

Above: The new "Create Charter" dock below the map, shown with a Saab 340, with the current payload and next step in the bar along the bottom.

Above: The dock being folded away and dragged taller (shown with an A321neo).

Above: A CRJ900 that can't seat every passenger, with the passengers listed under "Cannot Board", the bar in red and the next step button showing "Errors".

Fokker F27 and 17 more aircraft added (FSC-4201)

18 new aircraft have been added, including 13 dedicated freighters. Freighters have no seats, so they carry freight in the hold only.

  • Fokker F27 Mk 500
  • Fokker F28 Mk 2000
  • Fokker F28 Mk 3000
  • Cessna CitationJet
  • Airbus Helicopters H225 Super Puma
  • Boeing 747-200F
  • Boeing 747-400F
  • Boeing 747-8F
  • Boeing 747 LCF (Dreamlifter)
  • Boeing 757-200PF
  • Boeing 767-300F
  • Boeing 777F
  • McDonnell Douglas MD-11F
  • Airbus A300-600F
  • Airbus A300 Beluga
  • Airbus Beluga XL
  • Antonov An-124
  • Antonov An-225

Improvements

The hold is now shown on the "Aircraft Layout" tab (FSC-4195)

The "Aircraft Layout" tab in the aircraft dialog previously only showed the cabin. It now shows the hold as well, so you can check what an aircraft can carry before buying it or accepting a job.

Above: The "Aircraft Layout" tab for a 787-9, showing the cabin and the hold together with the hold's dimensions.

Fuel estimates are now based on trip distance (FSC-4198)

For aircraft with no flight history, a job's "Financials" tab and the ferry cost estimate previously assumed a full tank of fuel regardless of distance, which made long flights look more profitable than they are. The estimate now calculates the fuel the trip will actually burn, using the aircraft type's published fuel burn until the aircraft has its own history.

Above: The ferry fuel estimate for a 113 nm trip in an aircraft with no flight history (£76.73).

Above: The same aircraft on a 631 nm trip, with the estimate rising to £429.24.

Boeing 757-200 weights updated (FSC-4204)

The 757-200's weights and price have been updated to match its type certificate. It can now carry slightly more payload, and its resale value is around 3% higher. Landing and parking fees increase in line with its heavier weights.

Above: The 757-200's updated weights and price in the aircraft shop.

Clearer reasons when an aircraft has no hold or cabin cargo space (FSC-4193)

Aircraft with no hold, or with every seat fitted, were previously rejected with confusing dimensions (e.g. "the hold is 0 cm high"). The reason now simply states that the aircraft has no hold or no cabin cargo space.

Above: An aircraft with no hold now displays a reason instead of 0 cm dimensions.

Bug Fixes

Correct cargo weights are now sent to the sim and SimBrief on mixed legs (FSC-4173)

When a leg carried more than one type of cargo, the plugin and SimBrief received the wrong payload weight. Each type of cargo is now sent with its own weight.

The in-sim delivery speed gauge now shows the correct speed (FSC-4171)

During a flight, the in-sim delivery speed gauge could show unrealistic speeds (e.g. 1,367 kts on a 137 kt flight). It now shows your actual average speed so far.

Seat layouts with every class removed can now be saved (FSC-4167)

Turning off every cabin class disabled "Apply Reconfiguration", and turning a class back on didn't enable it again. A zero-seat layout can now be saved, and the dialog header shows the new seat layout straight away without refreshing the page.

Above: A 767 with every class turned off, with "Apply Reconfiguration" still available and the whole cabin free for cargo.

"Create Charter" now checks first and business class seat capacity (FSC-4178)

A plan could previously be released with more first or business class passengers than the aircraft could seat in that class or higher, and the job was then rejected on acceptance. "Create Charter" now lists these passengers under "Cannot Board" and won't allow the plan to be released until they fit.

Above: Passengers without a first class seat listed under "Cannot Board", which stops the charter from being released.

Cabin cargo space checks now account for stacking (FSC-4175)

The loader stacks small cabin cargo, but the checks for whether cargo would fit counted each item laid flat. This meant "Create Charter" hid demand that would have fit, and hiring failed with "Selected cargo requires X sqm". These checks now count cargo stacked, the same way it's loaded.

Cargo-only routes are no longer offered to aircraft that can't carry them (FSC-4180, FSC-4188)

A route carrying only cargo could be offered to an aircraft with a full cabin and no hold, and the job was then rejected on acceptance. "Available Aircraft" also checked a route's cargo against the wrong demand. It now only lists aircraft with space for the cargo the route actually loads.

Route baggage weights are now based on the route's distance (FSC-4174)

Every route stored its baggage weight as if the flight was less than 1 nm long, so some aircraft were listed for long routes they were too heavy to fly. Routes now store baggage weights for their actual distance.

Routes no longer exceed the aircraft's payload limit (FSC-4205)

The route loading preview weighed collaborative passengers' bags lighter than would be actually loaded, so a full route could be around 800 kg over its payload limit. Both now use the same weights.

Route cargo and freight minimums are now enforced through the API (FSC-4181)

A route job accepted through the API could carry 1 kg of freight against a 2,000 kg minimum. Accepting a job now always checks the route's cargo and freight minimums.

Oct 21, 2026

New Features

See which pricing strategies changed a ticket price (FSC-4156)

When a passenger boarded a route at a strange price, such as first class for £0, nothing told you why. Your pricing strategies were doing exactly what they were set up to do, including stacked discounts that added up to more than 100%, but no screen showed you which ones had applied. Passenger rows now show the price they pay, with your pricing strategies applied. You can hover over it for a breakdown of every strategy that changed their ticket price. You can also see which strategies apply when you're creating or editing a route.

Above: The route form's ticket prices with a Passengers Pay box for each cabin, and the economy box opened to list the three pricing strategies that change its fares.

Above: The Pricing Strategies on this Route panel, showing each strategy's percentage and passenger count by cabin and what passengers pay.

Above: A passenger's seat details with the Fare breakdown card open, listing the ticket price, a 20% strategy discount and what the passenger pays.

See cargo and freight that gets left behind (FSC-4152)

On a route job, the loadout could leave cargo or freight out without saying why. A 737 with plenty of spare weight and a mostly empty hold could load nothing at all if the freight wouldn't physically fit. Anything the loadout leaves out now shows up as Left Behind, along with the reason. It's there for information only, and it never stops you accepting the job.

Above: A Boeing 737 loadout with an amber Left Behind line, and the Too tall for hold chip's tooltip explaining the hold is 110 cm while the freight starts at 114 cm.

Improvements

Bags with no room in the hold now ride in the cabin

Bags that don't fit in the hold now ride in the cabin with their passengers, and the loadout shows how many there are and what they weigh. Nothing about your payload has changed. These bags always counted towards your weight, and they never stopped you accepting a job. The screens and the help docs now just say so. The PA-18 also gets a small hold for freight.

Above: A loadout's weight breakdown with the line 3 bags in cabin · 54 kg underneath it.

Job Marketplace and hire lists fit on smaller screens (FSC-4148, FSC-4150, FSC-4159)

On smaller screens, job rows could be wider than the list, which cut off the price and made the list scroll sideways. Busy rows also spilled into their neighbours, and Charter Aircraft For Hire had the same problem. Rows also now rearrange themselves to fit a narrow list.

Above: The Job Marketplace list on a 14-inch laptop window, with each job's payload badges and hourly rate fitting inside its row.

Above: Charter Aircraft For Hire in a 1280 px window, with each aircraft's hourly rate on its own line above the seats and airport.

Above: Hire demand rows on a 1280 px window showing load icons only, with the tooltip 3 passengers waiting on this route.

Weight bar tooltips are back, and the handles follow your mouse (FSC-4157, FSC-4158, FSC-4165)

You can hover over any part of the weight bar, or its key, to see what it is. When you drag the cargo and freight handles with Configure Individual Weights on, they now follow your mouse instead of jumping into place afterwards. The pilot also gets the pilot icon.

Above: The Weight Breakdown bar with the tooltip Economy bags · 2,284 kg shown over the striped bags segment.

Above: With Configure Individual Weights on, the freight handle and segment follow the mouse while it is dragged, then the bar settles on what was loaded.

A tidier fare display on the manifest (FSC-4166)

The passenger price could spill out of the seat popover, and the rows looked uneven. The fare now shows the price and its discount side by side, and you can hover over it for the same breakdown as the passenger rows.

Above: Route preview manifest rows, each with the fare above its discount and a small ring, and the Fare breakdown card open on one row.

The demand map key counts every route (FSC-4145)

The commodities key on the demand map only counted the first page of routes, so at a busy airport it could show 2 cargo groups when the list had dozens. It now counts every route.

Above: The demand map at KMIA with the commodities key counting every route, Standard Cargo ticked and the list filtered to cargo routes.

Clicking a dispatch plan on the map opens it (FSC-4151)

In the Operations Cockpit, clicking a dispatch plan's route on the map used to show an empty map. It now opens that plan.

Above: Clicking a dispatch plan's route on the Operations Cockpit map opens that plan in the Dispatch Plans list.

Bug Fixes

PHP security update (FSC-4160)

Earlier today the PHP team announced two serious security flaws in the version of PHP that FSCharter runs on. We took the site offline as a precaution until the fix was out, and this release runs on the patched version. We've found no sign that anyone used these flaws against FSCharter, and no player data was affected.

Accepting a route job no longer fails with "Something broke" (FSC-4129, FSC-4146)

Accepting a route job could fail right at the end of boarding. One cause was a pricing strategy discount that left a fraction of a penny on the price. The other was a pricing strategy earning so much in one day that its total got too big to save. Both are fixed.

Cargo groups load whole (FSC-4153)

The loadout preview could load part of a cargo group, such as 4 of 7 mail bags, while Accept booked and paid for all of it. Cargo groups now load whole or not at all, so you get exactly what the preview showed.

Ticking one passenger group adds just that group (FSC-4132)

With no draft plan, ticking one passenger group in the Demand panel ticked every group of that class on the route. Now it only adds the one you ticked.

Editing a dispatch plan no longer fails with "deadlock detected" (FSC-4135, FSC-4136)

Adding or removing charter jobs quickly could fail with "deadlock detected", or put the same legs in more than one job. Changes to a plan now wait their turn, so fast clicks are safe.

The Demand panel scrolls again (FSC-4133, FSC-4164)

A long passenger list on a focused route ran off the bottom of the Demand panel and wouldn't scroll. It scrolls now, and clicking a route no longer squashes it into a thin line.

Above: Clicking a route in the Demand panel keeps it full size, and its long First Passengers list scrolls down and back up.

Old cockpit links no longer break demand loading (FSC-4142, FSC-4149)

Bookmarks to the Operations Cockpit that used a sort or filter we removed in v2.5.0 made every demand load fail. The cockpit now ignores them and loads as normal.

Switching aircraft on Charter Aircraft For Hire (FSC-4163)

If you switched aircraft while routes were still loading, you could end up with "No demand instances". You now always see the routes for the aircraft you picked last.

The aircraft for hire list no longer errors (FSC-4144)

The list could fail when it included an aircraft from a company that had closed down. Those aircraft no longer show up.

Aircraft picker checkboxes work (FSC-4134)

Clicking a checkbox in the rank and job aircraft pickers did nothing. Now it ticks the aircraft.

No more permission popup for pilots (FSC-3583)

Pilots without View Job Details got a permission error every time they opened the job dialog. The dialog now only shows them what they're allowed to see.

SimBrief mappings and bag weights (FSC-4138, FSC-4140)

Custom SimBrief airframe mappings now match however you type them. Send to SimBrief from the loadout preview now includes every bag's weight.

Cabin cargo on the Flight Map

On some smaller aircraft, the Flight Map payload card showed an empty cabin even when cargo was on board. It now draws the cargo.

The "No aircraft storage space available" email (FSC-4139)

This notification never arrived by email. Now it does.

Account deletions (FSC-4141)

Accounts that players asked us to delete hadn't been removed since January. They've now been deleted, and new requests work again.

The in-sim speed gauge matches the penalty (FSC-4155)

The in-sim delivery speed gauge and the speed penalty worked out your average speed differently, so the gauge could say you were fine while the website still charged a penalty. They now agree, and both allow an extra 20% for normal routing like SIDs, STARs and vectors, so flying realistically isn't counted as slow.

Rank constraint API

The v1 API's rank constraint endpoints returned an error for every rank with a constraint. They now work.

Jun 09, 2026

Bug Fixes

Jobs that could not be reset are now unstuck (FSC-4035)

A small number of jobs had got into a state where resetting them failed every time, and kept failing on every automatic retry afterwards. This happened when one of the job's passengers (a piece of collaborative demand) was removed by the demand engine while the job was mid-flight. The job's saved snapshot still pointed at that now-deleted passenger, so replaying the snapshot during a reset hit a dead reference and aborted the whole reset.

Resets now cope with this. Before replaying a job's saved state, we check which of the referenced records still exist and quietly skip any that have since been deleted, so the reset converges on the live, consistent state instead of failing outright.

May 03, 2026

Bug Fixes

Switching subscription plan mid-cycle could fail with no useful explanation (FSC-3990)

If you tried to switch plans (e.g. Core to Pro) part-way through your billing cycle, you might have seen a generic "something went wrong" message. The cause was that Paddle calculates a small prorated charge for the rest of the current month, and in some currencies that prorated amount can fall below their minimum chargeable amount, so they refuse the upgrade.

The switch itself still can't go through in that situation (Paddle's rule, not ours), but you'll now get a clear message explaining what's happening and a couple of options: wait until the next billing cycle and switch then (no proration involved), or contact support to sort it manually.

Job info dialog crashed for flights linked to dissolved companies (FSC-3989)

Opening the job info dialog could fail with a "something broke, it's our fault" error when one of the passengers on the flight had previously been carried on a job from a company that has since been dissolved. The dialog now loads correctly in this case and still shows the historical company's name, ICAO and logo so the chain of who carried what is preserved.

Apr 24, 2026

Improvements

Revenue breakdown on the job Financials tab

The job Financials tab now includes a Revenue Breakdown panel that shows exactly how your revenue figure was built up: base revenue, plus any charter bonus, minus any exclusivity penalty. The bonus and penalty used to sit inside the Operational Fees section, which implied they were costs. They aren't; they're adjustments to revenue that were already baked into the Revenue total. Moving them into their own panel, alongside a new Base revenue line, makes the economics transparent at a glance. Help tooltips on each line explain what it represents.

Bug Fixes

Exclusivity penalty was being double-counted on completed jobs

On jobs that exceeded the capacity threshold (enough passengers for a capacity penalty to kick in), the Financials tab was deducting the exclusivity penalty twice: once implicitly (via the reduced revenue that had already been paid to your company) and again explicitly as a cost line. This made profit look considerably lower than it actually was, and in some cases showed a loss for a job that was genuinely profitable. Revenue, costs, and profit on the Financials tab now reconcile correctly. Your ledger and company finance overview were always right; only the per-job summary was misleading.

Mar 22, 2026

Bug Fixes

Partnership Editing: Save Button Crash (FSC-3931)

After creating a partnership, attempting to edit the partnership name, code, or colour and clicking Save would fail silently with no changes applied. This was caused by an internal issue where the save function could not reliably access the form values it needed. The save button now correctly reads the edited values and persists your changes as expected.

Mar 19, 2026

Bug Fixes

Aircraft could get permanently stuck after landing at multi-leg job destinations (FSC-3929)

When a multi-leg charter job was being configured in the dispatch planner, the system could create a job leg for an onward segment (e.g. KMCO to KSFB) and then clean it up if no passengers ended up needing that leg. The cleanup removed the leg itself but left the previous leg still pointing to it. When the pilot later landed and the system tried to process the arrival, it followed that broken reference and crashed. Every automatic retry hit the same error.

The orphan cleanup now properly maintains the leg chain when removing empty legs, matching the behaviour that already existed in the manual leg deletion path. A migration repairs the one affected job in production.

Mar 16, 2026

Bug Fixes

Route preview now correctly handles "price out" pricing strategies

When previewing a pricing strategy with "price out" enabled, the preview was not actually pricing out the matching demand. Instead, it applied whatever surcharge value had been set before toggling "price out" on. Passengers who should have been completely excluded from the route were still appearing in the preview with a boarding priority. This made it look like the strategy wasn't working. The preview now matches what would actually happen when the strategy is applied.

Mar 13, 2026

Cabin class display now reflects upgrades (FSC-3921)

When passengers were upgraded to a higher cabin class (e.g. economy passengers moved to business), the Job Information dialog and Flight Map views still showed the original cabin class. This made it look like upgraded passengers were still in their original class, which was confusing when reviewing seat allocations.

The demand badges and seat breakdowns now show the effective cabin class (after upgrades), so what you see matches what's actually happening on the aircraft. This applies across the Job Information dialog, individual job leg rows, and the dispatch plan summaries.

The seat map also suffered from this issue and has been fixed. Previously, upgraded collaborative passengers would fall back to showing their native class placement because the upgrade metadata wasn't being propagated correctly. This was a display bug only. The actual boarding, pricing, and upgrade logic was working correctly. Passengers were boarding and being charged the right amount. Your demand numbers and pricing strategy behaviour were unaffected. The fix simply makes the seat map and cabin breakdowns match what's actually happening on the aircraft.

Mar 09, 2026

New Features

Company-to-company aircraft transfers (FSC-3912)

Companies can now transfer aircraft directly to another company without going through the classifieds marketplace. The transfer dialog shows a preview your net worth impact before confirming. Transfers are validated against the receiving company's AOC level (the aircraft's MTOW must be within their certification), aircraft ownership limits for free users, and a net worth floor (the sender's net worth cannot go negative as a result of the transfer). Any active classified listing on the aircraft is automatically cancelled when transferred.

Collaboration dashboard map view (FSC-3886)

The Collaboration Dashboard now includes a Map tab that visualises collaborative passenger flows between airports. You can toggle between inbound and outbound views, hover over airports to see passenger counts and cabin class breakdowns, and click on airports to open the detail dialog.

Return route creation (FSC-3716)

When creating a new route in the Operations Cockpit, you can now tick an "Also create return route" checkbox. After the outbound route is created, the form immediately re-opens with departure and arrival airports swapped and pricing copied over, ready for you to review and adjust.

Broker listing price decay (FSC-3898)

Aircraft listed for sale through a broker now gradually reduce in price over time. Prices drop by 5% of the original listing price for every 30 days the listing remains unsold, down to a floor based on what the broker originally paid. Reduced listings show the original price struck through alongside the current price in the classifieds marketplace. You can also filter and sort by discount to find deals.

Improvements

Routes with insufficient slots now display in red (FSC-3740)

Routes that are disabled due to insufficient airport slots now render as red lines on the Operations Cockpit map, making network problems visible at a glance. Manually disabled routes remain transparent as before. Hovering over a problem route (either on the map or in the routes dock) highlights it in red at full opacity.

Aircraft valuations now use market value

Aircraft are now valued at their current market price (based on aircraft type) rather than their original purchase price. This affects net worth calculations, transfer previews, and classified sale gates. All existing aircraft valuations have been updated accordingly. As a result, your company's net worth may have increased as a result of this.

Broker purchase prices adjusted

The price brokers pay when purchasing your aircraft has been rebalanced. Free users now receive 60% of market value (previously 80%) and premium users receive 70% (previously 85%).

Net worth safety gate on classified sales

Selling an aircraft through the classifieds marketplace is now blocked if the sale would push the selling company's net worth below zero. Listings that would cause this are automatically cancelled, and the seller is notified with an explanation.

Base Operations "Owned" filter

A new filter in the Base Operations lens of the Operations Cockpit lets you show only airports where your company has base operations (buildings, operations centres, or agreements).

Bug Fixes

Collaboration dashboard delivery rate was stuck at 0% (FSC-3906)

The delivery rate metric on the Collaboration Dashboard wasn't updating because it was counting demand records rather than actual passengers. It now sums passenger counts correctly, and a trend indicator shows whether your delivery rate is improving or declining compared to the previous 30-day period.