/**
 * Loeschfristen — Marketing & CRM Templates
 * Newsletter-Einwilligungen, Kundenstammdaten, CRM-Kontakthistorie,
 * Kundenreklamationen, Social-Media-Marketingdaten
 */

import { BaselineTemplate } from './types'

export const MARKETING_CRM_TEMPLATES: BaselineTemplate[] = [
  {
    templateId: 'newsletter-einwilligungen',
    dataObjectName: 'Newsletter-Einwilligungen',
    description:
      'Einwilligungserklaerungen fuer den Newsletter-Versand inkl. Double-Opt-in-Nachweis und Abmeldezeitpunkt.',
    affectedGroups: ['Abonnenten'],
    dataCategories: ['Einwilligungsdaten', 'E-Mail-Adresse', 'Opt-in-Nachweis'],
    primaryPurpose:
      'Nachweis der wirksamen Einwilligung zum Newsletter-Versand gemaess Art. 7 DSGVO und Dokumentation des Widerrufs.',
    deletionTrigger: 'PURPOSE_END',
    retentionDriver: null,
    retentionDriverDetail:
      'Keine gesetzliche Aufbewahrungspflicht. Daten werden bis zum Widerruf der Einwilligung gespeichert.',
    retentionDuration: null,
    retentionUnit: null,
    retentionDescription: 'Bis zum Widerruf der Einwilligung durch den Abonnenten',
    startEvent: 'Widerruf der Einwilligung durch den Abonnenten',
    deletionMethod: 'AUTO_DELETE',
    deletionMethodDetail:
      'Automatische Loeschung der personenbezogenen Daten nach Eingang des Widerrufs. Der Einwilligungsnachweis selbst wird fuer die Dauer der Nachweispflicht aufbewahrt.',
    responsibleRole: 'Marketing',
    reviewInterval: 'SEMI_ANNUAL',
    tags: ['marketing', 'einwilligung'],
  },
  {
    templateId: 'kundenstammdaten',
    dataObjectName: 'Kundenstammdaten',
    description:
      'Stammdaten von Kunden inkl. Kontaktdaten, Anschrift, Kundennummer und Kommunikationspraeferenzen.',
    affectedGroups: ['Kunden'],
    dataCategories: ['Stammdaten', 'Kontaktdaten', 'Adressdaten'],
    primaryPurpose:
      'Pflege der Kundenbeziehung, Vertragserfuellung und Absicherung gegen Verjaehrung vertraglicher Ansprueche.',
    deletionTrigger: 'RETENTION_DRIVER',
    retentionDriver: 'BGB_195',
    retentionDriverDetail:
      'Aufbewahrung fuer die Dauer der regelmaessigen Verjaehrungsfrist gemaess 195 BGB (3 Jahre).',
    retentionDuration: 3,
    retentionUnit: 'YEARS',
    retentionDescription: '3 Jahre nach letzter geschaeftlicher Interaktion',
    startEvent: 'Letzte geschaeftliche Interaktion mit dem Kunden',
    deletionMethod: 'MANUAL_REVIEW_DELETE',
    deletionMethodDetail:
      'Manuelle Pruefung durch den Vertrieb vor Loeschung, um sicherzustellen, dass keine aktiven Geschaeftsbeziehungen oder offenen Forderungen bestehen.',
    responsibleRole: 'Vertrieb',
    reviewInterval: 'ANNUAL',
    tags: ['crm', 'kunden'],
  },
  {
    templateId: 'crm-kontakthistorie',
    dataObjectName: 'CRM-Kontakthistorie',
    description:
      'Kontaktverlauf im CRM-System inkl. Anrufe, E-Mails, Termine, Notizen und Angebotsverlauf.',
    affectedGroups: ['Kunden', 'Interessenten'],
    dataCategories: ['Kommunikationsdaten', 'Interaktionshistorie', 'Angebotsdaten'],
    primaryPurpose:
      'Pflege der Kundenbeziehung und Nachverfolgung geschaeftlicher Interaktionen fuer Vertriebs- und Servicezwecke.',
    deletionTrigger: 'RETENTION_DRIVER',
    retentionDriver: 'BGB_195',
    retentionDriverDetail:
      'Aufbewahrung fuer die Dauer der regelmaessigen Verjaehrungsfrist gemaess 195 BGB zur Absicherung vertraglicher Ansprueche.',
    retentionDuration: 3,
    retentionUnit: 'YEARS',
    retentionDescription: '3 Jahre nach letztem Kontakt mit dem Kunden oder Interessenten',
    startEvent: 'Letzter dokumentierter Kontakt im CRM-System',
    deletionMethod: 'ANONYMIZATION',
    deletionMethodDetail:
      'Anonymisierung der personenbezogenen Daten im CRM-System, sodass statistische Auswertungen weiterhin moeglich sind, aber kein Personenbezug mehr hergestellt werden kann.',
    responsibleRole: 'Vertrieb',
    reviewInterval: 'SEMI_ANNUAL',
    tags: ['crm', 'kunden'],
  },
  {
    templateId: 'kundenreklamationen',
    dataObjectName: 'Kundenreklamationen',
    description:
      'Reklamationsvorgaenge inkl. Beschwerdeinhalt, Kommunikationsverlauf, Massnahmen und Ergebnis der Reklamationsbearbeitung.',
    affectedGroups: ['Kunden'],
    dataCategories: ['Reklamationsdaten', 'Kommunikation', 'Massnahmenprotokolle'],
    primaryPurpose:
      'Dokumentation und Bearbeitung von Kundenreklamationen, Qualitaetssicherung und Absicherung gegen Gewaehrleistungsansprueche.',
    deletionTrigger: 'RETENTION_DRIVER',
    retentionDriver: 'BGB_195',
    retentionDriverDetail:
      'Aufbewahrung fuer die Dauer der regelmaessigen Verjaehrungsfrist gemaess 195 BGB (3 Jahre) zur Absicherung gegen Gewaehrleistungs- und Schadensersatzansprueche.',
    retentionDuration: 3,
    retentionUnit: 'YEARS',
    retentionDescription: '3 Jahre nach Abschluss des Reklamationsvorgangs',
    startEvent: 'Abschluss des Reklamationsvorgangs (letzte Massnahme)',
    deletionMethod: 'ANONYMIZATION',
    deletionMethodDetail:
      'Anonymisierung der personenbezogenen Daten nach Ablauf der Frist. Anonymisierte Reklamationsstatistiken bleiben fuer die Qualitaetssicherung erhalten.',
    responsibleRole: 'Qualitaetsmanagement',
    reviewInterval: 'ANNUAL',
    tags: ['kunden', 'qualitaet'],
  },
  {
    templateId: 'cookie-consent-logs',
    dataObjectName: 'Cookie-Consent-Nachweise',
    description:
      'Nachweise ueber Cookie-Einwilligungen der Website-Besucher inkl. Consent-ID, Zeitstempel, gesetzte Praeferenzen und IP-Adresse.',
    affectedGroups: ['Website-Besucher'],
    dataCategories: ['Consent-Daten', 'IP-Adressen', 'Zeitstempel', 'Praeferenzen'],
    primaryPurpose:
      'Nachweisfuehrung der Einwilligung in die Cookie-Nutzung gemaess Art. 7 Abs. 1 DSGVO und ePrivacy-Richtlinie.',
    deletionTrigger: 'RETENTION_DRIVER',
    retentionDriver: 'BGB_195',
    retentionDriverDetail:
      'Aufbewahrung der Consent-Nachweise fuer die Dauer der regelmaessigen Verjaehrungsfrist gemaess 195 BGB zur Absicherung gegen Abmahnungen.',
    retentionDuration: 3,
    retentionUnit: 'YEARS',
    retentionDescription: '3 Jahre nach Zeitpunkt der Einwilligung',
    startEvent: 'Zeitpunkt der Cookie-Einwilligung (Consent-Zeitstempel)',
    deletionMethod: 'AUTO_DELETE',
    deletionMethodDetail:
      'Automatische Loeschung der Consent-Nachweise nach Ablauf der 3-Jahres-Frist durch das Consent-Management-System.',
    responsibleRole: 'Datenschutzbeauftragter',
    reviewInterval: 'ANNUAL',
    tags: ['datenschutz', 'consent'],
  },
  {
    templateId: 'social-media-daten',
    dataObjectName: 'Social-Media-Marketingdaten',
    description:
      'Personenbezogene Daten aus Social-Media-Kampagnen inkl. Nutzerinteraktionen, Custom Audiences, Retargeting-Listen und Kampagnen-Analytics.',
    affectedGroups: ['Kunden', 'Interessenten', 'Website-Besucher'],
    dataCategories: ['Interaktionsdaten', 'Zielgruppendaten', 'Tracking-Daten', 'Profilmerkmale'],
    primaryPurpose:
      'Durchfuehrung zielgerichteter Marketing-Kampagnen auf Social-Media-Plattformen und Analyse der Kampagneneffektivitaet.',
    deletionTrigger: 'PURPOSE_END',
    retentionDriver: null,
    retentionDriverDetail:
      'Keine gesetzliche Aufbewahrungspflicht. Daten werden bis zum Widerruf der Einwilligung bzw. bis zum Ende der Kampagne gespeichert (Art. 6 Abs. 1 lit. a DSGVO).',
    retentionDuration: null,
    retentionUnit: null,
    retentionDescription: 'Bis zum Widerruf der Einwilligung oder Ende des Kampagnenzwecks',
    startEvent: 'Widerruf der Einwilligung oder Ende der Marketing-Kampagne',
    deletionMethod: 'AUTO_DELETE',
    deletionMethodDetail:
      'Automatische Loeschung der personenbezogenen Daten in den Social-Media-Werbekonten und internen Systemen nach Zweckwegfall. Custom Audiences werden bei Plattformanbietern geloescht.',
    responsibleRole: 'Marketing',
    reviewInterval: 'SEMI_ANNUAL',
    tags: ['marketing', 'social'],
  },
]
