...
| Code Block |
|---|
[
{
"Id": <value> // Data: SonWin installation number (AINSD.INSTNR), as string
"Address": <value> // Data: street + house number (AINSD.ADRESSE + AINSD.HUSNUMMER)
"ZipCode": <value> // Data: postal code (AINSD.POSTNUM)
"City": <value> // Data: city name (IPOST.NAVN, falling back to AINSD.STED; empty string if both null)
"Properties": null // Hardcoded null
"PriceZone": <value> // Derived: from ZipCode -> "DK1" if zip >= 6000, "DK2" if zip < 6000, null if the zip code cannot be parsed
"Services": [ // Data: the electricity service(s) for this installation (empty array if none)
{
"Id": <value> // Data: metering point id / EAN (IndividualMPoints.MeteringPointId, aka AftageNr)
"Type": <value> // Hardcoded "consumption_trade"
"Status": "Active" // Hardcoded: "Active"
"MeasurementResolution": <value> // Hardcoded "hour15min"
"MeasurementId": <value> // Data: metering point id (same value as Service.Id / AftageNr)
"DeliveryPointId": null // Hardcoded null
"CostResolution": null // Hardcoded null
"CostId": null // Hardcoded null
"Properties": null // Hardcoded null: BrightServiceProperties (ShowCost, RealtimeMeasurements) is never populated
"StartDate": <value> // Data: current supply start date (SWMarket MeteringPointRoleOccurrence.FromDate), as DateTimeOffset (UTC/zero offset). Required - null fails validation.
"EndDate": <value> // Data: current supply end date (SWMarket ...ToDate), as DateTimeOffset.
// OMITTED from the JSON entirely when null (JsonIgnore WhenWritingNull);
// null/absent means the supply has no scheduled end (still active).
}
],
"Longitude": null // Hardcoded null
"Latitude": null // Hardcoded null
}
]
|
...