What Khalid's team submits. The Director of Operations fills the PASI properly. Fleet: three aircraft of one type, dry leased. Base: their home airport. Operation: scheduled passenger, domestic to start, international within two years.
For key personnel he lists himself as Director of Operations, the Director of Maintenance, and the Chief Pilot. He leaves the safety manager blank — they have not hired one yet, and he reasons that it can be added later.
He attaches the business plan and the financial evidence. He does not attach the organizational structure, because the template he was working from did not mention it.
Two things are wrong and they are wrong in different ways.
The missing safety manager is a gap the applicant knows about. The missing organizational chart is a gap the applicant does not know about. A system that treats them identically fails the second one, because the applicant cannot fix a problem nobody has told them exists.
What a weak system does: accepts the submission. It reaches an inspector, who reads it, notices two omissions, and writes an email. The applicant fixes them and resubmits. Somewhere between those two events, days pass, and the Authority's own performance figures record that time as its own.
What the system should do: refuse to accept an incomplete submission, and say precisely what is missing before the applicant presses the button — not after.
This statement of intent cannot be submitted yet. Two items are missing.
Key personnel: no person is nominated for the Safety Manager role.
This role is required for the type of operation you have selected.
Attachments: the Organizational Structure document has not been
uploaded. It is required for all applicants.
This is why the fourth child table exists. Completeness is not something an inspector should have to discover — it is something the system can compute, because the requirements for a given operation type are data.
PASI_MISSING_ITEM — computed, not stored by hand
| Column | Type | What it holds |
|---|
pasi_id | NUMBER | The submission. |
requirement_code | VARCHAR2 | Which requirement is unmet. |
requirement_source | VARCHAR2 | Where the requirement comes from, so the message can cite it. |
detected_date | TIMESTAMP | When it was noticed. |
resolved_date | TIMESTAMP | When it was satisfied. Null while outstanding. |
The reason this is a table and not a validation function. A validation function tells you yes or no, now. A table tells you what was missing, when it was noticed, and how long it took to resolve — which is how the Authority learns that seventy percent of applicants forget the same document, and fixes the form rather than blaming the applicants.
Khalid's team hires a safety manager, uploads the chart, and submits. An inspector reviews it, and the Authority accepts the pre-application. They are invited to a meeting, where somebody explains the road ahead and how long it usually takes. Khalid revises his budget.