Initial commit — Performance West telecom compliance platform
Includes: API (Express/TypeScript), Astro site, Python workers, document generators, FCC compliance tools, Canada CRTC formation, Ansible infrastructure, and deployment scripts. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
commit
f8cd37ac8c
1823 changed files with 145167 additions and 0 deletions
61
api/migrations/038_telecom_entities.sql
Normal file
61
api/migrations/038_telecom_entities.sql
Normal file
|
|
@ -0,0 +1,61 @@
|
|||
-- 038: Telecom Entity tracking — multi-entity support
|
||||
--
|
||||
-- Links customers to their telecom entities (each with FRN, 499 Filer ID, etc.)
|
||||
-- A single customer can manage multiple entities.
|
||||
-- Compliance checks and 499-A filings are scoped per entity.
|
||||
|
||||
CREATE TABLE IF NOT EXISTS telecom_entities (
|
||||
id SERIAL PRIMARY KEY,
|
||||
customer_id INTEGER REFERENCES customers(id),
|
||||
-- Jurisdiction
|
||||
jurisdiction TEXT NOT NULL DEFAULT 'FCC'
|
||||
CHECK (jurisdiction IN ('FCC', 'CRTC')),
|
||||
-- FCC identifiers (US entities)
|
||||
frn TEXT, -- 10-digit FCC Registration Number
|
||||
filer_id_499 TEXT, -- USAC 499 Filer ID
|
||||
-- CRTC identifiers (Canadian entities)
|
||||
incorporation_number TEXT, -- BC/ON provincial corporation number
|
||||
incorporation_province TEXT, -- BC or ON
|
||||
crtc_registration_number TEXT, -- CRTC carrier registration ID
|
||||
-- Entity info
|
||||
legal_name TEXT NOT NULL,
|
||||
dba_name TEXT,
|
||||
ein TEXT, -- EIN (US) or BN (Canada)
|
||||
-- Classification (from 499-A questionnaire — FCC entities)
|
||||
filer_type TEXT, -- interconnected_voip, non_interconnected_voip, clec, etc.
|
||||
infra_type TEXT, -- facilities, reseller, both
|
||||
is_deminimis BOOLEAN DEFAULT FALSE,
|
||||
is_lire BOOLEAN DEFAULT FALSE,
|
||||
service_categories TEXT[], -- array of category slugs
|
||||
-- Contact
|
||||
contact_name TEXT,
|
||||
contact_email TEXT,
|
||||
contact_phone TEXT,
|
||||
ceo_name TEXT,
|
||||
ceo_title TEXT,
|
||||
-- Address
|
||||
address_street TEXT,
|
||||
address_city TEXT,
|
||||
address_state TEXT,
|
||||
address_zip TEXT,
|
||||
-- Revenue snapshot (from last 499-A)
|
||||
last_filing_year INTEGER,
|
||||
total_revenue_cents BIGINT DEFAULT 0,
|
||||
interstate_pct NUMERIC(5,2) DEFAULT 0,
|
||||
international_pct NUMERIC(5,2) DEFAULT 0,
|
||||
-- Status
|
||||
active BOOLEAN DEFAULT TRUE,
|
||||
notes TEXT,
|
||||
-- ERPNext link
|
||||
erpnext_customer TEXT, -- ERPNext Customer docname
|
||||
-- Metadata
|
||||
created_at TIMESTAMPTZ DEFAULT NOW(),
|
||||
updated_at TIMESTAMPTZ DEFAULT NOW()
|
||||
);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_telecom_entities_customer ON telecom_entities(customer_id);
|
||||
CREATE INDEX IF NOT EXISTS idx_telecom_entities_frn ON telecom_entities(frn) WHERE frn IS NOT NULL;
|
||||
CREATE INDEX IF NOT EXISTS idx_telecom_entities_filer ON telecom_entities(filer_id_499) WHERE filer_id_499 IS NOT NULL;
|
||||
|
||||
-- Add entity_id to compliance-related tables
|
||||
ALTER TABLE canada_crtc_orders ADD COLUMN IF NOT EXISTS telecom_entity_id INTEGER REFERENCES telecom_entities(id);
|
||||
Loading…
Add table
Add a link
Reference in a new issue