58 lines
1.8 KiB
TypeScript
58 lines
1.8 KiB
TypeScript
export interface FdiskMember {
|
|
standesbuchNr: string;
|
|
dienstgrad: string;
|
|
vorname: string;
|
|
zuname: string;
|
|
geburtsdatum: string | null;
|
|
svnr: string | null;
|
|
eintrittsdatum: string | null;
|
|
abmeldedatum: string | null;
|
|
/** 'aktiv' if no Abmeldedatum, 'ausgetreten' otherwise */
|
|
status: 'aktiv' | 'ausgetreten';
|
|
/** URL or identifier to navigate to the member detail page */
|
|
detailUrl: string | null;
|
|
/** Additional profile fields scraped from the detail form */
|
|
geburtsort: string | null;
|
|
geschlecht: string | null;
|
|
beruf: string | null;
|
|
wohnort: string | null;
|
|
plz: string | null;
|
|
}
|
|
|
|
export interface FdiskAusbildung {
|
|
standesbuchNr: string;
|
|
kursname: string;
|
|
kursDatum: string | null;
|
|
ablaufdatum: string | null;
|
|
ort: string | null;
|
|
bemerkung: string | null;
|
|
/** Unique key built from standesbuchNr + kursname + kursDatum for deduplication */
|
|
syncKey: string;
|
|
}
|
|
|
|
export interface FdiskBefoerderung {
|
|
standesbuchNr: string;
|
|
datum: string | null; // ISO date
|
|
dienstgrad: string; // abbreviation from FDISK
|
|
syncKey: string; // `${standesbuchNr}::${dienstgrad}::${datum}`
|
|
}
|
|
|
|
export interface FdiskUntersuchung {
|
|
standesbuchNr: string;
|
|
datum: string | null; // ISO date
|
|
anmerkungen: string | null;
|
|
art: string; // Untersuchungsart (category)
|
|
ergebnis: string | null; // Tauglichkeitsstufe (result)
|
|
syncKey: string; // `${standesbuchNr}::${art}::${datum}`
|
|
}
|
|
|
|
export interface FdiskFahrgenehmigung {
|
|
standesbuchNr: string;
|
|
ausstellungsdatum: string | null; // ISO date
|
|
gueltigBis: string | null; // ISO date
|
|
behoerde: string | null;
|
|
nummer: string | null;
|
|
klasse: string; // Fahrgenehmigungsklasse display text
|
|
syncKey: string; // `${standesbuchNr}::${klasse}::${ausstellungsdatum}`
|
|
}
|