-- ============================================================ -- Distribuční tarify a HDO -- ============================================================ CREATE TABLE ems.distribution_tariff ( id SERIAL PRIMARY KEY, distributor TEXT NOT NULL, -- 'EGD', 'CEZ', 'PRE' code TEXT NOT NULL, -- 'D02d', 'C25d', 'custom_fve' name TEXT NOT NULL, has_dual_rate BOOLEAN NOT NULL DEFAULT true, -- NT/VT nebo jednotarif vat_rate NUMERIC(5,4) NOT NULL DEFAULT 0.21, notes TEXT, UNIQUE (distributor, code) ); COMMENT ON TABLE ems.distribution_tariff IS 'Číselník distribučních tarifů. Jeden záznam = jeden tarif jednoho distributora. has_dual_rate=true znamená NT/VT dvojsazba, false = jednotarif.'; -- ============================================================ CREATE TABLE ems.distribution_tariff_rate ( id SERIAL PRIMARY KEY, tariff_id INT NOT NULL REFERENCES ems.distribution_tariff(id), rate_type TEXT NOT NULL, -- 'NT', 'VT', 'single' price_czk_kwh NUMERIC(10,6) NOT NULL, -- variabilní složka bez DPH valid_from DATE NOT NULL, valid_to DATE, -- NULL = platí dosud notes TEXT, UNIQUE (tariff_id, rate_type, valid_from) ); COMMENT ON TABLE ems.distribution_tariff_rate IS 'Sazby distribučního tarifu Kč/kWh bez DPH. Verzováno přes valid_from/valid_to. Při roční změně tarifů: nastav valid_to na starém záznamu a přidej nový. price_czk_kwh = pouze variabilní distribuce, BEZ systémových služeb a OTE.'; COMMENT ON COLUMN ems.distribution_tariff_rate.price_czk_kwh IS 'Variabilní distribuční složka Kč/kWh bez DPH. Nezahrnuje: systémové služby ČEPS, poplatek OTE, silovou elektřinu (spot). Tyto ostatní fixní složky jsou v site_market_config jako system_services_czk_kwh.'; -- ============================================================ CREATE TABLE ems.hdo_code ( id SERIAL PRIMARY KEY, distributor TEXT NOT NULL, -- 'EGD', 'CEZ', 'PRE' code TEXT NOT NULL, -- 'B1', 'C3', 'custom_fve_home01' description TEXT, valid_from DATE NOT NULL, valid_to DATE, -- NULL = platí dosud notes TEXT, UNIQUE (distributor, code, valid_from) ); COMMENT ON TABLE ems.hdo_code IS 'Číselník HDO kódů per distributor. Při roční změně přidat nový záznam s novým valid_from – starý zůstane v historii pro audit. Kód "custom_fve_home01" pro FVE instalace bez standardního HDO kódu.'; -- ============================================================ CREATE TABLE ems.hdo_code_window ( id SERIAL PRIMARY KEY, hdo_code_id INT NOT NULL REFERENCES ems.hdo_code(id), day_type TEXT NOT NULL DEFAULT 'all', -- 'all' = každý den, 'workday' = Po-Pá, 'weekend' = So-Ne rate_type TEXT NOT NULL DEFAULT 'VT', -- 'VT' nebo 'NT' window_from TIME NOT NULL, -- začátek okna (inclusive) window_to TIME NOT NULL -- konec okna (exclusive) ); COMMENT ON TABLE ems.hdo_code_window IS 'NT/VT časová okna pro HDO kód. Více řádků = více oken za den. Logika: pokud aktuální čas spadá do VT okna → rate_type=VT, jinak NT. day_type=all znamená stejná okna každý den (workday i weekend). Příklad home-01: VT 09:00-10:00, 12:00-13:00, 16:00-17:00, 20:00-21:00.'; -- ============================================================ -- Rozšíření site_market_config -- ============================================================ ALTER TABLE ems.site_market_config ADD COLUMN IF NOT EXISTS tariff_id INT REFERENCES ems.distribution_tariff(id), ADD COLUMN IF NOT EXISTS hdo_code_id INT REFERENCES ems.hdo_code(id), ADD COLUMN IF NOT EXISTS system_services_czk_kwh NUMERIC(10,6) DEFAULT 0, ADD COLUMN IF NOT EXISTS ote_fee_czk_kwh NUMERIC(10,6) DEFAULT 0; COMMENT ON COLUMN ems.site_market_config.tariff_id IS 'Distribuční tarif přiřazený k této lokalitě. FK na distribution_tariff.'; COMMENT ON COLUMN ems.site_market_config.hdo_code_id IS 'HDO kód přiřazený k této lokalitě. Určuje NT/VT časová okna. Při změně HDO předpisu stačí přidat nový hdo_code záznam a aktualizovat FK.'; COMMENT ON COLUMN ems.site_market_config.system_services_czk_kwh IS 'Součet systémových poplatků Kč/kWh bez DPH: systémové služby ČEPS + poplatek OTE + příspěvek na OZE. Orientační hodnota EG.D 2025: ~0.40 Kč/kWh. Doplnit ze smlouvy/faktury.'; COMMENT ON COLUMN ems.site_market_config.ote_fee_czk_kwh IS 'Poplatek OTE za použití trhu Kč/kWh bez DPH. Orientačně ~0.001 Kč/kWh. Lze zahrnout do system_services_czk_kwh.';