Skip to main content
ECN’s schema has two hubs: Business (the public directory entity) and Organization (the workspace tenant). Almost everything else hangs off one of them.

Domains

Directory

Business, Category, Tag, relationships, claims & nominations.

CRM

Organization, Membership, Contact, Account, Deal, Task, Forms.

Context

ContextPack & ContextDocument — the AI-ready surface.

Metering & billing

UsageEvent, CreditWallet, CreditTransaction, RateCard, plans.

Automation

Workflow, Step, Enrollment, StepRun, OutreachDraft.

Enterprise & GTM

GtmProfile, GtmLead, Campaign, affiliate program.

Conventions worth knowing

  • UUID primary keys on most records.
  • pgvector embeddings (1536-dim) on Business, ContextDocument, ContextPack, and RecruitRole for semantic search and agent retrieval.
  • Immutable ledgersUsageEvent and CreditTransaction are append-only.
  • Status progressions — e.g. Business: SEEDED → NOMINATED → CLAIMED → VERIFIED; AI-authored content enters as seeded and is never auto-verified.
  • Tenant isolation — workspace data is scoped to Organization; cross-tenant reads are rejected.
Per-domain field tables on the following pages are generated from the live Django models (manage.py dump_schema_docs) and re-synced to test each docs iteration, so they track the v2 refactor rather than drifting.