// The 193 UN member states, German names, sorted alphabetically. Used for // Staatsbürgerschaft and Wohnland — both are searchable pickers over this // same list (see components/ui/Lookup + DatenAendernPanel). export const UN_COUNTRIES: string[] = [ "Afghanistan", "Ägypten", "Albanien", "Algerien", "Andorra", "Angola", "Antigua und Barbuda", "Äquatorialguinea", "Argentinien", "Armenien", "Aserbaidschan", "Äthiopien", "Australien", "Bahamas", "Bahrain", "Bangladesch", "Barbados", "Belgien", "Belize", "Benin", "Bhutan", "Bolivien", "Bosnien und Herzegowina", "Botsuana", "Brasilien", "Brunei", "Bulgarien", "Burkina Faso", "Burundi", "Chile", "China", "Costa Rica", "Côte d'Ivoire", "Dänemark", "Deutschland", "Dominica", "Dominikanische Republik", "Dschibuti", "Ecuador", "El Salvador", "Eritrea", "Estland", "Eswatini", "Fidschi", "Finnland", "Frankreich", "Gabun", "Gambia", "Georgien", "Ghana", "Grenada", "Griechenland", "Guatemala", "Guinea", "Guinea-Bissau", "Guyana", "Haiti", "Honduras", "Indien", "Indonesien", "Irak", "Iran", "Irland", "Island", "Israel", "Italien", "Jamaika", "Japan", "Jemen", "Jordanien", "Kambodscha", "Kamerun", "Kanada", "Kap Verde", "Kasachstan", "Katar", "Kenia", "Kirgisistan", "Kiribati", "Kolumbien", "Komoren", "Kongo, Demokratische Republik", "Kongo, Republik", "Kosovo", "Kroatien", "Kuba", "Kuwait", "Laos", "Lesotho", "Lettland", "Libanon", "Liberia", "Libyen", "Liechtenstein", "Litauen", "Luxemburg", "Madagaskar", "Malawi", "Malaysia", "Malediven", "Mali", "Malta", "Marokko", "Marshallinseln", "Mauretanien", "Mauritius", "Mexiko", "Mikronesien", "Moldau", "Monaco", "Mongolei", "Montenegro", "Mosambik", "Myanmar", "Namibia", "Nauru", "Nepal", "Neuseeland", "Nicaragua", "Niederlande", "Niger", "Nigeria", "Nordkorea", "Nordmazedonien", "Norwegen", "Oman", "Österreich", "Osttimor", "Pakistan", "Palau", "Panama", "Papua-Neuguinea", "Paraguay", "Peru", "Philippinen", "Polen", "Portugal", "Ruanda", "Rumänien", "Russland", "Salomonen", "Sambia", "Samoa", "San Marino", "São Tomé und Príncipe", "Saudi-Arabien", "Schweden", "Schweiz", "Senegal", "Serbien", "Seychellen", "Sierra Leone", "Simbabwe", "Singapur", "Slowakei", "Slowenien", "Somalia", "Spanien", "Sri Lanka", "St. Kitts und Nevis", "St. Lucia", "St. Vincent und die Grenadinen", "Südafrika", "Sudan", "Südkorea", "Südsudan", "Suriname", "Syrien", "Tadschikistan", "Tansania", "Thailand", "Togo", "Tonga", "Trinidad und Tobago", "Tschad", "Tschechien", "Tunesien", "Türkei", "Turkmenistan", "Tuvalu", "Uganda", "Ukraine", "Ungarn", "Uruguay", "Usbekistan", "Vanuatu", "Venezuela", "Vereinigte Arabische Emirate", "Vereinigte Staaten", "Vereinigtes Königreich", "Vietnam", "Weißrussland", "Zentralafrikanische Republik", "Zypern", ].sort((a, b) => a.localeCompare(b, "de")); // Wer keinen Aufenthaltstitel braucht. // // EU-27, dazu Island, Liechtenstein und Norwegen (EWR) sowie die Schweiz. // Für diese Staatsangehörigen gilt Freizügigkeit; ein Aufenthaltstitel ist // weder nötig noch zu erfassen. Für alle übrigen ist er es, und dann will HR // wissen, bis wann er läuft. // // Die Liste steht hier und nicht in der Datenbank: eine Prüfbedingung, die // Staatsbürgerschaft und Titel koppelt, würde bei jeder Korrektur der // Staatsbürgerschaft zuschlagen — und Beitritte müssten als Migration // nachgezogen werden, statt als Zeile in einer Liste. export const FREIZUEGIGKEIT: readonly string[] = [ // EU "Belgien", "Bulgarien", "Dänemark", "Deutschland", "Estland", "Finnland", "Frankreich", "Griechenland", "Irland", "Italien", "Kroatien", "Lettland", "Litauen", "Luxemburg", "Malta", "Niederlande", "Österreich", "Polen", "Portugal", "Rumänien", "Schweden", "Slowakei", "Slowenien", "Spanien", "Tschechien", "Ungarn", "Zypern", // EWR "Island", "Liechtenstein", "Norwegen", // Bilaterale Freizügigkeit "Schweiz", ]; /** * Braucht jemand mit dieser Staatsbürgerschaft einen Aufenthaltstitel? * * Bei leerer Angabe: nein. Eine fehlende Staatsbürgerschaft ist kein Anlass, * jemandem einen Titel abzuverlangen — sie ist ein Anlass, sie zu erfassen. */ export function brauchtAufenthaltstitel(nationality: string | null | undefined): boolean { const n = nationality?.trim(); if (!n) return false; return !FREIZUEGIGKEIT.includes(n); }