/**
 * Processing Activities — HR & Sales Templates
 */

import { ProcessingActivityTemplate } from './types'

export const HR_TEMPLATES: ProcessingActivityTemplate[] = [
  {
    id: 'tpl-hr-recruitment',
    category: 'HR',
    name: {
      de: 'Bewerbermanagement',
      en: 'Recruitment Management',
    },
    description: {
      de: 'Verarbeitung von Bewerberdaten im Rahmen des Recruiting-Prozesses',
      en: 'Processing of applicant data as part of the recruitment process',
    },
    purposes: [
      { de: 'Durchführung des Bewerbungsverfahrens', en: 'Conducting the application process' },
      { de: 'Prüfung der Eignung', en: 'Assessing suitability' },
      { de: 'Aufbau eines Talentpools (bei Einwilligung)', en: 'Building a talent pool (with consent)' },
    ],
    dataSubjectCategories: ['APPLICANTS'],
    personalDataCategories: [
      'NAME', 'CONTACT', 'ADDRESS', 'DOB', 'EDUCATION_DATA',
      'EMPLOYMENT_DATA', 'PHOTO_VIDEO',
    ],
    suggestedLegalBasis: ['CONTRACT', 'CONSENT'],
    suggestedRetentionYears: 0.5,
    suggestedProtectionLevel: 'MEDIUM',
    dpiaLikely: false,
    commonSystems: ['E-Recruiting', 'Personio', 'Workday'],
    commonVendorCategories: ['HR_SOFTWARE', 'CLOUD_INFRASTRUCTURE'],
  },
  {
    id: 'tpl-hr-personnel',
    category: 'HR',
    name: {
      de: 'Personalverwaltung',
      en: 'Personnel Administration',
    },
    description: {
      de: 'Führung der Personalakte und Verwaltung des Beschäftigungsverhältnisses',
      en: 'Maintaining personnel files and managing employment relationships',
    },
    purposes: [
      { de: 'Führung der Personalakte', en: 'Maintaining personnel files' },
      { de: 'Durchführung des Arbeitsverhältnisses', en: 'Executing the employment relationship' },
      { de: 'Erfüllung gesetzlicher Pflichten', en: 'Fulfilling legal obligations' },
    ],
    dataSubjectCategories: ['EMPLOYEES'],
    personalDataCategories: [
      'NAME', 'CONTACT', 'ADDRESS', 'DOB', 'ID_NUMBER',
      'SOCIAL_SECURITY', 'TAX_ID', 'BANK_ACCOUNT', 'EMPLOYMENT_DATA',
      'SALARY_DATA', 'EDUCATION_DATA', 'PHOTO_VIDEO',
    ],
    suggestedLegalBasis: ['CONTRACT', 'LEGAL_OBLIGATION'],
    suggestedRetentionYears: 10,
    suggestedProtectionLevel: 'HIGH',
    dpiaLikely: false,
    commonSystems: ['SAP HCM', 'Personio', 'DATEV'],
    commonVendorCategories: ['HR_SOFTWARE', 'ERP'],
  },
  {
    id: 'tpl-hr-payroll',
    category: 'HR',
    name: {
      de: 'Lohn- und Gehaltsabrechnung',
      en: 'Payroll Processing',
    },
    description: {
      de: 'Berechnung und Auszahlung von Gehältern, Abführung von Steuern und Sozialabgaben',
      en: 'Calculation and payment of salaries, tax and social security contributions',
    },
    purposes: [
      { de: 'Gehaltsberechnung und -auszahlung', en: 'Salary calculation and payment' },
      { de: 'Abführung von Lohnsteuer und Sozialabgaben', en: 'Payment of payroll taxes and social contributions' },
      { de: 'Erstellung von Lohnabrechnungen', en: 'Creating payslips' },
    ],
    dataSubjectCategories: ['EMPLOYEES'],
    personalDataCategories: [
      'NAME', 'ADDRESS', 'DOB', 'SOCIAL_SECURITY', 'TAX_ID',
      'BANK_ACCOUNT', 'SALARY_DATA', 'EMPLOYMENT_DATA',
    ],
    suggestedLegalBasis: ['CONTRACT', 'LEGAL_OBLIGATION'],
    suggestedRetentionYears: 10,
    suggestedProtectionLevel: 'HIGH',
    dpiaLikely: false,
    commonSystems: ['DATEV', 'SAP', 'Lexware'],
    commonVendorCategories: ['ACCOUNTING', 'HR_SOFTWARE'],
  },
  {
    id: 'tpl-hr-time-tracking',
    category: 'HR',
    name: {
      de: 'Arbeitszeiterfassung',
      en: 'Time Tracking',
    },
    description: {
      de: 'Erfassung der Arbeitszeiten zur Einhaltung des Arbeitszeitgesetzes',
      en: 'Recording working hours for compliance with working time regulations',
    },
    purposes: [
      { de: 'Erfassung der Arbeitszeiten', en: 'Recording working hours' },
      { de: 'Einhaltung des Arbeitszeitgesetzes', en: 'Compliance with working time regulations' },
      { de: 'Grundlage für Gehaltsabrechnung', en: 'Basis for payroll' },
    ],
    dataSubjectCategories: ['EMPLOYEES'],
    personalDataCategories: ['NAME', 'EMPLOYMENT_DATA', 'USAGE_DATA'],
    suggestedLegalBasis: ['LEGAL_OBLIGATION', 'CONTRACT'],
    suggestedRetentionYears: 2,
    suggestedProtectionLevel: 'LOW',
    dpiaLikely: false,
    commonSystems: ['ATOSS', 'Clockodo', 'Toggl'],
    commonVendorCategories: ['HR_SOFTWARE'],
  },
  {
    id: 'tpl-hr-health-management',
    category: 'HR',
    name: {
      de: 'Betriebliches Gesundheitsmanagement',
      en: 'Occupational Health Management',
    },
    description: {
      de: 'Verwaltung von Arbeitsunfähigkeitsbescheinigungen und betriebsärztlichen Untersuchungen',
      en: 'Management of sick notes and occupational health examinations',
    },
    purposes: [
      { de: 'Verwaltung von Krankmeldungen', en: 'Managing sick leave' },
      { de: 'Organisation betriebsärztlicher Untersuchungen', en: 'Organizing occupational health examinations' },
      { de: 'Betriebliches Eingliederungsmanagement', en: 'Occupational reintegration management' },
    ],
    dataSubjectCategories: ['EMPLOYEES'],
    personalDataCategories: ['NAME', 'EMPLOYMENT_DATA', 'HEALTH_DATA'],
    suggestedLegalBasis: ['ART9_EMPLOYMENT', 'LEGAL_OBLIGATION'],
    suggestedRetentionYears: 3,
    suggestedProtectionLevel: 'HIGH',
    dpiaLikely: true,
    commonSystems: ['HR-Software', 'BEM-System'],
    commonVendorCategories: ['HR_SOFTWARE', 'CONSULTING'],
  },
]

export const SALES_TEMPLATES: ProcessingActivityTemplate[] = [
  {
    id: 'tpl-sales-crm',
    category: 'SALES',
    name: {
      de: 'Kundenbeziehungsmanagement (CRM)',
      en: 'Customer Relationship Management (CRM)',
    },
    description: {
      de: 'Verwaltung von Kundenbeziehungen, Kontakthistorie und Verkaufschancen',
      en: 'Managing customer relationships, contact history, and sales opportunities',
    },
    purposes: [
      { de: 'Pflege von Kundenbeziehungen', en: 'Maintaining customer relationships' },
      { de: 'Dokumentation von Kundenkontakten', en: 'Documenting customer contacts' },
      { de: 'Vertriebssteuerung', en: 'Sales management' },
    ],
    dataSubjectCategories: ['CUSTOMERS', 'PROSPECTIVE_CUSTOMERS', 'BUSINESS_PARTNERS'],
    personalDataCategories: [
      'NAME', 'CONTACT', 'ADDRESS', 'CONTRACT_DATA', 'COMMUNICATION_DATA',
    ],
    suggestedLegalBasis: ['CONTRACT', 'LEGITIMATE_INTEREST'],
    suggestedRetentionYears: 3,
    suggestedProtectionLevel: 'MEDIUM',
    dpiaLikely: false,
    commonSystems: ['Salesforce', 'HubSpot', 'Pipedrive', 'Microsoft Dynamics'],
    commonVendorCategories: ['CRM'],
  },
  {
    id: 'tpl-sales-contract-management',
    category: 'SALES',
    name: {
      de: 'Vertragsmanagement',
      en: 'Contract Management',
    },
    description: {
      de: 'Verwaltung von Kundenverträgen, Angeboten und Aufträgen',
      en: 'Managing customer contracts, quotes, and orders',
    },
    purposes: [
      { de: 'Erstellung und Verwaltung von Verträgen', en: 'Creating and managing contracts' },
      { de: 'Angebotsverfolgung', en: 'Quote tracking' },
      { de: 'Auftragsabwicklung', en: 'Order processing' },
    ],
    dataSubjectCategories: ['CUSTOMERS', 'BUSINESS_PARTNERS'],
    personalDataCategories: [
      'NAME', 'CONTACT', 'ADDRESS', 'CONTRACT_DATA', 'PAYMENT_DATA',
    ],
    suggestedLegalBasis: ['CONTRACT', 'LEGAL_OBLIGATION'],
    suggestedRetentionYears: 10,
    suggestedProtectionLevel: 'MEDIUM',
    dpiaLikely: false,
    commonSystems: ['ERP', 'CRM', 'Vertragsverwaltung'],
    commonVendorCategories: ['ERP', 'CRM'],
  },
]
