← Review Hub / Forms Gallery
5 · Forms

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.

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.

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.

Registry number prefixes
CW- Court cases (docket) MC- Marriage certificates PD- Property deeds PR- Professional registrations FIL- Accepted non-registry filings (motions/affidavits) INV- Fee invoices
Forms on this page

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)CategoryField keys → labelsCitizen-submittable?

Findings & honest notes from the code

🚩 Some intake fields are never stored in the registry

On acceptance the registry insert only takes a subset of the template fields. Case summary, marriage ceremony_date, and property address are collected on the form but not written to cases/marriage_registry/property_registry. They survive only on the filing submission's office-copy document — so the public registry row is missing that detail.

🚩 citizen_submittable is defined but not enforced on self-file

The flag marks Case/Property/Professional/Motion as 0 (not citizen-submittable), yet the citizen dashboard offers "File a Case / Property Deed / Professional Registration" buttons, getTemplate serves any template to any signed-in user, and submitFiling accepts a citizen self-filing on their own behalf without checking the flag. The "bring it to a City Services window" message in js/filings.js is defensive — the current backend does not actually refuse those web self-files. Decide whether the flag should be enforced or the buttons removed.

ℹ️ 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.


CrestWood RP · Department of Justice — internal system review. Field names verbatim from live code; all values are mock data.