Skip to content

Protocol Documentation¤

Table of Contents¤

Top

frequenz/api/common/v1alpha8/market/market_area.proto¤

MarketArea¤

Defines the jurisdiction in which a Market Location is registered.

A Market Area represents the regulatory jurisdiction and market regime that governs identifier formats, settlement periods, and metering conventions for a Market Location.

Identifier formats (MaLo-ID, MPAN, POD, NMI, ESI-ID, …) are modeled separately in MarketLocationIdType.

!!! note "Jurisdictions, not operators" Market areas represent regulatory regimes, not individual exchanges or TSOs. Where operator-specific behavior matters (e.g. ERCOT vs PJM), dedicated sub-areas are defined.

!!! note "Numeric ranges" Enum values are grouped by region to preserve ordering, readability, and backwards-compatible extension.

Name Number Description
MARKET_AREA_UNSPECIFIED 0 UNSPECIFIED: Default unspecified value — must not be used.
MARKET_AREA_EU_DE 101 EU_DE: Germany — MaLo-ID regime (Marktlokation / MaLo-ID).
MARKET_AREA_EU_UK 102 EU_UK: United Kingdom — MPAN regime (Meter Point Administration Number).
MARKET_AREA_EU_FR 103 EU_FR: France — PDL/PRM regime (Point de Livraison/Référence Mesure).
MARKET_AREA_EU_IT 104 EU_IT: Italy — POD regime (Point of Delivery).
MARKET_AREA_EU_ES 105 EU_ES: Spain — CUPS regime (Código Universal de Punto de Suministro).
MARKET_AREA_EU_NL 106 EU_NL: Netherlands — EAN regime (European Article Number).
MARKET_AREA_EU_BE 107 EU_BE: Belgium — EAN regime.
MARKET_AREA_EU_CH 108 EU_CH: Switzerland — EAN regime.
MARKET_AREA_EU_AT 109 EU_AT: Austria — Zählpunktnummer (EAN-based).
MARKET_AREA_EU_NORDICS 110 EU_NORDICS: Nordic region — Elhub / GSRN regime (NO, SE, DK, FI).
MARKET_AREA_AP_JP 201 AP_JP: Japan — country-specific metering / settlement regime.
MARKET_AREA_AP_CN 202 AP_CN: China — country-specific metering / settlement regime.
MARKET_AREA_AP_IN 203 AP_IN: India — country-specific metering / settlement regime.
MARKET_AREA_AP_SG 204 AP_SG: Singapore — country-specific metering / settlement regime.
MARKET_AREA_NA_US_ERCOT 301 NA_US_ERCOT: United States — ERCOT regime (ESI-ID).
MARKET_AREA_NA_US_PJM 302 NA_US_PJM: United States — PJM regime (ESI-ID).
MARKET_AREA_NA_US_ISONE 303 NA_US_ISONE: United States — ISO New England regime (ESI-ID).
MARKET_AREA_NA_US_CAISO 304 NA_US_CAISO: United States — CAISO regime (ESI-ID).
MARKET_AREA_EURASIA_RU 401 EURASIA_RU: Russia — country-specific metering / settlement regime.
MARKET_AREA_OC_AU 501 OC_AU: Australia — NMI regime (National Metering Identifier).
MARKET_AREA_OC_NZ 502 OC_NZ: New Zealand — ICP regime (Installation Control Point).
MARKET_AREA_OTHER 999 OTHER: Other or not yet modelled areas.

Scalar Value Types¤

.proto Type Notes C++ Java Python Go C# PHP Ruby
double double double float float64 double float Float
float float float float float32 float float Float
int32 Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. int32 int int int32 int integer Bignum or Fixnum (as required)
int64 Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. int64 long int/long int64 long integer/string Bignum
uint32 Uses variable-length encoding. uint32 int int/long uint32 uint integer Bignum or Fixnum (as required)
uint64 Uses variable-length encoding. uint64 long int/long uint64 ulong integer/string Bignum or Fixnum (as required)
sint32 Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. int32 int int int32 int integer Bignum or Fixnum (as required)
sint64 Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. int64 long int/long int64 long integer/string Bignum
fixed32 Always four bytes. More efficient than uint32 if values are often greater than 2^28. uint32 int int uint32 uint integer Bignum or Fixnum (as required)
fixed64 Always eight bytes. More efficient than uint64 if values are often greater than 2^56. uint64 long int/long uint64 ulong integer/string Bignum
sfixed32 Always four bytes. int32 int int int32 int integer Bignum or Fixnum (as required)
sfixed64 Always eight bytes. int64 long int/long int64 long integer/string Bignum
bool bool boolean boolean bool bool boolean TrueClass/FalseClass
string A string must always contain UTF-8 encoded or 7-bit ASCII text. string String str/unicode string string string String (UTF-8)
bytes May contain any arbitrary sequence of bytes. string ByteString str []byte ByteString string String (ASCII-8BIT)