/**
 * Common / Shared Types
 *
 * Foundational types used across all vendor-compliance domains:
 * LocalizedText, Address, Contact, ResponsibleParty, Organization
 */

// ==========================================
// LOCALIZED TEXT
// ==========================================

export interface LocalizedText {
  de: string
  en: string
}

// ==========================================
// COMMON TYPES
// ==========================================

export interface Address {
  street: string
  city: string
  postalCode: string
  country: string // ISO 3166-1 alpha-2
  state?: string
}

export interface Contact {
  name: string
  email: string
  phone?: string
  department?: string
  role?: string
}

export interface ResponsibleParty {
  organizationName: string
  legalForm?: string
  address: Address
  contact: Contact
}

// ==========================================
// ORGANISATION / TENANT
// ==========================================

export interface Organization {
  id: string
  name: string
  legalForm: string // GmbH, AG, e.V., etc.
  address: Address
  country: string // ISO 3166-1 alpha-2
  vatId?: string
  dpoContact: Contact // Datenschutzbeauftragter
  createdAt: Date
  updatedAt: Date
}
