- Flow 1
Buyer onboarding
From first visit to logged-in dashboard. Magic-link signup, e-signed Service Agreement, Stripe checkout, six-step wizard.
- 04Magic-link confirmemail → /auth/confirm
- 05Welcome wizard/welcome — Service Agreement + Stripe
- 07Onboarding wizard6 steps: welcome → event → site → Check-In → guards → recap
- 08Live engagementengagement live; full platform unlocked
- Flow 2
Mobilization-day Check-In
One pass per officer, at the trailer. Selfie ID minted, four onboarding gates cleared, badge issued. Stays cleared for the duration of the engagement.
- 01Officer arrivesmagic-link in inbox
- 02Selfie IDdigital_ids row + badge QR
- 03Drug testpass/fail/refused · 1 per engagement
- 04State licenseverify + capture expiry
- 05Uniform issuedpackage items from on-hand inventory
- 06Custom gatesany client-defined check
- 07Badge active✨ fully onboarded — officer can take a post
- Flow 3
Shift lifecycle
Clock-in with scheduled-time rounding. Pay rate snapshotted on clock-in. Per-diem accrues by role policy. Hours roll up to the weekly payroll preview.
- 01Assigned to post/dashboard/sites/[siteId]
- 02Clock inrounded to schedule within ±N min
- 03On shiftvoice, crowd updates, incidents
- 04Clock outhours snapshotted; per-diem accrued
- 06CSV export/api/payroll/export
- Flow 4
Incident flow
Officer files, EC triages, attachments + chain-of-custody land in the record, then publish → resolve. Every state change audit-logged. Lands in the legal export.
- 01Officer filesguard portal · photo + narrative + GPS
- 02Real-time pushsupervisor + EC notified
- 03Wizard fillswitnesses + chain-of-custody + attachments
- 04PublishPOST /api/incidents/[id]/publish
- 05ResolvePOST /api/incidents/[id]/resolve
- 06Legal exportnumbered exhibit in PDF
- Flow 5
Supervisor request
The panic button. One tap from the officer, GPS attached, every supervisor sees it within seconds. Acknowledge then close from the dashboard.
- 01Officer hits buttonguard portal
- 02POST + realtimesupervisor_requests insert + push
- 03Supervisor sees alertdashboard banner + site board
- 04AcknowledgePATCH action=acknowledge
- 05On scene → closePATCH action=close
- Flow 6
Hotel rooms & auto-pair
Paste the room list, run auto-pair, confirm. Gender hard-block, then site, then role. Vacate flips vacated_at, never deletes the history.
- 01Paste rooms/dashboard/hotel-rooms · paste-friendly
- 02Run auto-pairPOST /api/hotel-rooms/auto-pair
- 03Review proposalhand-swap before confirming
- 04Confirm pairingsPOST /api/room-assignments
- 05Officers in roomsappears on officer profile + site board
- 06Vacate at endvacated_at flipped, audit intact
- Flow 7
Day-1 paperwork
Issue Payroll Master, Work Rules, Vehicle Agreement. Officer signs in person with typed name + signature line + initials per clause. Auto-distributed to leadership.
- 01Issue docsPOST /api/day-one/issue · 3 kinds
- 02Officer signstyped name + per-clause initials + IP stamp
- 03Document signedstatus: signed
- 04Auto-distributeemails to configured leadership list
- 05Void if neededvoid_reason required
- Flow 8
Daily reports
Auto-created per (site, date) on first view. SM edits the narrative, attaches photos, publishes. PDF goes to the client at 1900 every night.
- 01Auto-create on view/dashboard/daily-reports/[siteId]/[date]
- 02Edit narrativePATCH /api/daily-reports/[id]
- 03Attach photos / metricsauto-rolled from crowd + incidents
- 04Publishis_published flipped
- 05Email client POCdistribution list fires
- Flow 9
Shift logs
Three-stage signature chain replacing the paper SitRep. Site Lead drafts the roster, Command Post verifies, Site Manager signs.
- 01Site Lead draftPOST /api/shift-logs
- 02Roster + adjustmentshours per officer + adj_code
- 03Submit for CPPATCH action=submit_for_cp
- 04CP verifyPATCH action=cp_verify
- 05SM signPATCH action=sm_sign
- 06Signedimmutable; rolls into payroll
- Flow 10
Receipts & weekly expense pack
Officers submit out-of-pocket receipts from the portal. SM approves or denies inline. Approved receipts roll into the weekly pack in 13-category Holy Boble order.
- 01Officer submitsPOST /api/guard/[token]/receipts
- 02Pending queue/dashboard/receipts · amber panel
- 03SM approve / denyPATCH action=approve|deny
- 04Approved → packjoins weekly expense PDF
- 05Export + email/api/receipts/export?distribute=1
- Flow 11
Per-diem engagement & ledger
Define an engagement with per-officer arrival/departure ranges. Compute the dispersal preview. Stamp paid. Audit trail per dispersal.
- 01Create engagementPOST /api/per-diem · site + daily rate
- 02Record presencePOST /api/per-diem/[id]/presence
- 03Compute previewcomputeDispersalPreview()
- 04Commit dispersalPOST /api/per-diem/[id]/dispersals
- 05Mark paidPATCH paid_at + paid_by
- Flow 12
Hotel folio reconciliation
Drop the weekly hotel folio. The matcher reconciles every charge to a known officer, flags variances, builds the dispute letter.
- 01Create folioPOST /api/hotel-folios
- 02Drop entriesPOST /api/hotel-folios/[id]/entries
- 03Match per officermatched / partial / unmatched
- 04Resolve variancePATCH /entries/[id] action=resolve
- 05Mark resolved → paidPATCH /[id] action=mark_paid
- Flow 13
Payroll preview
Every clock-in snapshots the role's pay rate. Hours roll up to the week, per-diem accrues by role policy. One CSV, payroll-ready.
- 01Clock-in snapshothourly_rate_snapshot_cents + policy
- 02Hours + per-diem accrueper_diem_accruals + assignment cents
- 04CSV export/api/payroll/export
- Flow 14
License extension
Engagement runs long? Buy a 30-day extension at 35% of the plan price. Surfaces inside the 7-day window before event end.
- 01T-7 days warningamber dashboard banner
- 02Event end lapsesbanner turns rose
- 03Buy extensionPOST /api/billing/extend → Stripe
- 04Webhook confirmsevent_extensions insert
- 05event_end_at + 30dengagement live for another 30 days
- Flow 15Planned
Demobilization (planned)
Five-stage runbook closing the engagement: lock the field, recover property, sign officers off, lock the books, archive. Plan written; not yet built.
- 01Lock the fieldstop new clock-ins, close open shifts
- 02Property returnvacate rooms, return uniforms, vehicles
- 03PaperworkDay-out docs + travel-home banner
- 04Finance closelock payroll, set receipt grace window
- 05Archiveauto-generate legal export, write-lock org