Skip to main content

vOCC

Backoffice path: backoffice/occ/vocc

Available to roles: System Administrator, Administrator

Overview​

The Virtual Operations Control Center (vOCC) is an AI-powered dispatch system built on OpenRouter. It provides real-time operational support to pilots through proactive advisories, route optimization suggestions, and an interactive chat interface. Administrators use the vOCC backoffice page to toggle features, monitor activity, and configure language settings.

Master Toggle​

The entire vOCC system is controlled by a single master toggle:

  • VOCC_ENABLED -- enables or disables all vOCC functionality. When disabled, no AI features will trigger and pilots will not receive vOCC messages.

Feature Toggles​

Each vOCC capability can be independently enabled or disabled:

ToggleDescription
VOCC_WEATHER_ADVISORYWhen enabled, vOCC sends a weather advisory to pilots at approximately 60 minutes before estimated arrival. The advisory includes relevant METAR/TAF data and any weather-related concerns for the destination.
VOCC_ARRIVAL_INFOWhen enabled, vOCC sends arrival information to pilots at approximately 30 minutes before estimated arrival. This includes runway information, approach procedures, and other arrival-relevant data.
VOCC_CHAT_AIWhen enabled, pilots can chat directly with the vOCC AI. The chat uses the AI's native function calling with up to a 50-iteration tool loop, allowing the AI to gather information, run analyses, and provide detailed responses to pilot queries.
VOCC_DCT_SUGGESTIONSWhen enabled, vOCC suggests direct-to (DCT) route optimizations based on the pilot's current position and Flight Information Region (FIR). These suggestions help pilots request more efficient routing from ATC. Runs as part of Flight Following (requires VOCC_FLIGHT_FOLLOWING).
VOCC_FLIGHT_FOLLOWINGWhen enabled, vOCC continuously monitors active flights for low fuel at pushback, holding patterns, excessive fuel burn, overweight landing risk, fuel starvation, and DCT shortcut opportunities. Alerts are sent once per flight per condition. Requires SimBrief OFP data for fuel and route analysis. The pushback check runs during taxi-out, while the pilot can still return to the stand: it compares the fuel on board as the aircraft starts moving with the OFP's minimum takeoff fuel plus taxi fuel, and alerts when it is more than 3% short. When the fuel on board matches the block fuel figure read as pounds, the message tells the pilot the fuel was likely loaded in LB instead of KG.

| VOCC_ONWARD_FLIGHT_OFFERS | When enabled, vOCC asks pilots to help crew scheduling by flying one more leg on the same aircraft. See Onward Flight Offers. On by default. |

Default Language​

The vOCC default language is configurable, controlling which language the AI uses for proactive messages sent to pilots. Per-language configurations can be managed on the vOCC Language page.

Onward Flight Offers​

At a random point between 30 and 90 minutes before landing (fixed per flight), vOCC checks whether the pilot has anything else booked. If neither the pilot nor the aircraft has another booking, it picks an open schedule out of the arrival airport that the pilot and aircraft are allowed to fly — preferring the one that takes the aircraft back to its base — and asks the pilot over ACARS, in their own language:

We have an open flight going to SBGR that is worth 198 extra points. Do you want to take it. Same aircraft.

The aircraft must not be needed elsewhere. Before offering anything, vOCC checks what the airline already needs the aircraft for:

CommitmentEffect on the offer
Aircraft grounded, or with an open or NO-GO defectNo offer.
A maintenance check due (status other than OK, or past due / inside its reposition threshold)Only the flight to the maintenance base is offered.
A live charter contract (open, assigned or in progress) whose next leg starts within CONTRACT_REPOSITIONING_LEAD_HOURS (default 48 h)Only the flight to the departure of the contract's next leg is offered. A contract further out does not hold the aircraft: the contract board repositions it once the lead time is reached.
A pending or in-progress ferry flightOnly the flight to the next ferry leg's departure is offered.
A repositioning bounty still moving the aircraftOnly the flight to the bounty's destination is offered.

If the aircraft is needed at the airport it is landing at, if no schedule goes where it is needed, or if it is needed in two different places, no offer is made. The same check runs again when the pilot asks for another destination and at the moment of booking, so a contract or maintenance need that appears mid-conversation still stops the booking. When the offer is restricted, the pilot is told why, and vOCC can show the aircraft's full plan with get_aircraft_schedule if the pilot asks.

The conversation then continues in chat:

  1. Pilot says yes — vOCC books the flight.
  2. Pilot says no — vOCC asks whether they have anywhere in mind and lists up to five other destinations from that airport with their points (base first, then the shortest legs).
  3. Pilot names a destination — vOCC repeats the exact flight and points and asks the pilot to confirm. It books only after the pilot answers yes.
  4. Pilot turns everything down — the offer is closed and nothing is booked.

Nothing is booked without a clear yes. A booking the pilot cancels is charged to them (BOOKING_CANCEL_COST), so the booking tool only accepts the exact flight last put to the pilot, and only after the pilot has written back since it was put. A maybe, a question, or a yes to a different destination is not taken as a confirmation. Offers left unanswered close after 3 hours.

When the pilot confirms, vOCC creates a one-leg repositioning bounty already claimed by the pilot and adds the booking to their bookings. That booking expires after 6 hours, instead of the regular booking expiry. Points are paid through the bounty when the flight is filed, at VOCC_ONWARD_FLIGHT_POINTS_PER_NM points per nautical mile (default 0.33, set in System Settings under vOCC). This rate is separate from the repositioning pay brackets. If the pilot cancels the booking or lets it expire, the bounty is cancelled rather than returned to the public bounty board.

Each offer appears in Recent Triggers as Onward Offer, with the message that was sent.

Dispatch Operators​

vOCC staffs its desk with six fictional dispatch operators, each with a distinct personality that comes through in how their ACARS messages read. One operator is on duty per 6-hour shift (00:00–06:00, 06:00–12:00, 12:00–18:00, 18:00–24:00 UTC); at each shift change a different operator takes over — never the one who just finished.

OperatorStyle
Carla Mendes ("Mama Bear")Warm 22-year veteran; frames safety notes as personal care.
Viktor Sokolov ("The Machine")Ex-military; clipped, numbered, zero small talk. Ends with SOKOLOV OUT.
Dex Okafor ("Sparky")Enthusiastic rookie; narrates his research, loves a good tailwind.
Ruth Goldberg ("The Oracle")Fewest words possible; tells you what the weather means.
Jean-Paul Laurent ("Smooth")Gracious concierge of the skies; always one extra courtesy detail.
Mack O'Brien ("Grumps")Gruff night-shift veteran; grumbles, but the data is always right.

Operators sign their messages and the current one is shown on the vOCC dashboard ("On duty"). Personality never overrides operational rules — message accuracy, the ACARS character set, and dispatch discipline always come first.

AI Tool Access​

The vOCC AI has access to over 30 tools organized into the following categories:

CategoryTools
WeatherMETAR reports, TAF forecasts for airports along the route and at the destination.
Airport InformationAirport details, runway data, frequencies, facilities, and operational status.
NavigationWaypoints, airways, FIR boundaries, and navigation aid data.
Aircraft DataAircraft specifications, performance data, and current status.
Flight OperationsFlight plan details, progress tracking, fuel state, and ETA calculations.
Fuel AnalysisFuel burn rates, remaining fuel calculations, and diversion fuel analysis.
SafetySafety events, NOTAMs (real-world and company), airspace restrictions, and hazard information.
SimBriefIntegration with SimBrief for operational flight plan data.
AlternatesAlternate airport suggestions based on weather, fuel, and distance. Suggestions are advice only; when the captain tells the vOCC they are diverting or returning to another airport (including the departure airport), it declares the alternate (declare_alternate), which moves the booking's arrival to that airport so the flight is filed and reviewed as a diversion.
NetworkActive ATC positions, live traffic in the area, and network status.
Action ToolsSend messages to pilots, create tech log entries, and perform operational actions.
Crew SchedulingRead an aircraft's plans (get_aircraft_schedule): bookings, live charter contracts with leg windows, ferry flights, repositioning bounties, maintenance due, open defects, and where it is needed next (pilot names are not included). Answer an onward flight offer: list other destinations (get_onward_flight_options), put a destination to the pilot for confirmation (propose_onward_flight), book the confirmed flight (book_onward_flight), or close the offer (decline_onward_flight).
Maintenance & DefectsList the aircraft's installed parts with lifecycle health, and report pilot defects (report_defect) — reported defects land open on the maintenance triage board for staff disposition.

This extensive toolset allows the AI to provide comprehensive, context-aware assistance to pilots across all phases of flight.

Dashboard​

The vOCC backoffice dashboard is organized into three sections:

Feature Toggle Cards​

A set of cards displaying the current state of each vOCC feature toggle. Administrators can quickly see which features are active and toggle them as needed.

Recent Triggers​

A table showing the last 20 vOCC triggers -- events that caused the AI to activate (e.g., a pilot reaching the 60-minute weather advisory threshold, or a DCT suggestion opportunity). Each entry shows:

ColumnDescription
TimeWhen the trigger fired
PilotPilot name (snapshotted at trigger time)
CallsignFull callsign (e.g., TST100)
RouteDeparture → Arrival ICAO codes
AircraftAircraft registration
TriggerColor-coded trigger type badge

Flight data is snapshotted when the trigger fires, so pilot names, callsigns, and airports remain visible even after the associated booking has been completed or deleted.

Interaction Log Flyout​

Clicking any trigger row opens a detail flyout showing:

  • Trigger metadata -- type badge and timestamp
  • Flight context -- pilot, callsign, route, and aircraft
  • Full AI interaction log -- the complete prompt sent to the AI, any tool calls made during the interaction (for tool-loop triggers), and the final response delivered to the pilot

This allows administrators to review exactly what the AI saw, what actions it took, and what message it generated -- useful for quality assurance and debugging.

Recent vOCC Messages​

A table showing the last 20 messages sent by the vOCC system to pilots. This provides a quick audit trail of what the AI has been communicating, including weather advisories, arrival information, and chat responses.

Data Retention​

vOCC trigger records are automatically pruned after 30 days. This includes the snapshot data and interaction logs. The pruning runs daily via the DispatchPruneVoccTriggers scheduled job, which iterates all tenants and removes expired records.

vOCC Language Configuration​

The vOCC Language page allows administrators to manage per-language configurations for proactive messages. This is useful for airlines operating in multilingual environments where pilots may prefer to receive advisories in their native language. Each language configuration controls the tone, format, and content of the AI's proactive messages.