-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathalg2-formular.ts
111 lines (101 loc) · 2.85 KB
/
alg2-formular.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
/*
* Datenmodell für die Eingabetabelle aus dem ALG2-Rechner von https://tacheles-sozialhilfe.de/files/Aktuelles/2022/ALG2-Berechnung-ver-5-0.xlsx
*/
export interface ALG2Formular {
beginnBewilligungszeitraum: Date;
antragsteller: LeistungsberechtigtePerson;
partnerInBG?: LeistungsberechtigtePerson;
kinder?: LeistungsberechtigtePerson[];
unterkunft: Unterkunft;
personenImHaushaltAusserhalbBG?: number;
}
export interface LeistungsberechtigtePerson {
geburtsdatum: Date;
kinderAusserhalbBG: boolean;
alleinerziehend: boolean;
erwerbsunfaehig: boolean;
mehrbedarf: Mehrbedarf;
einkommen: Einkommen;
absetzung: Absetzung;
}
export interface Mehrbedarf {
ernaehrung?: MehrbedarfErnaehrung;
schwangerschaft?: MehrbedarfSchwangerschaft;
teilhabeArbeitsleben: boolean;
besondererBedarf?: number;
}
export enum MehrbedarfErnaehrung {
STUFE_EINS = 1,
STUFE_ZWEI = 2,
}
export interface MehrbedarfSchwangerschaft {
entbindungstermin: Date;
betrag: number;
}
export interface Einkommen {
erwerbBrutto: number;
erwerbNetto: number;
selbststaendigkeit?: number;
}
export interface Absetzung {
gezahlteEinkommenssteuer?: number;
versicherungenAusserhalbErwerb: {
krankenversicherung?: number;
pflegeversicherung?: number;
rentenversicherung?: number;
privateAltersvorsorge?: number;
zvkBeitrag?: number;
}
arbeitstageImMonat?: number;
arbeitstageImMonatMit12StundenAbwesenheit?: number;
entfernungWohnungArbeitsplatz?: number;
privatePflichtversicherungenJahresbeitraege?: number;
sonstigeVersicherungenMonatsbeitraege?: number;
gewerkschaftsbeitraege?: number;
unterhaltsverpflichtungen?: number;
arbeitsmittel?: number;
werbungskosten?: number;
riestervertrag: boolean;
zusatzbeitragKrankenversicherung?: number;
priviligiertesEinkommen?: number;
taschengeldAusFreiwilligenDiensten?: number;
arbeitslosengeldEins?: number;
mittelwertKindergeldFuerAlleKinderInBG?: number;
unterhalt?: number;
unterhaltsvorschuss?: number;
wohngeldOderMischhaushalt?: number;
ausbildungsfoerderung?: number;
altersrente?: number;
leistungenRentenUndKrankversicherungen?: number;
sonstigesEinkommen?: number;
mieteinnahmen?: number;
sonstigesEinkommenKinderzuschlagBetreuungsgeldEtc?: number;
elterngeld?: {
betrag: number;
durchschnittlichesMonatlichesEinkommen: number;
verlaengerungsoptionGenutzt: boolean;
freibetrag?: number;
};
ueberhangKindergeld?: number;
}
export interface Unterkunft {
mietstufe: Mietstufe;
wohnverhaeltnis: Wohnverhaeltnis;
kaltmiete: number;
nebenkosten: number;
heizkosten: number;
zentraleWasserversorgung?: number;
}
export enum Wohnverhaeltnis {
MIETE = "MIETE",
EIGENTUM = "EIGENTUM"
}
export enum Mietstufe {
STUFE_EINS = 1,
STUFE_ZWEI = 2,
STUFE_DREI = 3,
STUFE_VIER = 4,
STUFE_FUENF = 5,
STUFE_SECHS = 6,
STUFE_SIEBEN = 7
}