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}` }