# ============================================================================
# Foerderantrag Wizard Schema v1.0
# ============================================================================
# 8-Schritt-Wizard fuer Schulfoerderantraege
# Erstellt: 2026-01-29
# ============================================================================

metadata:
  version: "1.0.0"
  name: "Foerderantrag-Wizard"
  description: "Wizard fuer Schulfoerderantraege (DigitalPakt, Landesfoerderungen)"
  total_steps: 8
  language: "de"

# ============================================================================
# Wizard Steps
# ============================================================================

steps:
  # --------------------------------------------------------------------------
  # Step 1: Foerderprogramm & Grunddaten
  # --------------------------------------------------------------------------
  - number: 1
    id: "foerderprogramm"
    title: "Foerderprogramm"
    subtitle: "Waehlen Sie das passende Foerderprogramm"
    description: "Waehlen Sie das Foerderprogramm, Ihr Bundesland und geben Sie einen Projekttitel ein."
    icon: "document-text"
    is_required: true

    fields:
      - id: "funding_program"
        type: "select"
        label: "Foerderprogramm"
        required: true
        options:
          - value: "DIGITALPAKT_2"
            label: "DigitalPakt 2.0"
            description: "Foerderung digitaler Bildungsinfrastruktur"
          - value: "DIGITALPAKT_1"
            label: "DigitalPakt 1.0 (Restmittel)"
            description: "Restmittel aus DigitalPakt 1.0"
          - value: "LANDESFOERDERUNG"
            label: "Landesfoerderung"
            description: "Landesspezifische Foerderprogramme"
          - value: "SCHULTRAEGER"
            label: "Schultraegerfoerderung"
            description: "Foerderung durch Schultraeger"

      - id: "federal_state"
        type: "select"
        label: "Bundesland"
        required: true
        options:
          - value: "NI"
            label: "Niedersachsen"
          - value: "NRW"
            label: "Nordrhein-Westfalen"
          - value: "BAY"
            label: "Bayern"
          - value: "BW"
            label: "Baden-Wuerttemberg"
          - value: "HE"
            label: "Hessen"
          - value: "SN"
            label: "Sachsen"
          - value: "TH"
            label: "Thueringen"
          - value: "SA"
            label: "Sachsen-Anhalt"
          - value: "BB"
            label: "Brandenburg"
          - value: "MV"
            label: "Mecklenburg-Vorpommern"
          - value: "SH"
            label: "Schleswig-Holstein"
          - value: "HH"
            label: "Hamburg"
          - value: "HB"
            label: "Bremen"
          - value: "BE"
            label: "Berlin"
          - value: "SL"
            label: "Saarland"
          - value: "RP"
            label: "Rheinland-Pfalz"

      - id: "project_title"
        type: "text"
        label: "Projekttitel"
        placeholder: "z.B. Digitale Lernumgebung fuer differenzierten Unterricht"
        required: true
        max_length: 200
        help_text: "Ein aussagekraeftiger Titel fuer Ihr Projekt"

      - id: "use_preset"
        type: "checkbox"
        label: "BreakPilot-Preset verwenden"
        default: false
        help_text: "Vorausgefuellte Daten fuer BreakPilot KI-Arbeitsstation"

      - id: "preset_id"
        type: "select"
        label: "Preset waehlen"
        conditional: "use_preset === true"
        options:
          - value: "breakpilot_basic"
            label: "BreakPilot Basis"
            description: "Lokale KI-Arbeitsstation fuer eine Schule"
          - value: "breakpilot_cluster"
            label: "BreakPilot Schulverbund"
            description: "Zentrale KI-Infrastruktur fuer mehrere Schulen"

    assistant_context: |
      Erklaere die Unterschiede zwischen DigitalPakt 1.0 und 2.0.
      DigitalPakt 2.0 hat hoehere Foerdersummen und erweiterte Foerderbereiche.
      Hilf bei der Wahl des richtigen Programms basierend auf dem Vorhaben.

  # --------------------------------------------------------------------------
  # Step 2: Schulinformationen
  # --------------------------------------------------------------------------
  - number: 2
    id: "schulinformationen"
    title: "Schulinformationen"
    subtitle: "Angaben zur Schule und zum Schultraeger"
    description: "Geben Sie die Daten Ihrer Schule und des Schultraegers ein. Diese koennen automatisch aus der Schulsuche uebernommen werden."
    icon: "academic-cap"
    is_required: true

    fields:
      - id: "school_search"
        type: "autocomplete"
        label: "Schule suchen"
        placeholder: "Schulname oder Schulnummer eingeben..."
        endpoint: "/sdk/v1/funding/schools/search"
        help_text: "Tippen Sie den Namen oder die Schulnummer ein, um Ihre Schule zu finden"

      - id: "school_name"
        type: "text"
        label: "Schulname"
        required: true
        max_length: 200

      - id: "school_number"
        type: "text"
        label: "Schulnummer"
        required: true
        pattern: "^[0-9]{5,8}$"
        help_text: "Die offizielle Schulnummer Ihres Bundeslandes"

      - id: "school_type"
        type: "select"
        label: "Schulform"
        required: true
        options:
          - value: "GRUNDSCHULE"
            label: "Grundschule"
          - value: "HAUPTSCHULE"
            label: "Hauptschule"
          - value: "REALSCHULE"
            label: "Realschule"
          - value: "GYMNASIUM"
            label: "Gymnasium"
          - value: "GESAMTSCHULE"
            label: "Gesamtschule"
          - value: "OBERSCHULE"
            label: "Oberschule"
          - value: "FOERDERSCHULE"
            label: "Foerderschule"
          - value: "BERUFSSCHULE"
            label: "Berufsbildende Schule"
          - value: "SONSTIGE"
            label: "Sonstige"

      - id: "school_address"
        type: "address"
        label: "Schuladresse"
        required: true

      - id: "contact_salutation"
        type: "select"
        label: "Anrede"
        options:
          - value: "Herr"
            label: "Herr"
          - value: "Frau"
            label: "Frau"

      - id: "contact_first_name"
        type: "text"
        label: "Vorname"
        required: true

      - id: "contact_last_name"
        type: "text"
        label: "Nachname"
        required: true

      - id: "contact_position"
        type: "text"
        label: "Position"
        placeholder: "z.B. Schulleitung, IT-Beauftragter"

      - id: "contact_email"
        type: "email"
        label: "E-Mail"
        required: true

      - id: "contact_phone"
        type: "tel"
        label: "Telefon"

      - id: "student_count"
        type: "number"
        label: "Anzahl Schueler/innen"
        min: 1
        required: true

      - id: "teacher_count"
        type: "number"
        label: "Anzahl Lehrkraefte"
        min: 1
        required: true

      - id: "class_count"
        type: "number"
        label: "Anzahl Klassen"
        min: 1

      - id: "carrier_type"
        type: "select"
        label: "Schultraeger-Typ"
        required: true
        options:
          - value: "PUBLIC"
            label: "Oeffentlich (Kommune/Land)"
          - value: "PRIVATE"
            label: "Privat"
          - value: "CHURCH"
            label: "Kirchlich"
          - value: "NON_PROFIT"
            label: "Gemeinnuetzig"

      - id: "carrier_name"
        type: "text"
        label: "Name des Schultraegers"
        required: true
        placeholder: "z.B. Stadt Hannover, Landkreis Goettingen"

    assistant_context: |
      Erklaere was eine Schulnummer ist und warum der Schultraeger wichtig ist.
      Die Schulnummer ist eine eindeutige Kennung, die vom Kultusministerium vergeben wird.
      Der Schultraeger ist fuer die finale Antragstellung und Unterschrift verantwortlich.

  # --------------------------------------------------------------------------
  # Step 3: IT-Bestandsaufnahme
  # --------------------------------------------------------------------------
  - number: 3
    id: "bestandsaufnahme"
    title: "IT-Bestandsaufnahme"
    subtitle: "Aktuelle IT-Infrastruktur der Schule"
    description: "Dokumentieren Sie den aktuellen Stand Ihrer IT-Infrastruktur. Dies hilft bei der Begruendung des Foerderbedarfs."
    icon: "server"
    is_required: true

    fields:
      - id: "has_wlan"
        type: "checkbox"
        label: "WLAN vorhanden"
        default: false

      - id: "wlan_coverage"
        type: "slider"
        label: "WLAN-Abdeckung"
        min: 0
        max: 100
        step: 10
        unit: "%"
        conditional: "has_wlan === true"
        help_text: "Prozentuale Abdeckung der Raeume mit WLAN"

      - id: "has_structured_cabling"
        type: "checkbox"
        label: "Strukturierte Verkabelung vorhanden"
        default: false

      - id: "internet_bandwidth"
        type: "select"
        label: "Internet-Bandbreite"
        options:
          - value: "< 16 Mbit/s"
            label: "Unter 16 Mbit/s"
          - value: "16-50 Mbit/s"
            label: "16-50 Mbit/s"
          - value: "50-100 Mbit/s"
            label: "50-100 Mbit/s"
          - value: "100-250 Mbit/s"
            label: "100-250 Mbit/s"
          - value: "250-1000 Mbit/s"
            label: "250 Mbit/s - 1 Gbit/s"
          - value: "> 1 Gbit/s"
            label: "Ueber 1 Gbit/s"

      - id: "device_count"
        type: "number"
        label: "Vorhandene Endgeraete"
        min: 0
        help_text: "Aktuelle Anzahl digitaler Endgeraete (Tablets, Laptops, PCs)"

      - id: "has_server_room"
        type: "checkbox"
        label: "Serverraum vorhanden"
        default: false

      - id: "infrastructure_notes"
        type: "textarea"
        label: "Anmerkungen zur Infrastruktur"
        placeholder: "Besondere Gegebenheiten, Sanierungsbedarfe..."
        max_length: 1000

    assistant_context: |
      Hilf bei der Einschaetzung der aktuellen IT-Infrastruktur.
      Erklaere was strukturierte Verkabelung bedeutet (Cat5e, Cat6, Cat6a).
      Gib Hinweise zu typischen Anforderungen fuer Schulnetze.

  # --------------------------------------------------------------------------
  # Step 4: Projektbeschreibung
  # --------------------------------------------------------------------------
  - number: 4
    id: "projektbeschreibung"
    title: "Projektbeschreibung"
    subtitle: "Ziele, Didaktik und Bezug zum MEP"
    description: "Beschreiben Sie Ihr Projekt, die paedagogischen Ziele und den Bezug zum Medienentwicklungsplan."
    icon: "document-report"
    is_required: true

    fields:
      - id: "project_summary"
        type: "textarea"
        label: "Kurzbeschreibung"
        placeholder: "Beschreiben Sie Ihr Projekt in 2-3 Saetzen..."
        required: true
        max_length: 500
        help_text: "Diese Zusammenfassung erscheint im Antragsschreiben"

      - id: "project_goals"
        type: "textarea"
        label: "Projektziele"
        placeholder: "Welche konkreten Ziele verfolgen Sie mit diesem Projekt?"
        required: true
        max_length: 2000
        help_text: "Beschreiben Sie 3-5 messbare Ziele"

      - id: "didactic_concept"
        type: "textarea"
        label: "Paedagogisches Konzept"
        placeholder: "Wie wird die Technik im Unterricht eingesetzt?"
        required: true
        max_length: 3000
        help_text: "Beschreiben Sie den paedagogischen Mehrwert"

      - id: "mep_reference"
        type: "textarea"
        label: "Bezug zum Medienentwicklungsplan"
        placeholder: "Wie fuegt sich das Projekt in den MEP ein?"
        max_length: 1000
        help_text: "Referenzieren Sie relevante Abschnitte Ihres MEP"

      - id: "target_groups"
        type: "multi_select"
        label: "Zielgruppen"
        required: true
        options:
          - value: "schueler"
            label: "Schueler/innen"
          - value: "lehrer"
            label: "Lehrkraefte"
          - value: "verwaltung"
            label: "Schulverwaltung"
          - value: "eltern"
            label: "Eltern"

      - id: "subjects_affected"
        type: "multi_select"
        label: "Betroffene Faecher"
        options:
          - value: "alle"
            label: "Faecheruebergreifend"
          - value: "mint"
            label: "MINT-Faecher"
          - value: "sprachen"
            label: "Sprachen"
          - value: "gesellschaft"
            label: "Gesellschaftswissenschaften"
          - value: "kunst"
            label: "Kunst/Musik"
          - value: "sport"
            label: "Sport"

    assistant_context: |
      Hilf bei der Formulierung von paedagogischen Zielen.
      Gib Beispiele fuer gute Projektbeschreibungen.
      Erklaere was ein Medienentwicklungsplan (MEP) ist und warum er wichtig ist.

  # --------------------------------------------------------------------------
  # Step 5: Investitionen
  # --------------------------------------------------------------------------
  - number: 5
    id: "investitionen"
    title: "Investitionen"
    subtitle: "Geplante Anschaffungen und Kategorien"
    description: "Listen Sie alle geplanten Investitionen auf. Der Wizard berechnet automatisch die Summen."
    icon: "currency-euro"
    is_required: true

    fields:
      - id: "budget_items"
        type: "budget_table"
        label: "Kostenaufstellung"
        required: true
        categories:
          - id: "NETWORK"
            label: "Netzwerk/Verkabelung"
            icon: "globe-alt"
            color: "#3b82f6"
          - id: "WLAN"
            label: "WLAN-Infrastruktur"
            icon: "wifi"
            color: "#8b5cf6"
          - id: "DEVICES"
            label: "Endgeraete"
            icon: "device-tablet"
            color: "#10b981"
          - id: "PRESENTATION"
            label: "Praesentationstechnik"
            icon: "presentation-chart-bar"
            color: "#f59e0b"
          - id: "SOFTWARE"
            label: "Software-Lizenzen"
            icon: "code"
            color: "#ec4899"
          - id: "SERVER"
            label: "Server/Rechenzentrum"
            icon: "server"
            color: "#6366f1"
          - id: "SERVICES"
            label: "Dienstleistungen"
            icon: "briefcase"
            color: "#14b8a6"
          - id: "TRAINING"
            label: "Schulungen"
            icon: "academic-cap"
            color: "#f97316"
          - id: "SONSTIGE"
            label: "Sonstige"
            icon: "dots-horizontal"
            color: "#64748b"

        columns:
          - id: "description"
            label: "Beschreibung"
            type: "text"
            width: 30
          - id: "manufacturer"
            label: "Hersteller"
            type: "text"
            width: 15
          - id: "quantity"
            label: "Anzahl"
            type: "number"
            width: 10
          - id: "unit_price"
            label: "Einzelpreis"
            type: "currency"
            width: 15
          - id: "total_price"
            label: "Gesamt"
            type: "currency"
            width: 15
            calculated: true
          - id: "is_fundable"
            label: "Foerderfahig"
            type: "checkbox"
            width: 10
            default: true

    assistant_context: |
      Hilf bei der Auswahl geeigneter Hardware und Software.
      Erklaere was foerderfahig ist und was nicht (z.B. Verbrauchsmaterial).
      Gib Orientierungswerte fuer uebliche Preise.
      Bei BreakPilot-Preset: Erklaere die lokale KI-Arbeitsstation und ihre Vorteile.

  # --------------------------------------------------------------------------
  # Step 6: Finanzierungsplan
  # --------------------------------------------------------------------------
  - number: 6
    id: "finanzierungsplan"
    title: "Finanzierungsplan"
    subtitle: "Foerderquote, Eigenanteil und Gesamtkosten"
    description: "Der Finanzierungsplan wird automatisch berechnet. Pruefen Sie die Werte und passen Sie ggf. den Eigenanteil an."
    icon: "calculator"
    is_required: true

    fields:
      - id: "funding_rate"
        type: "slider"
        label: "Foerderquote"
        min: 0
        max: 100
        step: 5
        default: 90
        unit: "%"
        help_text: "Die uebliche Foerderquote betraegt 90% (10% Eigenanteil)"

      - id: "total_cost"
        type: "currency"
        label: "Gesamtkosten"
        readonly: true
        calculated: true
        help_text: "Summe aller Positionen aus Schritt 5"

      - id: "requested_funding"
        type: "currency"
        label: "Beantragter Foerderbetrag"
        readonly: true
        calculated: true
        help_text: "Gesamtkosten x Foerderquote"

      - id: "own_contribution"
        type: "currency"
        label: "Eigenanteil"
        readonly: true
        calculated: true
        help_text: "Gesamtkosten - Foerderbetrag"

      - id: "other_funding"
        type: "currency"
        label: "Sonstige Finanzierung"
        default: 0
        help_text: "Weitere Foerdermittel oder Spenden"

      - id: "budget_justification"
        type: "textarea"
        label: "Begruendung der Kosten"
        placeholder: "Begruenden Sie die wesentlichen Kostenpositionen..."
        max_length: 2000
        help_text: "Kurze Begruendung fuer groessere Positionen"

    assistant_context: |
      Erklaere die Foerderquoten verschiedener Programme.
      DigitalPakt 2.0: In der Regel 90%, aber je nach Bundesland unterschiedlich.
      Hilf bei der Begruendung von Kostenansaetzen.

  # --------------------------------------------------------------------------
  # Step 7: Zeitplan
  # --------------------------------------------------------------------------
  - number: 7
    id: "zeitplan"
    title: "Zeitplan"
    subtitle: "Projektlaufzeit und Meilensteine"
    description: "Planen Sie die Projektlaufzeit und definieren Sie wichtige Meilensteine."
    icon: "calendar"
    is_required: true

    fields:
      - id: "planned_start"
        type: "date"
        label: "Geplanter Projektbeginn"
        required: true
        min_date: "today"

      - id: "planned_end"
        type: "date"
        label: "Geplantes Projektende"
        required: true

      - id: "milestones"
        type: "milestone_list"
        label: "Meilensteine"
        help_text: "Definieren Sie 3-5 wichtige Meilensteine"
        suggested_milestones:
          - title: "Ausschreibung/Angebote einholen"
            offset_months: 1
          - title: "Auftragserteilung"
            offset_months: 2
          - title: "Installation Infrastruktur"
            offset_months: 3
          - title: "Schulung Lehrkraefte"
            offset_months: 4
          - title: "Projektabschluss & Verwendungsnachweis"
            offset_months: 6

      - id: "project_phase"
        type: "select"
        label: "Aktuelle Projektphase"
        options:
          - value: "planning"
            label: "Planung"
          - value: "application"
            label: "Antragstellung"
          - value: "procurement"
            label: "Beschaffung"
          - value: "implementation"
            label: "Umsetzung"

    assistant_context: |
      Gib Hinweise zu realistischen Projektlaufzeiten.
      Erklaere typische Fristen bei Foerderantraegen.
      Hilf bei der Definition sinnvoller Meilensteine.

  # --------------------------------------------------------------------------
  # Step 8: Dokumente & Abschluss
  # --------------------------------------------------------------------------
  - number: 8
    id: "abschluss"
    title: "Dokumente & Abschluss"
    subtitle: "Upload, Pruefung und Zusammenfassung"
    description: "Laden Sie erforderliche Dokumente hoch, pruefen Sie die Zusammenfassung und schliessen Sie den Antrag ab."
    icon: "document-download"
    is_required: true

    fields:
      - id: "data_protection_concept"
        type: "textarea"
        label: "Datenschutzkonzept"
        required: true
        max_length: 3000
        help_text: "Beschreiben Sie die Massnahmen zum Datenschutz"
        auto_fill_for_preset: |
          Das Projekt setzt auf eine vollstaendig lokale Datenverarbeitung:
          - Alle Daten werden ausschliesslich auf der lokalen KI-Arbeitsstation verarbeitet
          - Keine Uebermittlung personenbezogener Daten an externe Dienste
          - Keine Cloud-Speicherung
          - Betrieb im Verantwortungsbereich der Schule
          - Zugriffskontrolle ueber schuleigene Benutzerverwaltung

      - id: "maintenance_plan"
        type: "textarea"
        label: "Wartungs- und Betriebskonzept"
        required: true
        max_length: 2000
        help_text: "Wie wird die Technik gewartet und betrieben?"

      - id: "attachments"
        type: "file_upload"
        label: "Anlagen hochladen"
        accept: ".pdf,.doc,.docx,.xls,.xlsx,.jpg,.png"
        max_files: 10
        max_size_mb: 20
        categories:
          - id: "angebot"
            label: "Kostenvoranschlaege/Angebote"
            required: false
          - id: "mep"
            label: "Medienentwicklungsplan (Auszug)"
            required_for: ["NI", "NRW"]
          - id: "nachweis"
            label: "Sonstige Nachweise"
            required: false

      - id: "summary_review"
        type: "summary"
        label: "Zusammenfassung"
        readonly: true
        sections:
          - "foerderprogramm"
          - "schulinformationen"
          - "finanzierungsplan"
          - "zeitplan"

      - id: "carrier_review_note"
        type: "info_box"
        variant: "warning"
        title: "Hinweis zur Traegerpruefung"
        content: |
          Der generierte Antrag ist ein antragsfaehiger ENTWURF.
          Die finale Pruefung und Einreichung erfolgt durch den Schultraeger.
          Folgende Felder muessen vom Traeger ergaenzt werden:
          - Rechtsverbindliche Erklaerungen
          - Unterschriften
          - Haushaltsstellen (falls vorhanden)
          - Bankverbindung

      - id: "confirm_accuracy"
        type: "checkbox"
        label: "Ich bestaetige, dass alle Angaben nach bestem Wissen gemacht wurden"
        required: true

      - id: "confirm_carrier_review"
        type: "checkbox"
        label: "Ich habe verstanden, dass der Antrag vom Schultraeger geprueft werden muss"
        required: true

    assistant_context: |
      Pruefe die Vollstaendigkeit des Antrags.
      Erklaere den weiteren Ablauf nach Fertigstellung des Entwurfs.
      Gib Hinweise zu typischen Ablehnungsgruenden und wie man sie vermeidet.

# ============================================================================
# LLM Funding Assistant Configuration
# ============================================================================

funding_assistant:
  enabled: true
  model: "internal-32b"
  temperature: 0.3
  max_tokens: 1000

  system_prompt: |
    Du bist ein freundlicher und kompetenter Foerderantrag-Assistent fuer Schulen.

    Deine Aufgaben:
    - Erklaere Fachbegriffe verstaendlich
    - Gib konkrete Formulierungshilfen
    - Schlage passende Texte fuer Antragsfelder vor
    - Beantworte Fragen zu Foerderprogrammen
    - Hilf bei der Kostenplanung

    Wichtige Hinweise:
    - Bleibe sachlich und hilfreich
    - Verweise bei rechtlichen Fragen auf den Schultraeger
    - Gib keine verbindlichen Zusagen zu Foerdermitteln
    - Fokussiere auf den aktuellen Wizard-Schritt

    Dein Wissen umfasst:
    - DigitalPakt 2.0 Richtlinien
    - Landesspezifische Foerderungen (16 Bundeslaender)
    - Typische Kostenansaetze fuer Schul-IT
    - Paedagogische Konzepte fuer digitale Bildung
    - Datenschutz in Schulen

  step_contexts:
    1: "Erklaere Unterschiede zwischen DigitalPakt 1.0, 2.0 und Landesfoerderungen"
    2: "Erklaere was eine Schulnummer ist und warum der Schultraeger wichtig ist"
    3: "Hilf bei der Einschaetzung der aktuellen IT-Infrastruktur"
    4: "Gib Formulierungshilfen fuer paedagogische Konzepte"
    5: "Hilf bei der Auswahl und Preisschaetzung von Hardware/Software"
    6: "Erklaere Foerderquoten und Eigenanteil"
    7: "Gib Hinweise zu realistischen Projektlaufzeiten"
    8: "Erklaere den weiteren Ablauf nach Fertigstellung"

  quick_prompts:
    - label: "Was ist foerderfahig?"
      prompt: "Welche Kosten sind im DigitalPakt foerderfahig und welche nicht?"
    - label: "Formulierungshilfe"
      prompt: "Hilf mir bei der Formulierung fuer dieses Feld"
    - label: "Kostenvoranschlag"
      prompt: "Gib mir eine Orientierung fuer typische Kosten"
    - label: "MEP erklaeren"
      prompt: "Was ist ein Medienentwicklungsplan und brauche ich einen?"

# ============================================================================
# BreakPilot Presets
# ============================================================================

presets:
  breakpilot_basic:
    id: "breakpilot_basic"
    name: "BreakPilot Basis"
    description: "Lokale KI-Arbeitsstation fuer eine Schule"
    suitable_for:
      - "Einzelschule"
      - "Bis 500 Schueler"

    budget_items:
      - category: "SERVER"
        description: "BreakPilot KI-Arbeitsstation (On-Premise)"
        manufacturer: "BreakPilot"
        product_name: "KI-Arbeitsstation Pro"
        quantity: 1
        unit_price: 15000.00
        is_fundable: true
        funding_source: "digitalpakt"
        notes: "Lokale KI-Verarbeitung, keine Cloud-Anbindung erforderlich"

      - category: "SOFTWARE"
        description: "BreakPilot Software-Lizenz (3 Jahre)"
        manufacturer: "BreakPilot"
        quantity: 1
        unit_price: 3000.00
        is_fundable: true
        funding_source: "digitalpakt"
        notes: "Inkl. Updates und Support"

      - category: "TRAINING"
        description: "Einweisungsschulung Lehrkraefte"
        quantity: 1
        unit_price: 1500.00
        is_fundable: true
        funding_source: "digitalpakt"

    auto_fill:
      data_protection: |
        Das Projekt setzt auf vollstaendig lokale Datenverarbeitung:
        - Alle Daten werden ausschliesslich auf der BreakPilot KI-Arbeitsstation verarbeitet
        - KEINE Uebermittlung personenbezogener Daten an externe Server oder Cloud-Dienste
        - KEINE Speicherung in der Cloud
        - Betrieb im Verantwortungsbereich der Schule
        - Zugriffskontrolle ueber schuleigene Benutzerverwaltung (LDAP/AD kompatibel)
        - Verschluesselte lokale Datenspeicherung
        - Automatische Loeschung nach konfigurierbaren Fristen

      maintenance: |
        Wartung und Betrieb sind im Leistungsumfang enthalten:
        - 3 Jahre Software-Updates und technischer Support
        - Fernwartung nur auf Anfrage und mit Freigabe durch die Schule
        - Jaehrliche Sicherheitsupdates
        - Dokumentation und Schulungsmaterialien fuer Administratoren

  breakpilot_cluster:
    id: "breakpilot_cluster"
    name: "BreakPilot Schulverbund"
    description: "Zentrale KI-Infrastruktur fuer mehrere Schulen"
    suitable_for:
      - "Schultraeger mit mehreren Schulen"
      - "Schulverbund"
      - "Ueber 1000 Schueler gesamt"

    budget_items:
      - category: "SERVER"
        description: "BreakPilot Server-Cluster (Zentrale)"
        manufacturer: "BreakPilot"
        product_name: "KI-Cluster Enterprise"
        quantity: 1
        unit_price: 45000.00
        is_fundable: true
        funding_source: "digitalpakt"

      - category: "SOFTWARE"
        description: "BreakPilot Enterprise-Lizenz (3 Jahre, unbegrenzte Nutzer)"
        manufacturer: "BreakPilot"
        quantity: 1
        unit_price: 9000.00
        is_fundable: true
        funding_source: "digitalpakt"

      - category: "NETWORK"
        description: "Dedizierte Netzwerkanbindung Schulen"
        quantity: 5
        unit_price: 2000.00
        is_fundable: true
        funding_source: "digitalpakt"

      - category: "TRAINING"
        description: "Train-the-Trainer Programm"
        quantity: 1
        unit_price: 4500.00
        is_fundable: true
        funding_source: "digitalpakt"

    auto_fill:
      data_protection: |
        Das Projekt setzt auf eine zentrale, aber vollstaendig lokale Datenverarbeitung:
        - Zentraler BreakPilot Cluster im Rechenzentrum des Schultraegers
        - Sichere Verbindung der Schulen ueber dedizierte Leitungen oder VPN
        - KEINE Uebermittlung an externe Cloud-Dienste
        - Mandantenfaehigkeit: Daten der Schulen sind strikt getrennt
        - Zentrale Administration durch Schultraeger, dezentrale Nutzerverwaltung
        - Compliance mit DSGVO und Landesdatenschutzgesetzen

# ============================================================================
# Validation Rules
# ============================================================================

validation:
  global:
    - rule: "total_cost > 0"
      message: "Die Gesamtkosten muessen groesser als 0 sein"
      severity: "error"

    - rule: "requested_funding <= total_cost"
      message: "Der Foerderbetrag kann nicht hoeher sein als die Gesamtkosten"
      severity: "error"

    - rule: "planned_end > planned_start"
      message: "Das Projektende muss nach dem Projektbeginn liegen"
      severity: "error"

  step_specific:
    1:
      - rule: "project_title.length >= 10"
        message: "Der Projekttitel sollte mindestens 10 Zeichen haben"
        severity: "warning"

    5:
      - rule: "budget_items.length > 0"
        message: "Mindestens eine Kostenposition ist erforderlich"
        severity: "error"

    6:
      - rule: "funding_rate >= 50 && funding_rate <= 100"
        message: "Die Foerderquote muss zwischen 50% und 100% liegen"
        severity: "warning"
