Reference Jetfolio

Fleet Schedule Optimizer

Comprehensive System Documentation for FAA Part 135 Flight Schedule Optimization

Introduction

The Fleet Schedule Optimizer is a sophisticated tool designed for FAA 14 CFR Part 135 charter operations to minimize non-revenue repositioning flights (empty legs) across a fleet of aircraft. By intelligently analyzing flight schedules and aircraft capabilities, the system identifies opportunities to swap flight assignments between aircraft, reducing operational costs and improving fleet efficiency.

Key Benefit Empty leg repositioning is a significant share of a charter fleet's flight hours. The Fleet Schedule Optimizer helps identify savings opportunities that can translate to hundreds of thousands of dollars annually for a busy charter operator.

What Problem Does It Solve?

In charter operations, aircraft often end up in different locations after completing flights. To begin the next scheduled flight, they must reposition to the departure airport—creating "empty legs" with no revenue but full costs. When multiple aircraft are flying similar routes, smart assignment swapping can dramatically reduce these empty legs.

Example Scenario
  • Aircraft N1111: Flies KTEB → KMIA, then needs to reposition KMIA → KBOS (3.5 hour empty leg)
  • Aircraft N2222: Flies KBOS → KTEB, then needs to reposition KTEB → KMIA (4.0 hour empty leg)
  • After Optimization: N1111 flies KTEB → KTEB (0 hours), N2222 flies KBOS → KMIA (0 hours)
  • Total Savings: 7.5 empty leg hours eliminated

System Overview

Core Capabilities

Fleet Management

Add and configure aircraft with specifications including passenger capacity, crew requirements, international WiFi, home base, and daily return requirements.

Flight Scheduling

Schedule multiple flights per aircraft with departure/arrival airports, passenger counts, times, and specific requirements like international WiFi.

Maintenance Windows

Define scheduled maintenance periods (A-Check, B-Check, etc.) that prevent flight assignments during those times.

Optimization Engine

Intelligent algorithm analyzes all possible flight swaps considering constraints like capacity, crew requirements, WiFi, and maintenance.

Cost Calculator

Calculate financial impact of optimizations with configurable operating cost per hour, showing both time and dollar savings.

Visual Timeline

Gantt-style timeline visualization showing flights and maintenance windows across the fleet with week/month/all views.

CSV Import

Bulk import flight schedules from CSV files with validation and automatic aircraft creation.

Export Reports

Generate comprehensive HTML reports with optimization results, savings breakdown, and recommendations.

How It Works

The Optimization Process

The Fleet Schedule Optimizer uses a constraint-based greedy algorithm to identify the best flight swaps. Here's the step-by-step process:

Flight Collection & Validation

System collects all flights from all aircraft and validates that each has required data: departure/arrival airports, passenger count, and any special requirements.

Pairwise Comparison

Every flight on each aircraft is compared with every flight on every other aircraft to identify potential swap candidates. Same-aircraft pairs are never generated. For a fleet of 10 aircraft with 5 flights each, that is 45 aircraft pairs × 25 flight pairs = 1,125 combinations, and the full scan is repeated on every pass of the improvement loop.

Constraint Validation

Each potential swap is validated against multiple constraints:

  • Passenger Capacity: Can each aircraft handle the other's passenger count?
  • International WiFi: If flight requires WiFi, does the aircraft have it?
  • Aircraft Category: If the swap moves a leg to a smaller aircraft category, is that leg flagged "Allow Downgrade"?
  • Maintenance Windows: Would the swap occur during scheduled maintenance?
  • Schedule Continuity: After the swap, can each aircraft still reposition between its consecutive flights and make minimum turnaround?

Savings Calculation

For valid swaps, calculate empty leg hours before and after the swap. The algorithm considers repositioning required both before and after each flight, factoring in Great Circle distances and aircraft cruise speeds.

Iterative Improvement

Each pass re-scans every cross-aircraft flight pair and applies only the single best swap, and only if it saves more than 0.1 hour. The fleet is then re-scanned against the updated assignments and the process repeats — so the same flight can move again on a later pass. The loop stops when a pass finds no qualifying swap, or after 50 passes.

Results Presentation

Every swap the loop found has already been applied to the fleet in memory by the time results appear. The panel reports the reassignments that were made — before/after route comparisons, total hours saved, financial impact, and per-aircraft savings breakdown. The list headed "Recommended Swaps" is a record of changes already in effect: there is no accept, reject, or undo control.

What the Optimizer Weighs

Factor Type Impact on Optimization
Empty Leg Distance Primary Objective Calculated using Great Circle formula and aircraft cruise speed. The main metric being minimized.
Passenger Capacity Hard Constraint Swap rejected if either aircraft cannot accommodate the other flight's passengers.
International WiFi Hard Constraint Swap rejected if flight requires WiFi but swapped aircraft doesn't have it.
Aircraft Category Hard Constraint Swap rejected if it moves a leg to a smaller aircraft category, unless that leg is flagged "Allow Downgrade."
Maintenance Windows Hard Constraint Swap rejected if either flight would occur during the swapped aircraft's maintenance period.
Schedule Continuity Hard Constraint Swap rejected if either aircraft could no longer reposition between consecutive flights in the time available, or would be left with less than 1.0 hour of turnaround.
Home Base Informational Tracked for operational planning but not currently enforced as constraint.
Operating Cost ($/hr) Display Only User-configurable value for calculating financial savings. Doesn't affect optimization logic.
Important Note The optimizer sequences each aircraft's flights chronologically and enforces both repositioning feasibility and a 1.0-hour minimum turnaround between consecutive legs. It does not consider:
  • Crew certification matching — the Crew Requirement recorded on an aircraft and on a leg is stored but never evaluated, so a Wyvern-required leg can be swapped onto a Standard aircraft
  • Crew rest requirements or duty day limits
  • Multi-leg flight packages that must stay together
These are areas for future enhancement based on operational needs.

User Guide

Layout

The tool is organized as four tabs across the top of the page. The steps below say which tab each one happens on — you switch tabs rather than scroll one long page.

Step 1: Build Your Fleet

  1. On the Fleet tab, in Fleet Configuration, click "+ Add Aircraft"
  2. Enter aircraft tail number (e.g., N1234B)
  3. Select aircraft type from dropdown (pre-populated with cruise speeds)
  4. Configure passenger capacity
  5. Select crew requirements (Standard, Wyvern, Argus, FX Air, IS-BAO)
  6. Check "International WiFi" if equipped
  7. Optionally set home base airport code
  8. Optionally enable "Must Return to Base Daily"
  9. Click "Save Aircraft"

Step 2: Schedule Flights

  1. On the Schedule tab, find your aircraft in the Flight Schedules card and click its row to expand it
  2. Click "+ Add Flight"
  3. Enter departure airport code (autocomplete available)
  4. Enter arrival airport code
  5. Specify passenger count
  6. Select departure date and time
  7. Check "International WiFi Required" if needed
  8. Repeat for all flights
Pro Tip: CSV Import The Fleet tab carries two separate importers side by side — Import Fleet CSV (aircraft) and Import Schedule CSV (flights). Each has its own template and column set:
  1. Click "Download Template" under the importer you want
  2. Fill in your data in Excel/Google Sheets
  3. Drag and drop the CSV file into that importer's drop area
  4. Review the preview and click "Import"

Step 3: Configure Maintenance (Optional)

  1. On the Fleet tab, click the "Maintenance" button on the aircraft's card in Fleet Configuration
  2. Select maintenance type (A-Check, B-Check, etc.)
  3. Set start and end dates/times
  4. Enter location airport code
  5. Add optional notes
  6. Click "Add Maintenance Window"

Maintenance windows appear as orange striped blocks on the timeline and prevent flight swaps during those periods.

Step 4: Run Optimization

  1. Ensure all flights have complete data (airports, passengers, times)
  2. On the Optimize tab, click the green "Optimize Schedule" button
  3. The swaps are applied to your fleet the moment you click. The Optimization Results card that appears reports the reassignments already made — it does not ask you to approve them, and there is no undo
  4. Examine the before/after route comparisons
  5. Check total hours and cost savings
  6. Review per-aircraft savings breakdown
Optimize Rewrites Your Schedule Clicking Optimize Schedule reassigns flights between aircraft immediately and irreversibly — the only way back to the previous assignment is to re-enter it. If the pre-optimization schedule matters, export a report before you optimize.

Step 5: Set Operating Costs

  1. Operating cost is a per-aircraft value, not a page-level setting. Set Operating Cost ($/hr) in the Add Aircraft modal (defaults to 4500), or supply it in the Cost_Per_Hour column of the fleet CSV
  2. The Financial Impact panel at the top of the Optimization Results card lists each aircraft's rate, but computes the headline savings from the unweighted fleet average of those rates — on a mixed fleet a $9,000/hr heavy and a $2,800/hr midsize average to $5,900/hr regardless of which tail actually saved the hours. The Savings by Aircraft table further down does use each aircraft's own rate. There is no page-level cost field and no Update button
  3. To change a rate, use the aircraft's Edit button on the Fleet tab, then re-run the optimization

Step 6: Export Report

  1. The Optimization Results card is hidden until an optimization has run. After optimizing, scroll to the bottom of that card on the Optimize tab and click "Export Report"
  2. An HTML file downloads, named Schedule_Optimization_<date>.html. No window opens — look for the file in your downloads folder
  3. Open the downloaded file and click "Print Report" inside it to print or save as PDF
  4. Report includes all optimization details and the swaps that were applied

The Export / Print button on the Timeline tab is a different control: it exports the timeline view, not the optimization report.

Technical Details

Enhanced Realistic Flight Time Calculation

The Fleet Schedule Optimizer uses an enhanced flight time calculation methodology that goes beyond simple Great Circle distance calculations. This provides significantly more accurate flight time estimates for real-world Part 135 operations.

Calculation Components

Flight times are calculated using the Haversine formula for Great Circle distance, plus additional operational factors:

Complete Documentation: For detailed information about the flight time calculation methodology, formulas, examples, and accuracy expectations, see the Flight Time Calculation Methodology documentation.

What the Enhanced Calculation Adds

The enhanced calculation adds climb and descent, routing, terminal-area and wind allowances that a distance-only estimate leaves out; they matter most on short legs, where they are a larger share of the flight. Its accuracy against flown times has not been measured.

Example (KTEB → KLAX, 2,132.8 NM great circle, Citation X+ @ 527 kts):
Simple calculation: 4.25 hours
Enhanced calculation: 4.92 hours
Difference: +0.67 hours (40 minutes) — the full six-step chain is worked in the methodology page

Airport Database

The system uses an airport database of roughly 9,800 airports worldwide, loaded at runtime from assets/data/airports.csv by js/shared/airports.js, with:

Aircraft Database

Pre-configured aircraft types (aircraft.js) include:

Data Storage

All data is stored locally in the browser using JavaScript state management. No data is sent to external servers. The only thing remembered between sessions is which tab was last open; fleet, flights, maintenance windows and operating costs are held in memory and are cleared when the page reloads.

Browser Compatibility

The Fleet Schedule Optimizer works in all modern browsers supporting ES6+ JavaScript:

Best Practices

For Optimal Results

Complete Data Entry

Ensure all flights have departure times entered. The optimizer works best with complete schedule information including exact times.

Regular Maintenance Updates

Keep maintenance schedules current. Out-of-date maintenance windows can result in invalid swap recommendations.

Accurate Operating Costs

Use your actual hourly operating costs (fuel, crew, maintenance reserves) for realistic financial impact calculations.

Timeline Review

Visually inspect the timeline before optimizing to spot potential issues or conflicts that might not be obvious in list view.

Export Before You Optimize

Optimize Schedule reassigns flights immediately — no accept/reject step, no undo. Export a report first if you need a record of the pre-optimization assignment.

Document Decisions

Export reports before and after implementing changes to document your optimization decisions and track savings over time.

Common Scenarios

Scenario 1: Last-Minute Charter Booking

A client books a same-day flight. Add it to the appropriate aircraft, then re-optimize to see if swapping with another aircraft's flight would reduce overall empty legs while still meeting the requirement.

Scenario 2: Maintenance Scheduling

Before scheduling maintenance, add the proposed maintenance window and run optimization to see how it affects your schedule. This helps choose the optimal time for maintenance with minimal operational impact.

Scenario 3: Fleet Expansion Analysis

Add a hypothetical new aircraft to your fleet and assign it some flights. Run optimization to see if it would reduce empty legs compared to using existing aircraft.

Scenario 4: Home Base Optimization

Set home base airports for aircraft and review the timeline to identify patterns. While not enforced as a hard constraint yet, this helps plan operations that naturally return aircraft to base.

Troubleshooting

Optimize Button Not Working

Problem: Clicking "Optimize Schedule" does nothing.

Solution:

No Optimization Results Found

Problem: Optimization runs but shows "No optimization opportunities found."

Possible Causes:

Timeline Not Displaying

Problem: Timeline section is hidden or shows no data.

Solution:

CSV Import Failing

Problem: CSV import shows errors or doesn't work.

Solution:

Maintenance Windows Not Appearing on Timeline

Problem: Maintenance blocks don't show on Gantt chart.

Solution:

Future Enhancement Possibilities

Planned Features

Feature Description Benefit
Crew Scheduling Integration Track crew assignments and duty day limits (14 CFR 135.267, 135.269) Ensure optimizations respect crew rest requirements and prevent violations
Multi-Leg Package Support Group related flights that must stay together (round trips, multi-day charters) More realistic optimization for complex charter packages
Client Preferences Track VIP clients, aircraft preferences, historical assignments Maintain client satisfaction while optimizing costs
Weather Integration Factor weather delays, routing changes, alternate airports Real-time optimization adjustments based on conditions
Advanced Cost Modeling Variable costs per aircraft, fuel prices, landing fees More accurate financial impact calculations
Historical Analytics Track savings over time, identify patterns, benchmark performance Demonstrate ROI and identify optimization opportunities
Mobile Optimization Responsive design for tablets and phones Schedule management on the go

Frequently Asked Questions

Q: Does the optimizer account for fuel burn and weight restrictions?

A: Not currently. The optimizer focuses on flight time and schedule efficiency. Fuel and weight calculations should be performed separately as part of normal dispatch procedures.

Q: Can I optimize just a portion of my fleet?

A: Yes. Simply only add the aircraft you want to optimize. You can have multiple instances of the tool open in different browser tabs for different fleet segments.

Q: How does the system handle international flights?

A: The system tracks international WiFi requirements and uses worldwide airport data. It does not currently account for customs, immigration, overflight permits, or international regulations beyond WiFi requirements.

Q: What happens if I close the browser?

A: All flight and aircraft data is lost unless you export it. The tool does not have persistent storage (by design, for privacy). Always export your data before closing.

Q: Can multiple people collaborate on the same schedule?

A: Not in real-time. The tool is single-user. For collaboration, export the report or CSV data to share with colleagues.

Q: How accurate are the flight time calculations?

A: The Fleet Schedule Optimizer uses an enhanced flight time calculation that accounts for climb/descent, ATC routing, terminal speed restrictions, and prevailing winds. Flight times are planning estimates and have not been compared with flown block times. See the Flight Time Calculation Methodology for complete details.

Q: Can I use this for Part 121 or Part 91 operations?

A: While designed for Part 135, the core optimization logic works for any operation. However, regulatory features (crew requirements, duty limits) are Part 135-specific.

Q: Is my data secure?

A: Yes. All processing happens locally in your browser. No data is transmitted to external servers. Your flight schedules, aircraft information, and optimization results remain completely private.

Regulatory Compliance Notes

Important Legal Disclaimer The Fleet Schedule Optimizer is a planning tool designed to assist with operational efficiency. It does NOT:
  • Replace required FAA dispatcher or pilot planning responsibilities
  • Guarantee regulatory compliance with 14 CFR Part 135
  • Account for all operational variables (weather, MEL items, crew rest, etc.)
  • Serve as an approved flight planning system
All optimization recommendations must be reviewed and approved by qualified personnel in accordance with your company's OpSpecs and approved procedures.

Relevant Regulations

Users are responsible for ensuring all flight assignments comply with applicable regulations, company procedures, and operational specifications.

Support & Feedback

The Fleet Schedule Optimizer is part of Jetfolio, a suite of tools for Part 135 operations including:

Getting Help For questions, bug reports, or feature requests:
  • Review this documentation thoroughly
  • Check the Troubleshooting section
  • Export a report showing the issue if applicable
  • Contact your system administrator or operations manager

Fleet Schedule Optimizer Documentation | FAA Part 135 Operations

Part of Jetfolio | Revised September 2026

This tool is for operational planning purposes only. Always verify compliance with current regulations and company procedures.