Domain: Community (governance, occupancy, registry, financials)
Logical Sub-Domain: Financials (Obligations)
Physical Packages: @sd/mod-community/assessments, @sd/mod-community/contracts
Related Documents: Process Blueprint
Context: This document defines the Data Structures for Deeds, Leases, and Dues.
Source: packages/modules/community/src/{assessments,contracts}/schema.ts
0. Entity Relationship Diagram (ERD)
erDiagram
DEED ||--o{ LEGAL_PERSONA : "owned_by"
DEED ||--o{ ASSET : "governs"
ASSESSMENT_CONFIG ||--o{ ASSESSMENT_EVENT : "defines"
ASSESSMENT_EVENT ||--o{ ASSESSMENT_ENTRY : "generates"
ASSESSMENT_ENTRY }o--|| DEED : "charged_to"
PENALTY_RULE ||--o{ ASSESSMENT_ENTRY : "triggers_if_late"
DEED {
string id PK
float indiviso "Voting Weight"
enum usage "owner_occupied, rental"
}
ASSESSMENT_ENTRY {
string id PK
float amount
string identityId "Responsible Payer"
enum status "pending, posted, collected"
}
1. Primary Entities
Entity: Deed
The legal contract establishing ownership of a Unit.
| Field |
Type |
Required |
Description |
id |
string |
Yes |
Unique ID. |
assetId |
string |
Yes |
The Unit. |
owners |
LegalPersona[] |
Yes |
List of individuals/companies. |
indiviso |
float |
Yes |
% Ownership of Common Areas (Critical for Dues/Voting). |
usageType |
string |
Yes |
owner_occupied, short_term_rental. |
active |
boolean |
Yes |
Soft-delete flag. |
Entity: AssessmentEvent
A billing run (e.g. "January 2026 Dues").
| Field |
Type |
Required |
Description |
configId |
string |
Yes |
Link to Policy (AssessmentConfig). |
totalLevied |
number |
Yes |
Sum of all entries. |
status |
string |
Yes |
draft, calculating, pending_approval, posted. |
period |
object |
Yes |
{ month: 1, year: 2026 }. |
Entity: AssessmentEntry
A specific line item charge for a Unit.
| Field |
Type |
Required |
Description |
eventId |
string |
Yes |
The batch run. |
assetId |
string |
Yes |
The target Unit. |
identityId |
string |
Yes |
The person billed (from Deed). |
amount |
number |
Yes |
The fee. |
status |
string |
Yes |
pending, posted (sent to Finance), reversed. |
2. Configuration Entities
Entity: AssessmentConfig
Policy Rule for Billing.
| Field |
Type |
Required |
Description |
calculationMethod |
string |
Yes |
flat_rate, per_m2, indiviso_percentage. |
baseAmount |
number |
Yes |
The rate multiplier. |
Entity: PenaltyRule
Late Fee Logic.
| Field |
Type |
Required |
Description |
triggerDaysPastDue |
number |
Yes |
e.g. 30 days. |
calculationType |
string |
Yes |
percentage (10%) or fixed ($500). |
value |
number |
Yes |
The rate. |
4. Changelog
Version History
| Version |
Date |
Author |
Change |
| 0.1.0 |
2026-01-26 |
Antigravity |
Initial Audit & Metadata Injection |