{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://schema.fitko.de/fit-connect/process-definition/vereinsfest/schemas/MessageFlow2_Nachforderung_Nachreichung_angefordert.schema.json",
  "title": "Nachforderung / Nachreichung angefordert",
  "description": "Payload für MessageFlow #2: Die zuständige Behörde fordert fehlende Angaben oder Unterlagen zur Anzeige eines vorübergehenden Gaststättenbetriebs nach (z.B. Vereinsfest).",
  "type": "object",
  "additionalProperties": false,
  "$defs": {
    "Id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 128,
      "description": "Eindeutige Kennung (System-/Vorgangs-ID)."
    },
    "Timestamp": {
      "type": "string",
      "format": "date-time",
      "description": "Zeitpunkt im ISO-8601-Format (UTC oder mit Zeitzonenoffset)."
    },
    "Deadline": {
      "description": "Frist im ISO-8601-Format (Datum oder Datum+Zeit).",
      "anyOf": [
        {
          "type": "string",
          "format": "date"
        },
        {
          "type": "string",
          "format": "date-time"
        }
      ]
    },
    "Kontakt": {
      "type": "object",
      "title": "Kontakt (optional)",
      "description": "Kontaktmöglichkeit für Rückfragen zur Nachforderung.",
      "additionalProperties": false,
      "properties": {
        "name": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200,
          "description": "Ansprechperson oder Funktionspostfach (Name)."
        },
        "organisation": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200,
          "description": "Behörde/Organisationseinheit."
        },
        "email": {
          "type": "string",
          "format": "email",
          "description": "E-Mail-Adresse für Rückfragen."
        },
        "telefon": {
          "type": "string",
          "minLength": 3,
          "maxLength": 30,
          "description": "Telefonnummer für Rückfragen."
        },
        "fax": {
          "type": "string",
          "minLength": 3,
          "maxLength": 30,
          "description": "Faxnummer (falls noch genutzt)."
        }
      }
    },
    "NachforderungEintrag": {
      "type": "object",
      "title": "Nachforderung",
      "description": "Ein einzelner nachgeforderter Punkt (fehlendes Feld, fehlender Nachweis oder Klarstellung).",
      "additionalProperties": false,
      "properties": {
        "nachforderungPunktId": {
          "$ref": "#/$defs/Id",
          "description": "Optionale ID für diesen einzelnen Nachforderungspunkt (hilfreich bei mehreren Punkten)."
        },
        "typ": {
          "type": "string",
          "description": "Kategorie des nachgeforderten Inhalts.",
          "enum": [
            "feld",
            "nachweis",
            "anlage",
            "klarstellung",
            "sonstiges"
          ]
        },
        "bezug": {
          "type": "string",
          "minLength": 1,
          "maxLength": 500,
          "description": "Bezug, worauf sich die Nachforderung bezieht (z.B. JSON-Pfad/Key, Dokumenttyp, oder fachlicher Verweis).",
          "examples": [
            "G05004784V1.1/F05004204V1.0",
            "Nachweis: Auskunft aus dem Gewerbezentralregister",
            "/G05004783V2.1/G05005019V1.1/G05000987V3.5/F60000242V1.1"
          ]
        },
        "beschreibung": {
          "type": "string",
          "minLength": 1,
          "maxLength": 4000,
          "description": "Freitext, was genau nachzureichen/korrigieren ist."
        },
        "hinweis": {
          "type": "string",
          "maxLength": 4000,
          "description": "Optionaler zusätzlicher Hinweis (z.B. akzeptierte Formate, Auflösung, etc.)."
        },
        "erforderlich": {
          "type": "boolean",
          "default": true,
          "description": "Kennzeichnet, ob der Punkt zwingend erforderlich ist (oder nur als Hinweis)."
        }
      },
      "required": [
        "bezug",
        "beschreibung"
      ]
    }
  },
  "properties": {
    "vorgangsId": {
      "$ref": "#/$defs/Id",
      "description": "ID/Aktenzeichen zur eindeutigen Zuordnung des Vorgangs (Anzeige)."
    },
    "nachforderungId": {
      "$ref": "#/$defs/Id",
      "description": "Eindeutige ID der Nachforderung (wird bei Nachreichung zur Referenzierung verwendet)."
    },
    "erstelltAm": {
      "$ref": "#/$defs/Timestamp",
      "description": "Zeitpunkt der Erstellung/Absendung der Nachforderung."
    },
    "fristBis": {
      "$ref": "#/$defs/Deadline",
      "description": "Optionale Frist, bis wann die Nachreichung erfolgen soll."
    },
    "nachforderungen": {
      "type": "array",
      "minItems": 1,
      "items": {
        "$ref": "#/$defs/NachforderungEintrag"
      },
      "description": "Liste der nachgeforderten Punkte."
    },
    "hinweise": {
      "type": "string",
      "maxLength": 8000,
      "description": "Optionale allgemeine Hinweise (z.B. Upload-Hinweise, Bearbeitungsstand, Datenschutz)."
    },
    "kontakt": {
      "$ref": "#/$defs/Kontakt"
    },
    "bezugAnzeigeSchema": {
      "type": "object",
      "title": "Bezug zum Anzeige-Schema (optional)",
      "description": "Optionaler Hinweis, auf welches Fachdatenschema (z.B. Anzeige) sich die Nachforderung bezieht.",
      "additionalProperties": false,
      "properties": {
        "schemaId": {
          "type": "string",
          "minLength": 1,
          "maxLength": 500,
          "description": "Schema-$id oder andere Kennung."
        },
        "schemaVersion": {
          "type": "string",
          "minLength": 1,
          "maxLength": 100,
          "description": "Version des Fachdatenschemas."
        }
      }
    }
  },
  "required": [
    "vorgangsId",
    "nachforderungId",
    "erstelltAm",
    "nachforderungen"
  ],
  "examples": [
    {
      "vorgangsId": "VF-2026-000123",
      "nachforderungId": "NF-2026-000045",
      "erstelltAm": "2026-02-16T10:15:00+01:00",
      "fristBis": "2026-02-25",
      "nachforderungen": [
        {
          "typ": "nachweis",
          "bezug": "Nachweis: Auskunft aus dem Gewerbezentralregister",
          "beschreibung": "Bitte reichen Sie die Auskunft aus dem Gewerbezentralregister (nicht älter als 3 Monate) nach."
        },
        {
          "typ": "feld",
          "bezug": "/G05004783V2.1/G05005019V1.1/G05000987V3.5/F60000242V1.1",
          "beschreibung": "Bitte ergänzen Sie die E-Mail-Adresse für Rückfragen."
        }
      ],
      "kontakt": {
        "organisation": "Ordnungsamt Musterstadt",
        "email": "ordnungsamt@musterstadt.de",
        "telefon": "+49 30 1234567"
      },
      "hinweise": "Unterlagen bitte als PDF hochladen. Pro Datei max. 10 MB.",
      "bezugAnzeigeSchema": {
        "schemaId": "https://schema.fitko.de/fit-connect/process-definition/vereinsfest/schemas/MessageFlow1_S05000581V1.1_2025-11-25-1764059338437.schema.json",
        "schemaVersion": "S05000581V1.1"
      }
    }
  ]
}