Data & Screen Reference
The module's complete surface, for administrators and integrators.
Screens & routes
| Screen | Route | Contents |
|---|---|---|
| Command Center | law_office | KPIs, action queue, upcoming verified deadlines, recent activity (all visibility-scoped). |
| Intakes | law_office/intakes | Confidential inbox + intake workspace (Overview, Conflict Check, Documents, Activity). |
| Matters | law_office/matters | Listing + 8-tab workspace (Overview, Parties, Team, Docket, Deadlines, Tasks, Documents, Activity). |
| Parties | law_office/parties | Registry + profile (Aliases, Relationships, Matter Involvement). |
| Docket | law_office/docket | Month calendar, deadline register, verify queue. |
| Reports | law_office/reports | Matter Portfolio, Intake Funnel, Deadline Compliance. |
| Settings | law_office/settings | Module settings, practice areas, matter types. |
Database tables (21, all per-tenant, soft-deleted)
| Group | Tables |
|---|---|
| Reference | law_practice_areas, law_matter_types |
| Parties | law_parties, law_party_aliases, law_party_relationships |
| Intake | law_intakes, law_intake_parties |
| Conflicts (insert-only) | law_conflict_searches, law_conflict_hits, law_conflict_decisions |
| Matters | law_matters, law_matter_parties, law_matter_team, law_events, law_access_logs |
| Docket | law_docket_events, law_deadlines |
| Work product | law_matter_tasks, law_matter_documents |
Migrations live in modules/LawOffice/migrations/ (tracked in migrations_law_office);
the module_law_office settings seed is a core migration. Document files register in the central
general_files table with the module row holding the linkage.
Workflow state maps
| Record | States | Rules |
|---|---|---|
| Intake stage | draft → conflict_check → pending_decision → accepted / declined / withdrawn | Acceptance requires a clearing conflict disposition; accepted/declined/withdrawn are terminal. |
| Matter status | active ⇄ on_hold → closed → archived (closed can reopen) | Closing is blocked with open deadlines; archived is terminal. |
| Deadline status | draft → verified → completed / cancelled / superseded | Verified rows immutable; corrections insert a replacement and supersede (chain preserved). |
Permissions (25 — frozen)
law_office; parties/intakes/matters each with _create/_update/_delete;
law_office_intakes_decide; law_office_conflicts;
law_office_conflicts_decide; law_office_matters_restrict;
law_office_restricted_view; law_office_docket;
law_office_docket_manage; law_office_deadlines_verify;
law_office_tasks_manage; law_office_documents_manage;
law_office_reports; law_office_settings.
Automation, widgets, notifications
| Piece | Detail |
|---|---|
| Cron job | law_office_deadline_sweep — daily 05:30, ladder reminders + overdue flags + stale-draft nags. |
| Widgets | Upcoming Deadlines · My Tasks · Intake Pipeline · Matters by Status (staff dashboard palette, permission-gated). |
| Notification events | deadline reminder / overdue / verify-queue nag / task assigned / intake decision needed — bell + email via the module's notification bridge, honoring user preferences. |
API endpoints
| Surface | Endpoint | Returns |
|---|---|---|
Integrationlaw_office:read | GET /api/v1/law-office/matters | Paginated non-restricted matters (page/per_page/status). |
GET /api/v1/law-office/matters/{id} | One non-restricted matter (404 otherwise). | |
GET /api/v1/law-office/parties | Paginated party registry (party_type filter). | |
GET /api/v1/law-office/deadlines | Paginated deadlines of non-restricted matters (status filter). | |
| End-User (employee JWT) | GET /v1/api/me/law-office/tasks | My open tasks. |
GET /v1/api/me/law-office/deadlines | Open deadlines on matters I can see. | |
GET /v1/api/me/law-office/matters | Active/on-hold matters I can see. |
Module files (for developers)
Everything lives under modules/LawOffice/: 9 controllers, 18 models, 3 libraries
(workflow single-writer, conflict engine, document service), the module helper + widget helper,
6 migrations, the demo seeder, 7 PHPUnit test classes (php erpat module:test LawOffice),
config sidecars (routes, menu, default_menu, permissions, statuses, system_logs, widgets, api_routes,
euapi_routes, api_scope), language file, this docs mini-site, and specs/ (implementation
plan + status).