export interface TourRaw {
  _id?: string;
  id?: string;
  check?: string;
  createTime?: string; // yyyy-MM-dd HH:mm:ss  'Europe/Berlin'  OR   yyyy-MM-dd  'Europe/Berlin'
  lastUpdate?: string; // yyyy-MM-dd HH:mm:ss  'Europe/Berlin'
  empfangenVonId?: string;
  endgen?: string; // yyyy-MM-dd
  serienId?: string;
  serienKategorName?: string;
  serienKategorie?: string;
  zadStatus?: string;
  abrDate?: string; // yyyy-MM-dd
  abrNum?: string;
  abrTime?: string; // HH:mm

  ausrueckZeit?: string; // HH:mm 'Europe/Berlin'
  startTime?: string; // HH:mm 'Europe/Berlin' (is after ausrueckZeit)
  startDate?: string; // yyyy-MM-dd HH:mm:ss  'Europe/Berlin'
  date?: string; // yyyy-MM-dd
  date_iso?: string; // ISO 8601 String
  dauergenehmigung?: string;
  direction?: string;
  distanceValue?: string; // meters (probably int)
  besetztKm?: string; // kilometers (float)
  gefahren?: string; // Boolean as number
  gesamtPreis?: string; // float
  infektion?: string; // Boolean as number
  itDesc?: string;
  itKrz?: string;
  itName?: string;
  kkId?: string;
  krankenkasse?: string;
  patId?: string;
  patName?: string;
  patSurname?: string;
  patStreet?: string;
  patZip?: string;
  patCity?: string;
  startInstitution?: string;
  startStreet?: string;
  startZip?: string;
  startCity?: string;
  targetInstitution?: string;
  targetStreet?: string;
  targetZip?: string;
  targetCity?: string;
  transportKrz?: string;
  transportName?: string;
  transportart?: string; // ID
  verordnungsId?: string;
  verordnungsName?: string;
  type?: string;

  startBegin?: string; // HH:mm 'Europe/Berlin'
  startEnd?: string; // HH:mm 'Europe/Berlin'
  frei?: string; // HH:mm 'Europe/Berlin'
  ziel?: string; // HH:mm 'Europe/Berlin'
  zielBegin?: string; // HH:mm 'Europe/Berlin'
  endTime?: string; // HH:mm 'Europe/Berlin'
  endDate?: string; // yyyy-MM-dd HH:mm:ss  'Europe/Berlin'

  einsatzNummer?: string;
  carName?: string;
  carNo?: string; // ID
  beifahrerName?: string;
  beifahrer?: string; // ID
  fahrerName?: string;
  fahrer?: string; // ID

  color?: string; // Hex rgb
}

export interface EmployeeDispoLiveRaw {
  _id?: string;
  pScheinAblaufDatum?: string; // yyyy-MM-dd
  name?: string;
  surname?: string;
  persId?: string;
  importPersId?: string; // Personal ID aus Dyflexis
  qualifikation?: string; // ID
}

export interface PatientRaw {
  _id?: string;
  birthday?: string; // yyyy-MM-dd
  name?: string;
  surname?: string;
  street?: string;
  zip?: string;
  city?: string;
  kkId?: string;
  krankenkasse?: string;
  pflegestufe?: string;
  behinderung1?: string;
  behinderung2?: string;
}

export interface AttendanceRegistrationRaw {
  attendanceRegistrationId?: string;
  employeeId?: string;
  personnelNumber?: string;
  dateTime?: string; // ISO 8601 String with timezone
  event?: string;
}

export interface PlannedTimeRaw {
  id?: string;
  user_id?: string;
  firstname?: string;
  surname?: string;
  department_id?: string;
  department_name?: string;
  start_date?: string; // yyyy-MM-dd HH:mm:ss  'Europe/Berlin'
  end_date?: string; // yyyy-MM-dd HH:mm:ss  'Europe/Berlin'
  pauze?: string;
  duration?: string;
  deleted?: string;
  mark?: string;
}

export interface WorkTimeRaw {
  id?: string;
  user_id?: string;
  firstname?: string;
  surname?: string;
  department_id?: string;
  department_name?: string;
  start_date?: string; // yyyy-MM-dd HH:mm:ss  'Europe/Berlin'
  end_date?: string; // yyyy-MM-dd HH:mm:ss  'Europe/Berlin'
  pauze?: string;
  duration?: string;
}

export interface EmployeeDyflexisRaw {
  id?: string;
  firstname?: string;
  surname?: string;
  contract_id?: string;
  contract_start?: string; // yyyy-MM-dd
  contract_end?: string; // yyyy-MM-dd
  contract_hours_week?: string; // Float string
  contract_salary_hour?: string; // Float string
}

export interface TourSummaryDto {
  _id: string;
  date: string; // yyyy-MM-dd
  einsatznummer: string;
  check: string;
  lastUpdate?: string;
}

export interface FahrzeugplanungItemDto {
  _id?: string;
  className: string;      // 'greenItem' OR 'blocked'
  group: string;          // Fahrzeug ID
  mitarbeiterId: string;  // Mitarbeiter ID
  start: string;          // ISO 8601 TS (UTC)
  end: string;            // ISO 8601 TS (UTC)
}

export interface FahrzeugItemDto {
  _id: string
  bezeichnung: string
  marke: string
  tuev: string
  conn: string
  carStatus: string
  kaufDatum: string
  erstzulassung: string
  status: string
  firmaId: string
  kennzeichen: string
  kaufPreis: string
  kaufKm: string
  fahrzeugIdentNr: string
  kfzNr: string
  verordnungsart: string
}