import type { Austrittsart } from "./types"; // Wie ein Dienstverhältnis endet — und auf wessen Betreiben. // // Zwei Angaben, die **unabhängig** voneinander erhoben werden. Das ist die // Korrektur einer früheren Entscheidung, und der Grund gehört hierher, damit // sie niemand versehentlich rückgängig macht: // // Wir hatten „freiwillig / unfreiwillig" aus der Beendigungsart abgeleitet — // Kündigung AN gilt als freiwillig, Kündigung AG als unfreiwillig, und so // fort. Das schien sauberer, weil es zwei Felder ausschliesst, die einander // widersprechen können. // // In Österreich stimmt es nicht. Der Kunde hat es am 17.09.2026 am Beispiel // erklärt: die einvernehmliche Auflösung ist hier der Regelfall und sagt über // den Anstoss nichts aus. Sie kann von der Person ausgehen — „ich möchte // kündigen", worauf einvernehmlich aufgelöst wird, damit das AMS zahlt. Sie // kann vom Dienstgeber ausgehen — „ich will die Trennung, dafür gibt es eine // Abfindung". Dieselbe Beendigungsart, zwei gegensätzliche Antworten. // // Was sich nicht aus den Daten ergibt, muss erhoben werden. Die Ableitung // hätte die Hälfte der Fälle still falsch einsortiert. // // Deshalb gibt es hier auch keine Zuordnung mehr von Art zu Grund und keine // eingeschränkte Auswahl: die Beendigungsart bietet immer alle Werte an. export const BEENDIGUNG_NO_SHOW = "No Show"; /** * Die Beendigungsarten. * * „No Show" steht am Ende und getrennt: es ist kein Austritt im gewohnten * Sinn, sondern der Fall, dass jemand nie angetreten ist. */ export const BEENDIGUNGSART_WERTE: readonly string[] = [ "Einvernehmliche Auflösung", "Kündigung AN", "Kündigung AG", "Befristungsablauf", "Pensionierung", "Entlassung", // Aus dem Workshop nachgetragen: in der Probezeit kann jede Seite ohne // Frist und ohne Grund beenden; welche es war, ist die Unterscheidung, die // sonst verlorenginge. "Dienstnehmerseitige Beendigung in Probezeit", "Dienstgeberseitige Beendigung in Probezeit", BEENDIGUNG_NO_SHOW, ] as const; export const AUSTRITTSART_LABELS: Record = { freiwillig: "Freiwilliger Austritt", unfreiwillig: "Unfreiwilliger Austritt", }; export const AUSTRITTSARTEN: readonly Austrittsart[] = ["freiwillig", "unfreiwillig"] as const; export function istAustrittsart(wert: string | null | undefined): wert is Austrittsart { return AUSTRITTSARTEN.includes(wert as Austrittsart); }