Sign in with your email. We will send you a magic link that lets you back in without a password.
Invite-only workspace. If your email is not on the list, you will be asked to contact the workspace owner after signing in.
Check your inbox
Magic link sent.
We just emailed you a sign-in link. Open it on this device to enter the workspace.
Invite required
You are signed in.
This workspace is invite-only. Reach out to ops@hamz.ai to be added, then sign in again.
What should we call you?
This name shows up next to your edits and notes. You can change it later from the toolbar menu.
Internal / Flight IQ / hamz.ai
Working document
Updated 18 May 2026
Live workspace, four editors
AVIANIS scoping workspace.
Where we are before writing the engagement proposal. Reconciles the team's reviews, lays out the five ecosystem areas from Patrick's diagram, sizes the six potential builds, and collects the open questions and constraints in one place. Everyone on the team sees the same workspace in real time, with each edit attributed.
01Two distinct objects to keep apart
The engagement, and the builds.
There are two separate things going on in this project, and a lot of the risk we're carrying comes from them getting tangled together in conversation.
The first is the engagement itself, which is the paid scoping and roadmap work that Bill and Patrick are asking us for. Bill's email is explicit that he wants a quote on this work before we undertake it, so getting that quote in front of him is the next blocker we need to clear. The shape of the work is clear even if the price isn't yet. We're being asked to figure out what AVIANIS actually does, who relies on its data downstream, what would need to exist if it were unplugged, and which of the proposed builds are real candidates for development.
The second is the actual builds underneath. There are six potential build streams in play right now (NOTAMs, the McD's board, the passport portal, the v5 work on Flight Concierge, the broader trip support module, and crew scheduling), and none of them are properly sized yet. The whole point of the engagement is to size them, which means we shouldn't be agreeing to build any of them at this stage. The roadmap is the deliverable that converts them into real go/no-go line items.
The discipline we need is to keep these two things separate in our heads even when the client conversation mixes them. If someone in a meeting says "and also crew scheduling," the right move is to treat it as an addition to the discovery scope rather than a build we've signed up for. Waqar's framing about meetings not equating to commitments captures the same idea, and a version of that line probably belongs in the proposal as a written clause.
02Two rules for triaging the builds
How we look at each domain.
Every one of the six build domains gets read through two lenses. They're how we decide what could be quoted as a standalone piece now, what has to wait, and what we shouldn't be quoting at this stage at all.
Rule 1. Endstate-dependent versus standalone
The first question is whether a given build depends on the system-of-record decision, by which I mean what eventually happens to AVIANIS. Some of the proposed builds make sense regardless of that decision and can be quoted now. Others can't be properly scoped until we know whether AVIANIS stays, partially stays, or goes away. NOTAMs is the clearest example of the first kind, because it doesn't sit inside AVIANIS in the first place, so it doesn't have to wait on any of the bigger questions.
Rule 2. AI-interfacing versus system-replacement
The second question, which I think is Arthur's main contribution, is whether we're putting an LLM on top of something that already exists, or whether we're building a brand-new system from scratch underneath the AI. Arthur is suggesting we interface LLMs onto existing systems (including AVIANIS itself, if necessary) before committing to replace anything underneath them.
This matters because Bill's actual blocker, by his own description, is that he can't justify the ROI of a full replacement. AI interfacing is a lot cheaper and faster to demonstrate than replacement, and it gives Mike a visible win without making him sign off on the much bigger number that replacement would require.
Patrick's framing in his email pulls in the opposite direction. His language is about developing the system first and then implementing the AI Concierge on top of it. That isn't necessarily wrong, but it's a different bet, and the proposal will need to make our case carefully because Patrick is already anchored on his framing.
03Where the three reviews agree
Independent convergence.
Arthur's scope analysis, Waqar's discovery notes, and Hamza's earlier working notes have looked at this picture independently. They use different framings and different vocabularies, but they end up at roughly the same caution: we shouldn't agree to replace AVIANIS wholesale before defining what "replacing AVIANIS" actually means in concrete terms.
That convergence matters more than any one specific recommendation in this document, because three people working independently arrived at the same warning. The job of the proposal is to take that warning and make it legible to Bill and Patrick without sounding like we're hedging on the work itself.
04The five ecosystem areas
What lives where in Patrick's diagram.
Patrick's diagram divides trip management at Execaire into five distinct functional areas. Each one has its own workflows, its own data flowing in and out, and its own set of AI opportunities that Patrick has already flagged inside the picture. The six build domains all live inside one or more of these areas, so understanding the areas first makes it easier to see which builds touch which parts of the operation.
The diagram is below. The five regions are clickable, so hovering shows the area name and clicking jumps to that area's detail card. The area cards underneath include the functions, inputs, outputs, AI opportunities, and which build domains touch each area.
Source: Patrick's diagram, May 2026Open full size ↗
1.Dispatch
Flight Following + Flight Planning
What it does
Updates logistics when a flight is delayed, cancelled, or arriving early.
Ensures aircraft land at the planned destination and triggers ERP if an aircraft is overdue.
Monitors weather and NOTAMs at destinations.
Disseminates ATC delays to flight crew.
Triggers flight planning workflows on a time-based schedule: flight plan built 60 hours before ETD, fuel completed 12 hours before, filed 12 hours before, weather and NOTAMs checked 6 hours before.
Sets up fuel based on fuel marketplace data and tankering analysis.
Inputs
Actual aircraft movement times from FlightAware API.
Flight plan details from ARINCDirect.
Feasibility status and contract fuel prices.
Outputs
Aircraft actual departure and ETA, sent to FlyExecaire.
Movement data to external stakeholders, including email.
Leg details to ARINCDirect for flight plan generation and changes.
AI opportunities (per Patrick's diagram)
Automatically monitor weather and NOTAMs at destination and alternate airports.
Generate movement emails and send to logistics stakeholders.
Automatically generate flight plans.
Build and adjust flight plans based on LLM review of pilot flight plan requests.
Related build domains
→ NOTAMs (Domain 1)
2.Flight Concierge
The blue box: passenger, itinerary, logistic booking
What it does
Passenger Management. Add and remove passengers from legs. Create passenger records with name, DOB, email, phone, residency, gender, linked account and aircraft, family tree association. Edit and inactivate passengers. Store preferences and travel documents (passports, visas, permanent residency). Securely acquire travel documents.
Itinerary Management. Create a trip with status, type, primary contact, flight concierge responsible, sales manager responsible, attending maintenance engineer, regulatory standard (CAR 604 etc.), departure and arrival ICAOs, scheduled ETD and ETA, flight time calculation, leg status, departure and arrival handling agents. Inactivate, edit, add legs, remove legs, move legs between trips, conduct and monitor feasibility.
Logistic Booking (Concierge side). Build service requests for catering, chauffeured transportation, rental car. Each request type has different fields. Set completion due date, cancel, edit.
Inputs
Travel documents from secure system; travel status from government systems; immigration requirements.
FlyExecaire change requests, Azure user data (flight concierge info), arrival trip log data from FlyExecaire (actual OOOI times).
Internal Execaire aviation systems.
Outputs
Submission of passenger data to government systems (EU-LISA, US eAPIS).
Generated general declaration PDF.
Submitted requests for travel documents.
Leg details and service request details passed to Dispatch and Trip Support.
AI opportunities (per Patrick's diagram)
Passenger creation, editing, and assignment via LLM prompt.
Suggest passengers based on historical data.
Identify duplicate passenger records.
Validate immigration status (feasibility).
Review travel documents for errors.
Read passport data.
Itinerary creation and editing via LLM prompt; suggest trips based on historical data.
Service request creation and editing via LLM prompt.
Automatically creates service requests based on trip and leg details (for example, landing permit service request for legs to Cuba, US CBP request when landing in the USA).
Creates and edits service requests with type-specific fields (catering, landing permit, overflight permit, etc.).
Generates, sends, and receives permit request forms.
Monitors trip changes and executes logistic updates.
Monitors service request status holistically and executes based on time-based workflows.
Inputs from Flight Concierge
Leg details, service requests created by Flight Concierge.
Passenger details and due dates for each service request.
Leg changes.
Outputs back to Flight Concierge
Service request status.
Issues with service acquisition (e.g. customs not available, parking not available).
AI opportunities (per Patrick's diagram)
Draft and send permits automatically.
Receive and interpret permit approval using LLM.
Related build domains
→ McD's board (Domain 2)→ Trip Support module (Domain 3)
4.Crew Management
Schedules, compliance, training
What it does
Builds and edits crew schedules.
Manages days off and vacation approval workflow.
Enters training events by type.
Provides a crew statistics dashboard.
Monitors Canadian duty time regulations.
Monitors and reports on flight crew overtime based on corporate policy.
Assigns and removes crew from flights based on crew availability and compliance.
Inputs
Vacation and days-off requests from FlyExecaire.
Training schedule from third-party provider (e.g. CAE).
Training status of crew from LMS / QMS.
Crew assignment from elsewhere in the system.
Outputs
Crew availability.
Crew statistics (flight time, time away from base).
Crew regulatory compliance status.
AI opportunities (per Patrick's diagram)
Build crew schedules automatically based on tail-specific crewing model (days off, workload balancing).
Assign crew automatically based on schedules and trips.
Related build domains
→ Crew scheduling (Domain 6, walled off)
5.Charter Sales
Quoting and pricing
What it does
Generates sales quotes including account, primary trip contact, departure and arrival ICAOs, scheduled ETD and ETA, flight time calculation.
Calculates sale price (payback to aircraft owner + flight costs + margin = sale price).
Adjusts cost data and sales price; manages aircraft-specific payback rates.
Sets charter terms and conditions on a per-tail basis.
Generates and sends sales quotes for electronic signature.
Inputs
Airport and navigation cost data.
Feasibility status, flight time calculation.
Trip changes that result in re-quote under new assumptions.
Outputs
Sales data.
Trip details for downstream processes.
Countries overflown, used to create service requests.
AI opportunities (per Patrick's diagram)
Automatic quote generation and distribution.
Build quote based on AI interpretation of aircraft owner's rules of engagement (e.g. charge additional fee if leg less than one hour).
Related build domains
→ Walled off in this engagement (see Constraints tab)
05The six potential builds
What's actually on the table.
The original conversation was about four build domains: NOTAMs, the McD's board, the passport portal, and v5 (the Flight Concierge AI). Two more have been added since. Crew scheduling came up in the most recent call as "the last component missing," and the Trip Support reframing has gone from being just a board to being a fuller module replacement with data migration off AVIANIS. That puts us at six.
The summary table is the at-a-glance view. Each row links to the full card below. Crew scheduling stays "unknown" on complexity deliberately because the call notes don't yet have enough detail to rate it honestly. The v5 row shows two ratings because the gap between "interface only" and "full replacement" is the entire strategic question we have to answer in the proposal.
Domain
Complexity
Creep risk
Endstate-dependent
NOTAMsFlight Following
Medium
Low
No
McD's boardTrip Support, narrow
High
High
Yes
Trip Support moduleMcD's board, expanded
Very High
Very High
Yes
Passport portalPassenger management
Medium
Medium
Partial
v5Flight Concierge AI
Med / VH
High
Yes
Crew schedulingNewly added
Unknown
Very High
Likely yes
1.NOTAMs
Flight Following
Build
A standalone tool that monitors weather and NOTAMs at destinations and at alternates, and pushes alerts to flight followers. The line Patrick highlighted in his email is "Monitor Weather and NOTAMS at Destination," which sits under Flight Following in the diagram.
Flight IQ has
[Internal: confirm with team what we already have on the alerting and data-feed side.]
Complexity
Medium Bounded use case, well-understood data sources, clean output to flight followers.
Creep risk
Low No dependency on the system-of-record question, so it's hard to over-scope.
Endstate-dependent
No Per Patrick's diagram and the prior conversation, this functionality is understood to sit outside AVIANIS.
Read
Of the six domains, this is the cleanest candidate for a standalone quote that doesn't wait on the rest of the discovery work. If anything in this project actually ships in 2026, this is the most likely candidate.
2.McD's board
Trip Support, narrow scope
Build
The visual board on its own. At-a-glance view of in-flight service requests and their status across active trips. This is what Patrick originally described, and the lines he highlighted in his email are "Monitor Trip Changes and Execute Logistic Updates" and "Monitor Service Request Status Holistically and Execute based on Time Based Workflows."
Flight IQ has
[Internal: confirm.]
Complexity
High The board is only the surface. The real architectural shape sits in the next row.
Creep risk
High This is where scope has most visibly grown since the original conversation.
Endstate-dependent
Yes Service request data has to live somewhere, and where it lives is exactly the system-of-record question.
Read
Keeping this on the page as the narrow framing. The next domain is what it has become. Both stay listed so the creep is visible to us as we work.
3.Trip Support module
McD's board, expanded
Build
A configurable service-request engine in the Salesforce style, plus a separate tasking and dashboard layer on top, plus data migration off AVIANIS. The architectural shape is "service is the record, task is the status," which is two distinct objects rather than one.
Flight IQ has
[Internal: confirm. Probably not at this scope.]
Complexity
Very High This is no longer a board. It's a full module replacement.
Creep risk
Very High The ask has already silently doubled in scope since the original conversation. This is the domain most likely to keep growing.
Endstate-dependent
Yes Trip Support is a large piece of the endstate question itself.
Read
The roadmap should include this honestly. The engagement should not commit to building it. The exercise of sizing it is in fact the discovery itself, converting "module replacement with data migration" into a real set of components, dependencies, and effort estimates.
4.Passport portal
Passenger management
Build
A portal where passengers submit travel documents (passports, visas, residency) securely. The data passes through to government systems (EU-LISA, US eAPIS, etc.) and back, but is not stored in FlightIQ.
Flight IQ has
[Internal: confirm.]
Complexity
Medium Form plus secure handoff plus careful no-storage handling. The security pattern is the real engineering, not the form itself.
Creep risk
Medium Could expand into broader passenger management features like preferences, family-tree associations, or the full passenger object.
Endstate-dependent
Partial Depends on where the passenger record of truth lives once AVIANIS is partially or fully out.
Read
The "do not store passport data in FlightIQ" decision is settled (see Constraints tab), so that's now a design constraint rather than an open question. Security review will be real engineering and not a compliance checkbox, given Execaire's prior history with stolen passport data.
5.v5
Flight Concierge AI
Build
The entire blue box from Patrick's diagram: passenger management, itinerary management, and logistic booking. Patrick's framing in his email is "develop the necessary system to implement the AI Flight Concierge." Arthur's framing is closer to the opposite, namely that we should interface an LLM directly onto what already exists (AVIANIS included) before committing to replace anything underneath it.
Flight IQ has
[Internal: confirm.]
Complexity
Med (interface only)Very High (full replacement)
Creep risk
High The phrase "Flight Concierge AI" is fuzzy enough that it could mean almost anything. The proposal language will need to nail down exactly which version we are scoping.
Endstate-dependent
Yes Partly is the endstate question.
Read
The discipline here is to avoid agreeing that we'll build the underlying system as a prerequisite for the AI. That's the trap. Interface first, defer replacement. This is also where the proposal has to argue most carefully, because Patrick's framing points the other way.
6.Crew scheduling
Newly added; walled off
Build
A crew scheduling system covering schedules, days off, vacation approval workflow, training events, statistics dashboard, regulatory compliance for Canadian duty time, overtime monitoring, and assignment of crew to flights. Patrick's framing in the most recent call notes is that this is "the last component missing." Detail beyond that is thin.
Flight IQ has
Nothing. This wasn't in the original ask.
Complexity
Unknown There isn't enough detail in the source material to rate it honestly.
Creep risk
Very High Added late and without a clear bound, which is the classic profile of an ask that keeps expanding.
Endstate-dependent
Likely yes Touches flight assignments, regulatory compliance, and training records, much of which AVIANIS holds today.
Read
Walled off in this engagement (see Constraints tab). Almost certainly a separate product if it goes ahead at all.
06Open questions
What the discovery phase has to answer.
These are pulled from Waqar's notes, Arthur's open questions, and the email thread. They're grouped by area for legibility rather than priority. The engagement work itself will set the order of operations.
Operational
What triggers ERP today, who owns it, and what does the integration actually look like?
FlightAware data: pull or push? This shapes how Flight Following actually receives movement data.
Where do contract fuel prices come from? Who owns that integration today?
Movement email: current recipient list, format, and generation step. Who depends on this exact email today?
Architecture and system-of-record
For each of the six domains, who or what is the source of truth once AVIANIS is partially or fully out?
Passenger records: FlightIQ, AVIANIS, or somewhere else?
Service requests: same question, and more urgently, because this is the foundation of the Trip Support module decision.
Itinerary data: where does this live once a trip is in motion?
Downstream consumers
Finance and JD Edwards: what API calls, what data, on what cadence? An "unplug" without inventorying these is not actually an unplug.
FlyExecaire: currently powered by AVIANIS data. What does an unplug actually look like for the crew-facing app?
What other consuming systems exist that we haven't yet identified? Waqar's API matrix is the artifact that answers this.
Engagement and commercial
Source code access for current systems: can we secure this upfront, before discovery starts?
What is Mike's actual ROI bar? What number does Bill need to clear, even informally?
What is the cadence for client review of discovery outputs: weekly working sessions, or milestone-based?
07Known constraints
The boundaries we're working inside.
01AVIANIS costs about $200k per year. This is the ROI anchor. Every replacement conversation eventually returns to what the alternative saves against that number. Bill has been clear that he can't justify the financial weight of a replacement without that number in front of him.
02Execaire is locked into AVIANIS until October. Anything built before then is parallel infrastructure rather than a replacement, which both limits and helps us. It limits what "near-term" can mean in the proposal, and it gives us room to ship standalone pieces (NOTAMs being the obvious candidate) without colliding with the contract.
03A roughly 1.5-year phase-out timeline has been discussed. We should treat this as directional rather than committed. Anything we write about timing in the proposal needs to be framed as the client's working assumption, not as a plan we've already quoted.
04Finance and JD Edwards consume AVIANIS data downstream. An unplug without an inventory of these consumers is not actually an unplug, and Patrick has acknowledged this contradiction himself in conversation. It's the practical constraint on what replacement can mean.
05Passport data was previously stolen in a hack at Execaire. This is the underlying reason for the decision not to store passport data in FlightIQ. It raises the stakes on the passport portal design, since security review will be live engineering rather than a checkbox.
08Stale points in Arthur's matrix
Two corrections to feed back internally.
Arthur's preliminary scope analysis was solid at the time, but the conversation has moved since then, and two specific points in his matrix are now out of date. Both should go back to him so his next pass is built on current ground.
Correction 1 · Trip Support complexity
Was: Trip Support rated Low complexity.
Now: The newer call notes show that the McD's board has grown into a configurable, Salesforce-style service-request engine plus a separate tasking and dashboard layer. That "service is the record, task is the status" distinction is a real architectural split, not a board.
The broader Trip Support module is therefore no longer low complexity. It's Very High. Even the narrow McD's board piece, taken on its own, is High once you account for the service-request engine sitting underneath it.
Correction 2 · PII storage
Was: Open question: "do they plan to store PII?"
Now: Answered. The decision from the earlier passport discussion is that FlightIQ will not store passport data.
The important context for the matrix is that this is settled, not provisional, because Execaire previously had passport data stolen in a hack. Any passport portal design has to treat security as real engineering, not a compliance step.
09Walled off
What is not in this engagement.
Two things should be visibly out of scope, regardless of what comes up in upcoming calls. The discipline here is contractual rather than technical. Both should be named in plain language in the eventual proposal's "out of scope" section, so that neither shows up later as an assumed inclusion.
Crew scheduling
Added in the most recent call as "the last component missing." It goes onto the roadmap as part of the AVIANIS inventory and the consuming-systems map, but we are not building it as part of this engagement. It's almost certainly a separate product if it goes ahead at all, because it has a different problem space, different stakeholders, and a different timeline.
Charter sales
Same treatment. The charter sales workflow has its own audience (sales and quoting rather than flight ops), its own data shape, and its own development effort. It's scoped on the roadmap but not built in this engagement.
10Pricing
Rates, scoping work, and build estimates.
Everything below saves locally as you type. Hours can be fractional, use 0.5 for half hours. Rates are in dollars per hour. The summary at the bottom rolls up across people and across sections. The pricing data is included when you export, so backups capture everything.
Team and rates
Add or remove people and set their hourly rates. The hours and cost columns roll up everything they're assigned across the scoping engagement and the build estimates.
Person
Rate ($/hr)
Hours
Cost
Team total
0h
$0
Scoping engagement workstreams
The discovery and roadmap work itself, broken into the pieces that would go into the quote for Bill. The starting numbers are conservative first cuts that should be adjusted based on what the team actually thinks is realistic. Edit names, descriptions, and per-person hours. Add or remove workstreams as needed.
Scoping engagement total
0h$0
Build estimates (placeholder)
These get sized properly once the discovery work produces real numbers. Leave them at zero, or use them as a working scratchpad for first-cut ballparks. The whole point of the scoping engagement is to fill these in honestly, so the proposal for the actual builds is grounded rather than guessed.
Build estimates total
0h$0
Summary
By person
By section
Scoping engagement
0h
$0
Build estimates
0h
$0
Grand total
0h
$0
All in
0h$0
11Build appendix
Every bullet in the picture, decomposed.
Organized into the five ecosystem areas from Patrick's diagram. Each area opens with the diagram's stated inputs, outputs, and AI opportunities verbatim, then one card per bullet within. Each card includes assumptions to validate, the specific data sources it touches, where the data lives and what we'd need to validate about that, an effort estimate per person (hooked into your Pricing tab so renames and rate changes propagate here), an Ours / Theirs / Mixed resource toggle, and interdependencies in both directions.
Ours shows our team and their hours. Theirs hides our names and gives you an editable list of resources we'd need from Execaire (pre-populated from the functional roles on the card; add or remove as needed). Mixed shows both stacked, with combined hour math and our cost.
Dispatch
Flight Following + Flight Planning
Inputs (from diagram)
FlightAware API (actual aircraft movement times)
ARINCDirect (flight plan details)
Contract fuel prices
Feasibility status from Flight Concierge
Outputs (from diagram)
Aircraft actual departure and ETA to FlyExecaire
Movement data to external stakeholders via email
Leg details to ARINCDirect for flight plan generation and changes
AI opportunities (from diagram)
Monitor weather and NOTAMs at destination and alternate airports automatically
Generate movement email and send to logistics stakeholders
Automatically generate flight plans
Build and adjust flight plan via LLM review of pilot requests
Update Logistics if Flight is Delayed, Cancelled, or Early
Flight Following
What needs to be built
A system that detects schedule changes from movement data and propagates the change everywhere downstream. Trip Support gets updated due dates and statuses for service requests, Flight Concierge gets the updated arrival time, external stakeholders get notified, ground handlers are alerted. The propagation logic is the work, the detection is easy.
Assumptions to validate
FlightAware API provides movement data with low-enough lag (under 5 minutes) for delay detection to be useful
Delayed, cancelled, and early each map to different cascading actions; that rule set exists or needs to be built with Execaire ops
External stakeholder distribution lists for movement emails are documented (recipient list, format, content)
Notification routing rules (who gets notified for which kind of change) need to be defined with operations
Input / integrations
FlightAware API actual movement times (the trigger)
Active trip and leg data from FlightIQ
Active service requests downstream that depend on the leg timing
Output / wireframing
Updated movement data to FlyExecaire
Updated ETAs pushed to Trip Support for cascading status updates
Movement emails to external stakeholders
Data storage
WhatMovement events (delay, cancel, early), notification log of outbound emails, audit trail of cascading updates
FlightAwareFlightIQ tripsFlightIQ service requestsEmail (SMTP)
Ensure Aircraft Lands at Destination
Flight Following
What needs to be built
A monitoring service that verifies each leg arrives at its filed destination. If an aircraft diverts, the system needs to know, log it, and trigger downstream updates including any logistic recovery (handler at the diversion airport, accommodations if overnight). Detection comes from comparing FlightAware tracking against the filed destination.
Assumptions to validate
FlightAware tracking is reliable enough to confirm diversions with low false-positive rate
Diversion playbooks exist or need to be created with Execaire
Handler relationships at non-home airports can be looked up programmatically
Input / integrations
FlightAware API (actual landing location)
Filed flight plan destination from ARINCDirect
Active leg data
Output / wireframing
Diversion flagged in trip records
Updated leg destination
Movement data updated with actual landing location
Trip Support notified for downstream logistic adjustments
Data storage
WhatDiversion events with origin, intended destination, actual destination, reason if known
WhereFlightIQ diversions table linked to legs
Validate
Whether diversion log is fed to compliance and safety reporting (likely yes)
Retention requirements for diversion records
AI involvement
AGENTWhen a diversion is detected, initiate diversion playbook: contact handler at the new airport, update passengers, adjust logistics, possibly arrange ground accommodation
Emergency Response Plan trigger. If an aircraft is past its expected arrival time by a set threshold without movement data, the system needs to initiate ERP procedures including alerting on-call staff and escalating per the company's emergency playbook. This is safety-critical, so reliability and audibility matter more than features.
Assumptions to validate
Execaire has a documented ERP playbook we can reference and encode
On-call rotation is tracked somewhere accessible (likely an Execaire-side system)
Overdue threshold rules are defined (typical default is 30 minutes past ETA without movement, but needs confirmation)
Audit log meets Transport Canada and safety regulator standards
Input / integrations
FlightAware API tracking
Filed ETA from ARINCDirect
Active leg data
On-call roster
ERP escalation rules (Execaire-specific)
Output / wireframing
ERP triggered (PagerDuty-style escalation likely)
On-call staff alerted with situation summary
Immutable audit log entry
Hand-off to ERP coordinator
Data storage
WhatERP incidents (trigger time, escalation chain, who was notified, resolution), immutable audit log
WhereFlightIQ erp_incidents table; append-only audit log (likely separate immutable store)
Validate
Retention requirements (Transport Canada likely requires 7+ years for safety incidents)
Audit log access controls and tamper-evidence
Whether incident records are surfaced to other regulatory reporting
AI involvement
LLMDraft initial ERP situation report with what is known and what is missing
NOTEAI is assistance only, humans drive ERP. This is safety-critical infrastructure and must be built with that posture.
FlightAwareARINCDirectFlightIQ tripsOn-call roster (TBD)PagerDuty or equivalent
Note
Safety-critical. Build with that posture.
Monitor Weather and NOTAMs at Destination
Flight Following
What needs to be built
A monitoring service that watches weather and NOTAMs for every active trip's destination and alternates, and alerts flight followers when conditions cross thresholds relevant to that aircraft and route. Output sits as a dashboard or feed with a notification panel for unread items. This is the cleanest standalone build in the whole picture because it doesn't depend on AVIANIS at all.
Assumptions to validate
Free NOTAM feeds (FAA, Transport Canada) are sufficient for coverage, or we need to buy a commercial feed
Operationally significant thresholds can be defined with dispatchers (and will vary by aircraft type)
Alert routing preferences are known (in-app, email, SMS, or all of the above per severity)
Input / integrations
Weather feed (NOAA, Environment Canada, or paid like ForeFlight)
NOTAM feed (FAA, Transport Canada, ICAO, EUROCONTROL depending on operating areas)
Active trip data from FlightIQ
Aircraft type and operational profile for relevance filtering
Each feed is its own integration with its own auth, rate limits, and format issues
Output / wireframing
Dashboard with active trips and weather/NOTAM status per leg
Detail view per trip with NOTAMs rendered in human-readable form
Alert states with thresholds (rules validated with Execaire dispatchers)
Notification panel for unread items
Data storage
WhatNOTAM cache (raw plus LLM-summarized text), threshold rules per route/aircraft, alert firing history
Whether LLM summaries are stored or regenerated each time
Whether alert acknowledgements need to be retained
AI involvement
LLMSummarize NOTAMs in plain language. Convert "RWY 24 CLSD 1200-1400Z DLY DUE MAINT" into "Runway 24 closed daily, 12:00 to 14:00 UTC, for maintenance."
LLMFlag operationally significant NOTAMs versus routine noise for a given trip and aircraft
NO AGENTNo agentic flow in v1. The system surfaces info, humans decide. Optional later agent could draft the crew advisory.
NOTAM feeds (FAA, Transport Canada, ICAO, EUROCONTROL)Weather feed (NOAA, EC, or paid)FlightIQ trips
Disseminate ATC Delays to Flight Crew
Flight Following
What needs to be built
When ATC issues a delay (ground stop, EDCT, slot constraint, FCM), the dispatcher needs to push that to the flight crew in real time. The system has to subscribe to the right ATC feeds (different by region) and route messages to the right cockpit using whatever connectivity the aircraft has (ACARS, EFB, SATCOM).
Assumptions to validate
FAA SCS or equivalent regional ATC feeds are accessible (some require credentials or agreements)
Aircraft connectivity profile is known per tail and stored in FlightIQ
Crew acknowledgement mechanism is determined (ACARS uplink, EFB push, or SMS fallback)
Flight Plan Action Trigger - Time-Based Workflow (60h, 12h, 6h)
Flight Planning
What needs to be built
A scheduling engine that triggers different actions at different points before ETD: build flight plan at 60 hours pre-ETD, complete fuel at 12 hours, file at 12 hours, refresh weather and NOTAMs at 6 hours. Each step has its own integrations and its own validation, so this is really a small workflow orchestration system, not a cron job.
Assumptions to validate
The 60h/12h/12h/6h cadence is exactly Execaire's process and won't fragment into per-operator variants
ARINCDirect API supports the actions we need (build, file, modify, retrieve plans)
Fuel marketplace integration sits where the diagram puts it in the workflow (rather than earlier or later)
Input / integrations
Active trip and leg ETDs from FlightIQ
ARINCDirect for flight plan operations
Fuel marketplace data for fuel decisions
Weather and NOTAM feeds for the 6h check
Output / wireframing
Generated flight plan in ARINCDirect
Filed flight plan
Fuel selections recorded
Weather and NOTAM check log per leg
Data storage
WhatWorkflow state per leg (which steps complete), fuel selections, weather and NOTAM snapshots at filing time
WhereFlightIQ flight_plan_workflow table; ARINCDirect remains canonical for the plan document itself
Validate
Whether weather and NOTAM snapshots at filing time need to be retained for post-flight safety analysis
Whether ARINCDirect data is mirrored locally or only referenced
AI involvement
LLMAuto-generate the initial flight plan based on historical patterns for similar routes
AGENTWatch the workflow and flag if any step is at risk of missing its deadline (fuel marketplace not responding, etc.)
An integration with the fuel marketplace that pulls current contract pricing and helps the dispatcher choose where to fuel and how much (tankering decisions). The output is a fuel plan attached to the leg.
Assumptions to validate
Fuel marketplace API is documented and stable
Tankering rules are well-defined for Execaire's fleet and not aircraft-by-aircraft tribal knowledge
Cost data flows back to Charter Sales pricing engine when applicable
Input / integrations
Contract fuel prices (per the diagram)
Trip route and stops
Aircraft fuel capacity
Tankering rules
Output / wireframing
Fuel plan attached to the leg
Fuel selection recorded
Cost data passed to Charter Sales for accurate pricing when applicable
Data storage
WhatFuel plan per leg (uplift airport, quantity, price), tankering decisions, marketplace quote snapshots
WhereFlightIQ fuel_plans table
Validate
Retention for cost-analysis and post-flight review
Whether marketplace prices at planning time are stored (or only the chosen price)
AI involvement
LLMSuggest optimal fuel strategy based on price differentials and tankering economics
The blue box: passenger, itinerary, logistic booking
Inputs (from diagram)
Government systems (EU-LISA, US eAPIS) for travel documents and immigration requirements
Travel documents from secure submission system
Internal Execaire aviation systems
FlyExecaire change requests
Azure user data (flight concierge info)
FlightAware data (arrival trip log, OOOI times)
Outputs (from diagram)
Submission of passenger data to government systems
Generated general declaration PDF
Submitted requests for travel documents
Leg details and service request details to Dispatch and Trip Support
AI opportunities (from diagram)
Passenger creation, editing, and assignment via LLM prompt
Suggest passengers from historical data
Identify duplicate passenger records
Validate immigration status (feasibility)
Review travel documents for errors
Read passport data
Itinerary creation and editing via LLM prompt
Suggest trips based on historical data
Service request creation and editing via LLM prompt
Add or Remove Passengers from Legs
Passenger Management
What needs to be built
A UI for associating passengers with specific legs (or removing them). Sounds simple but has to handle the case where a passenger is added late and immigration data hasn't been collected, or removed last-minute and downstream notifications have to fire (catering counts change, transport vehicles change).
Assumptions to validate
Cascading impact rules (catering count changes, transport vehicle changes, etc.) are well-defined or definable
Government re-submission rules when manifest changes after filing are clear per country
Last-minute manifest changes are a real use case (not edge case)
Input / integrations
Passenger records
Trip and leg structure
Immigration requirements per route
Existing service requests that depend on passenger counts
Output / wireframing
Updated leg passenger manifest
Downstream notifications to Trip Support (catering, transport counts)
Updates to government submissions if already filed
Data storage
WhatLeg-to-passenger associations, audit log of add and remove events with timestamps and actor
WhereFlightIQ leg_passengers junction table; trip_changelog for events
Validate
Whether removal events are preserved (regulatory ask in some jurisdictions)
Retention for legacy passenger associations on inactivated legs
AI involvement
LLMSuggest passenger additions based on historical patterns (owner usually brings spouse and two kids)
AGENTIdentify cascading impacts when a passenger is removed and propose downstream updates
A passenger record CRUD with full fields per the diagram. The "Family Tree" piece suggests relationships matter (a passenger is the dependent of an owner, etc.), which has implications for permissions and notifications.
Assumptions to validate
Family Tree relationships are operationally important (worth modeling) rather than nice-to-have
Owner-passenger linkage rules (who can manage whose record) are clear and can be encoded
PII storage rules differ from document storage rules and that distinction is acceptable to compliance
Input / integrations
Internal Execaire systems (existing customer data)
FlyExecaire (if owners create passengers from their app)
Azure user data
Output / wireframing
Passenger record available for legs and trips
Family relationships visible for downstream rules
Data storage
WhatPassenger records (name, DOB, email, phone, residency, gender), family-tree relationship records
FlightIQ passengersInternal Execaire CRMFlyExecaire (owner-facing)Azure AD
Edit / Inactivate Passenger
Passenger Management
What needs to be built
Standard edit and soft-delete behavior on passenger records. The non-trivial part is what happens to historical trip data when a passenger is inactivated. We don't want past records to disappear, just remove the passenger from new trip flows.
Assumptions to validate
Soft-delete is the right model (inactivated records still queryable) rather than hard-delete with archive
Active trips with inactivated passengers should block inactivation (or only warn, depending on operator preference)
Passenger preferences (food, drinks, music, seating, anything operationally relevant) attached to the passenger record. Used to pre-populate service requests automatically when the passenger is on a trip.
Assumptions to validate
Preference categories are bounded and definable (food, drinks, music, seat) rather than open freeform fields
Auto-population of service requests from preferences is desired by Flight Concierge (rather than explicit confirmation every time)
Input / integrations
Manual entry from Flight Concierge
Historical service requests (to learn implicit preferences)
Owner instructions where applicable
Output / wireframing
Preferences attached to passenger record
Used downstream to pre-fill catering and transport requests
Data storage
WhatPreference key-value records linked to passenger (food, drinks, music, seat preferences)
WhereFlightIQ passenger_preferences table
Validate
Whether AI-inferred preferences are stored alongside explicit ones (and tagged as such)
Whether passengers should be able to see and edit their own stored preferences
AI involvement
LLMInfer preferences from past trip patterns (this passenger always orders vegetarian, etc.)
Where travel documents get associated with passengers. Per the no-storage rule for passport data in FlightIQ, this isn't actual document storage. It's metadata (document type, document number, issuing country, expiry) plus a secure pointer to the document held elsewhere. The diagram says "Store" which is incompatible with the policy, so this needs a product decision.
Assumptions to validate
Metadata-only storage in FlightIQ is acceptable to Flight Concierge for their operational use
Document validity checks (expiry, route match) happen at submission time and live with the secure capture pipeline rather than in FlightIQ
A secure document store outside FlightIQ exists or needs to be selected (vendor decision needed)
Input / integrations
Travel document metadata from the secure submission system
Government systems for validation
Output / wireframing
Document metadata attached to passenger record
Document available for routing to government systems on demand
Data storage
WhatDocument metadata only (type, document number, issuing country, expiry, validity status). No document content stored in FlightIQ.
WhereFlightIQ passport_metadata table. Actual document content lives in an external secure store (vendor TBD) referenced by an opaque ID.
Validate
That metadata-only is operationally sufficient for Flight Concierge workflows
Vendor selection for the external secure document store
Encryption at rest and access logging for the metadata table itself
AI involvement
LLMValidate that submitted document metadata matches what is on the document itself (OCR confirmation)
FlightIQ passengersSecure document store (TBD)Government systems
Note
Needs a product decision because the diagram says "store" but Execaire policy is don't store passport data in FlightIQ.
Securely Acquire Travel Documents
Passenger Management
What needs to be built
A portal where passengers submit travel documents (passports, visas, residency) directly. Data flows through to required systems without being persisted in FlightIQ. Important context: Execaire previously had passport data stolen in a hack, so this is real engineering and not a compliance checkbox. The no-storage requirement shapes the entire architecture.
Assumptions to validate
Mobile-first capture is acceptable to passengers (vs email-with-PDF for older or less tech-comfortable passengers)
Document routing rules per destination country can be encoded as config rather than per-route custom logic
No-storage architecture is buildable with the AI agents we want to use (working memory holds no PII at rest)
Security review happens before deployment, not after, and the reviewer has authority to block release
Input / integrations
Passenger contact info from FlightIQ
Trip route (to determine which documents are required: US eAPIS for US arrivals, EU-LISA for EU, country-specific visa requirements)
Document capture from mobile and desktop
Secure handoff channels to government systems
Each government system is its own integration with its own format and auth
Output / wireframing
Submitted documents passed through to relevant government systems
Audit trail (who submitted what when, without storing the doc itself)
Status visible to internal Flight Concierge view
Data storage
WhatSubmission events, validation results, audit trail of who submitted what when. Actual passport and visa documents NEVER persisted in FlightIQ.
WhereFlightIQ submissions table (metadata only). Documents pass through ephemeral transit memory and are sent to government systems directly without intermediate storage.
Validate
Security review must explicitly sign off on the no-storage architecture
That ephemeral really means ephemeral (no Redis persistence, no temp files, no AI agent state holding PII)
Audit trail without the documents themselves still meets regulatory and operational needs
AI involvement
LLMOCR and structured extraction from passport photos taken on a phone
LLMValidate that the submitted document matches what the route actually requires
AGENTReview submitted documents for likely errors and message the passenger for resubmission
NOTEAI processes data in transit but does not persist it. The agent's working memory must hold no PII at rest.
A trip CRUD with the full set of fields per the diagram: trip status, trip type, primary contact, flight concierge responsible, sales manager responsible, attending maintenance engineer, regulatory standard (CAR 604 etc.), departure ICAO, arrival ICAO, ETD, ETA, flight time, leg status, departure and arrival handling agents. Large object, many fields, central to the whole picture.
Assumptions to validate
All trip fields per the diagram are required for v1, rather than some being optional
Regulatory Standard maps to a predefined set of options (CAR 604, EU-OPS 1, FAA Part 91, etc.) rather than freeform text
Linkage to aircraft and crew availability happens at trip create time (not just at feasibility)
Input / integrations
Aircraft availability
Crew availability from Crew Management
Charter quote (if a sale)
Internal Execaire systems
Output / wireframing
Trip record available to all downstream consumers
Visible to Dispatch, Trip Support, Crew, Sales, Finance
Data storage
WhatTrip record with all listed fields, leg records linked to trip
WhereFlightIQ trips table; legs table
Validate
This replaces AVIANIS as source of truth for trip data; migration plan for historical AVIANIS trips
Reconciliation strategy during the transition window when trips may exist in both systems
Whether downstream consumers (FlyExecaire, finance, JD Edwards) read from FlightIQ or from a sync mirror
AI involvement
LLMCreate trip from natural language ("schedule a flight for Schmidt next Tuesday, KLAX to LSGG, 4 pax")
LLMSuggest trip parameters based on historical patterns
FlightIQ tripsFlightIQ aircraftFlightIQ handling agentsInternal Execaire systems
Inactivate / Edit Trip
Itinerary Management
What needs to be built
Edit trip details or inactivate a trip. Like passenger inactivation, the hard part is what happens to all the downstream things attached to the trip (service requests, crew assignments, government submissions, financial records).
Assumptions to validate
Trip-level changes (e.g., regulatory standard) and leg-level changes have different cascading rules
Cancellation triggers different downstream behavior than edit, and the rules differ per downstream consumer
Input / integrations
Trip record
All downstream attachments (service requests, assignments, filings)
Output / wireframing
Updated trip record
Cascading updates or cancellations across Trip Support, Crew, Dispatch
Data storage
WhatTrip update history, cancellation events with reasons
WhereFlightIQ trip_changelog table
Validate
Retention for cancellation history (operational and possibly billing relevance)
Whether changelog feeds into reporting
AI involvement
AGENTWhen a trip is cancelled, walk through everything downstream and propose what to cancel and who to notify
Legs are the operational unit. Adding or removing a leg has to ripple through feasibility, charter pricing if applicable, flight planning, fuel, service requests, and crew duty calculations.
Assumptions to validate
Adding a leg automatically triggers feasibility re-check (rather than manual recheck)
Last-minute leg additions are operationally common enough to optimize for
Sometimes legs need to move between trips (the owner combines two trips, or a leg is reassigned to a different tail). Operationally complex because both source and destination trips need consistent updates.
Assumptions to validate
Operationally rare enough to not be a primary use case (vs core flow)
Transactional consistency (both trips updated atomically) is required and tooling supports it
Input / integrations
Source trip
Destination trip
Both trips' downstream attachments
Output / wireframing
Updated trip structures
Cascading updates on both sides
Data storage
WhatLeg-move events (source trip, target trip, leg ID, timestamp, actor)
WhereFlightIQ leg_changelog table
Validate
Reconciliation reports if move events affect billing or accounting
Whether move events are visible in both source and target trip histories
AI involvement
NO AGENTLow AI priority. Mostly a database operation with careful transaction handling.
For each leg, check whether the trip is feasible: aircraft range, crew duty limits, regulatory compliance, immigration requirements, airport restrictions. Outputs a feasibility status that gates whether the trip can proceed.
Assumptions to validate
Aircraft specs database (range, MTOW, certified airports) is maintained and complete
Regulatory rules database can be sourced commercially or needs to be built
Airport restrictions data (slot constraints, curfews, runway lengths) can be sourced (e.g., airnav, ForeFlight)
FlightIQ aircraftFlightIQ tripsRegulatory rules DB (TBD)Airport data (commercial or scraped)
Build Service Requests (Catering, Chauffeured Transport, Rental Car)
Logistic Booking (Concierge)
What needs to be built
The Concierge side of service requests. Build catering, ground transport, rental car requests with type-specific fields. These then hand off to Trip Support for execution. The split between "request creation here" and "execution there" is part of the architecture decision.
Assumptions to validate
Three types (catering, transport, rental) cover the large majority of Concierge SRs
The Concierge / Trip Support split (request creation vs execution) is the right architectural model
Pre-fill from passenger preferences is desired by default (vs explicit confirmation per request)
Input / integrations
Trip and leg context
Passenger preferences
Existing service request patterns for similar trips
Output / wireframing
Service request records with type-specific fields
Handed off to Trip Support side for execution
Data storage
WhatService request records on the Concierge side (type-specific fields per catering, transport, rental)
WhereFlightIQ service_requests table with typed sub-tables or polymorphic schema
Validate
Whether SRs are FlightIQ-native or proxies of records elsewhere (especially during AVIANIS transition)
Polymorphic schema vs separate tables per SR type
AI involvement
LLMGenerate service request from natural language ("standard catering for 4, two veg")
LLMPre-fill based on passenger preferences and historical patterns
Each service request has a due date for completion (catering confirmed by N hours before ETD, etc.). This drives the time-based workflows on the Trip Support side.
Assumptions to validate
Each SR type has a known typical lead time (catering 4h before ETD, transport 1h, etc.) that can be encoded as defaults
Due dates drive time-based workflows on the Trip Support side rather than being purely informational
Input / integrations
Service request
Trip ETD
Operational rules for each request type
Output / wireframing
Due date set on each service request
Drives downstream time-based monitoring on the Trip Support side
Data storage
WhatDue date as a field on each service request
WherePart of FlightIQ service_requests table
Validate
Time-zone handling (each leg local time vs UTC) and how it surfaces to users
AI involvement
LLMSet sensible default due dates based on request type and historical lead times
Standard cancel/edit on a service request. The interesting part is what happens to in-flight executions on the Trip Support side (vendor already contacted, deposit paid, etc.).
Assumptions to validate
Cancellation rules depend on execution state on Trip Support side (vendor contacted, deposit paid, etc.)
Vendor notification on cancel is required and the notification mechanism is per-vendor
Input / integrations
Service request
Current execution state from Trip Support
Output / wireframing
Updated or cancelled request
Cascading actions to Trip Support if execution is already in progress
Data storage
WhatCancellation and edit events on service requests
WhereService request record plus changelog table
Validate
Vendor-acknowledgement records if vendors were notified of cancellation
Whether cancelled SRs are queryable or just soft-deleted
AI involvement
AGENTWhen cancelling, walk through any in-progress execution and propose what needs to be unwound
Leg changes (delays, cancellations, route changes)
Outputs (from diagram)
Service request status (back to Flight Concierge)
Issues with service acquisition (customs not available, parking not available)
AI opportunities (from diagram)
Draft and send permits automatically
Receive and interpret permit approval using LLM
Automatically Create Service Requests Based on Trip and Leg Details
Logistic Booking
What needs to be built
A rule engine that infers required service requests from trip details. Landing in Cuba creates a landing permit request. Arriving in the USA creates a CBP request. Landing at airport X requires special handler X. This is the bit that turns trip data into operational checklists.
Assumptions to validate
Country-specific service-request rules can be sourced or built (significant data engineering effort either way)
Airport-specific rules can be sourced (commercial database) or maintained internally
Trip Support operations team will validate the rule set before it is trusted to auto-create requests
Input / integrations
Trip and leg details from Flight Concierge
Country-specific rules database
Airport-specific rules
Output / wireframing
Auto-created service requests with sensible defaults
Visible to Trip Support team for execution
Data storage
WhatAuto-created service requests, the trigger rules that created them, rule source data
WhereFlightIQ service_requests (with origin=auto flag); country_rules and airport_rules tables
Validate
Source of country and airport rules data (manual, scraped, commercial vendor)
How rules are versioned and how rule changes affect existing in-flight SRs
AI involvement
LLMReason about edge cases not covered by rules (unusual routes, multi-stop trips with chained dependencies)
Manual creation and editing of service requests on the Trip Support side. Different from the Concierge side because these are typically permits, handling, customs, and operational requests rather than passenger-facing services.
Assumptions to validate
Operational SR types (permits, customs, handling) are a bounded set that can be enumerated
Templates exist for common requests or can be created with operational input
Input / integrations
Trip context
Existing service request templates
Country-specific permit forms
Output / wireframing
Service request record
Ready for submission to authorities
Data storage
WhatService request records on the Trip Support side (permits, customs, handling)
WhereSame FlightIQ service_requests table as Concierge side, distinguished by type
Validate
Whether Concierge SRs and Trip Support SRs share the same schema or need a split
Whether status workflows are unified across SR types
FlightIQ tripsFlightIQ SRsPermit templates DB (TBD)
Generate Permit Request Forms
Logistic Booking
What needs to be built
A system that takes trip details and generates the right permit forms for the relevant authorities. Forms are pre-filled where possible. The system also handles the back-and-forth with authorities, which is where the bulk of trip-support time actually goes today. This isn't just a form generator. The async conversation with each authority is the harder half.
Assumptions to validate
Form templates can be acquired or built per authority (some authorities provide downloadable forms, some require manual recreation)
Pre-fill mapping rules from FlightIQ data to form fields are definable per form
LLM judgment on edge cases is reliable enough for operational use (with human review pre-submission)
Input / integrations
Trip and leg details from FlightIQ
Aircraft registration, owner info, insurance data
Country-specific permit requirements (fragmented and inconsistent across authorities)
Existing approved permits on file
Output / wireframing
Form generation view showing which permits are needed and the status of each
Generated form preview before submission
Status tracking (filed, pending, approved, denied, RFI)
Data storage
WhatGenerated form PDFs, submission records, form templates per authority
WherePDFs in object storage (e.g., S3 with FlightIQ-owned keys); submission records and template definitions in FlightIQ
Validate
Retention policy for generated forms (some are legally binding submissions)
Whether forms containing passport numbers need elevated handling
Backup and recovery for the object storage tier
AI involvement
LLMPre-fill forms from FlightIQ data using mapping rules combined with LLM judgment on edge cases
AGENTRead incoming permit responses, classify them, update status, prepare draft response if follow-up is needed
AGENTMonitor permit status against the trip timeline and escalate when a deadline approaches without resolution
NOTEHighest agent-AI value in the whole system. Trip support is fundamentally many simultaneous async conversations.
FlightIQ tripsFlightIQ aircraftFlightIQ SRsCountry permit forms DB (TBD)
Send / Receive Permit Request Forms
Logistic Booking
What needs to be built
The transmission half of the permit workflow. Different authorities accept different formats (web portal, email with PDF, fax in some cases). The receive half is monitoring inbound channels for responses (approvals, denials, RFIs) and matching them to outstanding requests.
Assumptions to validate
Email and fax are the dominant submission channels (vs web portals which exist but are less common)
Inbound email parsing can be reliable enough to match responses back to outstanding requests
Some authorities have unique submission requirements (named contact, specific subject format) that need per-authority configuration
Email (SMTP/IMAP)Fax service (e.g., Phaxio)FlightIQ SRs
Monitor Trip Changes and Execute Logistic Updates
Logistic Booking
What needs to be built
When a trip changes (delay, cancellation, route change), Trip Support has to update everything downstream that depends on it. Catering for new times. Ground transport for new arrival. Permits possibly invalid. The system has to detect changes and execute the right cascading updates.
Assumptions to validate
A change-event system or change-detection mechanism exists or can be built on the trip side
Cascading rules (what each kind of change implies for each kind of SR) are definable
Vendor notification protocols are defined per vendor (email format, who to contact)
Input / integrations
Trip change events from Flight Concierge and Dispatch
All currently active service requests for affected trips
Output / wireframing
Updated service requests
Notifications to vendors and authorities about the changes
Status updates back to Flight Concierge
Data storage
WhatTrip change events from various sources, cascade updates triggered, downstream notifications sent
WhereFlightIQ change_events table (event-sourced) and notifications_log
Validate
Event sourcing approach versus snapshot-only
Retention for change events
Whether change events need to be replayable for debugging
AI involvement
AGENTReason about what each kind of change implies for each kind of service request, then execute updates with appropriate notification to external parties
FlightIQ tripsFlightIQ SRsVendor communication channels
Monitor Service Request Status Holistically (Time-Based Workflows)
Logistic Booking
What needs to be built
The dashboard view: see the status of every service request across all active trips, with time-based alerting when something is approaching its due date or hasn't been progressed in N hours. This is what Patrick calls the "McD's board."
Assumptions to validate
At-risk thresholds per SR type can be defined (typically historical response time plus buffer)
Dashboard is the right primary UI (rather than kanban, list, or notification-only)
Time-based workflows are the primary alerting mechanism (vs human polling)
Input / integrations
All active service requests
Due dates
Status
Trip ETDs
Output / wireframing
Dashboard view sorted by urgency
Alerts when items are at risk
Data storage
WhatSR status snapshots (or computed live), alerts triggered, alert acknowledgements
WhereSR status lives in service_requests table; alert history in alerts table
Validate
Whether the dashboard reads live SR state or operates on snapshots
Alert acknowledgement state retention for compliance
Cache invalidation rules if dashboard is precomputed
AI involvement
LLMSummarize the state of a busy dashboard ("3 items at risk, all related to Friday's Geneva trip")
AGENTProactive escalation based on historical patterns (this authority typically responds within 24h, no response after 48h is a problem)
Related to Domain 2 (McD's board) and Domain 3 (Trip Support module). This card describes the dashboard, but the service-request engine work underneath is what makes it possible.
Crew Management
Schedules, compliance, training
Walled off in this engagement
Inputs (from diagram)
Vacation and days-off requests from FlyExecaire
Training schedule from third party (CAE)
Training status from LMS / QMS
Crew assignment from elsewhere in the system
Outputs (from diagram)
Crew availability
Crew statistics (flight time, time away from base)
Crew regulatory compliance status
AI opportunities (from diagram)
Build crew schedules automatically based on tail-specific crewing model (days off, workload balancing)
Assign crew automatically based on schedules and trips
Build / Edit Crew Schedules
Crew Management
What needs to be built
The core scheduling tool. Build crew rosters by tail considering days-off requests, training schedules, duty time limits, qualification requirements per aircraft. Editor for swaps and overrides.
Assumptions to validate
Tail-specific crewing model can be encoded as constraints (qualifications, currency, fatigue rules)
Auto-build output is reviewable by humans before deployment to crew
Manual overrides are common and required as a first-class feature
Input / integrations
Vacation and days-off requests (from FlyExecaire)
Training schedule (from CAE)
Crew qualifications
Aircraft-to-crew assignments (tail-specific)
Output / wireframing
Crew schedule per tail
Crew availability for upcoming periods
Data storage
WhatCrew schedules per period, schedule versions, manual override events
WhereCurrently AVIANIS. If scoped to FlightIQ, schedules table with versioning
Validate
Schedule history retention requirements
Versioning approach (full snapshots vs deltas)
How schedule changes are surfaced to crew (FlyExecaire integration)
AI involvement
AGENTBuild schedules automatically using a tail-specific crewing model with constraints (days off, training, workload balancing)
FlightIQ crewFlyExecaire (vacation)CAE (training)Aircraft data
Days Off and Vacation Approval Workflow
Crew Management
What needs to be built
Crew submit requests for days off and vacation. Workflow routes to scheduler for approval based on coverage. Tracks bank of days available per crew member.
Assumptions to validate
FlyExecaire is the request channel; system polls or receives push
Approval rules (coverage check) can be automated to a high enough degree to be useful
Input / integrations
Crew member requests (from FlyExecaire)
Crew schedule (to check coverage)
Vacation banks per crew member
Output / wireframing
Approval or denial
Updated schedule and availability
Data storage
WhatVacation and days-off requests, approval decisions, vacation banks
WhereFlightIQ vacation_requests table; approval workflow state
Validate
HR system integration (their HR is source for vacation entitlements)
Legal record retention requirements for time-off decisions
AI involvement
LLMSuggest which requests can be approved without coverage issues
Training events (recurrent simulator, line checks, ground school) entered into the system, tracked per crew member, affects availability and qualifications.
Assumptions to validate
CAE provides a schedule API or feed (vs needing to scrape PDFs)
LMS/QMS integration is feasible (vs needing to build a custom uploader)
Input / integrations
Training schedule from CAE and other providers
Training records from LMS / QMS
Output / wireframing
Training events in crew calendars
Updated qualifications and availability
Data storage
WhatTraining schedule, completion records, expiration dates of currencies
WhereFlightIQ training_events table; possibly mirrored from LMS or read live
Validate
Whether LMS or FlightIQ is source of truth
Retention requirements for training currency records (regulatory)
FlightIQ schedulesFlightIQ legs (actual)Aircraft data
Monitor Canadian Duty Time Regulations
Crew Management
What needs to be built
Compliance monitoring against CARs (Canadian Aviation Regulations) for flight and duty time limits. Hard limits from regulation and corporate policies layered on top.
Assumptions to validate
CARs (Canadian Aviation Regulations) rules are encodable as structured constraints
Real-time calculation cadence is required (vs end-of-day batch)
Input / integrations
Scheduled and actual duty times
Regulatory rules database (CARs)
Corporate policy rules
Output / wireframing
Compliance status per crew member
Alerts when at risk of breaching a limit
Data storage
WhatDuty-time calculations, compliance status per crew member, violations log
Quote builder with the fields from the diagram: account, primary trip contact, departure ICAO, arrival ICAO, ETD, ETA, flight time. Outputs a structured quote.
Assumptions to validate
Customer inquiry comes through a defined channel (sales rep, email, web form)
Quote format is standardized across Execaire (not per-aircraft variations)
Input / integrations
Customer account data
Trip parameters
Aircraft availability
Output / wireframing
Quote draft
Goes through pricing engine for cost and price calculation
Data storage
WhatQuote records with all fields, link to originating customer inquiry
WhereFlightIQ quotes table
Validate
Quote retention for legal and audit purposes
Whether expired or rejected quotes need different handling
AI involvement
LLMGenerate quote from natural language inquiry from customer
Calculate Sale Price (Payback + Flight Costs + Margin)
Charter Sales
What needs to be built
Pricing engine that computes payback to aircraft owner + flight costs + margin = sale price. Costs include navigation, airport fees, fuel, handling, crew. Lots of cost data inputs.
Assumptions to validate
Cost data sources (navigation, airport, fuel, crew) are accessible programmatically
Margin rules are defined and consistent (per aircraft, per route, or blanket policy)
Input / integrations
Airport and navigation cost data
Fuel costs from Dispatch
Crew costs
Owner payback rates
Margin rules
Output / wireframing
Cost breakdown
Final sale price
Data storage
WhatPrice calculation results, cost breakdowns (per cost category), inputs at calc time
WhereFlightIQ quote_calculations table linked to quotes
Validate
Whether all cost components are preserved for audit (especially owner payback amounts)
How cost data version changes propagate to existing quotes
Airport / Nav cost DBFuel marketplaceFlightIQ aircraft (owner rates)Crew cost data
Adjust Cost / Sales Price
Charter Sales
What needs to be built
Manual adjustment to costs or final price (honoring a customer commitment, applying a discount, accounting for an unusual cost). Audit trail matters here.
Assumptions to validate
Authorization rules (who can adjust by how much) are defined
Audit trail is the primary control (vs hard limits)
Input / integrations
Initial calculated price
Adjustment rules
Authorization rules (who can adjust by how much)
Output / wireframing
Adjusted price
Audit log of who adjusted what when and why
Data storage
WhatAdjustment events (before, after, delta), justifications, authorizing user
Each aircraft has owner-specific payback rates (the amount the owner gets when their aircraft is chartered). These vary by aircraft and need to be maintainable.
Assumptions to validate
Owner contracts are accessible (and ideally machine-readable for AI extraction)
Rate changes happen infrequently enough that AI extraction is high-leverage rather than overengineering
Input / integrations
Aircraft data
Owner contracts and agreements
Output / wireframing
Payback rates per aircraft
Used by the pricing engine
Data storage
WhatPayback rates per aircraft, rate-change history with effective dates
WhereFlightIQ aircraft_payback_rates table with versioning
Validate
Historical rates retained for audits
Source-document references (which owner contract revision set each rate)
AI involvement
LLMRead owner contracts to extract payback terms when a contract changes
People needed
FunctionalSales managerFinanceLegal
TechnicalBackendFrontendAI/MLPM
Effort estimate
Interdependencies
Standalone.
Data sources
FlightIQ aircraftOwner contracts (legal docs)
Set Charter Terms and Conditions per Tail
Charter Sales
What needs to be built
Tail-specific terms and conditions for charters. Some aircraft owners have specific requirements (no pets, specific crew requirements, minimum trip duration).
Assumptions to validate
Tail-specific rules can be encoded as structured data (rather than prose only)
The diagram example (additional fee if leg less than 1 hour) is representative of the kinds of rules owners impose
Input / integrations
Aircraft owner contracts
Tail-specific rules
Output / wireframing
T&Cs attached to charters of each tail
Surfaced during quoting
Data storage
WhatCharter terms and conditions per tail, version history, encoded rule statements
WhereFlightIQ tail_terms table; references to underlying legal docs in document store
Validate
Legal sign-off on encoded T&Cs (the structured version is operational; the contract is binding)
How rule changes propagate to in-progress quotes
AI involvement
LLMBuild quote based on AI interpretation of aircraft owner's rules of engagement (per the diagram: charge additional fee if leg less than 1 hour)
People needed
FunctionalSales managerLegalAircraft owners
TechnicalBackendFrontendAI/MLPM
Effort estimate
Interdependencies
Standalone.
Data sources
FlightIQ aircraftOwner contracts
Generate / Send Sales Quotes for Electronic Signature
Charter Sales
What needs to be built
Generate final quote document and route to customer for e-signature. Integration with DocuSign or similar.
Assumptions to validate
DocuSign or equivalent is the standard at Execaire
Signed contracts auto-trigger trip creation (or this remains a manual step)
Input / integrations
Finalized quote
Customer contact details
T&Cs attached to the quote
Output / wireframing
Sent quote
Tracking for signature
Signed contract back in the system
Data storage
WhatSigned contracts (PDFs), signature events with timestamps and identity verification
WhereSigned PDFs in object storage; contract metadata records in FlightIQ; e-signature platform holds independent records
Validate
Legal retention requirements (years per applicable law)
Whether the e-signature platform records or FlightIQ records are primary in case of dispute
AI involvement
AGENTFollow up with customer if quote isn't signed within a window
Everything you've added across the tabs, grouped by where it sits. Click any group title to jump to that section. Notes save to the workspace as you type them. Export the JSON if you want a local backup.
11Every change in one feed
Activity across the workspace.
The full edit log, newest first. Each entry shows who made the change and what changed. Click any entry to jump to where the edit happened.