CREATE TABLE accounts (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
-- Akademie-Name oder Trainer-Vollname
kind TEXT NOT NULL DEFAULT 'solo' -- 'solo' (Einzeltrainer) | 'academy' (Akademie)
CHECK(kind IN ('solo','academy')),
plan TEXT NOT NULL DEFAULT 'trial' -- 'trial' | 'solo' | 'academy' | 'cancelled'
CHECK(plan IN ('trial','solo','academy','cancelled')),
status TEXT NOT NULL DEFAULT 'trial' -- 'trial' | 'active' | 'past_due' | 'cancelled'
CHECK(status IN ('trial','active','past_due','cancelled')),
trial_until TEXT,
-- ISO-Datum,
NULL nach Trial-Konvertierung
seats INTEGER NOT NULL DEFAULT 1,
-- Anzahl der genutzten Trainer-Sitze
billing_email TEXT,
-- separate Rechnungs-Mail (NULL = Owner-Mail)
created_at TEXT NOT NULL DEFAULT (datetime('now')),
billing_country TEXT NOT NULL DEFAULT 'DE',
billing_vat_id TEXT,
mollie_customer_id TEXT,
mollie_mandate_id TEXT,
mollie_subscription_id TEXT,
current_period_start TEXT,
current_period_end TEXT,
cancelled_at TEXT,
cancellation_effective_at TEXT,
read_only_since TEXT,
deletion_scheduled_at TEXT,
deletion_warning_7d_at TEXT,
deletion_warning_1d_at TEXT
)