from typing import TypedDict class Eintrittszeitraum(TypedDict, total=False): von: str # Date string in format 'YYYY-MM-DD' class Veroeffentlichungszeitraum(TypedDict): von: str # Date string in format 'YYYY-MM-DD' class Adresse(TypedDict): plz: str ort: str region: str land: str class Stellenlokation(TypedDict): adresse: Adresse breite: float laenge: float class Stellenangebot(TypedDict, total=False): stellenangebotsart: str stellenangebotsTitel: str quereinstiegGeeignet: bool stellenangebotsBeschreibung: str arbeitszeitSchichtNachtWochenende: bool arbeitszeitTeilzeitAbend: bool arbeitszeitTeilzeitNachmittag: bool arbeitszeitTeilzeitVormittag: bool arbeitszeitTeilzeitFlexibel: bool arbeitszeitVollzeit: bool eintrittszeitraum: Eintrittszeitraum verguetungsangabe: str vertragsdauer: str istGeringfuegigeBeschaeftigung: bool istBehinderungGefordert: bool stellenlokationen: list[Stellenlokation] homeofficemoeglich: bool homeofficetyp: str veroeffentlichungszeitraum: Veroeffentlichungszeitraum datumErsteVeroeffentlichung: str # Date string in format 'YYYY-MM-DD' aenderungsdatum: str # Datetime string in ISO format istBetreut: bool hauptberuf: str alternativBeruf1: str firma: str arbeitgeberKundennummerHash: str allianzpartnerUrl: str allianzpartnerName: str referenznummer: str class JobSearchResult(TypedDict): referenznummer: str class JobSearchResponse(TypedDict): ergebnisliste: list[JobSearchResult]