Law Office Reference Public

Data & Screen Reference

The Law Office module's complete surface: screens and routes, database tables, workflow state maps, permissions, the cron job, dashboard widgets, and both API endpoint sets.

Guide version: r1 Module version: 1.0.0 Updated: 2026-08-20 Estimated time: 3 min 8 views 0% helpful
Lookup

Data & Screen Reference

The module's complete surface, for administrators and integrators.

Screens & routes

ScreenRouteContents
Command Centerlaw_officeKPIs, action queue, upcoming verified deadlines, recent activity (all visibility-scoped).
Intakeslaw_office/intakesConfidential inbox + intake workspace (Overview, Conflict Check, Documents, Activity).
Matterslaw_office/mattersListing + 8-tab workspace (Overview, Parties, Team, Docket, Deadlines, Tasks, Documents, Activity).
Partieslaw_office/partiesRegistry + profile (Aliases, Relationships, Matter Involvement).
Docketlaw_office/docketMonth calendar, deadline register, verify queue.
Reportslaw_office/reportsMatter Portfolio, Intake Funnel, Deadline Compliance.
Settingslaw_office/settingsModule settings, practice areas, matter types.

Database tables (21, all per-tenant, soft-deleted)

GroupTables
Referencelaw_practice_areas, law_matter_types
Partieslaw_parties, law_party_aliases, law_party_relationships
Intakelaw_intakes, law_intake_parties
Conflicts (insert-only)law_conflict_searches, law_conflict_hits, law_conflict_decisions
Matterslaw_matters, law_matter_parties, law_matter_team, law_events, law_access_logs
Docketlaw_docket_events, law_deadlines
Work productlaw_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

RecordStatesRules
Intake stagedraft → conflict_check → pending_decision → accepted / declined / withdrawnAcceptance requires a clearing conflict disposition; accepted/declined/withdrawn are terminal.
Matter statusactive ⇄ on_hold → closed → archived (closed can reopen)Closing is blocked with open deadlines; archived is terminal.
Deadline statusdraft → verified → completed / cancelled / supersededVerified 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

PieceDetail
Cron joblaw_office_deadline_sweep — daily 05:30, ladder reminders + overdue flags + stale-draft nags.
WidgetsUpcoming Deadlines · My Tasks · Intake Pipeline · Matters by Status (staff dashboard palette, permission-gated).
Notification eventsdeadline reminder / overdue / verify-queue nag / task assigned / intake decision needed — bell + email via the module's notification bridge, honoring user preferences.

API endpoints

SurfaceEndpointReturns
Integration
law_office:read
GET /api/v1/law-office/mattersPaginated 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/partiesPaginated party registry (party_type filter).
GET /api/v1/law-office/deadlinesPaginated deadlines of non-restricted matters (status filter).
End-User
(employee JWT)
GET /v1/api/me/law-office/tasksMy open tasks.
GET /v1/api/me/law-office/deadlinesOpen deadlines on matters I can see.
GET /v1/api/me/law-office/mattersActive/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).

Was this guide helpful?

Report a content problem