Open Data Schema for Energy

Energy Timeseries Schema

The energy-timeseries schema represents interval energy records in a standardized form that can be compared across OEMs.

Required Fields

Field Type Constraint Purpose
timestamp string (ISO 8601) UTC or timezone-explicit Unambiguous event time
kWh number See direction rules Interval energy value
error_type enum normal, warning, critical, fault, offline, standby, unknown Normalized operational state

Optional Fields

Field Type Notes
direction enum generation (default), consumption, net
fuel_type enum Example: electricity
end_use enum Building end-use tag (for analytics/benchmarking)
kVArh number Reactive energy, if available
kVA number Apparent power, if available
PF number Power factor
error_code string OEM-native error code for diagnostics

Settlement Context Fields

Field Type Notes
seller_party_id string Canonical seller ID (authority:type:id)
buyer_party_id string Canonical buyer ID (authority:type:id)
network_operator_id string Canonical network operator ID (authority:type:id)
wheeling_agent_id string Canonical wheeling/intermediary ID (authority:type:id)
settlement_period_start string (date-time) Settlement period start
settlement_period_end string (date-time) Settlement period end
loss_factor number >= 0 Applied loss factor (e.g., 0.03 for 3%)
contract_reference string Contract or schedule reference (PPA, bilateral deal)

Tariff Fields

Field Type Notes
tariff_schedule_id string Canonical tariff ID (authority:municipality:code:vN)
tariff_period enum peak, standard, off_peak, critical_peak
tariff_currency string ISO 4217 currency code (e.g., ZAR)
tariff_version_effective_at string (date-time) When the tariff version became effective
energy_charge_component number >= 0 Energy charge amount (two-part split)
network_charge_component number >= 0 Network charge amount (two-part split)
generation_charge_component number >= 0 Unbundled generation charge
transmission_charge_component number >= 0 Transmission use-of-system charge
distribution_charge_component number >= 0 Distribution network charge
ancillary_service_charge_component number >= 0 Ancillary services levy
non_bypassable_charge_component number >= 0 Non-bypassable charges (cross-subsidies, FBE)
environmental_levy_component number >= 0 Environmental or carbon levy

See Tariff Component Granularity for the relationship between two-part and unbundled fields.

Wheeling Fields

Field Type Notes
wheeling_type enum traditional, virtual, portfolio
injection_point_id string Grid injection point for the wheeling path
offtake_point_id string Grid offtake point for the wheeling path
wheeling_status enum provisional, confirmed, reconciled, disputed
wheeling_path_id string Reference to a registered wheeling path

See Wheeling Transaction Envelope for usage details.

Curtailment Fields

Field Type Notes
curtailment_flag boolean Whether generation was curtailed
curtailment_type enum congestion, frequency, voltage, instruction, other
curtailed_kWh number >= 0 Estimated generation lost to curtailment
curtailment_instruction_id string System operator dispatch instruction reference

See Curtailment Event Tracking for usage details.

BRP / Imbalance Fields

Field Type Notes
balance_responsible_party_id string BRP ID (authority:type:id)
forecast_kWh number Nominated/scheduled volume
settlement_type enum bilateral, sawem_day_ahead, sawem_intra_day, balancing, ancillary
imbalance_kWh number Forecast minus actual (may be negative)

See BRP / Imbalance Settlement for usage details.

Municipal Reconciliation Fields

Field Type Notes
billing_period string Billing cycle reference (e.g., 2026-02)
billed_kWh number >= 0 Billed quantity (may differ from metered kWh)
billing_status enum metered, estimated, adjusted, disputed
daa_reference string Distribution Agency Agreement reference

See Municipal Reconciliation for usage details.

Green Attribute Fields

Field Type Notes
renewable_attribute_id string Certificate or credit ID (e.g., I-REC number)
certificate_standard enum i_rec, rego, go, rec, tigr, other
verification_status enum pending, issued, retired, cancelled
carbon_intensity_gCO2_per_kWh number >= 0 Carbon intensity in gCO2e/kWh

See Green Attribute / Certificate Tracking for usage details.

Direction Semantics

Example Records

Generation

{
  "timestamp": "2026-02-05T14:00:00Z",
  "kWh": 8.4,
  "error_type": "normal",
  "direction": "generation"
}

Consumption

{
  "timestamp": "2026-02-05T14:00:00Z",
  "kWh": 12.1,
  "error_type": "normal",
  "direction": "consumption",
  "end_use": "cooling",
  "fuel_type": "electricity"
}

Net Metering

{
  "timestamp": "2026-02-05T14:00:00Z",
  "kWh": -1.7,
  "error_type": "normal",
  "direction": "net"
}

Validation Notes

Use schema validation to catch structural/type violations, then semantic validation for physical plausibility checks.