
{
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "title": "RedispatchMeldung - Abrufinformationen",
    "description": "Abrufinformationen für den anfordernden Netzbetreiber und Anschlussnetztbetreiber, bereitgestellt durch den clusternden Netzbetreiber",
    "type": "object",
    "anyOf": [
        {
            "required": [
                "vnb-MPID"
            ]
        },
        {
            "required": [
                "MastrNummer"
            ]
        }
    ],
    "required": [
        "Jahr",
        "Monat",
        "Erstellungszeitpunkt",
        "Abrufe",
        "Schemaversionsnummer"
    ],
    "properties": {
        "vnb-MPID": {
            "type": "string",
            "description": "BDEW-Code (Markpartner-ID) des clusternden Netzbetreibers, bzw. des Netzbetreibers, welcher die Anforderung an unterlagerte NB weitergegeben hat (erforderlich in TransnetBW Regelzone und Amprion Regelzone)"
        },
        "MastrNummer": {
            "type": "string",
            "description": "MaStR-Nummer des clusternden Netzbetreibers, bzw. des Netzbetreibers, welcher die Anfordeurng an unterlagerte NB weitergegeben hat",
            "minLength": 1
        },
        "Jahr": {
            "type": "integer",
            "description": "Abzurechnendes Kalenderjahr"
        },
        "Monat": {
            "type": "integer",
            "description": "Abzurechnender Kalendermonat"
        },
        "Kundenreferenz": {
            "type": "string",
            "description": "Interne Referenz der Meldung, zur freien Verwendung durch den Kunden",
            "maxLength": 100
        },
        "Erstellungszeitpunkt": {
            "type": "string",
            "description": "Erstellungszeitpunkt der Abrufinformation 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
        },
        "Schemaversionsnummer": {
            "type": "string",
            "enum": [
                "1.2"
            ],
            "description": "Versionsnummer des JSON Schema",
            "minLength": 1
        },
        "Abrufe": {
            "type": "array",
            "description": "Liste von Anforderungszeitpunkten von Haupt-Aktivierungsobjekten inkl. der Detailinformationen zum Abruf",
            "items": {
                "$ref": "#/definitions/Abruf"
            }
        }
    },
    "definitions": {
        "Abruf": {
            "type": "object",
            "description": "Informationen zum Abruf eines Haupt-Aktivierungsobjektes zu einem bestimmten Anforderungszeitpunkt",
            "required": [
                "Abruf-Positionen",
                "zp",
                "Haupt-Aktivierungsobjekt"
            ],
            "properties": {
                "Haupt-Aktivierungsobjekt": {
                    "type": "string",
                    "description": "Stammdaten-ID des Haupt-Aktivierungsobjekts (das vom ANB an den unterlagteren NB weitergegen wird)"
                },
                "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
                },
                "Abruf-Positionen": {
                    "description": "Liste von Aktivierungsobjekten mit Detail-Informationen zum Abruf",
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/Abruf-Position"
                    }
                }
            }
        },
        "Abruf-Position": {
            "type": "object",
            "description": "Detail-Informationen zum Abruf auf Ebene eines Aktivierungsobjektes",
            "anyOf": [
                {
                    "required": [
                        "anb-MPID",
                        "anfnb-MPID"
                    ]
                },
                {
                    "required": [
                        "anb-MastrNummer",
                        "anfnb-MastrNummer"
                    ]
                }
            ],
            "required": [
                "Abrufart",
                "Aktivierungsobjekt",
                "Bedarf"
            ],
            "properties": {
                "Aktivierungsobjekt": {
                    "type": "string",
                    "description": "Stammdaten-ID des Aktivierungsobjekts innerhalb des Haupt-Aktivierungsobjekts"
                },
                "anb-MPID": {
                    "type": "string",
                    "description": "BDEW-Code des unterlagerten Netzbetreibers des Aktivierungsobjekts innerhalb des Haupt-Aktivierungsobjekts (erforderlich in TransnetBW Regelzone und Amprion Regelzone)"
                },
                "anb-MastrNummer": {
                    "type": "string",
                    "description": "MaStR-Nummer des unterlagerten Netzbetreibers des Aktivierungsobjekts innerhalb des Haupt-Aktivierungsobjekts",
                    "minLength": 1
                },
                "anfnb-MPID": {
                    "type": "string",
                    "description": "BDEW-Code des anfordernden Netzbetreibers (erforderlich in TransnetBW Regelzone und Amprion Regelzone)"
                },
                "anfnb-MastrNummer": {
                    "type": "string",
                    "description": "MaStR-Nummer des anfordernden Netzbetreibers im Marktstammdatenregister (SNB-Nummer)",
                    "minLength": 1
                },
                "Bedarf": {
                    "type": "number",
                    "description": "Weitergegebene Bedarfsmenge des anfordernden Netzbetreibers in MW"
                },
                "Abrufart": {
                    "type": "string",
                    "description": "Deltawert oder Sollwert",
                    "enum": [
                        "Delta",
                        "Sollwert"
                    ]
                }
            }
        }
    }
}