{
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "title": "RedispatchMeldung - ANB Abrechnungsdatensatz",
    "description": "Abrechnungsrelevante Daten für den Anfordernden Netzbetreiber, bereitgestellt durch den Anschlussnetzbetreiber",
    "type": "object",
    "anyOf": [
        {
            "required": [
                "vnb-MPID"
            ]
        },
        {
            "required": [
                "MastrNummer"
            ]
        }
    ],
    "required": [
        "Jahr",
        "Monat",
        "TechnischeRessourcen",
        "Schemaversionsnummer"
    ],
    "properties": {
        "vnb-MPID": {
            "type": "string",
            "description": "BDEW Code (Marktpartner-ID) des Anschlussnetzbetreibers (erforderlich in TransnetBW Regelzone und Amprion Regelzone)"
        },
        "MastrNummer": {
            "type": "string",
            "description": "MaStR-Nummer des abrechnenden Unternehmens im Marktstammdatenregister (erforderlich in TransnetBW Regelzone)",
            "minLength": 1
        },
        "Jahr": {
            "type": "integer",
            "description": "Abzurechnendes Kalenderjahr"
        },
        "Monat": {
            "type": "integer",
            "description": "Abzurechnender Kalendermonat"
        },
        "Erstellungszeitpunkt": {
            "type": "string",
            "description": "in TransnetBW-RZ obligatorisch; Erstellungszeitpunkt des Abrechnungsdatensatzes im 'universal sortable format' (z.B. 2021-01-25 03:45:00Z) (siehe auch https://docs.microsoft.com/en-us/dotnet/standard/base-types/standard-date-and-time-format-strings#UniversalSortable)",
            "minLength": 1
        },
        "Unternehmen": {
            "type": "string",
            "description": "Abrechnendes Unternehmen"
        },
        "Strasse": {
            "type": "string",
            "description": "Anschrift des abrechnenden Unternehmens"
        },
        "Hausnummer": {
            "type": "string",
            "description": "Anschrift des abrechnenden Unternehmens"
        },
        "PLZ": {
            "type": "string",
            "description": "Anschrift des abrechnenden Unternehmens"
        },
        "Ort": {
            "type": "string",
            "description": "Anschrift des abrechnenden Unternehmens"
        },
        "Land": {
            "type": "string",
            "description": "Anschrift des abrechnenden Unternehmens"
        },
        "Bearbeiter": {
            "type": "string",
            "description": "Bearbeiter fuer Rueckfragen"
        },
        "EmailAdresse": {
            "type": "string",
            "description": "E-Mail-Adresse des Bearbeiters"
        },
        "Telefonnummer": {
            "type": "string",
            "description": "Telefonnummer des Bearbeiters"
        },
        "Kundenreferenz": {
            "type": "string",
            "description": "Interne Referenz der Meldung, zur freien Verwendung durch den Kunden",
            "maxLength": 100
        },
        "Schemaversionsnummer": {
            "type": "string",
            "enum": [
                "1.2"
            ],
            "description": "Versionsnummer des JSON Schema",
            "minLength": 1
        },
        "Anforderungen": {
            "description": "Obligatorisch in Amprion-RZ und TransnetBW-RZ; Liste der Cluster Ressourcen vom BDEW auf Abrufebene, um den Abgleich mit RAS durchführen zu können",
            "type": "array",
            "items": {
                "$ref": "#/definitions/AnforderungenEntry"
            },
            "minItems": 1
        },
        "TechnischeRessourcen": {
            "description": "Meldungsdaten je Technische Ressource (Stammdaten und Zeitreihen)",
            "type": "array",
            "items": {
                "$ref": "#/definitions/TechnischeRessource"
            }
        }
    },
    "definitions": {
        "AnforderungenEntry": {
            "description": "Cluster Ressource vom BDEW auf Abrufebene, um den Abgleich mit RAS durchführen zu können",
            "type": "object",
            "required": [
                "Aktivierungsobjekt",
                "Abrufe"
            ],
            "properties": {
                "Aktivierungsobjekt": {
                    "type": "string",
                    "description": "In Amprion Regelzone als Property an dieser Stelle erforderlich; Bezeichnung der Steuerbaren Ressource, bzw. Cluster-/UW-Zuordnung, wenn Abrufebene nicht benötigt",
                    "maxLength": 200
                },
                "Abrufe": {
                    "type": "array",
                    "items": {
                        "type": "object",
                        "required": [
                            "zp",
						],
						"anyOf": [
        		    {
							"required": [
								"delta-p"
						]
        		    },
        		    {
							"required": [
								"sollwert"
							]
					}
                        ],
                        "properties": {
                            "zp": {
                                "type": "string",
                                "description": "Anforderungszeitpunkt durch den Anforderer der Maßnahme, auf Viertelstundenbasis VON-Zeitpunkt",
                                "minLength": 1
                            },
                            "delta-p": {
                                "type": "number",
                                "description": "Anforderungsmenge pro Zeitpunkt in kW"
                            },
							"sollwert": {
                                "type": "number",
                                "description": "Anforderungsmenge pro Zeitpunkt in kW"
                            }
                        }
                    }
                }
            }
        },
        "TechnischeRessource": {
            "description": "Redispatch Meldungsdaten einer Technischen Ressource (Stammdaten und Zeitreihen)",
            "type": "object",
            "anyOf": [
                {
                    "required": [
                        "tr_id"
                    ]
                },
                {
                    "required": [
                        "MastrNummer"
                    ]
                }
            ],
            "required": [
                "Zeitreihe"
            ],
            "properties": {
                "tr_id": {
                    "type": "string",
                    "description": "ID der Technischen Ressource vom BDEW (erforderlich in TransnetBW Regelzone und Amprion Regelzone)",
                    "maxLength": 11
                },
                "MastrNummer": {
                    "type": "string",
                    "description": "MaStR-Nummer der Einheit im Marktstammdatenregister (SEE-Nummer), (erforderlich in TransnetBW Regelzone)",
                    "minLength": 1,
                    "maxLength": 15
                },
                "MaLo-ID": {
                    "type": "string",
                    "description": "Marktlokationsnummer der technischen Ressource",
                    "maxLength": 200
                },
				"TRName": {
                    "type": "string",
                    "description": "Name der Technischen Ressource beim abrechnenden Unternehmen",
                    "maxLength": 200
                },
                "Aktivierungsobjekt": {
                    "type": "string",
                    "description": "Bezeichnung der Steuerbaren Ressource, bzw. Cluster-/UW-Zuordnung",
                    "maxLength": 200
                },
                "Lieferrichtung": {
                    "type": "string",
                    "enum": [
                        "Reduzierung",
                        "Erhoehung"
                    ],
                    "minLength": 1
                },
                "Bilanzierungsmodell": {
                    "type": "string",
                    "enum": [
                        "Planwertmodell",
                        "Prognosemodell",
						"Prognose mit Planungsdatenlieferung"
                    ],
                    "minLength": 1
                },
				"Vermarktungsform": {
                    "type": "string",
                    "enum": [
                        "EEG Einspeisevergütung",
                        "Marktprämie",
						"sonstige Direktvermarktung",
						"KWKG Zuschlagszahlungen"
                    ],
                    "minLength": 1
                },
                "Kundenreferenz": {
                    "type": "string",
                    "description": "Interne Referenz der Technischen Ressource, zur freien Verwendung durch den Kunden",
                    "maxLength": 100
                },
                "Zeitreihe": {
                    "description": "Zeitreihendaten",
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/ZeitreiheEntry"
                    }
                }
            }
        },
        "ZeitreiheEntry": {
            "description": "Zeitreiheneintrag",
            "type": "object",
            "required": [
                "aa",
                "anfnb",
				"zp"
            ],
            "properties": {
                "zp": {
                    "type": "string",
                    "description": "Anforderungszeitpunkt (Soll-Zeitpunkt für die Maßnahme, bzw. angeforderter Zeitraum) des Beginns des Zeitreiheneintrags als UTC im 'universal sortable format' (z.B. 2021-01-25 03:45:00Z) (siehe auch https://docs.microsoft.com/en-us/dotnet/standard/base-types/standard-date-and-time-format-strings#UniversalSortable)",
                    "minLength": 1
                },
                "rzp": {
                    "type": "string",
                    "description": "Obligatorisch in Amprion-RZ; Regelungszeitpunkt (Ist-Zeitpunkt) Zeitpunkt der Maßnahme durch den Durchführer der Maßnahme, Angabe nach gleicher Konvention wie 'zp'",
                    "minLength": 1
                },
                "aa": {
                    "type": "number",
                    "description": "Ausfallarbeit in kWh (ohne Nachkommastellen)"
                },
                "fpa": {
                    "type": [
                        "number",
                        "null"
                    ],
                    "description": "Fahrplananteile in kWh (ohne Nachkommastellen); Noetig bei TR mit Planwertmodell"
                },
				"ak": {
                    "type": [
                        "number",
                        "null"
                    ],
                    "description": "Arbeitsabhängige Kosten (inkl. An-und Abfahrtskosten) in Euro"	
                },
                "sk": {
                    "type": [
                        "number",
                        "null"
                    ],
                    "description": "Sonstige nicht-arbeitsabhaengige Kosten in Euro "
                },
                "wv": {
                    "type": [
                        "number",
                        "null"
                    ],
                    "description": "Wertverbrauch der Anlage in Euro"
                },
                "eem": {
                    "type": "number",
                    "description": "Entgangenen Erloesmoeglichkeiten in Euro (bis zu drei Nachkommastellen)"
                },
                "abb": {
                    "type": [
                        "number",
                        "null"
                    ],
                    "description": "Auslagen für die Herstellung der Betriebsbereitschaft oder die Verschiebung einer geplanten Revision in Euro"
                },
                "e": {
                    "type": [
                        "number",
                        "null"
                    ],
                    "description": "Entgangene Vergütung nach EEG oder KWKG in Euro (enthält Marktprämie, Einspeisevergütung sowie KWK-Zuschlag), vgl. Festlegung BK8-22-001-A, Anlage 1, Kap. 2.5.1"
                },
                "io": {
                    "type": [
                        "number",
                        "null"
                    ],
                    "description": "Intraday Optionalitäten in Euro, vgl. Festlegung BK8-22-001-A, Anlage 1, Kap. 2.5.1.1"
                },				
                "hkn": {
                    "type": [
                        "number",
                        "null"
                    ],
                    "description": "Herkunftsnachweise in Euro, vgl. Festlegung BK8-22-001-A, Anlage 1, Kap. 2.5.1.2"
                },					
                "vhk": {
                    "type": [
                        "number",
                        "null"
                    ],
                    "description": "Verlust des Hocheffizienzkriteriums in Euro, vgl. Festlegung BK8-22-001-A, Anlage 1, Kap. 2.5.1.3"
                },				
                "bl": {
                    "type": [
                        "number",
                        "null"
                    ],
                    "description": "Bemessungsleistung in Euro, vgl. Festlegung BK8-22-001-A, Anlage 1, Kap. 2.5.1.4"
                },				
                "we": {
                    "type": [
                        "number",
                        "null"
                    ],
                    "description": "Wärmeerlöse in Euro, vgl. Festlegung BK8-22-001-A, Anlage 1, Kap. 2.5.1.5"
                },				
                "vnne": {
                    "type": [
                        "number",
                        "null"
                    ],
                    "description": "Vermiedene Netznutzungsentgelte in Euro, vgl. Festlegung BK8-22-001-A, Anlage 1, Kap. 2.5.1.6"
                },				
                "za": {
                    "type": [
                        "number",
                        "null"
                    ],
                    "description": "Zusätzliche Aufwendungen in Euro, vgl. Festlegung BK8-22-001-A, Anlage 1, Kap. 2.5.2"
                },
                "ea": {
                    "type": [
                        "number",
                        "null"
                    ],
                    "description": "Ersparte Aufwendungen in Euro, vgl. Festlegung BK8-22-001-A, Anlage 1, Kap. 2.6"
                },
                "bila": {
                    "type": [
                        "number",
                        "null"
                    ],
                    "description": "Kosten des bilanziellen Ausgleichs durch den EIV in Euro, vgl. Mitteilung Nr. 11 zum Redispatch 2.0 der BK6  (Bundesnetzagentur - Beschlusskammer 6)"
                },				
                "vd": {
                    "type": [
                        "number",
                        "null"
                    ],
                    "description": "Verrechnungsdifferenzen mit ID-AEP (Abweichung zwischen dem bilanziellen Ausgleich und der Ausfallarbeit) in Euro, vgl. Festlegung BK6-20-059,  Anlage 1,  Kap 2.1.3 "
                },
                "ref": {
                    "type": [
                        "string",
                        "null"
                    ],
                    "description": "Interne Referenz eines Zeitreiheneintrages, zur freien Verwendung durch den Kunden",
                    "maxLength": 100
                },
                "anfnb": {
                    "description": "Liste der anfordernden Netzbetreiber",
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/AnfordernderNetzbetreiberEntry"
                    }
                }
            }
        },
        "AnfordernderNetzbetreiberEntry": {
            "description": "Information zu einem anfordernden Netzbetreiber einer Absenkung",
            "type": "object",
            "anyOf": [
                {
                    "required": [
                        "nb"
                    ]
                },
                {
                    "required": [
                        "MastrNummer"
                    ]
                }
            ],
            "required": [
                "kts"
            ],
            "properties": {
                "nb": {
                    "type": "string",
                    "description": "Marktpartner-ID (BDEW-Code) des Netzbetreibers"
                },
                "MastrNummer": {
                    "type": "string",
                    "description": "MaStR-Nummer des anfordernden Netzbetreibers im Marktstammdatenregister (SNB-Nummer)",
                    "minLength": 1
                },
                "kts": {
                    "type": "number",
                    "description": "Kostenteilungsschluessel finanzieller Ausgleich in %, Wertebereich 0..100; Muss summiert ueber alle Netzbetreiber zu einem Zeitpunkt pro Aktivierungsobjekt 100% ergeben"
                }
            }
        }
    }
}