Appendix A — Real Estate CNS Type Hierarchy
Status: Reference
Sources: D-06 — Ontology Pack for Developers, S-03 — Glossary (plain language)
CNS (Canonical Naming System) URIs identify every real estate entity and claim type. CNS types are declarative (registered in cns_type_catalog), never invented in code.
1. Claim Types (cns://claim/type/real-estate/...)
| CNS URI | Description | Traits | Primary Use |
|---|---|---|---|
cns://claim/type/real-estate/sale | Unit sale agreement (off-plan or resale) | [sale_confirmed, poce_governed] | PK-01 Sales & Off-Plan, PK-10 Resale |
cns://claim/type/real-estate/lease | Lease / tenancy agreement | [lease_active, poce_governed] | PK-05 Leasing & Rental |
cns://claim/type/real-estate/service-charge | Service charge / maintenance fee | [charge_issued, poce_governed] | PK-07 Service Charge & Finance |
cns://claim/type/real-estate/defect | Defect / snag report | [defect_reported, escalated] | PK-04 Maintenance, PK-08 Snagging |
cns://claim/type/real-estate/amenity-booking | Amenity time-slot booking | [booking_confirmed] | PK-06 Amenities |
cns://claim/type/real-estate/visitor-pass | Visitor access pass | [visitor_approved, time_bounded] | PK-09 Resident Services |
cns://claim/type/governance/resolution | HOA resolution / rule | [resolution_proposed, adopted] | PK-03 HOA Governance |
cns://claim/type/governance/vote | Owner vote on resolution | [vote_cast] | PK-03 HOA Governance |
cns://claim/type/governance/rule-violation | HOA rule violation | [violation_logged, under_review] | PK-03 HOA Governance |
2. Resource Types (cns://resource/...)
| CNS URI | Description | Primary Use |
|---|---|---|
cns://resource/unit | Apartment, villa, or home | PK-01, PK-02, PK-05, PK-07, PK-10 |
cns://resource/common-area | Gym, pool, clubhouse, corridor, lift | PK-04, PK-06, PK-09 |
cns://resource/building | Building or block within development | PK-01, PK-04 |
cns://resource/budget | Budget pool (service charge, maintenance) | PK-04, PK-07 |
3. Truth Node Types (cns://truth/node/...)
| CNS URI | Description |
|---|---|
cns://truth/node/person | Owner, tenant, resident, buyer, seller |
cns://truth/node/organization | Developer, HOA, property manager, vendor, contractor |
cns://truth/node/development | The development itself (scope root) |
4. Edge Types (truth_edge.edge_type)
| Edge Type | Semantics | Example |
|---|---|---|
owns | owner → unit (ownership share + voting rights) | owner_O123 owns unit_A-1001 |
leases | tenant → unit (lease term) | tenant_T456 leases unit_A-1001 |
access | person → unit → area (key card, valid window) | resident_R1 access unit_A-1001 lobby |
part_of | unit → building | unit_A-1001 part_of building_A |
charges_service | unit → service-charge claim | unit_A-1001 charges_service SC-2026-001 |
reported_in | defect → unit/common area | defect_D-77 reported_in unit_A-1001 |
assigned_to | defect/work order → contractor | defect_D-77 assigned_to contractor_C9 |
uses | amenity booking → common area | booking_B-5 uses common-area-pool |
cast_on | vote → resolution | vote_V-3 cast_on resolution_R-2 |
5. Registration Pattern
Real estate CNS types are registered declaratively via fn::cns::register_type / fn::cns::register_entry (s185) or the playbook dictionary (dictionary.v1.json). Do not hardcode CNS URIs in application code — read them from governed NATS KV lookups at runtime.
Example registration shape (offline seed, not runtime):
json
{
"cns_type": "cns://claim/type/real-estate/sale",
"traits": ["sale_confirmed", "poce_governed"],
"schema_ref": "claims.real-estate.sale.v1",
"version": "1.0.0"
}