Skip to content
Updated Sep 26, 2026 by Barča Dvořáková · Owner: analysisactiveentityconfluence-migration Edit on GitHub

Entity: energyPrice ​

Entity Type: Database table

Description: Time series of published day-ahead market prices for electricity and gas, at 15-minute resolution. The price for a given commodity and delivery interval is the same for every tenant — the data is not scoped or duplicated per tenant, and there is no relationship to any tenant or client record. Every tenant reads directly from this single table. Powers the current and historical spot-price display used across cost reporting.

Data Attributes Table ​

Attribute NameDescriptionData TypeDefault ValueRequired (= Nullable)UniqueFormatValidationsIndexExample
idPrimary key of the entity.UUIDGenerated in code (app layer)YesYesUUID v7Must be a unique identifier.Primary Key018ed0b3-c298-7c7a-96d5-8b36f5a7f8d2
commodityThe energy medium this price applies to.String-YesNoenum.energyPriceCommodityOne of: electricity, gas.name: idx_energyPrice_commodity_deliveryStart, type: btreeelectricity
deliveryStartStart timestamp of the 15-minute interval this price applies to.Timestamp with time zone-YesNoISO 8601Must align to a 15-minute boundary.name: idx_energyPrice_deliveryStart, type: btree2026-06-15T12:00:00Z
priceSettled market price for the interval.Numeric-YesNo2 decimal placesNegative values are valid and must not be rejected.-1450.30
currencyCurrency the price is denominated in.StringCZKYesNoenum.currency, ISO 4217--CZK
unitUnit the price is expressed per.StringMWhYesNoenum.priceUnit--MWh
createdAtTimestamp of when the record was created. Immutable after insert.Timestamp with time zonenow() — set in codeYesNoISO 8601 — YYYY-MM-DDTHH:mm:ss.SSSZCannot be null; cannot be modified after creation.-2026-06-15T12:05:00Z
updatedAtTimestamp of the last update to the record.Timestamp with time zonenow() — set in codeYesNoISO 8601 — YYYY-MM-DDTHH:mm:ss.SSSZCannot be null.-2026-06-15T12:05:00Z
deletedAtTimestamp of soft deletion. Null means the record is active. Once set, immutable.Timestamp with time zone-NoNoISO 8601 — YYYY-MM-DDTHH:mm:ss.SSSZImmutable once set. Active records: WHERE deletedAt IS NULL-null
createdByIdentifier of the actor who created the record.String-YesNotype:actor — e.g. user:uuid or system:job-nameNon-empty.-system:market-price-ingest
updatedByIdentifier of the actor who last updated the record.String-YesNotype:actor — e.g. user:uuid or system:job-nameNon-empty.-system:market-price-ingest

Unique constraint: on (commodity, deliveryStart) — name: idx_energyPrice_commodity_deliveryStart, type: btree, unique — prevents a duplicate price row being written for the same interval on a repeated ingestion run.

Note. Like uiLabel, this entity has no tenantId at all — the source page explicitly states the data is shared across all tenants with no tenant/client relationship. Unlike uiLabel, the source page doesn't frame this as a named exception to the project's mandated-tenantId rule, but the description makes the rationale explicit (global market data). Flagged alongside gaugePurposeOption as another entity worth confirming against the tenantId mandate.

Audited fields ​

Recorded on created (in full), updated (changed only) and deleted (in full): commodity, deliveryStart, price, currency, unit.

Excluded: none.

No subjectEntityType/subjectEntityId and no tenantId — a single global market-data series shared unscoped across every tenant, per this entity's own description; createdBy/updatedBy on these entries would in practice almost always be the ingestion job's system actor, not a person.

Not registered for entityName resolution, and has no independent human-readable attribute to register — identified by its commodity/deliveryStart pair.