Every DOJ form — citizen request vs. clerk processing, blank vs. completed
Each card below shows one DOJ form in up to four states so you can review the exact wording and fields. Field labels and names are taken verbatim from the live code (document_templates.fields_json, api/*.php, sql/schema.sql); all values are realistic mock data.
Updated 2026-07-23 — three fixes + one new feature
FIXED citizen_submittable is now enforced server-side — a citizen attempting to self-file a staff-only form (Case / Property / Professional / Motion) now gets a 403 instead of silently succeeding. FIXED case summary, marriage ceremony_date, and property address now persist to their registry tables instead of being dropped. NEW forms now display their fee from the authoritative price list, and submitting a fee-bearing form mints a DOJ invoice (payable via /invoices or the phone Pay tab). NEW citizen-submittable forms can now also be filed from the phone app. None of this is in-game acceptance-tested yet.
How filing works
A citizen requests at the service window / in-city terminal / DOJ phone app (or the web self-representation panel). The submission lands in the Clerk's pending queue — it is not effective until accepted. A clerk (or admin / master clerk) reviews and accepts; acceptance writes the official registry record, assigns the registry number, queues an office copy at the print desk, and notifies the filer. Reject returns it with a note. If the form carries a fee, acceptance also mints a INV- invoice for the filer.
The real citizen-vs-clerk distinction
For the four registry filings there is one shared template — citizen and clerk open the same intake form with the same fields (built by renderDojForm()). There is no separate clerk form with extra input boxes. What the clerk adds is the Review & Accept step: an approve/reject decision + note, after which the system assigns the registry number, status and dates. Law-office roles see the same fields on a letterhead "paper" layout (renderDojPaperForm()). Licenses, warrants, reports and citations are separate pipelines, noted on their cards.
Open question for the owner
Staff-filed forms now invoice the fee too, same as citizen self-files — there's no exemption for a clerk filing on a citizen's behalf. Should clerk-filed forms be fee-exempt, or is billing the citizen regardless of who typed the form the intended behavior?
Other court-filing templates
Additional document_templates rows that use the same intake form + clerk-accept flow. On acceptance these are not written to a registry table — they are filed on the submission's office copy and numbered FIL-#####, then queued at the print desk.
| Template (slug) | Category | Field keys → labels | Citizen-submittable? |
|---|
Findings & honest notes from the code
FIXED Intake fields now stored in the registry
On acceptance the registry insert used to take only a subset of the template fields — case summary, marriage ceremony_date, and property address were collected on the form but not written to cases/marriage_registry/property_registry. Now fixed: all three persist to their registry tables on acceptance, so the public registry row carries the full detail instead of only the office-copy document.
FIXED citizen_submittable is now enforced on self-file
The flag marks Case/Property/Professional/Motion as 0 (not citizen-submittable); previously the citizen dashboard still offered those buttons and submitFiling accepted a citizen self-filing without checking the flag. Now fixed: a citizen self-filing a staff-only form gets a 403 server-side — the "bring it to a City Services window" message in js/filings.js is backed by a real check now.
ℹ️ Warrants, reports & citations have no citizen form
These are police-only (api/mdt.php) or issued in-game. A citation has no web create form at all — the website only reads/seeds them. There is no service-window citizen version to review; the cards show the officer/MDT form instead.
ℹ️ One template, two skins
Clerks and citizens fill the identical field set. Law-office roles (attorney, public defender, DA, prosecutor, paralegal) render that same template as an official DOJ letterhead "paper" document instead of the pop-up form — same data-field keys, so the collected values are identical.
NEW Fee-bearing forms now mint an invoice
Forms display their fee from the authoritative Cole-scale price list (service_prices) and, on acceptance, mint a INV- invoice payable via /invoices or the phone Pay tab. Staff-filed forms invoice the same fee as citizen self-files — see the open question in the intro above.
NEW Citizen-submittable forms are now filable from the phone app
Marriage Certificate and the citizen-submittable "other templates" (affidavit, witness statement, name-change petition, expungement petition) can now be filed from the DOJ phone app, not just the web self-representation panel. See page 3.
CrestWood RP · Department of Justice — internal system review. Field names verbatim from live code; all values are mock data.