How to use the Digital Activity Reporting portal
A walkthrough of every screen in the portal — creating a report, generating and checking its draft, sending it for review, and (for administrators) adding new report types — written for the people testing the build, not the people who wrote it.
Before you start
This is a working test build of the ASF Digital Reporting Portal — the tool meant to replace WhatsApp-and-rewrite reporting with a structured, reviewable workflow. Everything in it right now is fictional demo data: no real names, passports, or recoveries should be entered while testing.
Signing in
Open the link you were sent for the live test instance (this page is documentation only and does not run the app itself). The portal signs you in automatically the first time you click through — there's no password to type. You'll land on the Dashboard as Demo Administrator.
The test build has a single login only — everyone who opens the live link, including you, your supervisor, and your brother, signs in as the same Demo Administrator account. You will all see each other's test reports, and anyone can approve anyone's draft. That's expected for now; it's not a bug. A separate login per person arrives with real authentication, tracked as a later build phase.
The five main screens
The left-hand sidebar is how you move around. Five screens matter for day-to-day use, plus a sixth (Administration) that only appears for this shared admin login:
📊 Dashboard
Today's counts and the most recent reports across the airport.
📝 New report
Where every report starts — pick a type, fill in facts, write what happened.
📁 Report history
Every report you can see, with its current status.
✅ Review queue
Reports waiting for a decision — approve, return, or reject.
The dashboard
The dashboard is a summary, not a to-do list — it counts what's visible to you right now:
| Tile | What it counts |
|---|---|
| Reports today | Reports created since midnight, out of everything currently visible to you |
| Pending review | Reports sitting in the review queue awaiting a decision |
| Approved | Reports marked Approved or Finalized |
| Drafts | Reports still in Draft or sent back as Returned |
Below the tiles is the same table you'll see on Report history — the most recent activity first. Click + New report to start one.
Creating a report
Open New report. The form has two parts: fixed details at the top that apply to every report, and a set of fields underneath that change depending on what you're reporting.
Step 1 — the fixed details
- Airport and Unit — where this happened. Unit is optional.
- Report date, Time, and Shift (Morning / Evening / Night).
- Location — a short free-text spot, e.g. "Landside terminal" or "Departure lounge."
Step 2 — pick a report type
The Report type dropdown is not fixed to a short list — it's read from the portal's own settings, so it can grow. At the time of writing it includes:
Choosing a type changes the Required facts block beneath it — a Medical Case asks for patient name and condition; an Ammunition Recovery asks for the passenger, flight, and disposal. Fill in whatever facts you actually know; leave the rest blank rather than guessing.
Pick Other / General Activity for anything that doesn't match the presets. It asks for one thing — a Subject line you write yourself — and then relies on the notes box below to carry the rest, verbatim.
Step 3 — write the source notes
The Source messages / notes box is where you describe what actually happened, in your own words — the way you'd currently type it into WhatsApp. This text is never discarded: it's checked for missing details and contradictions, and it's carried into the generated report exactly as written.
Step 4 — save
Click Save draft at any point to store your work without submitting it. A saved draft gets a real report number immediately (see below) and can be reopened and edited later — nothing is lost by saving early.
Every saved report is numbered automatically: ASF-<AIRPORT>-<YEAR>-<MONTHDAY>-<SEQUENCE> — for example ASF-DEMO-2026-0914-003 is the third report saved for the Demonstration Airport on 14 September 2026. You never set this yourself.
The AI draft
Click ✳ Generate AI draft to turn your facts and notes into an official-style report on the right-hand side.
The draft generator will never invent a name, quantity, date, or outcome you didn't provide. A field you left blank is written as "Not provided", not guessed. This is the core rule of the whole system — the draft is a formatting and organizing step, not a source of new information.
Reading the warnings
Above the draft, a banner tells you what the check found:
| Banner | Meaning |
|---|---|
| No missing fields or contradictions detected. | The required facts are all filled in and nothing conflicts. |
| Missing: disposal | A required field for this report type is empty — fill it in and generate again, or leave it and let the reviewer see it flagged. |
| Multiple quantities were found in the source… | Your notes mention two different numbers for the same thing (e.g. "18 slabs" and later "16 slabs") — the system won't pick one for you; check which is right. |
| Source contains both suspected and confirmed language… | Your notes say something was both "suspected" and "confirmed" — make sure the final status is accurate before submitting. |
What the draft looks like
The layout mirrors the paper reports it's replacing:
You can re-generate as many times as you like while the report is a Draft — editing a field and generating again always reflects your latest input, and never remembers a previous, different value.
Submitting & the review queue
Once the draft looks right, click Submit for review. This is a one-way door for you: the report leaves your editor and moves to Pending review.
Reviewing (Supervisor / Report Officer / Commander)
Open Review queue. Every report waiting for a decision in your airport appears here with its full generated text, so you can compare it against what actually happened before deciding:
- Approve — the report is correct and complete. Status becomes Approved.
- Return — send it back to the submitter for correction. Status becomes Returned, and it can be edited and resubmitted.
- Reject — the report should not proceed at all.
Return and Reject both require a written comment explaining why — the button is blocked until you type one. Approve doesn't need a comment.
Report history
Every report you're allowed to see, most recent first: report number, type, airport, current status, and when it last changed.
| Report number | Type | Status | Updated |
|---|---|---|---|
| ASF-DEMO-2026-0914-005 | VIP / Official Movement | AI draft ready | 4:01 PM |
| ASF-DEMO-2026-0914-003 | Snap Checking | Rejected | 3:49 PM |
| ASF-DEMO-2026-0914-002 | Ammunition Recovery | Returned | 3:04 PM |
| ASF-DEMO-2026-0914-001 | Snap Checking | Approved | 3:03 PM |
Example rows shown — your table reflects whatever has actually been submitted during testing.
Administration
Only visible with this build's admin login. This is where new report types are created — no code change or restart required, they appear in New report immediately.
Adding a report type
- Open Administration. Enter a short Code (e.g.
VIP_MOVEMENT) and a readable Name (e.g. "VIP / Official Movement"), then Create report type. - Select the new type from the table. Under Fields, add each fact you want it to ask for — a field key like
vip_nameand a label like "VIP name / designation." - Under Template, write the subject line and the report body, then Publish new version.
Every time you publish a template, it becomes a new numbered version and the old one is retired, not deleted — so a report generated last week still shows what its template looked like then.
Add a field with the key custom_subject to any type, and the generator will use whatever the submitter types there as the Sub: line, instead of your fixed subject pattern — this is exactly how "Other / General Activity" works.
Template placeholders
| Placeholder | Filled with |
|---|---|
| {{airport}} | The report's airport name |
| {{subject}} | Your subject pattern, or the submitter's custom_subject if that field exists |
| {{date}} | The report date |
| {{details}} | Every field's label and value, plus the submitter's source notes |
Roles & permissions
The portal has six roles designed into it. Only one — Administrator — is reachable through this shared test login, but here's what each is meant to do once real sign-in is in place:
| Role | Create & submit | Review queue | Approve | Administration |
|---|---|---|---|---|
| Data Entry | ✓ | — | — | — |
| Supervisor | ✓ | ✓ | ✓ | — |
| Report Officer | ✓ | ✓ | — | — |
| Commander | — | ✓ | ✓ | — |
| Administrator | ✓ | ✓ | ✓ | ✓ |
| Auditor | — | — | — | read-only |
Supervisors and Report Officers see their own airport's queue; Administrators and Auditors see every airport's.
Known limitations right now
This is a mid-build test, not a finished product. Please don't be surprised by:
- No Finalize step or PDF export yet. Approved reports stay Approved — there's no "make it official" button or downloadable copy yet.
- No incident grouping or duplicate warnings yet. Related messages about the same event aren't linked automatically.
- No file attachments yet. Photos and documents can't be uploaded to a report.
- "Generate AI draft" is not a live AI model. It's a deterministic, rule-based formatter — reliably safe (it can't hallucinate), but it won't rephrase or summarize creatively the way a language model would. That upgrade is planned behind the same button.
- One shared login — see the caution at the top of this manual.
Troubleshooting
"Submit for review" is disabled
You need a generated draft first — click Generate AI draft at least once before submitting.
Return / Reject won't click
Type a reason in the comment box first; both actions require one.
The page won't load, or shows a server error
The test server may have restarted. Wait a few seconds and reload the link. If it persists, let whoever set up the test know — the link only works while their machine keeps it running.
I don't see "Administration" in the sidebar
That tab only shows for the Administrator login this test build shares. If you're signed in and it's still missing, reload the page.