Quick Reference

Group Models
Intake & Matters LegalRequest · IntakeQuestion · LegalMatter · MatterStakeholder
Matter Work MatterIssue · MatterTask · LegalRisk · LegalDecision · Approval
Counsel & Spend CounselEngagement · SpendEntry
Documents & Knowledge MatterDocument · Communication · KnowledgeItem
Service Levels ServiceLevel · SLAInstance
Directory BusinessUnit · Person · Organisation

19 models in total.

The models

Model Purpose
LegalRequest A business request for legal help (typed, prioritised, SLA'd)
IntakeQuestion A structured intake question + response
LegalMatter A matter — owned by a business owner and a legal owner
MatterStakeholder A person/org involved in a matter, with a role
MatterIssue A point in contention (legal vs business position)
MatterTask Work on a matter, with predecessors
LegalRisk A legal risk — inherent → residual, acceptance
LegalDecision A recorded legal decision with rationale + implementation
Approval A delegated-authority approval
CounselEngagement Internal/external counsel, fee arrangement, budget
SpendEntry An invoice/forecast booked against an engagement + budget
MatterDocument A document with privilege status + versioning
Communication Correspondence on a matter
KnowledgeItem Reusable guidance harvested from matters
ServiceLevel First-response / triage / resolution targets
SLAInstance The running SLA clock on a request/matter
BusinessUnit / Person / Organisation The org directory

Status vocabularies (enums)

  • Request: draft · submitted · triage · awaiting_information · accepted · declined · converted_to_matter · closed · cancelled
  • Matter: draft · open · active · on_hold · awaiting_business · awaiting_external_counsel · resolved · closed · archived
  • Task: open · in_progress · blocked · awaiting_input · completed · cancelled
  • Decision: draft · under_review · approved · rejected · superseded · implemented
  • Approval: not_required · pending · approved · rejected · withdrawn
  • Engagement: proposed · conflict_check · approved · engaged · active · suspended · completed · terminated
  • Spend: forecast · committed · invoiced · approved · paid · disputed · written_off
  • Fee arrangement: hourly · capped · fixed_fee · retainer · blended_rate · success_fee · panel_rate · other
  • Document: draft · review · approved · final · issued · received · superseded · archived
  • SLA: not_started · on_track · due_soon · overdue · paused · met · breached
  • Priority: low · normal · high · urgent · critical · Risk / Confidentiality / Privilege likewise scaled

The demo data set — one coherent story

Procurement raises LR-2026-0001 "Review major services agreement" (contract review, $8.5m / 5 years, due 4 Sep). Legal Ops triages it and it converts to matter MAT-2026-0007 (owned by Procurement + Senior Counsel).

  • Issues liability cap and indemnity scope; tasks to review then negotiate the cap; a legal risk (uncapped liability, high→medium) and a decision (GC approves a 12-month cap with carve-outs).
  • A panel law firm is engaged on a fixed fee ($40k, conflict-checked, GC approved); two spend entries (a $20.35k invoice + a forecast) booked against the $60k budget.
  • A draft agreement + a privileged advice memo, an outbound communication to the counterparty, an SLA instance on track, and a reusable knowledge item (liability-cap playbook).

33 seeded rows across all 19 models.

Key demo codes

LR-2026-0001 (request) · MAT-2026-0007 (matter) · ISS-1/2 (issues) · RISK-1 · DEC-1 (decision) · INV-PL-1001 (invoice).

Notes

  • Fields named name on Person / LegalRequest / MatterTask / CounselEngagement exist so referencing lists show a short label rather than a description paragraph (or a job title, or the counsel_type enum). LegalMatter uses summary, so its title already wins.
  • LegalRequest.matter_id was dropped to break a cycle with LegalMatter.source_request_id (the conversion is still traceable from the matter). The SLA engine, spend controls and dashboard metrics are Phase 2.