brynq-sdk-zenegy 1.3.3__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. brynq_sdk_zenegy/__init__.py +23 -0
  2. brynq_sdk_zenegy/absence.py +100 -0
  3. brynq_sdk_zenegy/companies.py +43 -0
  4. brynq_sdk_zenegy/cost_center.py +80 -0
  5. brynq_sdk_zenegy/departments.py +77 -0
  6. brynq_sdk_zenegy/employee_documents.py +40 -0
  7. brynq_sdk_zenegy/employees.py +301 -0
  8. brynq_sdk_zenegy/global_value_sets.py +260 -0
  9. brynq_sdk_zenegy/global_values.py +265 -0
  10. brynq_sdk_zenegy/paychecks.py +119 -0
  11. brynq_sdk_zenegy/payroll.py +117 -0
  12. brynq_sdk_zenegy/payslips.py +43 -0
  13. brynq_sdk_zenegy/pensions.py +118 -0
  14. brynq_sdk_zenegy/schemas/__init__.py +30 -0
  15. brynq_sdk_zenegy/schemas/absences.py +393 -0
  16. brynq_sdk_zenegy/schemas/companies.py +42 -0
  17. brynq_sdk_zenegy/schemas/company_cost_centers.py +48 -0
  18. brynq_sdk_zenegy/schemas/company_departments.py +147 -0
  19. brynq_sdk_zenegy/schemas/employee_documents.py +30 -0
  20. brynq_sdk_zenegy/schemas/employee_pay_checks.py +169 -0
  21. brynq_sdk_zenegy/schemas/employee_pensions.py +140 -0
  22. brynq_sdk_zenegy/schemas/employees.py +2372 -0
  23. brynq_sdk_zenegy/schemas/global_value_sets.py +185 -0
  24. brynq_sdk_zenegy/schemas/global_values.py +433 -0
  25. brynq_sdk_zenegy/schemas/payrolls.py +134 -0
  26. brynq_sdk_zenegy/schemas/payslips.py +32 -0
  27. brynq_sdk_zenegy/schemas/supplements_and_deductions_rates.py +189 -0
  28. brynq_sdk_zenegy/supplements_and_deductions_rates.py +71 -0
  29. brynq_sdk_zenegy/zenegy.py +221 -0
  30. brynq_sdk_zenegy-1.3.3.dist-info/METADATA +16 -0
  31. brynq_sdk_zenegy-1.3.3.dist-info/RECORD +33 -0
  32. brynq_sdk_zenegy-1.3.3.dist-info/WHEEL +5 -0
  33. brynq_sdk_zenegy-1.3.3.dist-info/top_level.txt +1 -0
@@ -0,0 +1,2372 @@
1
+ # Generated schemas for tag: Employees
2
+
3
+ from datetime import datetime
4
+ from typing import List, Optional, Any, Dict
5
+ from uuid import UUID
6
+ from pydantic import BaseModel, Field, ConfigDict
7
+
8
+ # BrynQ Pandera DataFrame Model for Employees
9
+ from pandera.typing import Series
10
+ import pandera as pa
11
+ import pandas as pd
12
+ from brynq_sdk_functions import BrynQPanderaDataFrameModel
13
+
14
+
15
+ class User(BaseModel):
16
+ """
17
+ User schema for employee user information.
18
+ """
19
+ email: Optional[str] = Field(default=None, description="User email address", example="john.doe@example.com")
20
+ id: Optional[int] = Field(default=None, description="User ID (internal numeric identifier)", example=1001)
21
+ is_active: Optional[bool] = Field(alias="isActive", default=None, description="Whether the user is active", example=True)
22
+ name: Optional[str] = Field(default=None, description="User display name", example="John Doe")
23
+ photo_url: Optional[str] = Field(alias="photoUrl", default=None, description="URL to user's profile photo", example="https://example.com/photo.jpg")
24
+ uid: Optional[UUID] = Field(example="00000000-0000-0000-0000-000000000000", default=None, description="User UID")
25
+
26
+ class Config:
27
+ populate_by_name = True
28
+
29
+
30
+ class Center(BaseModel):
31
+ """Schema for cost center or profit center information."""
32
+ number_of_employees: Optional[int] = Field(alias="numberOfEmployees", default=None, description="Number of employees in center", example=42)
33
+ employee_uids: Optional[List[UUID]] = Field(alias="employeeUids", default=None, description="Employee UIDs assigned to the center", example=["00000000-0000-0000-0000-000000000000"])
34
+ cost_center_name: Optional[str] = Field(alias="costCenterName", default=None, description="Cost center name", example="Sales")
35
+ cost_center_code: Optional[str] = Field(alias="costCenterCode", default=None, description="Cost center code", example="SALES")
36
+ type: Optional[str] = Field(default=None, description="Center type (cost/profit)", example="cost")
37
+ id: Optional[int] = Field(default=None, description="Center ID (internal numeric)", example=7)
38
+ uid: Optional[UUID] = Field(example="00000000-0000-0000-0000-000000000000", default=None, description="Center UID")
39
+
40
+ class Config:
41
+ populate_by_name = True
42
+
43
+
44
+ class Department(BaseModel):
45
+ """Schema for department information."""
46
+ name: Optional[str] = Field(default=None, description="Department name", example="Sales")
47
+ number: Optional[str] = Field(default=None, description="Department code/number", example="D-100")
48
+ has_work_schema: Optional[bool] = Field(alias="hasWorkSchema", default=None, description="Whether department has a work schema", example=True)
49
+ id: Optional[int] = Field(default=None, description="Department ID (internal numeric)", example=15)
50
+ uid: Optional[UUID] = Field(example="00000000-0000-0000-0000-000000000000", default=None, description="Department UID")
51
+
52
+ class Config:
53
+ populate_by_name = True
54
+
55
+
56
+ class Company(BaseModel):
57
+ """Schema for company information."""
58
+ association_id: Optional[int] = Field(alias="associationId", default=None, description="Association ID", example=12)
59
+ p_number: Optional[str] = Field(alias="pNumber", default=None, description="Company P-number", example="P12345")
60
+ cvr: Optional[str] = Field(default=None, description="Company CVR number", example="12345678")
61
+ has_holiday_payment: Optional[bool] = Field(alias="hasHolidayPayment", default=None, description="Has holiday payment enabled", example=True)
62
+ has_benefit_package: Optional[bool] = Field(alias="hasBenefitPackage", default=None, description="Has benefit package enabled", example=True)
63
+ has_benefit_package_two: Optional[bool] = Field(alias="hasBenefitPackageTwo", default=None, description="Has second benefit package enabled", example=False)
64
+ has_am_pension: Optional[bool] = Field(alias="hasAmPension", default=None, description="Has AM pension enabled", example=True)
65
+ is_department_income_split_enabled: Optional[bool] = Field(alias="isDepartmentIncomeSplitEnabled", default=None, description="Department income split enabled", example=False)
66
+ insurance_type: Optional[int] = Field(alias="insuranceType", default=None, description="Insurance type code", example=1)
67
+ is_use_of_vacation_days_in_advance_enabled: Optional[bool] = Field(alias="isUseOfVacationDaysInAdvanceEnabled", default=None, description="Use of vacation days in advance enabled", example=False)
68
+ is_horesta_supplement_enabled: Optional[bool] = Field(alias="isHorestaSupplementEnabled", default=None, description="HORESTA supplement enabled", example=False)
69
+ has_holiday_payment_netto_transfer_or_payout: Optional[bool] = Field(alias="hasHolidayPaymentNettoTransferOrPayout", default=None, description="Holiday payment netto transfer or payout enabled", example=False)
70
+ is_sh_payout_netto_enabled_payou: Optional[bool] = Field(alias="isShPayoutNettoEnabled", default=None, description="SH net payout enabled", example=False)
71
+ is_transfer_fifth_holiday_week_enabled_l: Optional[bool] = Field(alias="isTransferFifthHolidayWeekEnabled", default=None, description="Transfer of fifth holiday week enabled", example=False)
72
+ is_holiday_hindrance_enabled: Optional[bool] = Field(alias="isHolidayHindranceEnabled", default=None, description="Holiday hindrance enabled", example=False)
73
+ is_extra_holiday_entitlement_in_hours_enabled_l: Optional[bool] = Field(alias="isExtraHolidayEntitlementInHoursEnabled", default=None, description="Extra holiday entitlement in hours enabled", example=False)
74
+ extra_holiday_entitlement_in_hours: Optional[bool] = Field(alias="extraHolidayEntitlementInHours", default=None, description="Extra holiday entitlement applies in hours", example=False)
75
+ id: Optional[int] = Field(default=None, description="Company ID (internal numeric)", example=5)
76
+ uid: Optional[UUID] = Field(example="00000000-0000-0000-0000-000000000000", default=None, description="Company UID")
77
+ name: Optional[str] = Field(default=None, description="Company name", example="Acme A/S")
78
+ logo_url: Optional[str] = Field(alias="logoUrl", default=None, description="Company logo URL", example="https://example.com/logo.png")
79
+
80
+ class Config:
81
+ populate_by_name = True
82
+
83
+
84
+ class EmployeeBase(BaseModel):
85
+ """Schema for employee base information."""
86
+ date_of_resignation: Optional[datetime] = Field(None, alias="dateOfResignation", description="Employee resignation date (ISO 8601)", example="2024-05-31T00:00:00Z")
87
+ last_work_day: Optional[datetime] = Field(None, alias="lastWorkDay", description="Last working day (ISO 8601)", example="2024-05-30T00:00:00Z")
88
+ company_cost_center: Optional[Center] = Field(None, alias="companyCostCenter", description="Company-level cost center object")
89
+ company_profit_center: Optional[Center] = Field(None, alias="companyProfitCenter", description="Company-level profit center object")
90
+ created_on: Optional[datetime] = Field(None, alias="createdOn", description="Record creation timestamp (ISO 8601)", example="2024-01-15T12:00:00Z")
91
+ image_url: Optional[str] = Field(None, alias="imageUrl", description="Profile image URL", example="https://example.com/photo.jpg")
92
+ is_foreign: Optional[bool] = Field(None, alias="isForeign", description="Whether employee is foreign resident", example=False)
93
+ company: Optional[Company] = None
94
+ invited_by_email: Optional[int] = Field(None, alias="invitedByEmail", description="Invited by email flag (0/1)", example=0)
95
+ has_payroll: Optional[bool] = Field(None, alias="hasPayroll", description="Whether employee has payroll", example=True)
96
+ has_profile_image: Optional[bool] = Field(None, alias="hasProfileImage", description="Whether employee has a profile image", example=False)
97
+ user: Optional[User] = None
98
+ has_user: Optional[bool] = Field(None, alias="hasUser", description="Whether employee has a linked user", example=True)
99
+ is_resigned_within_last_year: Optional[bool] = Field(None, alias="isResignedWithinLastyear", description="Resigned within last year", example=False)
100
+ is_resigned_with_registrations: Optional[bool] = Field(None, alias="isResignedWithRegistrations", description="Resigned employee still has registrations", example=False)
101
+ salary_mode: Optional[int] = Field(None, alias="salaryMode", description="Salary mode code", example=0)
102
+ employment_date: Optional[datetime] = Field(None, alias="employmentDate", description="Employment start date (ISO 8601)", example="2023-06-01T00:00:00Z")
103
+ global_value_set_number: Optional[str] = Field(None, alias="globalValueSetNumber", description="Global value set number", example="GV-SET-01")
104
+ title: Optional[str] = None
105
+ is_active: Optional[bool] = Field(None, alias="isActive", description="Active employment status", example=True)
106
+ is_resigned: Optional[bool] = Field(None, alias="isResigned", description="Resigned status", example=False)
107
+ cpr: Optional[str] = None
108
+ salary_type: Optional[int] = Field(None, alias="salaryType", description="Salary type code", example=1)
109
+ contact_phone: Optional[str] = Field(None, alias="contactPhone", description="Contact phone number", example="+45 12 34 56 78")
110
+ email: Optional[str] = Field(None, alias="contactEmail", description="Contact email address", example="john.doe@example.com")
111
+ department: Optional[Department] = None
112
+ cost_center: Optional[Center] = Field(None, alias="costCenter", description="Employee cost center object")
113
+ profit_center: Optional[Center] = Field(None, alias="profitCenter", description="Employee profit center object")
114
+ car_registration_number: Optional[str] = Field(None, alias="carRegistrationNumber", description="Car registration number", example="AB12345")
115
+ type: Optional[int] = None
116
+ salary_payout_period: Optional[int] = Field(None, alias="salaryPayoutPeriod", description="Salary payout period code", example=1)
117
+ revenue_type: Optional[int] = Field(None, alias="revenueType", description="Revenue type code", example=0)
118
+ income_type: Optional[int] = Field(None, alias="incomeType", description="Income type code", example=0)
119
+ holiday_pay_receiver_type: Optional[int] = Field(None, alias="holidayPayReceiverType", description="Holiday pay receiver type code", example=0)
120
+ extra_holiday_entitlement_rule: Optional[str] = Field(None, alias="extraHolidayEntitlementRule", description="Extra holiday entitlement rule", example="RULE-1")
121
+ name: Optional[str] = None
122
+ employee_number: Optional[str] = Field(None, alias="employeeNumber", description="Internal employee number", example="E-1001")
123
+ extra_employee_number: Optional[str] = Field(None, alias="extraEmployeeNumber", description="Secondary employee number", example="EXT-55")
124
+ id: Optional[int] = None
125
+ uid: Optional[UUID] = Field(None, example="00000000-0000-0000-0000-000000000000", description="Employee UID")
126
+
127
+ class Config:
128
+ populate_by_name = True
129
+
130
+
131
+ class GetEmployeeBasesAsyncResponse(BaseModel):
132
+ """
133
+ Schema for getting employee bases asynchronously response.
134
+ """
135
+ total_records: Optional[int] = Field(
136
+ None, alias="totalRecords",
137
+ description="Total records in source", example=120
138
+ )
139
+ total_display_records: Optional[int] = Field(
140
+ None, alias="totalDisplayRecords",
141
+ description="Records count for current page", example=50
142
+ )
143
+ data: Optional[List[EmployeeBase]] = Field(
144
+ None,
145
+ description="List of employee base entries"
146
+ )
147
+
148
+ class Config:
149
+ populate_by_name = True
150
+
151
+ class EmployeeLanguage(BaseModel):
152
+ translation_key: Optional[str] = Field(
153
+ None, alias='translationKey',
154
+ description="Translation key for language", example="en"
155
+ )
156
+ id: Optional[int] = Field(
157
+ None, alias='id',
158
+ description="Language numeric identifier", example=1
159
+ )
160
+ name: Optional[str] = Field(
161
+ None, alias='name',
162
+ description="Language name", example="English"
163
+ )
164
+
165
+ class Config:
166
+ populate_by_name = True
167
+
168
+ class EmployeeUpsert(BaseModel):
169
+ """Request body for creating or replacing an employee."""
170
+ employee_type: int = Field(
171
+ ..., ge=1, le=3, alias="employeeType",
172
+ description="Employee type code (1=hourly, 2=monthly, 3=other)", example=1
173
+ )
174
+ p_number: str = Field(
175
+ ..., alias="pnumber",
176
+ description="External P-number for the employee (system specific)", example="P12345"
177
+ )
178
+ address: Optional[str] = Field(
179
+ None, max_length=50,
180
+ description="Street address", example="Main Street 1"
181
+ )
182
+ city: Optional[str] = Field(
183
+ None, max_length=50,
184
+ description="City name", example="Copenhagen"
185
+ )
186
+ postal_number: Optional[str] = Field(
187
+ None, max_length=20, alias="postalNumber",
188
+ description="Postal/ZIP code", example="2100"
189
+ )
190
+ mobile_phone: Optional[str] = Field(
191
+ None, max_length=50, alias="mobilePhone",
192
+ description="Mobile phone number", example="+45 12 34 56 78"
193
+ )
194
+ konto_number: Optional[str] = Field(
195
+ None, alias="kontoNumber",
196
+ description="Bank account (konto) number", example="1234567890"
197
+ )
198
+ reg_number: Optional[str] = Field(
199
+ None, alias="regNumber",
200
+ description="Bank registration number", example="0001"
201
+ )
202
+ language: Optional[EmployeeLanguage] = Field(
203
+ None, description="Preferred language object", example={"name": "English"}
204
+ )
205
+ tin_number: Optional[str] = Field(
206
+ None, alias="tinNumber",
207
+ description="Tax identification number", example="12345678"
208
+ )
209
+ cpr: Optional[str] = Field(
210
+ None, max_length=30,
211
+ description="Danish CPR (personal ID)", example="010190-1234"
212
+ )
213
+ email: Optional[str] = Field(
214
+ None, max_length=75,
215
+ description="Email address", example="john.doe@example.com"
216
+ )
217
+ name: str = Field(
218
+ ..., max_length=150,
219
+ description="Full name", example="John Doe"
220
+ )
221
+ linked_in: Optional[str] = Field(
222
+ None, max_length=200, alias="linkedIn",
223
+ description="LinkedIn profile URL", example="https://www.linkedin.com/in/johndoe"
224
+ )
225
+ car_registration_number: Optional[str] = Field(
226
+ None, max_length=20, alias="carRegistrationNumber",
227
+ description="Car registration number", example="AB12345"
228
+ )
229
+ country_code: Optional[str] = Field(
230
+ None, max_length=5, alias="countryCode",
231
+ description="ISO country code", example="DK"
232
+ )
233
+
234
+ class Config:
235
+ populate_by_name = True
236
+
237
+
238
+ class StartSaldo(BaseModel):
239
+ start_g_days: Optional[float] = Field(default=None, description="Start G-days balance", example=0.0)
240
+ start_time_off_good: Optional[float] = Field(default=None, description="Start time-off good balance", example=0.0)
241
+ start_time_off_amount: Optional[float] = Field(default=None, description="Start time-off amount", example=0.0)
242
+ start_am_income: Optional[float] = Field(default=None, description="Start AM income", example=0.0)
243
+ start_contributory_income: Optional[float] = Field(default=None, description="Start contributory income", example=0.0)
244
+ start_one_time_income: Optional[float] = Field(default=None, description="Start one-time income", example=0.0)
245
+ start_b_income_with_am: Optional[float] = Field(default=None, description="Start B income with AM", example=0.0)
246
+ start_b_in_come_without_am: Optional[float] = Field(default=None, description="Start B income without AM", example=0.0)
247
+ start_hours: Optional[float] = Field(default=None, description="Start hours balance", example=0.0)
248
+ start_atp: Optional[float] = Field(default=None, description="Start ATP amount", example=0.0)
249
+ start_am: Optional[float] = Field(default=None, description="Start AM amount", example=0.0)
250
+ start_a_skat: Optional[float] = Field(default=None, description="Start A-skat amount", example=0.0)
251
+ start_health_insurance: Optional[float] = Field(default=None, description="Start health insurance amount", example=0.0)
252
+ start_company_car: Optional[float] = Field(default=None, description="Start company car amount", example=0.0)
253
+ start_company_lodging: Optional[float] = Field(default=None, description="Start company lodging amount", example=0.0)
254
+ start_mileage: Optional[float] = Field(default=None, description="Start mileage", example=0.0)
255
+ start_mileage_low_rate: Optional[float] = Field(default=None, description="Start mileage low rate", example=0.0)
256
+ start_travel_allowance: Optional[float] = Field(default=None, description="Start travel allowance", example=0.0)
257
+ start_personal_pension: Optional[float] = Field(default=None, description="Start personal pension amount", example=0.0)
258
+ start_pension_from_company: Optional[float] = Field(default=None, description="Start company pension amount", example=0.0)
259
+ start_group_life: Optional[float] = Field(default=None, description="Start group life amount", example=0.0)
260
+ start_group_life_2: Optional[float] = Field(default=None, description="Start group life amount (2)", example=0.0)
261
+ start_personal_amp: Optional[float] = Field(default=None, description="Start personal AMP amount", example=0.0)
262
+ start_company_amp: Optional[float] = Field(default=None, description="Start company AMP amount", example=0.0)
263
+ start_net_holiday_pay: Optional[float] = Field(default=None, description="Start net holiday pay amount", example=0.0)
264
+ start_number_of_vacation_days: Optional[float] = Field(default=None, description="Start number of vacation days", example=0.0)
265
+ start_holiday_supplement_value: Optional[float] = Field(default=None, description="Start holiday supplement value", example=0.0)
266
+ start_benefits_package_saldo: Optional[float] = Field(default=None, description="Start benefits package saldo", example=0.0)
267
+ start_benefits_package_earned: Optional[float] = Field(default=None, description="Start benefits package earned", example=0.0)
268
+ start_benefits_package_two_saldo: Optional[float] = Field(default=None, description="Start benefits package two saldo", example=0.0)
269
+ start_benefits_package_two_earned: Optional[float] = Field(default=None, description="Start benefits package two earned", example=0.0)
270
+ start_vacations_legitimate_salary: Optional[float] = Field(default=None, description="Start vacations legitimate salary", example=0.0)
271
+ start_free_phone: Optional[float] = Field(default=None, description="Start free phone amount", example=0.0)
272
+ start_am_contributions_wages_and_holidaypay: Optional[float] = Field(default=None, description="Start AM contributions wages and holiday pay", example=0.0)
273
+ start_number_of_vacation_days_two_periods_before: Optional[float] = Field(default=None, description="Start vacation days two periods before", example=0.0)
274
+ start_number_of_vacation_days_previous_period: Optional[float] = Field(default=None, description="Start vacation days previous period", example=0.0)
275
+ start_number_of_vacation_days_frozen_period: Optional[float] = Field(default=None, description="Start vacation days frozen period", example=0.0)
276
+ start_number_of_vacation_days_current_period: Optional[float] = Field(default=None, description="Start vacation days current period", example=0.0)
277
+ start_holiday_supplement_two_periods_before: Optional[float] = Field(default=None, description="Start holiday supplement two periods before", example=0.0)
278
+ start_holiday_supplement_previous_period: Optional[float] = Field(default=None, description="Start holiday supplement previous period", example=0.0)
279
+ start_holiday_supplement_current_period: Optional[float] = Field(default=None, description="Start holiday supplement current period", example=0.0)
280
+ start_holiday_payment_saved: Optional[float] = Field(default=None, description="Start holiday payment saved", example=0.0)
281
+ start_holiday_payment_advance: Optional[float] = Field(default=None, description="Start holiday payment advance", example=0.0)
282
+ start_holiday_payment_advance_year_before: Optional[float] = Field(default=None, description="Start holiday payment advance year before", example=0.0)
283
+ start_holiday_payment_saved_year_before: Optional[float] = Field(default=None, description="Start holiday payment saved year before", example=0.0)
284
+ start_holiday_payment_saved_netto_year_before: Optional[float] = Field(default=None, description="Start holiday payment saved netto year before", example=0.0)
285
+ start_holiday_payment_saved_netto: Optional[float] = Field(default=None, description="Start holiday payment saved netto", example=0.0)
286
+ start_holiday_payment_saldo_netto: Optional[float] = Field(default=None, description="Start holiday payment saldo netto", example=0.0)
287
+ start_used_vacation_day_units_current_period: Optional[float] = Field(default=None, description="Start used vacation day units current period", example=0.0)
288
+ start_used_vacation_day_units_previous_period: Optional[float] = Field(default=None, description="Start used vacation day units previous period", example=0.0)
289
+ start_used_vacation_day_units_two_periods_before: Optional[float] = Field(default=None, description="Start used vacation day units two periods before", example=0.0)
290
+ start_used_vacation_day_units_frozen_period: Optional[float] = Field(default=None, description="Start used vacation day units frozen period", example=0.0)
291
+ start_used_holiday_supplement_current_period: Optional[float] = Field(default=None, description="Start used holiday supplement current period", example=0.0)
292
+ start_used_holiday_supplement_previous_period: Optional[float] = Field(default=None, description="Start used holiday supplement previous period", example=0.0)
293
+ start_used_holiday_supplement_two_periods_before: Optional[float] = Field(default=None, description="Start used holiday supplement two periods before", example=0.0)
294
+ start_earned_vacations_legitimate_salary_amount_previous_period: Optional[float] = Field(default=None, description="Earned vacations legitimate salary amount previous period", example=0.0)
295
+ start_earned_vacations_legitimate_salary_amount_two_periods_before: Optional[float] = Field(default=None, description="Earned vacations legitimate salary amount two periods before", example=0.0)
296
+ start_earned_vacations_legitimate_salary_amount_frozen_period: Optional[float] = Field(default=None, description="Earned vacations legitimate salary amount frozen period", example=0.0)
297
+ start_earned_holiday_pay_net_amount_previous_period: Optional[float] = Field(default=None, description="Earned holiday pay net amount previous period", example=0.0)
298
+ start_earned_holiday_pay_net_amount_two_periods_before: Optional[float] = Field(default=None, description="Earned holiday pay net amount two periods before", example=0.0)
299
+ start_earned_holiday_pay_net_amount_frozen_period: Optional[float] = Field(default=None, description="Earned holiday pay net amount frozen period", example=0.0)
300
+ start_earned_holiday_pay_net_amount_current_period: Optional[float] = Field(default=None, description="Earned holiday pay net amount current period", example=0.0)
301
+ start_used_holiday_pay_net_amount_current_period: Optional[float] = Field(default=None, description="Used holiday pay net amount current period", example=0.0)
302
+ start_used_holiday_pay_net_amount_previous_period: Optional[float] = Field(default=None, description="Used holiday pay net amount previous period", example=0.0)
303
+ start_used_holiday_pay_net_amount_two_periods_before: Optional[float] = Field(default=None, description="Used holiday pay net amount two periods before", example=0.0)
304
+ start_used_holiday_pay_net_amount_frozen_period: Optional[float] = Field(default=None, description="Used holiday pay net amount frozen period", example=0.0)
305
+ start_earned_care_days_two_years_before: Optional[float] = Field(default=None, description="Earned care days two years before", example=0.0)
306
+ start_earned_care_days_year_before: Optional[float] = Field(default=None, description="Earned care days year before", example=0.0)
307
+ start_earned_care_days_current_year: Optional[float] = Field(default=None, description="Earned care days current year", example=0.0)
308
+ start_used_care_days_two_years_before: Optional[float] = Field(default=None, description="Used care days two years before", example=0.0)
309
+ start_used_care_days_year_before: Optional[float] = Field(default=None, description="Used care days year before", example=0.0)
310
+ start_used_care_days_current_year: Optional[float] = Field(default=None, description="Used care days current year", example=0.0)
311
+ start_earned_free_vacation_days_two_years_before: Optional[float] = Field(default=None, description="Earned free vacation days two years before", example=0.0)
312
+ start_earned_free_vacation_days_year_before: Optional[float] = Field(default=None, description="Earned free vacation days year before", example=0.0)
313
+ start_earned_free_vacation_days_current_year: Optional[float] = Field(default=None, description="Earned free vacation days current year", example=0.0)
314
+ start_used_free_vacation_days_two_years_before: Optional[float] = Field(default=None, description="Used free vacation days two years before", example=0.0)
315
+ start_used_free_vacation_days_year_before: Optional[float] = Field(default=None, description="Used free vacation days year before", example=0.0)
316
+ start_used_free_vacation_days_current_year: Optional[float] = Field(default=None, description="Used free vacation days current year", example=0.0)
317
+ start_earned_holiday_pay_gross_two_periods_before: Optional[float] = Field(default=None, description="Earned holiday pay gross two periods before", example=0.0)
318
+ start_earned_holiday_pay_gross_previous_period: Optional[float] = Field(default=None, description="Earned holiday pay gross previous period", example=0.0)
319
+ start_earned_holiday_pay_gross_current_period: Optional[float] = Field(default=None, description="Earned holiday pay gross current period", example=0.0)
320
+ start_earned_holiday_pay_gross_frozen_period: Optional[float] = Field(default=None, description="Earned holiday pay gross frozen period", example=0.0)
321
+ start_used_holiday_pay_gross_two_periods_before: Optional[float] = Field(default=None, description="Used holiday pay gross two periods before", example=0.0)
322
+ start_used_holiday_pay_gross_previous_period: Optional[float] = Field(default=None, description="Used holiday pay gross previous period", example=0.0)
323
+ start_used_holiday_pay_gross_current_period: Optional[float] = Field(default=None, description="Used holiday pay gross current period", example=0.0)
324
+ start_used_holiday_pay_gross_frozen_period: Optional[float] = Field(default=None, description="Used holiday pay gross frozen period", example=0.0)
325
+ start_flex_hours: Optional[float] = Field(default=None, description="Start flex hours", example=0.0)
326
+ start_time_in_lieu_earned_hours: Optional[float] = Field(default=None, description="Start time-in-lieu earned hours", example=0.0)
327
+ start_time_in_lieu_earned_amount: Optional[float] = Field(default=None, description="Start time-in-lieu earned amount", example=0.0)
328
+ start_health_insurance_no_am_pension: Optional[float] = Field(default=None, description="Start health insurance (no AM pension)", example=0.0)
329
+ start_health_insurance_no_am_pension_no_vacation_entitled_money: Optional[float] = Field(default=None, description="Start health insurance (no AM pension, no vacation entitled)", example=0.0)
330
+ start_not_covered_by_triviality: Optional[float] = Field(default=None, description="Start not covered by triviality", example=0.0)
331
+ start_christmas_gifts_benefit: Optional[float] = Field(default=None, description="Start Christmas gifts benefit", example=0.0)
332
+ start_other_benefit: Optional[float] = Field(default=None, description="Start other benefit", example=0.0)
333
+ start_negative_salary_saldo: Optional[float] = Field(default=None, description="Start negative salary saldo", example=0.0)
334
+ start_anniversary_bonus_saldo: Optional[float] = Field(default=None, description="Start anniversary bonus saldo", example=0.0)
335
+ start_severance_saldo: Optional[float] = Field(default=None, description="Start severance saldo", example=0.0)
336
+ start_travel_allowance_without_payment: Optional[float] = Field(default=None, description="Start travel allowance without payment", example=0.0)
337
+ start_holday_at_own_expense_two_years_before: Optional[float] = Field(default=None, description="Start holiday at own expense two years before", example=0.0)
338
+ start_holday_at_own_expense_year_before: Optional[float] = Field(default=None, description="Start holiday at own expense year before", example=0.0)
339
+ start_holday_at_own_expense_current_year: Optional[float] = Field(default=None, description="Start holiday at own expense current year", example=0.0)
340
+ start_holday_at_own_expense_two_years_before_saldo: Optional[float] = Field(default=None, description="Start holiday at own expense two years before saldo", example=0.0)
341
+ start_holday_at_own_expense_year_before_saldo: Optional[float] = Field(default=None, description="Start holiday at own expense year before saldo", example=0.0)
342
+ start_holday_at_own_expense_current_year_saldo: Optional[float] = Field(default=None, description="Start holiday at own expense current year saldo", example=0.0)
343
+ start_number_of_vacation_days_fifth_holiday_week_two_years_before: Optional[float] = Field(default=None, description="Start vacation days (5th week) two years before", example=0.0)
344
+ start_number_used_vacation_days_fifth_holiday_week_two_years_before: Optional[float] = Field(default=None, description="Start used vacation days (5th week) two years before", example=0.0)
345
+ start_vacation_pay_gross_fifth_holiday_week_two_years_before: Optional[float] = Field(default=None, description="Start vacation pay gross (5th week) two years before", example=0.0)
346
+ start_vacations_legitimate_salary_fifth_holiday_week_two_years_before: Optional[float] = Field(default=None, description="Start vacations legitimate salary (5th week) two years before", example=0.0)
347
+ start_vacation_supplement_earned_fifth_holiday_week_two_years_before: Optional[float] = Field(default=None, description="Start vacation supplement earned (5th week) two years before", example=0.0)
348
+ start_vacation_supplement_used_fifth_holiday_week_two_years_before: Optional[float] = Field(default=None, description="Start vacation supplement used (5th week) two years before", example=0.0)
349
+ start_number_of_vacation_days_fifth_holiday_week_three_years_before: Optional[float] = Field(default=None, description="Start vacation days (5th week) three years before", example=0.0)
350
+ start_number_used_vacation_days_fifth_holiday_week_three_years_before: Optional[float] = Field(default=None, description="Start used vacation days (5th week) three years before", example=0.0)
351
+ start_vacation_pay_gross_fifth_holiday_week_three_years_before: Optional[float] = Field(default=None, description="Start vacation pay gross (5th week) three years before", example=0.0)
352
+ start_vacations_legitimate_salary_fifth_holiday_week_three_years_before: Optional[float] = Field(default=None, description="Start vacations legitimate salary (5th week) three years before", example=0.0)
353
+ start_vacation_supplement_earned_fifth_holiday_week_three_years_before: Optional[float] = Field(default=None, description="Start vacation supplement earned (5th week) three years before", example=0.0)
354
+ start_vacation_supplement_used_fifth_holiday_week_three_years_before: Optional[float] = Field(default=None, description="Start vacation supplement used (5th week) three years before", example=0.0)
355
+ start_vacation_pay_gross_used_fifth_holiday_week_two_years_before: Optional[float] = Field(default=None, description="Start vacation pay gross used (5th week) two years before", example=0.0)
356
+ start_vacation_pay_gross_used_fifth_holiday_week_three_years_before: Optional[float] = Field(default=None, description="Start vacation pay gross used (5th week) three years before", example=0.0)
357
+ start_holiday_hindrance_transferred_days_fifth_holiday_week_current_period: Optional[float] = None
358
+ start_payout_from_fifth_holiday_week_current_period: Optional[float] = None
359
+ start_gross_holiday_pay_transferred_fifth_holiday_week_current_period: Optional[float] = None
360
+ start_lost_gross_holiday_pay_fifth_holiday_week_current_period: Optional[float] = None
361
+ start_paid_days_fifth_holiday_week_current_period: Optional[float] = None
362
+ start_transferred_days_fifth_holiday_week_current_period: Optional[float] = None
363
+ start_transferred_days_used_fifth_holiday_week_current_period: Optional[float] = None
364
+ start_gross_holiday_pay_transferred_fifth_holiday_week_previous_period: Optional[float] = None
365
+ start_holiday_hindrance_transferred_days_fifth_holiday_week_previous_period: Optional[float] = None
366
+ start_payout_from_fifth_holiday_week_previous_period: Optional[float] = None
367
+ start_lost_gross_holiday_pay_fifth_holiday_week_previous_period: Optional[float] = None
368
+ start_paid_days_fifth_holiday_week_previous_period: Optional[float] = None
369
+ start_transferred_days_fifth_holiday_week_previous_period: Optional[float] = None
370
+ start_transferred_days_used_fifth_holiday_week_previous_period: Optional[float] = None
371
+ start_holiday_hindrance_transferred_days_fifth_holiday_week_two_periods_before: Optional[float] = None
372
+ start_lost_gross_holiday_pay_fifth_holiday_week_two_periods_before: Optional[float] = None
373
+ start_holiday_hindrance_transferred_days_fifth_holiday_week_three_periods_before: Optional[float] = None
374
+ start_transferred_days_fifth_holiday_week_three_periods_before: Optional[float] = None
375
+ start_transferred_days_used_fifth_holiday_week_three_periods_before: Optional[float] = None
376
+ start_gross_holiday_pay_transferred_fifth_holiday_week_three_periods_before: Optional[float] = None
377
+ start_lost_gross_holiday_pay_fifth_holiday_week_three_periods_before: Optional[float] = None
378
+ start_earned_care_days_three_years_before: Optional[float] = None
379
+ start_used_care_days_three_years_before: Optional[float] = None
380
+ start_earned_free_vacation_days_three_years_before: Optional[float] = None
381
+ start_used_free_vacation_days_three_years_before: Optional[float] = None
382
+ start_holday_at_own_expense_three_years_before: Optional[float] = None
383
+ start_holday_at_own_expense_three_years_before_saldo: Optional[float] = None
384
+ start_holiday_hindrance_used_days_fifth_holiday_week_two_periods_before: Optional[float] = None
385
+ start_holiday_hindrance_used_days_fifth_holiday_week_three_periods_before: Optional[float] = None
386
+ start_holiday_pay_gross_used_fifth_holiday_week_current_period: Optional[float] = None
387
+ start_holiday_pay_gross_used_fifth_holiday_week_previous_period: Optional[float] = None
388
+ start_transferred_gross_holiday_pay_used_fifth_holiday_week_previous_period: Optional[float] = None
389
+ start_transferred_gross_holiday_pay_used_fifth_holiday_week_three_periods_before: Optional[float] = None
390
+ start_holiday_hindrance_used_days_fifth_holiday_week_previous_period: Optional[float] = None
391
+ start_holiday_pay_gross_used_two_periods_before: Optional[float] = None
392
+ start_holiday_pay_gross_used_three_periods_before: Optional[float] = None
393
+ start_paid_days_fifth_holiday_week_two_periods_before: Optional[float] = None
394
+ start_transferred_days_fifth_holiday_week_two_periods_before: Optional[float] = None
395
+ start_transferred_days_used_fifth_holiday_week_two_periods_before: Optional[float] = None
396
+ start_payout_from_fifth_holiday_week_two_periods_before: Optional[float] = None
397
+ start_gross_holiday_pay_transferred_fifth_holiday_week_two_periods_before: Optional[float] = None
398
+ start_transferred_gross_holiday_pay_used_fifth_holiday_week_two_periods_before: Optional[float] = None
399
+
400
+
401
+ class EmploymentData(BaseModel):
402
+ employee_number: Optional[str] = Field(None, max_length=15, description="Internal employee number", example="E-1001")
403
+ extra_employee_number: Optional[str] = Field(None, max_length=15, description="Secondary employee number", example="EXT-55")
404
+ employment_date: Optional[datetime] = None
405
+ department_id: Optional[int] = Field(None, ge=-2147483648, le=2147483647, description="Department ID (int)", example=10)
406
+
407
+ class EmployeeCreate(BaseModel):
408
+ iban: Optional[str] = Field(
409
+ None, max_length=34, alias='iban',
410
+ description="International Bank Account Number", example="DK5000400440116243"
411
+ )
412
+ swift: Optional[str] = Field(
413
+ None, max_length=11, alias='swift',
414
+ description="SWIFT/BIC code", example="NDEADKKK"
415
+ )
416
+ is_foreign: Optional[bool] = Field(
417
+ None, alias='isForeign',
418
+ description="Is the employee foreign resident?", example=False
419
+ )
420
+ is_cpr_validated: Optional[bool] = Field(
421
+ None, alias='isCprValidated',
422
+ description="Whether CPR has been validated", example=False
423
+ )
424
+ employee_number: Optional[str] = Field(
425
+ None, alias='employeeNumber',
426
+ description="Internal employee number", example="E-1001"
427
+ )
428
+ extra_employee_number: Optional[str] = Field(
429
+ None, alias='extraEmployeeNumber',
430
+ description="Secondary employee number", example="EXT-55"
431
+ )
432
+ global_value_set_uid: Optional[UUID] = Field(
433
+ None, alias='globalValueSetUid',
434
+ description="Global value set UID", example="00000000-0000-0000-0000-000000000000"
435
+ )
436
+ global_value_uid: Optional[UUID] = Field(
437
+ None, alias='globalValueUid',
438
+ description="Global value UID", example="00000000-0000-0000-0000-000000000000"
439
+ )
440
+ employment_date: Optional[datetime] = Field(
441
+ None, alias='employmentDate',
442
+ description="Employment start date", example="2024-01-01T00:00:00Z"
443
+ )
444
+ ancinity_date: Optional[datetime] = Field(
445
+ None, alias='ancinityDate',
446
+ description="Seniority date", example="2023-06-01T00:00:00Z"
447
+ )
448
+ company_date: Optional[datetime] = Field(
449
+ None, alias='companyDate',
450
+ description="Date of joining the company group", example="2023-06-15T00:00:00Z"
451
+ )
452
+ start_saldo: Optional[StartSaldo] = Field(
453
+ None, alias='startSaldo',
454
+ description="Starting balances (saldo) object", example=None
455
+ )
456
+ employment_data: Optional[EmploymentData] = Field(
457
+ None, alias='employmentData',
458
+ description="Employment metadata (numbers, department)", example=None
459
+ )
460
+ address: Optional[str] = Field(
461
+ None, max_length=50, alias='address',
462
+ description="Street address", example="Main Street 1"
463
+ )
464
+ city: Optional[str] = Field(
465
+ None, max_length=50, alias='city',
466
+ description="City name", example="Copenhagen"
467
+ )
468
+ postal_number: Optional[str] = Field(
469
+ None, max_length=20, alias='postalNumber',
470
+ description="Postal/ZIP code", example="2100"
471
+ )
472
+ mobile_phone: Optional[str] = Field(
473
+ None, max_length=50, alias='mobilePhone',
474
+ description="Mobile phone number", example="+45 12 34 56 78"
475
+ )
476
+ konto_number: Optional[str] = Field(
477
+ None, alias='kontoNumber',
478
+ description="Bank account (konto) number", example="1234567890"
479
+ )
480
+ reg_number: Optional[str] = Field(
481
+ None, alias='regNumber',
482
+ description="Bank registration number", example="0001"
483
+ )
484
+ language: Optional[EmployeeLanguage] = Field(
485
+ None, alias='language',
486
+ description="Preferred language object", example={"name": "English"}
487
+ )
488
+ tin_number: Optional[str] = Field(
489
+ None, alias='tinNumber',
490
+ description="Tax identification number", example="12345678"
491
+ )
492
+ cpr: Optional[str] = Field(
493
+ None, max_length=30, alias='cpr',
494
+ description="Danish CPR (personal ID)", example="010190-1234"
495
+ )
496
+ email: Optional[str] = Field(
497
+ None, max_length=75, alias='email',
498
+ description="Email address", example="john.doe@example.com"
499
+ )
500
+ name: str = Field(
501
+ ..., max_length=150, alias='name',
502
+ description="Full name", example="John Doe"
503
+ )
504
+ linked_in: Optional[str] = Field(
505
+ None, max_length=200, alias='linkedIn',
506
+ description="LinkedIn profile URL", example="https://www.linkedin.com/in/johndoe"
507
+ )
508
+ car_registration_number: Optional[str] = Field(
509
+ None, max_length=20, alias='carRegistrationNumber',
510
+ description="Car registration number", example="AB12345"
511
+ )
512
+ country_code: Optional[str] = Field(
513
+ None, max_length=5, alias='countryCode',
514
+ description="ISO country code", example="DK"
515
+ )
516
+
517
+ class Config:
518
+ populate_by_name = True
519
+
520
+
521
+ class EmployeeUpdate(BaseModel):
522
+ """Partial update for an employee (PATCH). All fields optional."""
523
+
524
+ # Contact / identity
525
+ cpr: Optional[str] = Field(
526
+ None, alias='cpr',
527
+ description="Danish CPR (personal ID)", example="010190-1234"
528
+ )
529
+ email: Optional[str] = Field(
530
+ None, alias='email',
531
+ description="Email address", example="john.doe@example.com"
532
+ )
533
+ name: Optional[str] = Field(
534
+ None, alias='name',
535
+ description="Full name", example="John Doe"
536
+ )
537
+ linked_in: Optional[str] = Field(
538
+ None, alias='linkedIn',
539
+ description="LinkedIn profile URL", example="https://www.linkedin.com/in/johndoe"
540
+ )
541
+ car_registration_number: Optional[str] = Field(
542
+ None, alias='carRegistrationNumber',
543
+ description="Car registration number", example="AB12345"
544
+ )
545
+
546
+ # Address & communication
547
+ address: Optional[str] = Field(
548
+ None, alias='address',
549
+ description="Street address", example="Main Street 1"
550
+ )
551
+ city: Optional[str] = Field(
552
+ None, alias='city',
553
+ description="City name", example="Copenhagen"
554
+ )
555
+ postal_number: Optional[str] = Field(
556
+ None, alias='postalNumber',
557
+ description="Postal/ZIP code", example="2100"
558
+ )
559
+ mobile_phone: Optional[str] = Field(
560
+ None, alias='mobilePhone',
561
+ description="Mobile phone number", example="+45 12 34 56 78"
562
+ )
563
+
564
+ # Banking & payment
565
+ konto_number: Optional[str] = Field(
566
+ None, alias='kontoNumber',
567
+ description="Bank account (konto) number", example="1234567890"
568
+ )
569
+ reg_number: Optional[str] = Field(
570
+ None, alias='regNumber',
571
+ description="Bank registration number", example="0001"
572
+ )
573
+ iban: Optional[str] = Field(
574
+ None, alias='iban',
575
+ description="International Bank Account Number", example="DK5000400440116243"
576
+ )
577
+ swift: Optional[str] = Field(
578
+ None, alias='swift',
579
+ description="SWIFT/BIC code", example="NDEADKKK"
580
+ )
581
+
582
+ # Miscellaneous personal settings
583
+ language: Optional[EmployeeLanguage] = Field(
584
+ None, alias='language',
585
+ description="Preferred language object", example={"name": "English"}
586
+ )
587
+ country_code: Optional[str] = Field(
588
+ None, alias='countryCode',
589
+ description="ISO country code", example="DK"
590
+ )
591
+
592
+ # Flags
593
+ is_foreign: Optional[bool] = Field(
594
+ False, alias='isForeign',
595
+ description="Is the employee foreign resident?", example=False
596
+ )
597
+ is_cpr_validated: Optional[bool] = Field(
598
+ False, alias='isCprValidated',
599
+ description="Whether CPR has been validated", example=False
600
+ )
601
+
602
+ # Employment details
603
+ # employment_date: Optional[datetime] = Field(
604
+ # None, alias='employmentDate',
605
+ # description="Employment start date", example="2024-01-01T00:00:00Z"
606
+ # )
607
+ ancinity_date: Optional[datetime] = Field(
608
+ None, alias='ancinityDate',
609
+ description="Seniority date", example="2023-06-01T00:00:00Z"
610
+ )
611
+ employee_number: Optional[str] = Field(
612
+ None, alias='employeeNumber',
613
+ description="Internal employee number", example="E-1001"
614
+ )
615
+ extra_employee_number: Optional[str] = Field(
616
+ None, alias='extraEmployeeNumber',
617
+ description="Secondary employee number", example="EXT-55"
618
+ )
619
+ # department_id: Optional[int] = Field(
620
+ # None, alias='departmentId',
621
+ # description="Department numeric identifier", example=10
622
+ # )
623
+ company_department_uid: Optional[UUID] = Field(
624
+ None,
625
+ alias='companyDepartmentUid',
626
+ description="Target department UID", example="00000000-0000-0000-0000-000000000000"
627
+ )
628
+
629
+ # Balances / saldo information (kept in a dedicated sub-object)
630
+ start_saldo: Optional[StartSaldo] = Field(
631
+ None, alias='startSaldo',
632
+ description="Starting balances (saldo) object", example=None
633
+ )
634
+
635
+ # ------------------------- Added fields -------------------------
636
+ salary_type: Optional[int] = Field(None, alias='salaryType', description="Salary type code", example=1)
637
+ income_type: Optional[int] = Field(None, alias='incomeType', description="Income type code", example=0)
638
+ tax: Optional[int] = Field(None, alias='tax', description="Tax code", example=0)
639
+ revenue_type: Optional[int] = Field(None, alias='revenueType', description="Revenue type code", example=0)
640
+ maternity_type: Optional[int] = Field(None, alias='maternityType', description="Maternity type code", example=0)
641
+ atp_type: Optional[str] = Field(None, alias='atpType', description="ATP type string", example="A")
642
+ additional_tax_rate: Optional[float] = Field(None, alias='additionalTaxRate', description="Additional tax rate (percentage)", example=3.5)
643
+ enable_file_transfer: Optional[bool] = Field(None, alias='enableFileTransfer', description="Enable file transfer flag", example=False)
644
+ insurance_category: Optional[int] = Field(None, alias='insuranceCategory', description="Insurance category code", example=0)
645
+ company_cvr_number: Optional[str] = Field(None, alias='companyCvrNumber', description="Company CVR number", example="12345678")
646
+ is_employee_look_like_other_employee: Optional[bool] = Field(None, alias='isEmployeeLookLikeOtherEmployee', description="Employee modeled after another employee", example=False)
647
+ look_like_employee_uid: Optional[UUID] = Field(None, alias='lookLikeEmployeeUid', description="UID of the employee to mirror", example="00000000-0000-0000-0000-000000000000")
648
+ # title: Optional[str] = Field(None, alias='title', description="Job title", example="Engineer")
649
+ is_active: Optional[bool] = Field(None, alias='isActive', description="Active status", example=True)
650
+ job_description: Optional[str] = Field(None, alias='jobDescription', description="Job description text", example="Backend developer")
651
+ company_cost_center_uid: Optional[UUID] = Field(None, alias='companyCostCenterUid', description="Company cost center UID", example="00000000-0000-0000-0000-000000000000")
652
+ company_profit_center_uid: Optional[UUID] = Field(None, alias='companyProfitCenterUid', description="Company profit center UID", example="00000000-0000-0000-0000-000000000000")
653
+ booking_group_uid: Optional[UUID] = Field(None, alias='bookingGroupUid', description="Booking group UID", example="00000000-0000-0000-0000-000000000000")
654
+ company_date: Optional[datetime] = Field(None, alias='companyDate', description="Company date (ISO 8601)", example="2023-06-15T00:00:00Z")
655
+ holiday_pay_receiver_uid: Optional[UUID] = Field(None, alias='holidayPayReceiverUid', description="Holiday pay receiver UID", example="00000000-0000-0000-0000-000000000000")
656
+ benefit_package_amount: Optional[float] = Field(None, alias='benefitPackageAmount', description="Benefit package amount", example=500.0)
657
+ benefit_package_amount_type: Optional[int] = Field(None, alias='benefitPackageAmountType', description="Benefit package amount type code", example=0)
658
+ holiday_payment_amount: Optional[float] = Field(None, alias='holidayPaymentAmount', description="Holiday payment amount", example=1000.0)
659
+ holiday_payment_type: Optional[int] = Field(None, alias='holidayPaymentType', description="Holiday payment type code", example=0)
660
+ benefit_package_type: Optional[int] = Field(None, alias='benefitPackageType', description="Benefit package type code", example=0)
661
+ include_benefit_package_in_pension: Optional[bool] = Field(None, alias='includeBenefitPackageInPension', description="Include benefit package in pension base", example=True)
662
+ holiday_pay_rate: Optional[float] = Field(None, alias='holidayPayRate', description="Holiday pay rate (percentage)", example=12.5)
663
+ benefit_package_two_amount: Optional[float] = Field(None, alias='benefitPackageTwoAmount', description="Benefit package two amount", example=200.0)
664
+ benefit_package_two_type: Optional[int] = Field(None, alias='benefitPackageTwoType', description="Benefit package two type code", example=0)
665
+ include_benefit_package_two_in_pension: Optional[bool] = Field(None, alias='includeBenefitPackageTwoInPension', description="Include benefit package two in pension base", example=True)
666
+ is_absence_freechoice_enabled: Optional[bool] = Field(None, alias='isAbsenceFreechoiceEnabled', description="Absence freechoice feature enabled", example=False)
667
+ holiday_saved_rate: Optional[float] = Field(None, alias='holidaySavedRate', description="Holiday saved rate", example=1.0)
668
+ sh_month_select: Optional[List[str]] = Field(None, alias='shMonthSelect', description="Selected SH months", example=["JAN","FEB"])
669
+ benefit_package_payout_months: Optional[List[str]] = Field(None, alias='benefitPackagePayoutMonths', description="Benefit package payout months", example=["MAR","SEP"])
670
+ horesta_supplement: Optional[float] = Field(None, alias='horestaSupplement', description="HORESTA supplement amount", example=50.0)
671
+ sh_payout_netto_month_select: Optional[List[str]] = Field(None, alias='shPayoutNettoMonthSelect', description="Selected SH net payout months", example=["JUN","DEC"])
672
+ transfer_netto: Optional[bool] = Field(None, alias='transferNetto', description="Transfer net option enabled", example=False)
673
+ monthly_salary: Optional[float] = Field(None, alias='monthlySalary', description="Monthly salary", example=32000.0)
674
+ salary_mode: Optional[int] = Field(None, alias='salaryMode', description="Salary mode code", example=0)
675
+ kr_rate: Optional[float] = Field(None, alias='krRate', description="Krone rate", example=120.0)
676
+ number_of_working_days: Optional[float] = Field(None, alias='numberOfWorkingDays', description="Number of working days", example=21.5)
677
+ salary_payout_period: Optional[int] = Field(None, alias='salaryPayoutPeriod', description="Salary payout period code", example=1)
678
+ holidays: Optional[float] = Field(None, alias='holidays', description="Holiday days", example=25.0)
679
+ max_loan: Optional[float] = Field(None, alias='maxLoan', description="Maximum loan amount", example=5000.0)
680
+ is_automatic_payroll: Optional[bool] = Field(None, alias='isAutomaticPayroll', description="Automatic payroll enabled", example=False)
681
+ holiday_days_per_year: Optional[float] = Field(None, alias='holidayDaysPerYear', description="Holiday days per year", example=25.0)
682
+ holiday_supplement: Optional[float] = Field(None, alias='holidaySupplement', description="Holiday supplement amount", example=1.5)
683
+ additional_days_per_year: Optional[float] = Field(None, alias='additionalDaysPerYear', description="Additional days per year", example=5.0)
684
+ care_days_per_year: Optional[float] = Field(None, alias='careDaysPerYear', description="Care days per year", example=2.0)
685
+ maximum_number_of_days_used_in_advance: Optional[float] = Field(None, alias='maximumNumberOfDaysUsedInAdvance', description="Max days used in advance", example=5.0)
686
+ holiday_registry_code: Optional[int] = Field(None, alias='holidayRegistryCode', description="Holiday registry code", example=0)
687
+ holiday_handling_code: Optional[int] = Field(None, alias='holidayHandlingCode', description="Holiday handling code", example=0)
688
+ group_insurance: Optional[float] = Field(None, alias='groupInsurance', description="Group insurance amount", example=300.0)
689
+ is_insurance_taxable: Optional[bool] = Field(None, alias='isInsuranceTaxable', description="Insurance taxable flag", example=True)
690
+ is_insurance_inclusive_in_pension: Optional[bool] = Field(None, alias='isInsuranceInclusiveInPension', description="Insurance included in pension", example=False)
691
+ number_of_hours: Optional[float] = Field(None, alias='numberOfHours', description="Number of hours", example=160.0)
692
+ number_of_hours_fixed: Optional[float] = Field(None, alias='numberOfHoursFixed', description="Fixed number of hours", example=160.0)
693
+ # monthly_salary_fixed_base: Optional[float] = Field(None, alias='monthlySalaryFixedBase', description="Monthly salary fixed base", example=30000.0)
694
+ pension_insitute_type: Optional[int] = Field(None, alias='pensionInsituteType', description="Pension institute type code", example=0)
695
+ labour_company_pension: Optional[float] = Field(None, alias='labourCompanyPension', description="Company pension contribution", example=1000.0)
696
+ labour_private_pension: Optional[float] = Field(None, alias='labourPrivatePension', description="Private pension contribution", example=500.0)
697
+ labour_benefits_package_for_pension: Optional[float] = Field(None, alias='labourBenefitsPackageForPension', description="Benefits package amount for pension", example=300.0)
698
+ labour_agreement_code: Optional[str] = Field(None, alias='labourAgreementCode', description="Labour agreement code", example="LA-01")
699
+ extra_holiday_entitlement_per_payroll: Optional[float] = Field(None, alias='extraHolidayEntitlementPerPayroll', description="Extra holiday entitlement per payroll", example=0.5)
700
+ # ----------------------- End added fields -----------------------
701
+
702
+ class Config:
703
+ populate_by_name = True
704
+
705
+ class EmployeeEmploymentDataUpdate(BaseModel):
706
+ """Update schema for employee employment data. (employmentData)"""
707
+ employee_number: Optional[str] = Field(
708
+ None, alias='employeeNumber',
709
+ description="Internal employee number", example="E-1001"
710
+ )
711
+ extra_employee_number: Optional[str] = Field(
712
+ None, alias='extraEmployeeNumber',
713
+ description="Secondary employee number", example="EXT-55"
714
+ )
715
+ employment_date: Optional[datetime] = Field(
716
+ None, alias='employmentDate',
717
+ description="Employment start date", example="2024-01-01T00:00:00Z"
718
+ )
719
+ department_id: Optional[int] = Field(
720
+ None, alias='departmentId',
721
+ description="Department numeric identifier", example=10
722
+ )
723
+
724
+ class Config:
725
+ populate_by_name = True
726
+
727
+
728
+ class EmployeeEmploymentUpdate(BaseModel):
729
+ """Update schema for employee employment data. (employeeEmployment)"""
730
+ salary_type: Optional[int] = Field(None, alias='salaryType', description="Salary type code", example=1)
731
+ p_number: Optional[str] = Field(None, alias='pNumber', description="Employee P-number", example="P12345")
732
+ income_type: Optional[int] = Field(None, alias='incomeType', description="Income type code", example=0)
733
+ tax: Optional[int] = Field(None, alias='tax', description="Tax code", example=0)
734
+ revenue_type: Optional[int] = Field(None, alias='revenueType', description="Revenue type code", example=0)
735
+ maternity_type: Optional[int] = Field(None, alias='maternityType', description="Maternity type code", example=0)
736
+ atp_type: Optional[str] = Field(None, alias='atpType', description="ATP type string", example="A")
737
+ additional_tax_rate: Optional[float] = Field(None, alias='additionalTaxRate', description="Additional tax rate (percentage)", example=3.5)
738
+ enable_file_transfer: Optional[bool] = Field(None, alias='enableFileTransfer', description="Enable file transfer flag", example=False)
739
+ insurance_category: Optional[int] = Field(None, alias='insuranceCategory', description="Insurance category code", example=0)
740
+ company_cvr_number: Optional[str] = Field(None, alias='companyCvrNumber', description="Company CVR number", example="12345678")
741
+ is_employee_look_like_other_employee: Optional[bool] = Field(None, alias='isEmployeeLookLikeOtherEmployee', description="Employee modeled after another employee", example=False)
742
+ look_like_employee_uid: Optional[UUID] = Field(None, alias='lookLikeEmployeeUid', description="UID of the employee to mirror", example="00000000-0000-0000-0000-000000000000")
743
+ title: Optional[str] = Field(None, alias='title', description="Job title", example="Engineer")
744
+ employee_number: Optional[str] = Field(None, alias='employeeNumber', description="Internal employee number", example="E-1001")
745
+ extra_employee_number: Optional[str] = Field(None, alias='extraEmployeeNumber', description="Secondary employee number", example="EXT-55")
746
+ employment_date: Optional[datetime] = Field(None, alias='employmentDate', description="Employment start date", example="2025-10-21T00:00:00Z")
747
+ ancinity_date: Optional[datetime] = Field(None, alias='ancinityDate', description="Seniority date", example="2023-06-01T00:00:00Z")
748
+ is_active: Optional[bool] = Field(None, alias='isActive', description="Active status", example=True)
749
+ job_description: Optional[str] = Field(None, alias='jobDescription', description="Job description text", example="Backend developer")
750
+ company_department_uid: Optional[UUID] = Field(None, alias='companyDepartmentUid', description="Target department UID", example="00000000-0000-0000-0000-000000000000")
751
+ company_cost_center_uid: Optional[UUID] = Field(None, alias='companyCostCenterUid', description="Company cost center UID", example="00000000-0000-0000-0000-000000000000")
752
+ company_profit_center_uid: Optional[UUID] = Field(None, alias='companyProfitCenterUid', description="Company profit center UID", example="00000000-0000-0000-0000-000000000000")
753
+ booking_group_uid: Optional[UUID] = Field(None, alias='bookingGroupUid', description="Booking group UID", example="00000000-0000-0000-0000-000000000000")
754
+ company_date: Optional[datetime] = Field(None, alias='companyDate', description="Company date (ISO 8601)", example="2023-06-15T00:00:00Z")
755
+ work_time_employment_info: Optional[str] = Field(None, alias='workTimeEmploymentInfo', description="Work time employment info", example="Full-time")
756
+
757
+ class Config:
758
+ populate_by_name = True
759
+
760
+
761
+ class EmployeeAdditionalUpdate(BaseModel):
762
+ """Update schema for additional employee data. (employeeAditional)"""
763
+ holiday_pay_receiver_uid: Optional[UUID] = Field(None, alias='holidayPayReceiverUid', description="Holiday pay receiver UID", example="00000000-0000-0000-0000-000000000000")
764
+ benefit_package_amount: Optional[float] = Field(None, alias='benefitPackageAmount', description="Benefit package amount", example=500.0)
765
+ benefit_package_amount_type: Optional[int] = Field(None, alias='benefitPackageAmountType', description="Benefit package amount type code", example=0)
766
+ holiday_payment_amount: Optional[float] = Field(None, alias='holidayPaymentAmount', description="Holiday payment amount", example=1000.0)
767
+ holiday_payment_type: Optional[int] = Field(None, alias='holidayPaymentType', description="Holiday payment type code", example=0)
768
+ benefit_package_type: Optional[int] = Field(None, alias='benefitPackageType', description="Benefit package type code", example=0)
769
+ include_benefit_package_in_pension: Optional[bool] = Field(None, alias='includeBenefitPackageInPension', description="Include benefit package in pension base", example=True)
770
+ am_pension: Optional[Dict[str, Any]] = Field(None, alias='amPension', description="AM pension object")
771
+ holiday_pay_rate: Optional[float] = Field(None, alias='holidayPayRate', description="Holiday pay rate (percentage)", example=12.5)
772
+ benefit_package_two_amount: Optional[float] = Field(None, alias='benefitPackageTwoAmount', description="Benefit package two amount", example=200.0)
773
+ benefit_package_two_type: Optional[int] = Field(None, alias='benefitPackageTwoType', description="Benefit package two type code", example=0)
774
+ include_benefit_package_two_in_pension: Optional[bool] = Field(None, alias='includeBenefitPackageTwoInPension', description="Include benefit package two in pension base", example=True)
775
+ is_absence_freechoice_enabled: Optional[bool] = Field(None, alias='isAbsenceFreechoiceEnabled', description="Absence freechoice feature enabled", example=False)
776
+ holiday_saved_rate: Optional[float] = Field(None, alias='holidaySavedRate', description="Holiday saved rate", example=1.0)
777
+ sh_month_select: Optional[List[str]] = Field(None, alias='shMonthSelect', description="Selected SH months", example=["JAN","FEB"])
778
+ benefit_package_payout_months: Optional[List[str]] = Field(None, alias='benefitPackagePayoutMonths', description="Benefit package payout months", example=["MAR","SEP"])
779
+ horesta_supplement: Optional[float] = Field(None, alias='horestaSupplement', description="HORESTA supplement amount", example=50.0)
780
+ special_supplement_type: Optional[str] = Field(None, alias='specialSupplementType', description="Special supplement type", example="TYPE1")
781
+ special_supplement_payout_months: Optional[List[str]] = Field(None, alias='specialSupplementPayoutMonths', description="Special supplement payout months", example=["APR","OCT"])
782
+ sh_payout_netto_month_select: Optional[List[str]] = Field(None, alias='shPayoutNettoMonthSelect', description="Selected SH net payout months", example=["JUN","DEC"])
783
+ transfer_netto: Optional[bool] = Field(None, alias='transferNetto', description="Transfer net option enabled", example=False)
784
+ day_of_prayer_compensation: Optional[float] = Field(None, alias='dayOfPrayerCompensation', description="Day of prayer compensation", example=0.0)
785
+ day_of_prayer_compensation_rule: Optional[str] = Field(None, alias='dayOfPrayerCompensationRule', description="Day of prayer compensation rule", example="RULE-1")
786
+ monthly_salary: Optional[float] = Field(None, alias='monthlySalary', description="Monthly salary", example=32000.0)
787
+ salary_mode: Optional[int] = Field(None, alias='salaryMode', description="Salary mode code", example=0)
788
+ kr_rate: Optional[float] = Field(None, alias='krRate', description="Krone rate", example=120.0)
789
+ number_of_working_days: Optional[float] = Field(None, alias='numberOfWorkingDays', description="Number of working days", example=21.5)
790
+ salary_payout_period: Optional[int] = Field(None, alias='salaryPayoutPeriod', description="Salary payout period code", example=1)
791
+ holidays: Optional[float] = Field(None, alias='holidays', description="Holiday days", example=25.0)
792
+ max_loan: Optional[float] = Field(None, alias='maxLoan', description="Maximum loan amount", example=5000.0)
793
+ is_automatic_payroll: Optional[bool] = Field(None, alias='isAutomaticPayroll', description="Automatic payroll enabled", example=False)
794
+ holiday_days_per_year: Optional[float] = Field(None, alias='holidayDaysPerYear', description="Holiday days per year", example=25.0)
795
+ holiday_supplement: Optional[float] = Field(None, alias='holidaySupplement', description="Holiday supplement amount", example=1.5)
796
+ additional_days_per_year: Optional[float] = Field(None, alias='additionalDaysPerYear', description="Additional days per year", example=5.0)
797
+ care_days_per_year: Optional[float] = Field(None, alias='careDaysPerYear', description="Care days per year", example=2.0)
798
+ maximum_number_of_days_used_in_advance: Optional[float] = Field(None, alias='maximumNumberOfDaysUsedInAdvance', description="Max days used in advance", example=5.0)
799
+ holiday_registry_code: Optional[int] = Field(None, alias='holidayRegistryCode', description="Holiday registry code", example=0)
800
+ holiday_handling_code: Optional[int] = Field(None, alias='holidayHandlingCode', description="Holiday handling code", example=0)
801
+ group_insurance: Optional[float] = Field(None, alias='groupInsurance', description="Group insurance amount", example=300.0)
802
+ is_insurance_taxable: Optional[bool] = Field(None, alias='isInsuranceTaxable', description="Insurance taxable flag", example=True)
803
+ is_insurance_inclusive_in_pension: Optional[bool] = Field(None, alias='isInsuranceInclusiveInPension', description="Insurance included in pension", example=False)
804
+ number_of_hours: Optional[float] = Field(None, alias='numberOfHours', description="Number of hours", example=160.0)
805
+ number_of_hours_fixed: Optional[float] = Field(None, alias='numberOfHoursFixed', description="Fixed number of hours", example=160.0)
806
+ monthly_salary_fixed_base: Optional[float] = Field(None, alias='monthlySalaryFixedBase', description="Monthly salary fixed base", example=30000.0)
807
+ pension_insitute_type: Optional[int] = Field(None, alias='pensionInsituteType', description="Pension institute type code", example=0)
808
+ labour_company_pension: Optional[float] = Field(None, alias='labourCompanyPension', description="Company pension contribution", example=1000.0)
809
+ labour_private_pension: Optional[float] = Field(None, alias='labourPrivatePension', description="Private pension contribution", example=500.0)
810
+ labour_benefits_package_for_pension: Optional[float] = Field(None, alias='labourBenefitsPackageForPension', description="Benefits package amount for pension", example=300.0)
811
+ labour_agreement_code: Optional[str] = Field(None, alias='labourAgreementCode', description="Labour agreement code", example="LA-01")
812
+ ancinity_rate: Optional[float] = Field(None, alias='ancinityRate', description="Seniority rate", example=0.0)
813
+ extra_holiday_entitlement_per_payroll: Optional[float] = Field(None, alias='extraHolidayEntitlementPerPayroll', description="Extra holiday entitlement per payroll", example=0.5)
814
+
815
+ class Config:
816
+ populate_by_name = True
817
+
818
+
819
+ class HolidayPayReceiver(BaseModel):
820
+ cvr: str = Field(description="Holiday pay receiver CVR number", example="12345678")
821
+ id: int = Field(description="Receiver ID (internal numeric)", example=1)
822
+ name: str = Field(description="Receiver name", example="Feriekonto")
823
+ type: int = Field(description="Receiver type code", example=0)
824
+ uid: UUID = Field(description="Receiver UID", example="00000000-0000-0000-0000-000000000000")
825
+
826
+
827
+ class Company(BaseModel):
828
+ association_id: int = Field(description="Association ID", example=12)
829
+ cvr: str = Field(description="Company CVR number", example="12345678")
830
+ extra_holiday_entitlement_in_hours: bool = Field(description="Extra holiday entitlement in hours flag", example=False)
831
+ has_am_pension: bool = Field(description="AM pension enabled flag", example=True)
832
+ has_benefit_package: bool = Field(description="Benefit package enabled flag", example=True)
833
+ has_benefit_package_two: bool = Field(description="Benefit package two enabled flag", example=False)
834
+ has_holiday_payment: bool = Field(description="Holiday payment enabled flag", example=True)
835
+ has_holiday_payment_netto_transfer_or_payout: bool = Field(description="Holiday payment netto transfer or payout flag", example=False)
836
+ id: int = Field(description="Company ID (internal numeric)", example=5)
837
+ insurance_type: int = Field(description="Insurance type code", example=1)
838
+ is_department_income_split_enabled: bool = Field(description="Department income split enabled flag", example=False)
839
+ is_extra_holiday_entitlement_in_hours_enabled: bool = Field(description="Extra holiday entitlement in hours enabled", example=False)
840
+ is_holiday_hindrance_enabled: bool = Field(description="Holiday hindrance enabled flag", example=False)
841
+ is_horesta_supplement_enabled: bool = Field(description="HORESTA supplement enabled flag", example=False)
842
+ is_sh_payout_netto_enabled: bool = Field(description="SH net payout enabled flag", example=False)
843
+ is_transfer_fifth_holiday_week_enabled: bool = Field(description="Transfer fifth holiday week enabled flag", example=False)
844
+ is_use_of_vacation_days_in_advance_enabled: bool = Field(description="Use of vacation days in advance enabled flag", example=False)
845
+ logo_url: Optional[str] = Field(default=None, description="Company logo URL", example="https://example.com/logo.png")
846
+ name: str = Field(description="Company name", example="Acme A/S")
847
+ p_number: str = Field(description="Company P-number", example="P12345")
848
+ uid: UUID = Field(description="Company UID", example="00000000-0000-0000-0000-000000000000")
849
+
850
+
851
+ class CostCenter(BaseModel):
852
+ cost_center_code: str = Field(description="Cost center code", example="FIN")
853
+ cost_center_name: str = Field(description="Cost center name", example="Finance")
854
+ employee_uids: Optional[List[UUID]] = Field(default=None, description="Employee UIDs in the cost center", example=["00000000-0000-0000-0000-000000000000"])
855
+ id: int = Field(description="Cost center ID (internal numeric)", example=10)
856
+ number_of_employees: int = Field(description="Number of employees in cost center", example=42)
857
+ type: Optional[str] = Field(default=None, description="Dimension type (cost/profit)", example="cost")
858
+ uid: UUID = Field(description="Cost center UID", example="00000000-0000-0000-0000-000000000000")
859
+
860
+
861
+ class Department(BaseModel):
862
+ has_work_schema: bool = Field(description="Whether department has a work schema", example=True)
863
+ id: int = Field(description="Department ID (internal numeric)", example=15)
864
+ name: str = Field(description="Department name", example="Sales")
865
+ number: str = Field(description="Department number/code", example="D-100")
866
+ uid: UUID = Field(description="Department UID", example="00000000-0000-0000-0000-000000000000")
867
+
868
+
869
+ class EmployeeDepartmentIncomeSplit(BaseModel):
870
+ department_name: str
871
+ department_number: str
872
+ department_uid: UUID
873
+ id: int
874
+ percentage: float
875
+ type: str
876
+ uid: UUID
877
+
878
+
879
+ class CompanyGlobalValueReferenceUidsPair(BaseModel):
880
+ company_global_value_uid: UUID
881
+ reference_uid: Optional[UUID] = None
882
+
883
+
884
+ class GlobalValueInformation(BaseModel):
885
+ company_global_value_reference_uids_pairs: List[CompanyGlobalValueReferenceUidsPair]
886
+ is_available_in_company: bool
887
+ is_employee_assigned: bool
888
+ type: int
889
+
890
+
891
+ class CompanyGlobalValueInformation(BaseModel):
892
+ company_global_value_name: str
893
+ company_global_value_number: str
894
+ company_global_value_uid: UUID
895
+ reference_uid: Optional[UUID] = None
896
+
897
+
898
+ class GlobalValueInSetAssignmentDto(BaseModel):
899
+ company_global_value_information: List[CompanyGlobalValueInformation]
900
+ reference_uids: List[Optional[UUID]]
901
+ type: int
902
+
903
+
904
+ class GlobalValueSetInformation(BaseModel):
905
+ global_value_in_set_assignment_dto: List[GlobalValueInSetAssignmentDto]
906
+ global_value_set_name: str
907
+ global_value_set_number: str
908
+ global_value_set_uid: UUID
909
+
910
+
911
+ class SaldoHolidayPeriod(BaseModel):
912
+ can_edit_fifth_holiday_week_fields: bool
913
+ has_fifth_holiday_week_payout: bool
914
+ period_type: int
915
+ saldo_type: int
916
+ year: float
917
+
918
+
919
+ class PutEmployeeAsyncRequest(BaseModel):
920
+ update_employee_base: Dict[str, Any] = Field(alias="updateEmployeeBase", description="Employee base fields to update", example={"name": "John"})
921
+ start_saldo: Dict[str, Any] = Field(alias="startSaldo", description="Starting saldo fields", example={"startHours": 10})
922
+ employee_employment: Dict[str, Any] = Field(alias="employeeEmployment", description="Employment fields payload", example={"departmentId": 10})
923
+ employe_aditional: Dict[str, Any] = Field(alias="employeeAditional", description="Additional employee fields", example={"title": "Engineer"})
924
+ class Config:
925
+ populate_by_name = True
926
+
927
+
928
+
929
+
930
+ class EmployeePatch(BaseModel):
931
+ """
932
+ Flat schema for Employee PATCH operations.
933
+ - All fields optional
934
+ - Aliases correspond exactly to JSON Patch path property names (PascalCase)
935
+ - This model allows extra fields for forward compatibility
936
+ """
937
+
938
+ # Identity & contact
939
+ cpr: Optional[str] = Field(default=None, alias='Cpr')
940
+ email: Optional[str] = Field(default=None, alias='Email')
941
+ name: Optional[str] = Field(default=None, alias='Name')
942
+ linked_in: Optional[str] = Field(default=None, alias='LinkedIn')
943
+ car_registration_number: Optional[str] = Field(default=None, alias='CarRegistrationNumber')
944
+ address: Optional[str] = Field(default=None, alias='Address')
945
+ city: Optional[str] = Field(default=None, alias='City')
946
+ postal_number: Optional[str] = Field(default=None, alias='PostalNumber')
947
+ mobile_phone: Optional[str] = Field(default=None, alias='MobilePhone')
948
+
949
+ # Banking & misc
950
+ konto_number: Optional[str] = Field(default=None, alias='KontoNumber')
951
+ reg_number: Optional[str] = Field(default=None, alias='RegNumber')
952
+ iban: Optional[str] = Field(default=None, alias='Iban')
953
+ swift: Optional[str] = Field(default=None, alias='Swift')
954
+ country_code: Optional[str] = Field(default=None, alias='CountryCode')
955
+
956
+ # Language as object
957
+ language: Optional[str] = Field(default=None, alias='Language')
958
+
959
+ # Flags
960
+ is_foreign: Optional[bool] = Field(default=None, alias='IsForeign')
961
+ is_cpr_validated: Optional[bool] = Field(default=None, alias='IsCprValidated')
962
+
963
+ # Employment
964
+ employment_date: Optional[Any] = Field(default=None, alias='EmploymentDate')
965
+ ancinity_date: Optional[Any] = Field(default=None, alias='AncinityDate')
966
+ employee_number: Optional[str] = Field(default=None, alias='EmployeeNumber')
967
+ extra_employee_number: Optional[str] = Field(default=None, alias='ExtraEmployeeNumber')
968
+ department_id: Optional[int] = Field(default=None, alias='DepartmentId')
969
+ company_department_uid: Optional[str] = Field(default=None, alias='CompanyDepartmentUid')
970
+
971
+ # Start saldo (subset; extend as needed)
972
+ start_g_days: Optional[float] = Field(default=None, alias='StartGDays')
973
+ start_hours: Optional[float] = Field(default=None, alias='StartHours')
974
+ start_time_off_good: Optional[float] = Field(default=None, alias='StartTimeOffGood')
975
+ start_time_off_amount: Optional[float] = Field(default=None, alias='StartTimeOffAmount')
976
+ start_am_income: Optional[float] = Field(default=None, alias='StartAmIncome')
977
+ start_contributory_income: Optional[float] = Field(default=None, alias='StartContributoryIncome')
978
+ start_one_time_income: Optional[float] = Field(default=None, alias='StartOneTimeIncome')
979
+ start_b_income_with_am: Optional[float] = Field(default=None, alias='StartBIncomeWithAm')
980
+ start_b_income_without_am: Optional[float] = Field(default=None, alias='StartBIncomeWithoutAm')
981
+ start_atp: Optional[float] = Field(default=None, alias='StartAtp')
982
+ start_am: Optional[float] = Field(default=None, alias='StartAm')
983
+ start_a_skat: Optional[float] = Field(default=None, alias='StartASkat')
984
+ start_health_insurance: Optional[float] = Field(default=None, alias='StartHealthInsurance')
985
+ start_company_car: Optional[float] = Field(default=None, alias='StartCompanyCar')
986
+ start_company_lodging: Optional[float] = Field(default=None, alias='StartCompanyLodging')
987
+ start_mileage: Optional[float] = Field(default=None, alias='StartMileage')
988
+ start_mileage_low_rate: Optional[float] = Field(default=None, alias='StartMileageLowRate')
989
+ start_travel_allowance: Optional[float] = Field(default=None, alias='StartTravelAllowance')
990
+ start_personal_pension: Optional[float] = Field(default=None, alias='StartPersonalPension')
991
+ start_pension_from_company: Optional[float] = Field(default=None, alias='StartPensionFromCompany')
992
+ start_group_life: Optional[float] = Field(default=None, alias='StartGroupLife')
993
+ start_group_life2: Optional[float] = Field(default=None, alias='StartGroupLife2')
994
+ start_personal_amp: Optional[float] = Field(default=None, alias='StartPersonalAmp')
995
+ start_company_amp: Optional[float] = Field(default=None, alias='StartCompanyAmp')
996
+ start_net_holiday_pay: Optional[float] = Field(default=None, alias='StartNetHolidayPay')
997
+ start_number_of_vacation_days: Optional[float] = Field(default=None, alias='StartNumberOfVacationDays')
998
+ start_holiday_supplement_value: Optional[float] = Field(default=None, alias='StartHolidaySupplementValue')
999
+ start_benefits_package_saldo: Optional[float] = Field(default=None, alias='StartBenefitsPackageSaldo')
1000
+ start_benefits_package_earned: Optional[float] = Field(default=None, alias='StartBenefitsPackageEarned')
1001
+ start_benefits_package_two_saldo: Optional[float] = Field(default=None, alias='StartBenefitsPackageTwoSaldo')
1002
+ start_benefits_package_two_earned: Optional[float] = Field(default=None, alias='StartBenefitsPackageTwoEarned')
1003
+ start_vacations_legitimate_salary: Optional[float] = Field(default=None, alias='StartVacationsLegitimateSalary')
1004
+ start_free_phone: Optional[float] = Field(default=None, alias='StartFreePhone')
1005
+ start_am_contributions_wages_and_holidaypay: Optional[float] = Field(default=None, alias='StartAmContributionsWagesAndHolidaypay')
1006
+ start_number_of_vacation_days_two_periods_before: Optional[float] = Field(default=None, alias='StartNumberOfVacationDaysTwoPeriodsBefore')
1007
+ start_number_of_vacation_days_previous_period: Optional[float] = Field(default=None, alias='StartNumberOfVacationDaysPreviousPeriod')
1008
+ start_number_of_vacation_days_frozen_period: Optional[float] = Field(default=None, alias='StartNumberOfVacationDaysFrozenPeriod')
1009
+ start_number_of_vacation_days_current_period: Optional[float] = Field(default=None, alias='StartNumberOfVacationDaysCurrentPeriod')
1010
+ start_holiday_supplement_two_periods_before: Optional[float] = Field(default=None, alias='StartHolidaySupplementTwoPeriodsBefore')
1011
+ start_holiday_supplement_previous_period: Optional[float] = Field(default=None, alias='StartHolidaySupplementPreviousPeriod')
1012
+ start_holiday_supplement_current_period: Optional[float] = Field(default=None, alias='StartHolidaySupplementCurrentPeriod')
1013
+ start_holiday_payment_saved: Optional[float] = Field(default=None, alias='StartHolidayPaymentSaved')
1014
+ start_holiday_payment_advance: Optional[float] = Field(default=None, alias='StartHolidayPaymentAdvance')
1015
+ start_holiday_payment_advance_year_before: Optional[float] = Field(default=None, alias='StartHolidayPaymentAdvanceYearBefore')
1016
+ start_holiday_payment_saved_year_before: Optional[float] = Field(default=None, alias='StartHolidayPaymentSavedYearBefore')
1017
+ start_holiday_payment_saved_netto_year_before: Optional[float] = Field(default=None, alias='StartHolidayPaymentSavedNettoYearBefore')
1018
+ start_holiday_payment_saved_netto: Optional[float] = Field(default=None, alias='StartHolidayPaymentSavedNetto')
1019
+ start_holiday_payment_saldo_netto: Optional[float] = Field(default=None, alias='StartHolidayPaymentSaldoNetto')
1020
+ start_used_vacation_day_units_current_period: Optional[float] = Field(default=None, alias='StartUsedVacationDayUnitsCurrentPeriod')
1021
+ start_used_vacation_day_units_previous_period: Optional[float] = Field(default=None, alias='StartUsedVacationDayUnitsPreviousPeriod')
1022
+ start_used_vacation_day_units_two_periods_before: Optional[float] = Field(default=None, alias='StartUsedVacationDayUnitsTwoPeriodsBefore')
1023
+ start_used_vacation_day_units_frozen_period: Optional[float] = Field(default=None, alias='StartUsedVacationDayUnitsFrozenPeriod')
1024
+ start_used_holiday_supplement_current_period: Optional[float] = Field(default=None, alias='StartUsedHolidaySupplementCurrentPeriod')
1025
+ start_used_holiday_supplement_previous_period: Optional[float] = Field(default=None, alias='StartUsedHolidaySupplementPreviousPeriod')
1026
+ start_used_holiday_supplement_two_periods_before: Optional[float] = Field(default=None, alias='StartUsedHolidaySupplementTwoPeriodsBefore')
1027
+ start_earned_vacations_legitimate_salary_amount_previous_period: Optional[float] = Field(default=None, alias='StartEarnedVacationsLegitimateSalaryAmountPreviousPeriod')
1028
+ start_earned_vacations_legitimate_salary_amount_two_periods_before: Optional[float] = Field(default=None, alias='StartEarnedVacationsLegitimateSalaryAmountTwoPeriodsBefore')
1029
+ start_earned_vacations_legitimate_salary_amount_frozen_period: Optional[float] = Field(default=None, alias='StartEarnedVacationsLegitimateSalaryAmountFrozenPeriod')
1030
+ start_earned_holiday_pay_net_amount_previous_period: Optional[float] = Field(default=None, alias='StartEarnedHolidayPayNetAmountPreviousPeriod')
1031
+ start_earned_holiday_pay_net_amount_two_periods_before: Optional[float] = Field(default=None, alias='StartEarnedHolidayPayNetAmountTwoPeriodsBefore')
1032
+ start_earned_holiday_pay_net_amount_frozen_period: Optional[float] = Field(default=None, alias='StartEarnedHolidayPayNetAmountFrozenPeriod')
1033
+ start_earned_holiday_pay_net_amount_current_period: Optional[float] = Field(default=None, alias='StartEarnedHolidayPayNetAmountCurrentPeriod')
1034
+ start_used_holiday_pay_net_amount_current_period: Optional[float] = Field(default=None, alias='StartUsedHolidayPayNetAmountCurrentPeriod')
1035
+ start_used_holiday_pay_net_amount_previous_period: Optional[float] = Field(default=None, alias='StartUsedHolidayPayNetAmountPreviousPeriod')
1036
+ start_used_holiday_pay_net_amount_two_periods_before: Optional[float] = Field(default=None, alias='StartUsedHolidayPayNetAmountTwoPeriodsBefore')
1037
+ start_used_holiday_pay_net_amount_frozen_period: Optional[float] = Field(default=None, alias='StartUsedHolidayPayNetAmountFrozenPeriod')
1038
+ start_earned_care_days_two_years_before: Optional[float] = Field(default=None, alias='StartEarnedCareDaysTwoYearsBefore')
1039
+ start_earned_care_days_year_before: Optional[float] = Field(default=None, alias='StartEarnedCareDaysYearBefore')
1040
+ start_earned_care_days_current_year: Optional[float] = Field(default=None, alias='StartEarnedCareDaysCurrentYear')
1041
+ start_used_care_days_two_years_before: Optional[float] = Field(default=None, alias='StartUsedCareDaysTwoYearsBefore')
1042
+ start_used_care_days_year_before: Optional[float] = Field(default=None, alias='StartUsedCareDaysYearBefore')
1043
+ start_used_care_days_current_year: Optional[float] = Field(default=None, alias='StartUsedCareDaysCurrentYear')
1044
+ start_earned_free_vacation_days_two_years_before: Optional[float] = Field(default=None, alias='StartEarnedFreeVacationDaysTwoYearsBefore')
1045
+ start_earned_free_vacation_days_year_before: Optional[float] = Field(default=None, alias='StartEarnedFreeVacationDaysYearBefore')
1046
+ start_earned_free_vacation_days_current_year: Optional[float] = Field(default=None, alias='StartEarnedFreeVacationDaysCurrentYear')
1047
+ start_used_free_vacation_days_two_years_before: Optional[float] = Field(default=None, alias='StartUsedFreeVacationDaysTwoYearsBefore')
1048
+ start_used_free_vacation_days_year_before: Optional[float] = Field(default=None, alias='StartUsedFreeVacationDaysYearBefore')
1049
+ start_used_free_vacation_days_current_year: Optional[float] = Field(default=None, alias='StartUsedFreeVacationDaysCurrentYear')
1050
+ start_earned_holiday_pay_gross_two_periods_before: Optional[float] = Field(default=None, alias='StartEarnedHolidayPayGrossTwoPeriodsBefore')
1051
+ start_earned_holiday_pay_gross_previous_period: Optional[float] = Field(default=None, alias='StartEarnedHolidayPayGrossPreviousPeriod')
1052
+ start_earned_holiday_pay_gross_current_period: Optional[float] = Field(default=None, alias='StartEarnedHolidayPayGrossCurrentPeriod')
1053
+ start_earned_holiday_pay_gross_frozen_period: Optional[float] = Field(default=None, alias='StartEarnedHolidayPayGrossFrozenPeriod')
1054
+ start_used_holiday_pay_gross_two_periods_before: Optional[float] = Field(default=None, alias='StartUsedHolidayPayGrossTwoPeriodsBefore')
1055
+ start_used_holiday_pay_gross_previous_period: Optional[float] = Field(default=None, alias='StartUsedHolidayPayGrossPreviousPeriod')
1056
+ start_used_holiday_pay_gross_current_period: Optional[float] = Field(default=None, alias='StartUsedHolidayPayGrossCurrentPeriod')
1057
+ start_used_holiday_pay_gross_frozen_period: Optional[float] = Field(default=None, alias='StartUsedHolidayPayGrossFrozenPeriod')
1058
+ start_flex_hours: Optional[float] = Field(default=None, alias='StartFlexHours')
1059
+ start_time_in_lieu_earned_hours: Optional[float] = Field(default=None, alias='StartTimeInLieuEarnedHours')
1060
+ start_time_in_lieu_earned_amount: Optional[float] = Field(default=None, alias='StartTimeInLieuEarnedAmount')
1061
+ start_health_insurance_no_am_pension: Optional[float] = Field(default=None, alias='StartHealthInsuranceNoAmPension')
1062
+ start_health_insurance_no_am_pension_no_vacation_entitled_money: Optional[float] = Field(default=None, alias='StartHealthInsuranceNoAmPensionNoVacationEntitledMoney')
1063
+ start_not_covered_by_triviality: Optional[float] = Field(default=None, alias='StartNotCoveredByTriviality')
1064
+ start_christmas_gifts_benefit: Optional[float] = Field(default=None, alias='StartChristmasGiftsBenefit')
1065
+ start_other_benefit: Optional[float] = Field(default=None, alias='StartOtherBenefit')
1066
+ start_negative_salary_saldo: Optional[float] = Field(default=None, alias='StartNegativeSalarySaldo')
1067
+ start_anniversary_bonus_saldo: Optional[float] = Field(default=None, alias='StartAnniversaryBonusSaldo')
1068
+ start_severance_saldo: Optional[float] = Field(default=None, alias='StartSeveranceSaldo')
1069
+ start_travel_allowance_without_payment: Optional[float] = Field(default=None, alias='StartTravelAllowanceWithoutPayment')
1070
+ start_holday_at_own_expense_two_years_before: Optional[float] = Field(default=None, alias='StartHoldayAtOwnExpenseTwoYearsBefore')
1071
+ start_holday_at_own_expense_year_before: Optional[float] = Field(default=None, alias='StartHoldayAtOwnExpenseYearBefore')
1072
+ start_holday_at_own_expense_current_year: Optional[float] = Field(default=None, alias='StartHoldayAtOwnExpenseCurrentYear')
1073
+ start_holday_at_own_expense_two_years_before_saldo: Optional[float] = Field(default=None, alias='StartHoldayAtOwnExpenseTwoYearsBeforeSaldo')
1074
+ start_holday_at_own_expense_year_before_saldo: Optional[float] = Field(default=None, alias='StartHoldayAtOwnExpenseYearBeforeSaldo')
1075
+ start_holday_at_own_expense_current_year_saldo: Optional[float] = Field(default=None, alias='StartHoldayAtOwnExpenseCurrentYearSaldo')
1076
+ start_number_of_vacation_days_fifth_holiday_week_two_years_before: Optional[float] = Field(default=None, alias='StartNumberOfVacationDaysFifthHolidayWeekTwoYearsBefore')
1077
+ start_number_used_vacation_days_fifth_holiday_week_two_years_before: Optional[float] = Field(default=None, alias='StartNumberUsedVacationDaysFifthHolidayWeekTwoYearsBefore')
1078
+ start_vacation_pay_gross_fifth_holiday_week_two_years_before: Optional[float] = Field(default=None, alias='StartVacationPayGrossFifthHolidayWeekTwoYearsBefore')
1079
+ start_vacations_legitimate_salary_fifth_holiday_week_two_years_before: Optional[float] = Field(default=None, alias='StartVacationsLegitimateSalaryFifthHolidayWeekTwoYearsBefore')
1080
+ start_vacation_supplement_earned_fifth_holiday_week_two_years_before: Optional[float] = Field(default=None, alias='StartVacationSupplementEarnedFifthHolidayWeekTwoYearsBefore')
1081
+ start_vacation_supplement_used_fifth_holiday_week_two_years_before: Optional[float] = Field(default=None, alias='StartVacationSupplementUsedFifthHolidayWeekTwoYearsBefore')
1082
+ start_number_of_vacation_days_fifth_holiday_week_three_years_before: Optional[float] = Field(default=None, alias='StartNumberOfVacationDaysFifthHolidayWeekThreeYearsBefore')
1083
+ start_number_used_vacation_days_fifth_holiday_week_three_years_before: Optional[float] = Field(default=None, alias='StartNumberUsedVacationDaysFifthHolidayWeekThreeYearsBefore')
1084
+ start_vacation_pay_gross_fifth_holiday_week_three_years_before: Optional[float] = Field(default=None, alias='StartVacationPayGrossFifthHolidayWeekThreeYearsBefore')
1085
+ start_vacations_legitimate_salary_fifth_holiday_week_three_years_before: Optional[float] = Field(default=None, alias='StartVacationsLegitimateSalaryFifthHolidayWeekThreeYearsBefore')
1086
+ start_vacation_supplement_earned_fifth_holiday_week_three_years_before: Optional[float] = Field(default=None, alias='StartVacationSupplementEarnedFifthHolidayWeekThreeYearsBefore')
1087
+ start_vacation_supplement_used_fifth_holiday_week_three_years_before: Optional[float] = Field(default=None, alias='StartVacationSupplementUsedFifthHolidayWeekThreeYearsBefore')
1088
+ start_vacation_pay_gross_used_fifth_holiday_week_two_years_before: Optional[float] = Field(default=None, alias='StartVacationPayGrossUsedFifthHolidayWeekTwoYearsBefore')
1089
+ start_vacation_pay_gross_used_fifth_holiday_week_three_years_before: Optional[float] = Field(default=None, alias='StartVacationPayGrossUsedFifthHolidayWeekThreeYearsBefore')
1090
+ start_holiday_hindrance_transferred_days_fifth_holiday_week_current_period: Optional[float] = Field(default=None, alias='StartHolidayHindranceTransferredDaysFifthHolidayWeekCurrentPeriod')
1091
+ start_payout_from_fifth_holiday_week_current_period: Optional[float] = Field(default=None, alias='StartPayoutFromFifthHolidayWeekCurrentPeriod')
1092
+ start_gross_holiday_pay_transferred_fifth_holiday_week_current_period: Optional[float] = Field(default=None, alias='StartGrossHolidayPayTransferredFifthHolidayWeekCurrentPeriod')
1093
+ start_lost_gross_holiday_pay_fifth_holiday_week_current_period: Optional[float] = Field(default=None, alias='StartLostGrossHolidayPayFifthHolidayWeekCurrentPeriod')
1094
+ start_paid_days_fifth_holiday_week_current_period: Optional[float] = Field(default=None, alias='StartPaidDaysFifthHolidayWeekCurrentPeriod')
1095
+ start_transferred_days_fifth_holiday_week_current_period: Optional[float] = Field(default=None, alias='StartTransferredDaysFifthHolidayWeekCurrentPeriod')
1096
+ start_transferred_days_used_fifth_holiday_week_current_period: Optional[float] = Field(default=None, alias='StartTransferredDaysUsedFifthHolidayWeekCurrentPeriod')
1097
+ start_gross_holiday_pay_transferred_fifth_holiday_week_previous_period: Optional[float] = Field(default=None, alias='StartGrossHolidayPayTransferredFifthHolidayWeekPreviousPeriod')
1098
+ start_holiday_hindrance_transferred_days_fifth_holiday_week_previous_period: Optional[float] = Field(default=None, alias='StartHolidayHindranceTransferredDaysFifthHolidayWeekPreviousPeriod')
1099
+ start_payout_from_fifth_holiday_week_previous_period: Optional[float] = Field(default=None, alias='StartPayoutFromFifthHolidayWeekPreviousPeriod')
1100
+ start_lost_gross_holiday_pay_fifth_holiday_week_previous_period: Optional[float] = Field(default=None, alias='StartLostGrossHolidayPayFifthHolidayWeekPreviousPeriod')
1101
+ start_paid_days_fifth_holiday_week_previous_period: Optional[float] = Field(default=None, alias='StartPaidDaysFifthHolidayWeekPreviousPeriod')
1102
+ start_transferred_days_fifth_holiday_week_previous_period: Optional[float] = Field(default=None, alias='StartTransferredDaysFifthHolidayWeekPreviousPeriod')
1103
+ start_transferred_days_used_fifth_holiday_week_previous_period: Optional[float] = Field(default=None, alias='StartTransferredDaysUsedFifthHolidayWeekPreviousPeriod')
1104
+ start_holiday_hindrance_transferred_days_fifth_holiday_week_two_periods_before: Optional[float] = Field(default=None, alias='StartHolidayHindranceTransferredDaysFifthHolidayWeekTwoPeriodsBefore')
1105
+ start_lost_gross_holiday_pay_fifth_holiday_week_two_periods_before: Optional[float] = Field(default=None, alias='StartLostGrossHolidayPayFifthHolidayWeekTwoPeriodsBefore')
1106
+ start_holiday_hindrance_transferred_days_fifth_holiday_week_three_periods_before: Optional[float] = Field(default=None, alias='StartHolidayHindranceTransferredDaysFifthHolidayWeekThreePeriodsBefore')
1107
+ start_transferred_days_fifth_holiday_week_three_periods_before: Optional[float] = Field(default=None, alias='StartTransferredDaysFifthHolidayWeekThreePeriodsBefore')
1108
+ start_transferred_days_used_fifth_holiday_week_three_periods_before: Optional[float] = Field(default=None, alias='StartTransferredDaysUsedFifthHolidayWeekThreePeriodsBefore')
1109
+ start_gross_holiday_pay_transferred_fifth_holiday_week_three_periods_before: Optional[float] = Field(default=None, alias='StartGrossHolidayPayTransferredFifthHolidayWeekThreePeriodsBefore')
1110
+ start_lost_gross_holiday_pay_fifth_holiday_week_three_periods_before: Optional[float] = Field(default=None, alias='StartLostGrossHolidayPayFifthHolidayWeekThreePeriodsBefore')
1111
+ start_earned_care_days_three_years_before: Optional[float] = Field(default=None, alias='StartEarnedCareDaysThreeYearsBefore')
1112
+ start_used_care_days_three_years_before: Optional[float] = Field(default=None, alias='StartUsedCareDaysThreeYearsBefore')
1113
+ start_earned_free_vacation_days_three_years_before: Optional[float] = Field(default=None, alias='StartEarnedFreeVacationDaysThreeYearsBefore')
1114
+ start_used_free_vacation_days_three_years_before: Optional[float] = Field(default=None, alias='StartUsedFreeVacationDaysThreeYearsBefore')
1115
+ start_holday_at_own_expense_three_years_before: Optional[float] = Field(default=None, alias='StartHoldayAtOwnExpenseThreeYearsBefore')
1116
+ start_holday_at_own_expense_three_years_before_saldo: Optional[float] = Field(default=None, alias='StartHoldayAtOwnExpenseThreeYearsBeforeSaldo')
1117
+ start_holiday_hindrance_used_days_fifth_holiday_week_two_periods_before: Optional[float] = Field(default=None, alias='StartHolidayHindranceUsedDaysFifthHolidayWeekTwoPeriodsBefore')
1118
+ start_holiday_hindrance_used_days_fifth_holiday_week_three_periods_before: Optional[float] = Field(default=None, alias='StartHolidayHindranceUsedDaysFifthHolidayWeekThreePeriodsBefore')
1119
+ start_holiday_pay_gross_used_fifth_holiday_week_current_period: Optional[float] = Field(default=None, alias='StartHolidayPayGrossUsedFifthHolidayWeekCurrentPeriod')
1120
+ start_holiday_pay_gross_used_fifth_holiday_week_previous_period: Optional[float] = Field(default=None, alias='StartHolidayPayGrossUsedFifthHolidayWeekPreviousPeriod')
1121
+ start_transferred_gross_holiday_pay_used_fifth_holiday_week_previous_period: Optional[float] = Field(default=None, alias='StartTransferredGrossHolidayPayUsedFifthHolidayWeekPreviousPeriod')
1122
+ start_transferred_gross_holiday_pay_used_fifth_holiday_week_three_periods_before: Optional[float] = Field(default=None, alias='StartTransferredGrossHolidayPayUsedFifthHolidayWeekThreePeriodsBefore')
1123
+ start_holiday_hindrance_used_days_fifth_holiday_week_previous_period: Optional[float] = Field(default=None, alias='StartHolidayHindranceUsedDaysFifthHolidayWeekPreviousPeriod')
1124
+
1125
+ # Payroll related (subset)
1126
+ salary_type: Optional[int] = Field(default=None, alias='SalaryType')
1127
+ p_number: Optional[str] = Field(default=None, alias='PNumber')
1128
+ is_active: Optional[bool] = Field(default=None, alias='IsActive')
1129
+ job_description: Optional[str] = Field(default=None, alias='JobDescription')
1130
+ holiday_pay_rate: Optional[float] = Field(default=None, alias='HolidayPayRate')
1131
+ number_of_hours: Optional[float] = Field(default=None, alias='NumberOfHours')
1132
+ income_type: Optional[int] = Field(default=None, alias='IncomeType')
1133
+ tax: Optional[int] = Field(default=None, alias='Tax')
1134
+ revenue_type: Optional[int] = Field(default=None, alias='RevenueType')
1135
+ maternity_type: Optional[int] = Field(default=None, alias='MaternityType')
1136
+ atp_type: Optional[str] = Field(default=None, alias='AtpType')
1137
+ additional_tax_rate: Optional[float] = Field(default=None, alias='AdditionalTaxRate')
1138
+ enable_file_transfer: Optional[bool] = Field(default=None, alias='EnableFileTransfer')
1139
+ insurance_category: Optional[int] = Field(default=None, alias='InsuranceCategory')
1140
+ company_cvr_number: Optional[str] = Field(default=None, alias='CompanyCvrNumber')
1141
+ is_employee_look_like_other_employee: Optional[bool] = Field(default=None, alias='IsEmployeeLookLikeOtherEmployee')
1142
+ look_like_employee_uid: Optional[str] = Field(default=None, alias='LookLikeEmployeeUid')
1143
+ title: Optional[str] = Field(default=None, alias='Title')
1144
+ company_cost_center_uid: Optional[str] = Field(default=None, alias='CompanyCostCenterUid')
1145
+ company_profit_center_uid: Optional[str] = Field(default=None, alias='CompanyProfitCenterUid')
1146
+ booking_group_uid: Optional[str] = Field(default=None, alias='BookingGroupUid')
1147
+ company_date: Optional[Any] = Field(default=None, alias='CompanyDate')
1148
+ holiday_pay_receiver_uid: Optional[str] = Field(default=None, alias='HolidayPayReceiverUid')
1149
+ benefit_package_amount: Optional[float] = Field(default=None, alias='BenefitPackageAmount')
1150
+ benefit_package_amount_type: Optional[int] = Field(default=None, alias='BenefitPackageAmountType')
1151
+ holiday_payment_amount: Optional[float] = Field(default=None, alias='HolidayPaymentAmount')
1152
+ holiday_payment_type: Optional[int] = Field(default=None, alias='HolidayPaymentType')
1153
+ benefit_package_type: Optional[int] = Field(default=None, alias='BenefitPackageType')
1154
+ include_benefit_package_in_pension: Optional[bool] = Field(default=None, alias='IncludeBenefitPackageInPension')
1155
+ benefit_package_two_amount: Optional[float] = Field(default=None, alias='BenefitPackageTwoAmount')
1156
+ benefit_package_two_type: Optional[int] = Field(default=None, alias='BenefitPackageTwoType')
1157
+ include_benefit_package_two_in_pension: Optional[bool] = Field(default=None, alias='IncludeBenefitPackageTwoInPension')
1158
+ is_absence_freechoice_enabled: Optional[bool] = Field(default=None, alias='IsAbsenceFreechoiceEnabled')
1159
+ holiday_saved_rate: Optional[float] = Field(default=None, alias='HolidaySavedRate')
1160
+ sh_month_select: Optional[Any] = Field(default=None, alias='SHMonthSelect')
1161
+ benefit_package_payout_months: Optional[Any] = Field(default=None, alias='BenefitPackagePayoutMonths')
1162
+ horesta_supplement: Optional[float] = Field(default=None, alias='HorestaSupplement')
1163
+ sh_payout_netto_month_select: Optional[Any] = Field(default=None, alias='ShPayoutNettoMonthSelect')
1164
+ transfer_netto: Optional[bool] = Field(default=None, alias='TransferNetto')
1165
+ monthly_salary: Optional[float] = Field(default=None, alias='MonthlySalary')
1166
+ salary_mode: Optional[int] = Field(default=None, alias='SalaryMode')
1167
+ kr_rate: Optional[float] = Field(default=None, alias='KrRate')
1168
+ number_of_working_days: Optional[float] = Field(default=None, alias='NumberOfWorkingDays')
1169
+ salary_payout_period: Optional[int] = Field(default=None, alias='SalaryPayoutPeriod')
1170
+ holidays: Optional[float] = Field(default=None, alias='Holidays')
1171
+ max_loan: Optional[float] = Field(default=None, alias='MaxLoan')
1172
+ is_automatic_payroll: Optional[bool] = Field(default=None, alias='IsAutomaticPayroll')
1173
+ holiday_days_per_year: Optional[float] = Field(default=None, alias='HolidayDaysPerYear')
1174
+ holiday_supplement: Optional[float] = Field(default=None, alias='HolidaySupplement')
1175
+ additional_days_per_year: Optional[float] = Field(default=None, alias='AdditionalDaysPerYear')
1176
+ care_days_per_year: Optional[float] = Field(default=None, alias='CareDaysPerYear')
1177
+ maximum_number_of_days_used_in_advance: Optional[float] = Field(default=None, alias='MaximumNumberOfDaysUsedInAdvance')
1178
+ holiday_registry_code: Optional[int] = Field(default=None, alias='HolidayRegistryCode')
1179
+ holiday_handling_code: Optional[int] = Field(default=None, alias='HolidayHandlingCode')
1180
+ group_insurance: Optional[float] = Field(default=None, alias='GroupInsurance')
1181
+ is_insurance_taxable: Optional[bool] = Field(default=None, alias='IsInsuranceTaxable')
1182
+ is_insurance_inclusive_in_pension: Optional[bool] = Field(default=None, alias='IsInsuranceInclusiveInPension')
1183
+ number_of_hours_fixed: Optional[float] = Field(default=None, alias='NumberOfHoursFixed')
1184
+ monthly_salary_fixed_base: Optional[float] = Field(default=None, alias='MonthlySalaryFixedBase')
1185
+ pension_insitute_type: Optional[int] = Field(default=None, alias='PensionInsituteType')
1186
+ labour_company_pension: Optional[float] = Field(default=None, alias='LabourCompanyPension')
1187
+ labour_private_pension: Optional[float] = Field(default=None, alias='LabourPrivatePension')
1188
+ labour_benefits_package_for_pension: Optional[float] = Field(default=None, alias='LabourBenefitsPackageForPension')
1189
+ labour_agreement_code: Optional[str] = Field(default=None, alias='LabourAgreementCode')
1190
+ extra_holiday_entitlement_per_payroll: Optional[float] = Field(default=None, alias='ExtraHolidayEntitlementPerPayroll')
1191
+
1192
+ class Config:
1193
+ populate_by_name = True
1194
+ extra = 'allow'
1195
+
1196
+ class PensionBase(BaseModel):
1197
+ name: Optional[str] = Field(default=None, description="Pension name", example="ATP Pension")
1198
+ resource_name: Optional[str] = Field(default=None, description="Resource name", example="ATP")
1199
+ pbs_number: Optional[str] = Field(default=None, description="PBS number", example="1234")
1200
+ type: Optional[int] = Field(default=None, description="Pension type code", example=1)
1201
+ id: Optional[int] = Field(default=None, description="Internal numeric identifier", example=10)
1202
+ uid: Optional[UUID] = Field(default=None, description="Pension UID", example="00000000-0000-0000-0000-000000000000")
1203
+
1204
+ class Config:
1205
+ populate_by_name = True
1206
+
1207
+
1208
+ class BenefitBase(BaseModel):
1209
+ name: Optional[str] = Field(default=None, description="Benefit name", example="Health Insurance")
1210
+ type: Optional[int] = Field(default=None, description="Benefit type code", example=1)
1211
+ resource: Optional[str] = Field(default=None, description="Resource identifier", example="BENEFIT_RES")
1212
+ included_in_pension_base: Optional[bool] = Field(default=None, description="Included in pension base", example=True)
1213
+ included_in_am_pension_base: Optional[bool] = Field(default=None, description="Included in AM pension base", example=True)
1214
+ included_in_holiday_entitlement_salary_base: Optional[bool] = Field(default=None, description="Included in holiday entitlement salary base", example=False)
1215
+ id: Optional[int] = Field(default=None, description="Internal numeric identifier", example=20)
1216
+ uid: Optional[UUID] = Field(default=None, description="Benefit UID", example="00000000-0000-0000-0000-000000000000")
1217
+
1218
+ class Config:
1219
+ populate_by_name = True
1220
+
1221
+
1222
+ class CompanyDepartmentBase(BaseModel):
1223
+ name: Optional[str] = Field(default=None, description="Department name", example="Sales")
1224
+ number: Optional[str] = Field(default=None, description="Department number/code", example="D-100")
1225
+ has_work_schema: Optional[bool] = Field(default=None, description="Whether department has a work schema", example=True)
1226
+ id: Optional[int] = Field(default=None, description="Internal numeric identifier", example=15)
1227
+ uid: Optional[UUID] = Field(default=None, description="Department UID", example="00000000-0000-0000-0000-000000000000")
1228
+
1229
+ class Config:
1230
+ populate_by_name = True
1231
+
1232
+
1233
+ class Dimension(BaseModel):
1234
+ id: Optional[int] = Field(default=None, description="Dimension ID", example=1)
1235
+ uid: Optional[UUID] = Field(default=None, description="Dimension UID", example="00000000-0000-0000-0000-000000000000")
1236
+ name: Optional[str] = Field(default=None, description="Dimension name", example="Profit Center")
1237
+ number: Optional[str] = Field(default=None, description="Dimension number/code", example="PC-01")
1238
+ type: Optional[str] = Field(default=None, description="Dimension type", example="profit")
1239
+
1240
+ class Config:
1241
+ populate_by_name = True
1242
+
1243
+
1244
+ class CompanyCostCenter(BaseModel):
1245
+ number_of_employees: Optional[int] = Field(default=None, description="Number of employees", example=42)
1246
+ employee_uids: Optional[List[UUID]] = Field(default=None, description="Employee UIDs", example=["00000000-0000-0000-0000-000000000000"])
1247
+ cost_center_name: Optional[str] = Field(default=None, description="Cost center name", example="Finance")
1248
+ cost_center_code: Optional[str] = Field(default=None, description="Cost center code", example="FIN")
1249
+ type: Optional[str] = Field(default=None, description="Type (cost/profit)", example="cost")
1250
+ id: Optional[int] = Field(default=None, description="Internal numeric identifier", example=10)
1251
+ uid: Optional[UUID] = Field(default=None, description="Cost center UID", example="00000000-0000-0000-0000-000000000000")
1252
+
1253
+ class Config:
1254
+ populate_by_name = True
1255
+
1256
+
1257
+ class EmployeeResignation(BaseModel):
1258
+ date_of_resignation: Optional[datetime] = Field(default=None, description="Resignation date (ISO 8601)", example="2024-05-31T00:00:00Z")
1259
+ deleted_on: Optional[datetime] = Field(default=None, description="Soft delete timestamp (ISO 8601)", example="2024-06-01T00:00:00Z")
1260
+ reason: Optional[int] = Field(default=None, description="Resignation reason code", example=0)
1261
+ resigned_by: Optional[int] = Field(default=None, description="Resigned by user ID", example=100)
1262
+ note: Optional[str] = Field(default=None, description="Resignation note", example="Personal reasons")
1263
+ is_processed: Optional[bool] = Field(default=None, description="Resignation processed flag", example=False)
1264
+ last_work_day: Optional[datetime] = Field(default=None, description="Last working day (ISO 8601)", example="2024-05-30T00:00:00Z")
1265
+ id: Optional[int] = Field(default=None, description="Internal numeric identifier", example=1)
1266
+ uid: Optional[UUID] = Field(default=None, description="Resignation UID", example="00000000-0000-0000-0000-000000000000")
1267
+
1268
+ class Config:
1269
+ populate_by_name = True
1270
+
1271
+
1272
+ class EmployeeAmPension(BaseModel):
1273
+ pension: Optional[PensionBase] = Field(default=None, description="Pension base object")
1274
+ company_amount: Optional[float] = Field(default=None, description="Company contribution amount", example=1000.0)
1275
+ employee_amount: Optional[float] = Field(default=None, description="Employee contribution amount", example=500.0)
1276
+ amount_type: Optional[int] = Field(default=None, description="Amount type code", example=0)
1277
+ union_code: Optional[str] = Field(default=None, description="Union code", example="UN-1")
1278
+ benefit_package_to_pension_percentage: Optional[float] = Field(default=None, description="Benefit package to pension %", example=10.0)
1279
+ group_life_amount: Optional[float] = Field(default=None, description="Group life amount", example=250.0)
1280
+ is_group_life_amount_taxable: Optional[bool] = Field(default=None, description="Group life amount taxable flag", example=True)
1281
+ is_group_life_amount_inclusive_pension_contribution: Optional[bool] = Field(default=None, description="Group life amount inclusive in pension contribution", example=False)
1282
+ additional_contribution_amount_type: Optional[int] = Field(default=None, description="Additional contribution amount type", example=0)
1283
+ additional_contribution_amount: Optional[float] = Field(default=None, description="Additional contribution amount", example=100.0)
1284
+ employee_wage_code: Optional[str] = Field(default=None, description="Employee wage code", example="E100")
1285
+ company_wage_code: Optional[str] = Field(default=None, description="Company wage code", example="C100")
1286
+ insurance_amount: Optional[float] = Field(default=None, description="Insurance amount", example=250.0)
1287
+ insurance_union_code: Optional[str] = Field(default=None, description="Insurance union code", example="IU-1")
1288
+ id: Optional[int] = Field(default=None, description="Internal numeric identifier", example=1)
1289
+ uid: Optional[UUID] = Field(default=None, description="AM pension UID", example="00000000-0000-0000-0000-000000000000")
1290
+
1291
+ class Config:
1292
+ populate_by_name = True
1293
+
1294
+
1295
+ class EmployeeBenefitBase(BaseModel):
1296
+ price_per_month: Optional[float] = None
1297
+ benefit_base: Optional[BenefitBase] = None
1298
+ name: Optional[str] = None
1299
+ is_editable: Optional[bool] = None
1300
+ pbs_number: Optional[str] = None
1301
+ company_contribution: Optional[float] = None
1302
+ included_in_pension_base: Optional[bool] = None
1303
+ included_in_am_pension_base: Optional[bool] = None
1304
+ included_in_holiday_entitlement_salary_base: Optional[bool] = None
1305
+ id: Optional[int] = None
1306
+ uid: Optional[UUID] = None
1307
+
1308
+ class Config:
1309
+ populate_by_name = True
1310
+
1311
+
1312
+ class EmployeeTaxCard(BaseModel):
1313
+ created_on: Optional[datetime] = Field(default=None, description="Created on (ISO 8601)", example="2024-01-15T12:00:00Z")
1314
+ valid_from: Optional[datetime] = Field(default=None, description="Valid from (ISO 8601)", example="2024-02-01T00:00:00Z")
1315
+ tax_percentage: Optional[float] = Field(default=None, description="Tax percentage", example=38.5)
1316
+ free_card_deduction_main_card: Optional[float] = Field(default=None, description="Free card deduction (main card)", example=0.0)
1317
+ fair_deduction_main_card: Optional[float] = Field(default=None, description="Fair deduction (main card)", example=0.0)
1318
+ ugefradrag_main_card: Optional[float] = Field(default=None, description="Weekly deduction (main card)", example=0.0)
1319
+ fourteen_day_deduction_main_card: Optional[float] = Field(default=None, description="14-day deduction (main card)", example=0.0)
1320
+ monthly_deduction_main_card: Optional[float] = Field(default=None, description="Monthly deduction (main card)", example=0.0)
1321
+ type_of_card: Optional[int] = Field(default=None, description="Type of card code", example=0)
1322
+ status: Optional[int] = Field(default=None, description="Status code", example=0)
1323
+ date_of_creating_of_currente_skattekort_sn: Optional[datetime] = Field(default=None, description="Date of creating current skattekort SN", example="2024-01-20T00:00:00Z")
1324
+ skattekort_serial_number: Optional[str] = Field(default=None, description="Skattekort serial number", example="SK-123")
1325
+ date_of_received_skat_message_response: Optional[datetime] = Field(default=None, description="Date of received SKAT message response", example="2024-01-22T00:00:00Z")
1326
+ skat_message: Optional[str] = Field(default=None, description="SKAT message", example="OK")
1327
+ id: Optional[int] = Field(default=None, description="Internal numeric identifier", example=1)
1328
+ uid: Optional[UUID] = Field(default=None, description="Tax card UID", example="00000000-0000-0000-0000-000000000000")
1329
+
1330
+ class Config:
1331
+ populate_by_name = True
1332
+
1333
+
1334
+ class EmployeePension(BaseModel):
1335
+ account_number: Optional[str] = Field(default=None, description="Pension account number", example="1234567890")
1336
+ register_number: Optional[str] = Field(default=None, description="Bank registration number", example="0001")
1337
+ employee_fk: Optional[int] = Field(default=None, description="Employee FK", example=100)
1338
+ private_pension: Optional[float] = Field(default=None, description="Private pension amount", example=500.0)
1339
+ company_pension: Optional[float] = Field(default=None, description="Company pension amount", example=1000.0)
1340
+ policy_reference_number: Optional[str] = Field(default=None, description="Policy reference number", example="POL-123")
1341
+ tax_pension_amount: Optional[bool] = Field(default=None, description="Tax pension amount flag", example=True)
1342
+ pension_value_type: Optional[int] = Field(default=None, description="Pension value type code", example=1)
1343
+ pension: Optional[PensionBase] = Field(default=None, description="Pension base object")
1344
+ union_code: Optional[str] = Field(default=None, description="Union code", example="UN-1")
1345
+ coverage_base_salary: Optional[float] = Field(default=None, description="Coverage base salary", example=35000.0)
1346
+ employee_wage_code: Optional[str] = Field(default=None, description="Employee wage code", example="E100")
1347
+ company_wage_code: Optional[str] = Field(default=None, description="Company wage code", example="C100")
1348
+ insurance_amount: Optional[float] = Field(default=None, description="Insurance amount", example=250.0)
1349
+ group_life_agreement_number: Optional[str] = Field(default=None, description="Group life agreement number", example="GL-001")
1350
+ calculate_from_am_pension: Optional[bool] = Field(default=None, description="Calculate from AM pension flag", example=True)
1351
+ additional_contribution_amount_type: Optional[int] = Field(default=None, description="Additional contribution amount type", example=0)
1352
+ additional_contribution_amount: Optional[float] = Field(default=None, description="Additional contribution amount", example=100.0)
1353
+ id: Optional[int] = Field(default=None, description="Internal numeric identifier", example=1)
1354
+ uid: Optional[UUID] = Field(default=None, description="Employee pension UID", example="00000000-0000-0000-0000-000000000000")
1355
+
1356
+ class Config:
1357
+ populate_by_name = True
1358
+
1359
+
1360
+ class RelativeBase(BaseModel):
1361
+ employee_id: Optional[int] = None
1362
+ name: Optional[str] = None
1363
+ phone: Optional[str] = None
1364
+ email: Optional[str] = None
1365
+ relation: Optional[str] = None
1366
+ id: Optional[int] = None
1367
+ uid: Optional[UUID] = None
1368
+
1369
+ class Config:
1370
+ populate_by_name = True
1371
+
1372
+
1373
+ class HolidayPayReceiverBase(BaseModel):
1374
+ name: Optional[str] = None
1375
+ type: Optional[int] = None
1376
+ cvr: Optional[str] = None
1377
+ id: Optional[int] = None
1378
+ uid: Optional[UUID] = None
1379
+
1380
+ class Config:
1381
+ populate_by_name = True
1382
+
1383
+
1384
+ class EmployeeSaldoHolidayPeriods(BaseModel):
1385
+ year: Optional[int] = None
1386
+ period_type: Optional[int] = None
1387
+ saldo_type: Optional[int] = None
1388
+ can_edit_fifth_holiday_week_fields: Optional[bool] = None
1389
+ has_fifth_holiday_week_payout: Optional[bool] = None
1390
+
1391
+ class Config:
1392
+ populate_by_name = True
1393
+
1394
+
1395
+ class CompanyModel(BaseModel):
1396
+ association_id: Optional[int] = None
1397
+ p_number: Optional[str] = None
1398
+ cvr: Optional[str] = None
1399
+ has_holiday_payment: Optional[bool] = None
1400
+ has_benefit_package: Optional[bool] = None
1401
+ has_benefit_package_two: Optional[bool] = None
1402
+ has_am_pension: Optional[bool] = None
1403
+ is_department_income_split_enabled: Optional[bool] = None
1404
+ insurance_type: Optional[int] = None
1405
+ is_use_of_vacation_days_in_advance_enabled: Optional[bool] = None
1406
+ is_horesta_supplement_enabled: Optional[bool] = None
1407
+ has_holiday_payment_netto_transfer_or_payout: Optional[bool] = None
1408
+ is_sh_payout_netto_enabled: Optional[bool] = None
1409
+ is_transfer_fifth_holiday_week_enabled: Optional[bool] = None
1410
+ is_holiday_hindrance_enabled: Optional[bool] = None
1411
+ extra_holiday_entitlement_in_hours: Optional[bool] = None
1412
+ id: Optional[int] = None
1413
+ uid: Optional[UUID] = None
1414
+ name: Optional[str] = None
1415
+ logo_url: Optional[str] = None
1416
+
1417
+ class Config:
1418
+ populate_by_name = True
1419
+
1420
+
1421
+ class User(BaseModel):
1422
+ is_active: Optional[bool] = None
1423
+ email: Optional[str] = None
1424
+ name: Optional[str] = None
1425
+ photo_url: Optional[str] = None
1426
+ id: Optional[int] = None
1427
+ uid: Optional[UUID] = None
1428
+
1429
+ class Config:
1430
+ populate_by_name = True
1431
+
1432
+
1433
+
1434
+
1435
+ class GetEmployeeAsyncResponse(BaseModel):
1436
+ model_config = ConfigDict(from_attributes=True, populate_by_name=True)
1437
+
1438
+ resignation: Optional[EmployeeResignation] = None
1439
+ am_pension: Optional[EmployeeAmPension] = None
1440
+ benefits: Optional[List[EmployeeBenefitBase]] = None
1441
+ paychecks: Optional[List[Dict[str, Any]]] = None # PayCheckDto is too complex, using Dict for now
1442
+ tax_cards: Optional[List[EmployeeTaxCard]] = None
1443
+ pensions: Optional[List[EmployeePension]] = None
1444
+ relatives: Optional[List[RelativeBase]] = None
1445
+ extra_hours_payments: Optional[List[Dict[str, Any]]] = None # ExtraHoursPaymentDto is too complex, using Dict for now
1446
+ holiday_pay_receiver: Optional[HolidayPayReceiverBase] = Field(default=None, description="Holiday pay receiver object")
1447
+ personal_identification_number: Optional[str] = Field(default=None, description="Personal identification number (CPR)", example="010190-1234")
1448
+ address: Optional[str] = Field(default=None, description="Street address", example="Main Street 1")
1449
+ city: Optional[str] = Field(default=None, description="City name", example="Copenhagen")
1450
+ kr_rate: Optional[float] = Field(default=None, description="Krone rate", example=120.0)
1451
+ monthly_salary: Optional[float] = Field(default=None, description="Monthly salary", example=32000.0)
1452
+ monthly_salary_fixed_base: Optional[float] = Field(default=None, description="Monthly salary fixed base", example=30000.0)
1453
+ holiday_days_per_year: Optional[float] = Field(default=None, description="Holiday days per year", example=25.0)
1454
+ holiday_supplement: Optional[float] = Field(default=None, description="Holiday supplement amount", example=1.5)
1455
+ care_days_per_year: Optional[float] = Field(default=None, description="Care days per year", example=2.0)
1456
+ additional_days_per_year: Optional[float] = Field(default=None, description="Additional days per year", example=5.0)
1457
+ maximum_number_of_days_used_in_advance: Optional[float] = Field(default=None, description="Max days used in advance", example=5.0)
1458
+ holidays: Optional[float] = Field(default=None, description="Holiday days", example=25.0)
1459
+ max_loan: Optional[float] = Field(default=None, description="Maximum loan amount", example=5000.0)
1460
+ is_automatic_payroll: Optional[bool] = Field(default=None, description="Automatic payroll enabled", example=False)
1461
+ holiday_registry_code: Optional[int] = Field(default=None, description="Holiday registry code", example=0)
1462
+ holiday_handling_code: Optional[int] = Field(default=None, description="Holiday handling code", example=0)
1463
+ group_insurance: Optional[float] = Field(default=None, description="Group insurance amount", example=300.0)
1464
+ is_insurance_taxable: Optional[bool] = Field(default=None, description="Insurance taxable flag", example=True)
1465
+ is_insurance_inclusive_in_pension: Optional[bool] = Field(default=None, description="Insurance included in pension", example=False)
1466
+ job_description: Optional[str] = Field(default=None, description="Job description text", example="Backend developer")
1467
+ p_number: Optional[str] = Field(default=None, description="Employee P-number", example="P12345")
1468
+ invitation_text: Optional[str] = Field(default=None, description="Invitation message text", example="Welcome to Zenegy")
1469
+ start_g_days: Optional[float] = None
1470
+ start_am_income: Optional[float] = None
1471
+ start_contributory_income: Optional[float] = None
1472
+ start_one_time_income: Optional[float] = None
1473
+ start_b_income_with_am: Optional[float] = None
1474
+ start_b_income_without_am: Optional[float] = None
1475
+ start_hours: Optional[float] = None
1476
+ start_atp: Optional[float] = None
1477
+ start_am: Optional[float] = None
1478
+ start_a_skat: Optional[float] = None
1479
+ start_health_insurance: Optional[float] = None
1480
+ start_company_car: Optional[float] = None
1481
+ start_company_lodging: Optional[float] = None
1482
+ start_mileage: Optional[float] = None
1483
+ start_mileage_low_rate: Optional[float] = None
1484
+ start_travel_allowance: Optional[float] = None
1485
+ start_personal_pension: Optional[float] = None
1486
+ start_pension_from_company: Optional[float] = None
1487
+ start_group_life: Optional[float] = None
1488
+ start_group_life2: Optional[float] = None
1489
+ start_personal_amp: Optional[float] = None
1490
+ start_company_amp: Optional[float] = None
1491
+ start_free_phone: Optional[float] = None
1492
+ number_of_hours: Optional[float] = None
1493
+ number_of_hours_fixed: Optional[float] = None
1494
+ pension_institute_type: Optional[int] = None
1495
+ labour_company_pension: Optional[float] = None
1496
+ labour_private_pension: Optional[float] = None
1497
+ labour_benefits_package_for_pension: Optional[float] = None
1498
+ labour_agreement_code: Optional[str] = None
1499
+ has_maternity_participation: Optional[bool] = None
1500
+ atp_type: Optional[str] = None
1501
+ show_relatives_and_documents: Optional[bool] = None
1502
+ start_net_holiday_pay: Optional[float] = None
1503
+ start_number_of_vacation_days: Optional[float] = None
1504
+ start_holiday_supplement_value: Optional[float] = None
1505
+ start_am_contributions_wages_and_holidaypay: Optional[float] = None
1506
+ start_number_of_vacation_days_two_periods_before: Optional[float] = None
1507
+ start_number_of_vacation_days_three_periods_before: Optional[float] = None
1508
+ start_number_of_vacation_days_previous_period: Optional[float] = None
1509
+ start_number_of_vacation_days_current_period: Optional[float] = None
1510
+ start_number_of_vacation_days_frozen_period: Optional[float] = None
1511
+ start_holiday_supplement_three_periods_before: Optional[float] = None
1512
+ start_holiday_supplement_two_periods_before: Optional[float] = None
1513
+ start_holiday_supplement_previous_period: Optional[float] = None
1514
+ start_holiday_supplement_current_period: Optional[float] = None
1515
+ start_earned_vacations_legitimate_salary_amount_current_period: Optional[float] = None
1516
+ start_holiday_payment_saved: Optional[float] = None
1517
+ start_holiday_payment_advance: Optional[float] = None
1518
+ start_holiday_payment_advance_year_before: Optional[float] = None
1519
+ start_holiday_payment_saved_year_before: Optional[float] = None
1520
+ start_holiday_payment_saved_netto_year_before: Optional[float] = None
1521
+ start_holiday_payment_saved_netto: Optional[float] = None
1522
+ start_holiday_payment_saldo_netto: Optional[float] = None
1523
+ start_used_vacation_day_units_current_period: Optional[float] = None
1524
+ start_used_vacation_day_units_previous_period: Optional[float] = None
1525
+ start_used_vacation_day_units_two_periods_before: Optional[float] = None
1526
+ start_used_vacation_day_units_three_periods_before: Optional[float] = None
1527
+ start_used_vacation_day_units_frozen_period: Optional[float] = None
1528
+ start_used_holiday_supplement_current_period: Optional[float] = None
1529
+ start_used_holiday_supplement_previous_period: Optional[float] = None
1530
+ start_used_holiday_supplement_two_periods_before: Optional[float] = None
1531
+ start_used_holiday_supplement_three_periods_before: Optional[float] = None
1532
+ start_earned_vacations_legitimate_salary_amount_previous_period: Optional[float] = None
1533
+ start_earned_vacations_legitimate_salary_amount_two_periods_before: Optional[float] = None
1534
+ start_earned_vacations_legitimate_salary_amount_three_periods_before: Optional[float] = None
1535
+ start_earned_vacations_legitimate_salary_amount_frozen_period: Optional[float] = None
1536
+ start_earned_holiday_pay_net_amount_previous_period: Optional[float] = None
1537
+ start_earned_holiday_pay_net_amount_two_periods_before: Optional[float] = None
1538
+ start_earned_holiday_pay_net_amount_frozen_period: Optional[float] = None
1539
+ start_earned_holiday_pay_net_amount_current_period: Optional[float] = None
1540
+ start_used_holiday_pay_net_amount_current_period: Optional[float] = None
1541
+ start_used_holiday_pay_net_amount_previous_period: Optional[float] = None
1542
+ start_used_holiday_pay_net_amount_two_periods_before: Optional[float] = None
1543
+ start_used_holiday_pay_net_amount_frozen_period: Optional[float] = None
1544
+ benefit_package_amount: Optional[float] = None
1545
+ holiday_payment_amount: Optional[float] = None
1546
+ is_absence_freechoice_enabled: Optional[bool] = None
1547
+ start_used_vacation_day_units_current_period: Optional[float] = None
1548
+ start_used_vacation_day_units_previous_period: Optional[float] = None
1549
+ start_used_vacation_day_units_two_periods_before: Optional[float] = None
1550
+ start_used_vacation_day_units_frozen_period: Optional[float] = None
1551
+ start_used_holiday_supplement_current_period: Optional[float] = None
1552
+ start_used_holiday_supplement_previous_period: Optional[float] = None
1553
+ start_used_holiday_supplement_two_periods_before: Optional[float] = None
1554
+ start_earned_vacations_legitimate_salary_amount_previous_period: Optional[float] = None
1555
+ start_earned_vacations_legitimate_salary_amount_two_periods_before: Optional[float] = None
1556
+ start_earned_vacations_legitimate_salary_amount_frozen_period: Optional[float] = None
1557
+ start_earned_holiday_pay_net_amount_previous_period: Optional[float] = None
1558
+ start_earned_holiday_pay_net_amount_two_periods_before: Optional[float] = None
1559
+ start_earned_holiday_pay_net_amount_frozen_period: Optional[float] = None
1560
+ start_earned_holiday_pay_net_amount_current_period: Optional[float] = None
1561
+ start_used_holiday_pay_net_amount_current_period: Optional[float] = None
1562
+ start_used_holiday_pay_net_amount_previous_period: Optional[float] = None
1563
+ start_used_holiday_pay_net_amount_two_periods_before: Optional[float] = None
1564
+ start_used_holiday_pay_net_amount_frozen_period: Optional[float] = None
1565
+ benefit_package_amount_type: Optional[int] = None
1566
+ holiday_payment_type: Optional[int] = None
1567
+ benefit_package_type: Optional[int] = None
1568
+ include_benefit_package_in_pension: Optional[bool] = None
1569
+ last_time_skat_card_updated: Optional[datetime] = None
1570
+ additional_tax_rate: Optional[float] = None
1571
+ roles: Optional[List[int]] = None
1572
+ enable_file_transfer: Optional[bool] = None
1573
+ is_e_boks_enabled: Optional[bool] = None
1574
+ maternity_type: Optional[int] = None
1575
+ holiday_pay_rate: Optional[float] = None
1576
+ start_earned_care_days_two_years_before: Optional[float] = None
1577
+ start_earned_care_days_year_before: Optional[float] = None
1578
+ start_earned_care_days_current_year: Optional[float] = None
1579
+ start_used_care_days_two_years_before: Optional[float] = None
1580
+ start_used_care_days_year_before: Optional[float] = None
1581
+ start_used_care_days_current_year: Optional[float] = None
1582
+ start_earned_free_vacation_days_two_years_before: Optional[float] = None
1583
+ start_earned_free_vacation_days_year_before: Optional[float] = None
1584
+ start_earned_free_vacation_days_current_year: Optional[float] = None
1585
+ start_used_free_vacation_days_two_years_before: Optional[float] = None
1586
+ start_used_free_vacation_days_year_before: Optional[float] = None
1587
+ start_used_free_vacation_days_current_year: Optional[float] = None
1588
+ number_of_working_days: Optional[float] = None
1589
+ start_earned_holiday_pay_gross_current_period: Optional[float] = None
1590
+ start_earned_holiday_pay_gross_previous_period: Optional[float] = None
1591
+ start_earned_holiday_pay_gross_two_periods_before: Optional[float] = None
1592
+ start_earned_holiday_pay_gross_three_periods_before: Optional[float] = None
1593
+ start_earned_holiday_pay_gross_frozen_period: Optional[float] = None
1594
+ start_used_holiday_pay_gross_current_period: Optional[float] = None
1595
+ start_used_holiday_pay_gross_previous_period: Optional[float] = None
1596
+ start_used_holiday_pay_gross_two_periods_before: Optional[float] = None
1597
+ start_used_holiday_pay_gross_three_periods_before: Optional[float] = None
1598
+ start_used_holiday_pay_gross_frozen_period: Optional[float] = None
1599
+ start_flex_hours: Optional[float] = None
1600
+ insurance_category: Optional[int] = None
1601
+ ancinity_date: Optional[datetime] = None
1602
+ start_saldo_holiday_periods: Optional[List[EmployeeSaldoHolidayPeriods]] = None
1603
+ can_change_holiday_pay_receiver: Optional[bool] = None
1604
+ global_value_information: Optional[List[Dict[str, Any]]] = None # GlobalValueEmployeeInformationDto is too complex, using Dict for now
1605
+ nem_konto_payment: Optional[str] = None
1606
+ global_value_set_information: Optional[Dict[str, Any]] = None # GlobalValueSetInformation is too complex, using Dict for now
1607
+ standard_rate: Optional[float] = None
1608
+ standard_rate_hourly: Optional[float] = None
1609
+ benefit_package_two_amount: Optional[float] = None
1610
+ benefit_package_two_type: Optional[int] = None
1611
+ include_benefit_package_two_in_pension: Optional[bool] = None
1612
+ company_cost_center: Optional[CompanyCostCenter] = None
1613
+ company_profit_center: Optional[CompanyCostCenter] = None
1614
+ company_cost_center_fk: Optional[int] = None
1615
+ start_time_in_lieu_earned_hours: Optional[float] = None
1616
+ start_time_in_lieu_earned_amount: Optional[float] = None
1617
+ start_health_insurance_no_am_pension: Optional[float] = None
1618
+ start_health_insurance_no_am_pension_no_vacation_entitled_money: Optional[float] = None
1619
+ start_not_covered_by_triviality: Optional[float] = None
1620
+ start_christmas_gifts_benefit: Optional[float] = None
1621
+ start_other_benefit: Optional[float] = None
1622
+ holiday_saved_rate: Optional[float] = None
1623
+ show_current_saldo: Optional[bool] = None
1624
+ start_negative_salary_saldo: Optional[float] = None
1625
+ is_tracking_negative_salary_enabled: Optional[bool] = None
1626
+ company_cvr_number: Optional[str] = None
1627
+ sh_months_select: Optional[List[str]] = None
1628
+ benefit_package_payout_months: Optional[List[str]] = None
1629
+ employee_values_information: Optional[List[Dict[str, Any]]] = None # EmployeeValueEmployeeInformationDto is too complex, using Dict for now
1630
+ start_anniversary_bonus_saldo: Optional[float] = None
1631
+ start_severance_saldo: Optional[float] = None
1632
+ start_travel_allowance_without_payment: Optional[float] = None
1633
+ employee_department_income_splits: Optional[List[Dict[str, Any]]] = None # EmployeeDepartmentIncomeSplitDto is too complex, using Dict for now
1634
+ horesta_supplement: Optional[float] = None
1635
+ special_supplement_type: Optional[str] = None
1636
+ special_supplement_payout_months: Optional[List[str]] = None
1637
+ start_holiday_at_own_expense_two_years_before: Optional[float] = None
1638
+ start_holiday_at_own_expense_year_before: Optional[float] = None
1639
+ start_holiday_at_own_expense_current_year: Optional[float] = None
1640
+ start_holiday_at_own_expense_two_years_before_saldo: Optional[float] = None
1641
+ start_holiday_at_own_expense_year_before_saldo: Optional[float] = None
1642
+ start_holiday_at_own_expense_current_year_saldo: Optional[float] = None
1643
+ is_after_september_2021: Optional[bool] = None
1644
+ sh_payout_netto_months_select: Optional[List[str]] = None
1645
+ transfer_netto: Optional[bool] = None
1646
+ booking_group: Optional[Dict[str, Any]] = None # BookingGroupBaseDto is too complex, using Dict for now
1647
+ start_number_of_vacation_days_fifth_holiday_week_two_years_before: Optional[float] = None
1648
+ start_number_used_vacation_days_fifth_holiday_week_two_years_before: Optional[float] = None
1649
+ start_vacation_pay_gross_fifth_holiday_week_two_years_before: Optional[float] = None
1650
+ start_vacations_legitimate_salary_fifth_holiday_week_two_years_before: Optional[float] = None
1651
+ start_vacation_supplement_earned_fifth_holiday_week_two_years_before: Optional[float] = None
1652
+ start_vacation_supplement_used_fifth_holiday_week_two_years_before: Optional[float] = None
1653
+ start_number_of_vacation_days_fifth_holiday_week_three_years_before: Optional[float] = None
1654
+ start_number_used_vacation_days_fifth_holiday_week_three_years_before: Optional[float] = None
1655
+ start_vacation_pay_gross_fifth_holiday_week_three_years_before: Optional[float] = None
1656
+ start_vacations_legitimate_salary_fifth_holiday_week_three_years_before: Optional[float] = None
1657
+ start_vacation_supplement_earned_fifth_holiday_week_three_years_before: Optional[float] = None
1658
+ start_vacation_supplement_used_fifth_holiday_week_three_years_before: Optional[float] = None
1659
+ start_vacation_pay_gross_used_fifth_holiday_week_two_years_before: Optional[float] = None
1660
+ start_vacation_pay_gross_used_fifth_holiday_week_three_years_before: Optional[float] = None
1661
+ start_holiday_hindrance_transferred_days_fifth_holiday_week_current_period: Optional[float] = None
1662
+ start_holiday_hindrance_used_days_fifth_holiday_week_current_period: Optional[float] = None
1663
+ start_days_to_payout_or_transfer_fifth_holiday_week_current_period: Optional[float] = None
1664
+ start_paid_days_fifth_holiday_week_current_period: Optional[float] = None
1665
+ start_days_for_transfer_fifth_holiday_week_current_period: Optional[float] = None
1666
+ start_transferred_days_fifth_holiday_week_current_period: Optional[float] = None
1667
+ start_transferred_days_used_fifth_holiday_week_current_period: Optional[float] = None
1668
+ start_lost_days_fifth_holiday_week_current_period: Optional[float] = None
1669
+ start_holiday_pay_gross_used_fifth_holiday_week_current_period: Optional[float] = None
1670
+ start_gross_holiday_pay_per_day_fifth_holiday_week_current_period: Optional[float] = None
1671
+ start_value_for_days_to_payout_fifth_holiday_week_current_period: Optional[float] = None
1672
+ start_payout_from_fifth_holiday_week_current_period: Optional[float] = None
1673
+ start_gross_holiday_pay_for_transfer_fifth_holiday_week_current_period: Optional[float] = None
1674
+ start_gross_holiday_pay_transferred_fifth_holiday_week_current_period: Optional[float] = None
1675
+ start_transferred_gross_holiday_pay_used_fifth_holiday_week_current_period: Optional[float] = None
1676
+ start_transferred_gross_holiday_pay_value_per_day_fifth_holiday_week_current_period: Optional[float] = None
1677
+ start_lost_gross_holiday_pay_fifth_holiday_week_current_period: Optional[float] = None
1678
+ start_vacation_supplement_value_per_day_fifth_holiday_week_current_period: Optional[float] = None
1679
+ start_holiday_hindrance_transferred_days_fifth_holiday_week_previous_period: Optional[float] = None
1680
+ start_holiday_hindrance_used_days_fifth_holiday_week_previous_period: Optional[float] = None
1681
+ start_days_to_payout_or_transfer_fifth_holiday_week_previous_period: Optional[float] = None
1682
+ start_paid_days_fifth_holiday_week_previous_period: Optional[float] = None
1683
+ start_days_for_transfer_fifth_holiday_week_previous_period: Optional[float] = None
1684
+ start_transferred_days_fifth_holiday_week_previous_period: Optional[float] = None
1685
+ start_transferred_days_used_fifth_holiday_week_previous_period: Optional[float] = None
1686
+ start_lost_days_fifth_holiday_week_previous_period: Optional[float] = None
1687
+ start_holiday_pay_gross_used_fifth_holiday_week_previous_period: Optional[float] = None
1688
+ start_gross_holiday_pay_per_day_fifth_holiday_week_previous_period: Optional[float] = None
1689
+ start_value_for_days_to_payout_fifth_holiday_week_previous_period: Optional[float] = None
1690
+ start_payout_from_fifth_holiday_week_previous_period: Optional[float] = None
1691
+ start_gross_holiday_pay_for_transfer_fifth_holiday_week_previous_period: Optional[float] = None
1692
+ start_gross_holiday_pay_transferred_fifth_holiday_week_previous_period: Optional[float] = None
1693
+ start_transferred_gross_holiday_pay_used_fifth_holiday_week_previous_period: Optional[float] = None
1694
+ start_transferred_gross_holiday_pay_value_per_day_fifth_holiday_week_previous_period: Optional[float] = None
1695
+ start_lost_gross_holiday_pay_fifth_holiday_week_previous_period: Optional[float] = None
1696
+ start_vacation_supplement_value_per_day_fifth_holiday_week_previous_period: Optional[float] = None
1697
+ start_holiday_hindrance_transferred_days_fifth_holiday_week_two_periods_before: Optional[float] = None
1698
+ start_holiday_hindrance_used_days_fifth_holiday_week_two_periods_before: Optional[float] = None
1699
+ start_lost_days_fifth_holiday_week_two_periods_before: Optional[float] = None
1700
+ start_holiday_pay_gross_used_fifth_holiday_week_two_periods_before: Optional[float] = None
1701
+ start_gross_holiday_pay_per_day_fifth_holiday_week_two_periods_before: Optional[float] = None
1702
+ start_lost_gross_holiday_pay_fifth_holiday_week_two_periods_before: Optional[float] = None
1703
+ start_vacation_supplement_value_per_day_fifth_holiday_week_two_periods_before: Optional[float] = None
1704
+ start_holiday_hindrance_transferred_days_fifth_holiday_week_three_periods_before: Optional[float] = None
1705
+ start_holiday_hindrance_used_days_fifth_holiday_week_three_periods_before: Optional[float] = None
1706
+ start_transferred_days_fifth_holiday_week_three_periods_before: Optional[float] = None
1707
+ start_transferred_days_used_fifth_holiday_week_three_periods_before: Optional[float] = None
1708
+ start_lost_days_fifth_holiday_week_three_periods_before: Optional[float] = None
1709
+ start_holiday_pay_gross_used_fifth_holiday_week_three_periods_before: Optional[float] = None
1710
+ start_gross_holiday_pay_per_day_fifth_holiday_week_three_periods_before: Optional[float] = None
1711
+ start_gross_holiday_pay_transferred_fifth_holiday_week_three_periods_before: Optional[float] = None
1712
+ start_transferred_gross_holiday_pay_used_fifth_holiday_week_three_periods_before: Optional[float] = None
1713
+ start_transferred_gross_holiday_pay_value_per_day_fifth_holiday_week_three_periods_before: Optional[float] = None
1714
+ start_lost_gross_holiday_pay_fifth_holiday_week_three_periods_before: Optional[float] = None
1715
+ start_vacation_supplement_value_per_day_fifth_holiday_week_three_periods_before: Optional[float] = None
1716
+ start_paid_days_fifth_holiday_week_two_periods_before: Optional[float] = None
1717
+ start_paid_days_fifth_holiday_week_three_periods_before: Optional[float] = None
1718
+ start_transferred_days_fifth_holiday_week_two_periods_before: Optional[float] = None
1719
+ start_transferred_days_used_fifth_holiday_week_two_periods_before: Optional[float] = None
1720
+ start_payout_from_fifth_holiday_week_two_periods_before: Optional[float] = None
1721
+ start_payout_from_fifth_holiday_week_three_periods_before: Optional[float] = None
1722
+ start_gross_holiday_pay_transferred_fifth_holiday_week_two_periods_before: Optional[float] = None
1723
+ start_transferred_gross_holiday_pay_used_fifth_holiday_week_two_periods_before: Optional[float] = None
1724
+ start_days_to_payout_or_transfer_fifth_holiday_week_two_periods_before: Optional[float] = None
1725
+ start_days_to_payout_or_transfer_fifth_holiday_week_three_periods_before: Optional[float] = None
1726
+ start_value_for_days_to_payout_fifth_holiday_week_two_periods_before: Optional[float] = None
1727
+ start_value_for_days_to_payout_fifth_holiday_week_three_periods_before: Optional[float] = None
1728
+ start_transferred_gross_holiday_pay_value_per_day_fifth_holiday_week_two_periods_before: Optional[float] = None
1729
+ start_earned_care_days_three_years_before: Optional[float] = None
1730
+ start_used_care_days_three_years_before: Optional[float] = None
1731
+ start_earned_free_vacation_days_three_years_before: Optional[float] = None
1732
+ start_used_free_vacation_days_three_years_before: Optional[float] = None
1733
+ start_holiday_at_own_expense_three_years_before: Optional[float] = None
1734
+ start_holiday_at_own_expense_three_years_before_saldo: Optional[float] = None
1735
+ extra_holiday_entitlement_per_payroll: Optional[float] = None
1736
+ company_date: Optional[datetime] = None
1737
+ global_values_set_uid: Optional[UUID] = None
1738
+ is_employee_look_like_other_employee: Optional[bool] = None
1739
+ look_like_employee_uid: Optional[UUID] = None
1740
+ has_active_or_finished_payrolls: Optional[bool] = None
1741
+ start_gross_holiday_pay_for_transfer_fifth_holiday_week_two_periods_before: Optional[float] = None
1742
+ start_gross_holiday_pay_for_transfer_fifth_holiday_week_three_periods_before: Optional[float] = None
1743
+ tin_number: Optional[str] = None
1744
+ day_of_prayer_compensation: Optional[float] = None
1745
+ day_of_prayer_compensation_rule: Optional[str] = None
1746
+ start_current_year_day_of_prayer_compensation_earned: Optional[float] = None
1747
+ start_current_year_day_of_prayer_compensation_paidout: Optional[float] = None
1748
+ start_year_before_day_of_prayer_compensation_earned: Optional[float] = None
1749
+ start_year_before_day_of_prayer_compensation_paidout: Optional[float] = None
1750
+ start_days_for_transfer_fifth_holiday_week_three_periods_before: Optional[float] = None
1751
+ start_days_for_transfer_fifth_holiday_week_two_periods_before: Optional[float] = None
1752
+ work_time_employment_info: Optional[str] = None
1753
+ created_on: Optional[datetime] = None
1754
+ image_url: Optional[str] = None
1755
+ is_foreign: Optional[bool] = None
1756
+ company: Optional[CompanyModel] = None
1757
+ invited_by_email: Optional[int] = None
1758
+ has_payroll: Optional[bool] = None
1759
+ postal_number: Optional[str] = None
1760
+ country: Optional[str] = None
1761
+ language: Optional[str] = None
1762
+ linked_in: Optional[str] = None
1763
+ konto_number: Optional[str] = None
1764
+ reg_number: Optional[str] = None
1765
+ iban: Optional[str] = None
1766
+ swift: Optional[str] = None
1767
+ is_cpr_validated: Optional[bool] = None
1768
+ tax: Optional[int] = None
1769
+ has_profile_image: Optional[bool] = None
1770
+ user: Optional[User] = None
1771
+ has_user: Optional[bool] = None
1772
+ is_resigned_with_registrations: Optional[bool] = None
1773
+ salary_mode: Optional[int] = None
1774
+ employment_date: Optional[datetime] = None
1775
+ global_value_set_number: Optional[str] = None
1776
+ title: Optional[str] = None
1777
+ is_active: Optional[bool] = None
1778
+ is_resigned: Optional[bool] = None
1779
+ cpr: Optional[str] = None
1780
+ salary_type: Optional[int] = None
1781
+ contact_phone: Optional[str] = None
1782
+ email: Optional[str] = None
1783
+ department: Optional[CompanyDepartmentBase] = None
1784
+ cost_center: Optional[Dimension] = None
1785
+ profit_center: Optional[Dimension] = None
1786
+ car_registration_number: Optional[str] = None
1787
+ type: Optional[int] = None
1788
+ salary_payout_period: Optional[int] = None
1789
+ revenue_type: Optional[int] = None
1790
+ income_type: Optional[int] = None
1791
+ holiday_pay_receiver_type: Optional[int] = None
1792
+ extra_holiday_entitlement_rule: Optional[str] = None
1793
+ name: Optional[str] = None
1794
+ employee_number: Optional[str] = None
1795
+ extra_employee_number: Optional[str] = None
1796
+ id: Optional[int] = None
1797
+ uid: Optional[UUID] = None
1798
+
1799
+
1800
+ class EmployeesGet(BrynQPanderaDataFrameModel):
1801
+ """Flattened schema for Zenegy Employees Output data"""
1802
+
1803
+ # Employee Identification
1804
+ uid: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Employee unique identifier", alias="uid")
1805
+ id: Optional[Series[pd.Int64Dtype]] = pa.Field(coerce=True, nullable=True, description="Employee ID", alias="id")
1806
+ employee_number: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Employee number", alias="employeeNumber")
1807
+ extra_employee_number: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Extra employee number", alias="extraEmployeeNumber")
1808
+
1809
+ # Basic Information
1810
+ name: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Employee name", alias="name")
1811
+ title: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Employee title", alias="title")
1812
+ cpr: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="CPR number", alias="cpr")
1813
+
1814
+ # Contact Information
1815
+ email: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Contact email", alias="contactEmail")
1816
+ contact_phone: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Contact phone", alias="contactPhone")
1817
+ address: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Address", alias="address")
1818
+ city: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="City", alias="city")
1819
+ postal_number: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Postal number", alias="postalNumber")
1820
+ mobile_phone: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Mobile phone", alias="mobilePhone")
1821
+
1822
+ # Employment Information
1823
+ employment_date: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Employment date", alias="employmentDate")
1824
+ date_of_resignation: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Date of resignation", alias="dateOfResignation")
1825
+ last_work_day: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Last work day", alias="lastWorkDay")
1826
+ salary_mode: Optional[Series[pd.Int64Dtype]] = pa.Field(coerce=True, nullable=True, description="Salary mode", alias="salaryMode")
1827
+ salary_type: Optional[Series[pd.Int64Dtype]] = pa.Field(coerce=True, nullable=True, description="Salary type", alias="salaryType")
1828
+ salary_payout_period: Optional[Series[pd.Int64Dtype]] = pa.Field(coerce=True, nullable=True, description="Salary payout period", alias="salaryPayoutPeriod")
1829
+
1830
+ # Status Flags
1831
+ is_active: Optional[Series[pd.BooleanDtype]] = pa.Field(coerce=True, nullable=True, description="Is active", alias="isActive")
1832
+ is_resigned: Optional[Series[pd.BooleanDtype]] = pa.Field(coerce=True, nullable=True, description="Is resigned", alias="isResigned")
1833
+ is_foreign: Optional[Series[pd.BooleanDtype]] = pa.Field(coerce=True, nullable=True, description="Is foreign", alias="isForeign")
1834
+ is_cpr_validated: Optional[Series[pd.BooleanDtype]] = pa.Field(coerce=True, nullable=True, description="Is CPR validated", alias="isCprValidated")
1835
+ has_payroll: Optional[Series[pd.BooleanDtype]] = pa.Field(coerce=True, nullable=True, description="Has payroll", alias="hasPayroll")
1836
+ has_user: Optional[Series[pd.BooleanDtype]] = pa.Field(coerce=True, nullable=True, description="Has user", alias="hasUser")
1837
+ has_profile_image: Optional[Series[pd.BooleanDtype]] = pa.Field(coerce=True, nullable=True, description="Has profile image", alias="hasProfileImage")
1838
+ is_resigned_within_last_year: Optional[Series[pd.BooleanDtype]] = pa.Field(coerce=True, nullable=True, description="Is resigned within last year", alias="isResignedWithinLastyear")
1839
+ is_resigned_with_registrations: Optional[Series[pd.BooleanDtype]] = pa.Field(coerce=True, nullable=True, description="Is resigned with registrations", alias="isResignedWithRegistrations")
1840
+
1841
+ # Company Information (nested object)
1842
+ company_uid: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Company UID", alias="company__uid")
1843
+ company_name: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Company name", alias="company__name")
1844
+ company_cvr: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Company CVR", alias="company__cvr")
1845
+ company_association_id: Optional[Series[pd.Int64Dtype]] = pa.Field(coerce=True, nullable=True, description="Company association ID", alias="company__associationId")
1846
+ company_p_number: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Company P number", alias="company__pNumber")
1847
+ company_has_holiday_payment: Optional[Series[pd.BooleanDtype]] = pa.Field(coerce=True, nullable=True, description="Company has holiday payment", alias="company__hasHolidayPayment")
1848
+ company_has_benefit_package: Optional[Series[pd.BooleanDtype]] = pa.Field(coerce=True, nullable=True, description="Company has benefit package", alias="company__hasBenefitPackage")
1849
+ company_has_benefit_package_two: Optional[Series[pd.BooleanDtype]] = pa.Field(coerce=True, nullable=True, description="Company has benefit package two", alias="company__hasBenefitPackageTwo")
1850
+ company_has_am_pension: Optional[Series[pd.BooleanDtype]] = pa.Field(coerce=True, nullable=True, description="Company has AM pension", alias="company__hasAmPension")
1851
+ company_is_department_income_split_enabled: Optional[Series[pd.BooleanDtype]] = pa.Field(coerce=True, nullable=True, description="Company is department income split enabled", alias="company__isDepartmentIncomeSplitEnabled")
1852
+ company_insurance_type: Optional[Series[pd.Int64Dtype]] = pa.Field(coerce=True, nullable=True, description="Company insurance type", alias="company__insuranceType")
1853
+ company_is_use_of_vacation_days_in_advance_enabled: Optional[Series[pd.BooleanDtype]] = pa.Field(coerce=True, nullable=True, description="Company is use of vacation days in advance enabled", alias="company__isUseOfVacationDaysInAdvanceEnabled")
1854
+ company_is_horesta_supplement_enabled: Optional[Series[pd.BooleanDtype]] = pa.Field(coerce=True, nullable=True, description="Company is horesta supplement enabled", alias="company__isHorestaSupplementEnabled")
1855
+ company_has_holiday_payment_netto_transfer_or_payout: Optional[Series[pd.BooleanDtype]] = pa.Field(coerce=True, nullable=True, description="Company has holiday payment netto transfer or payout", alias="company__hasHolidayPaymentNettoTransferOrPayout")
1856
+ company_is_sh_payout_netto_enabled: Optional[Series[pd.BooleanDtype]] = pa.Field(coerce=True, nullable=True, description="Company is SH payout netto enabled", alias="company__isShPayoutNettoEnabled")
1857
+ company_is_transfer_fifth_holiday_week_enabled: Optional[Series[pd.BooleanDtype]] = pa.Field(coerce=True, nullable=True, description="Company is transfer fifth holiday week enabled", alias="company__isTransferFifthHolidayWeekEnabled")
1858
+ company_is_holiday_hindrance_enabled: Optional[Series[pd.BooleanDtype]] = pa.Field(coerce=True, nullable=True, description="Company is holiday hindrance enabled", alias="company__isHolidayHindranceEnabled")
1859
+ company_is_extra_holiday_entitlement_in_hours_enabled: Optional[Series[pd.BooleanDtype]] = pa.Field(coerce=True, nullable=True, description="Company is extra holiday entitlement in hours enabled", alias="company__isExtraHolidayEntitlementInHoursEnabled")
1860
+ company_extra_holiday_entitlement_in_hours: Optional[Series[pd.BooleanDtype]] = pa.Field(coerce=True, nullable=True, description="Company extra holiday entitlement in hours", alias="company__extraHolidayEntitlementInHours")
1861
+ company_id: Optional[Series[pd.Int64Dtype]] = pa.Field(coerce=True, nullable=True, description="Company ID", alias="company__id")
1862
+ company_logo_url: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Company logo URL", alias="company__logoUrl")
1863
+ company_cvr_number: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Company CVR Number", alias="companyCvrNumber")
1864
+
1865
+ # Department Information (nested object)
1866
+ department_uid: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Department UID", alias="department__uid")
1867
+ department_name: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Department name", alias="department__name")
1868
+ department_number: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Department number", alias="department__number")
1869
+ department_has_work_schema: Optional[Series[pd.BooleanDtype]] = pa.Field(coerce=True, nullable=True, description="Department has work schema", alias="department__hasWorkSchema")
1870
+ department_id: Optional[Series[pd.Int64Dtype]] = pa.Field(coerce=True, nullable=True, description="Department ID", alias="department__id")
1871
+
1872
+ # Cost Center Information (nested object)
1873
+ cost_center_uid: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Cost center UID", alias="costCenter__uid")
1874
+ cost_center_name: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Cost center name", alias="costCenter__name")
1875
+ cost_center_number: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Cost center number", alias="costCenter__number")
1876
+ cost_center_type: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Cost center type", alias="costCenter__type")
1877
+ cost_center_id: Optional[Series[pd.Int64Dtype]] = pa.Field(coerce=True, nullable=True, description="Cost center ID", alias="costCenter__id")
1878
+
1879
+ # Profit Center Information (nested object)
1880
+ profit_center_uid: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Profit center UID", alias="profitCenter__uid")
1881
+ profit_center_name: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Profit center name", alias="profitCenter__name")
1882
+ profit_center_number: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Profit center number", alias="profitCenter__number")
1883
+ profit_center_type: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Profit center type", alias="profitCenter__type")
1884
+ profit_center_id: Optional[Series[pd.Int64Dtype]] = pa.Field(coerce=True, nullable=True, description="Profit center ID", alias="profitCenter__id")
1885
+
1886
+ # Company Cost Center Information (nested object)
1887
+ company_cost_center_uid: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Company cost center UID", alias="companyCostCenter__uid")
1888
+ company_cost_center_name: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Company cost center name", alias="companyCostCenter__costCenterName")
1889
+ company_cost_center_code: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Company cost center code", alias="companyCostCenter__costCenterCode")
1890
+ company_cost_center_type: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Company cost center type", alias="companyCostCenter__type")
1891
+ company_cost_center_id: Optional[Series[pd.Int64Dtype]] = pa.Field(coerce=True, nullable=True, description="Company cost center ID", alias="companyCostCenter__id")
1892
+ company_cost_center_number_of_employees: Optional[Series[pd.Int64Dtype]] = pa.Field(coerce=True, nullable=True, description="Company cost center number of employees", alias="companyCostCenter__numberOfEmployees")
1893
+ company_cost_center_employee_uids: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Company cost center employee UIDs", alias="companyCostCenter__employeeUids")
1894
+ company_cost_center_fk: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Company cost center FK", alias="companyCostCenterFk")
1895
+
1896
+ # Company Profit Center Information (nested object)
1897
+ company_profit_center_uid: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Company profit center UID", alias="companyProfitCenter__uid")
1898
+ company_profit_center_name: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Company profit center name", alias="companyProfitCenter__costCenterName")
1899
+ company_profit_center_code: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Company profit center code", alias="companyProfitCenter__costCenterCode")
1900
+ company_profit_center_type: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Company profit center type", alias="companyProfitCenter__type")
1901
+ company_profit_center_id: Optional[Series[pd.Int64Dtype]] = pa.Field(coerce=True, nullable=True, description="Company profit center ID", alias="companyProfitCenter__id")
1902
+ company_profit_center_number_of_employees: Optional[Series[pd.Int64Dtype]] = pa.Field(coerce=True, nullable=True, description="Company profit center number of employees", alias="companyProfitCenter__numberOfEmployees")
1903
+ company_profit_center_employee_uids: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Company profit center employee UIDs", alias="companyProfitCenter__employeeUids")
1904
+
1905
+ # User Information (nested object)
1906
+ user_uid: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="User UID", alias="user__uid")
1907
+ user_name: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="User name", alias="user__name")
1908
+ user_email: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="User email", alias="user__email")
1909
+ user_is_active: Optional[Series[pd.BooleanDtype]] = pa.Field(coerce=True, nullable=True, description="User is active", alias="user__isActive")
1910
+ user_photo_url: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="User photo URL", alias="user__photoUrl")
1911
+ user_id: Optional[Series[pd.Int64Dtype]] = pa.Field(coerce=True, nullable=True, description="User ID", alias="user__id")
1912
+
1913
+ # Additional Information
1914
+ car_registration_number: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Car registration number", alias="carRegistrationNumber")
1915
+ linked_in: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="LinkedIn profile", alias="linkedIn")
1916
+ konto_number: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Konto number", alias="kontoNumber")
1917
+ reg_number: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Registration number", alias="regNumber")
1918
+ country_code: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Country code", alias="country")
1919
+ language: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Language", alias="language")
1920
+ iban: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="IBAN", alias="iban")
1921
+ swift: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="SWIFT/BIC", alias="swift")
1922
+ tax: Optional[Series[pd.Int64Dtype]] = pa.Field(coerce=True, nullable=True, description="Tax code", alias="tax")
1923
+ image_url: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Image URL", alias="imageUrl")
1924
+ created_on: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Created on", alias="createdOn")
1925
+ global_value_set_number: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Global value set number", alias="globalValueSetNumber")
1926
+ revenue_type: Optional[Series[pd.Int64Dtype]] = pa.Field(coerce=True, nullable=True, description="Revenue type", alias="revenueType")
1927
+ income_type: Optional[Series[pd.Int64Dtype]] = pa.Field(coerce=True, nullable=True, description="Income type", alias="incomeType")
1928
+ holiday_pay_receiver_type: Optional[Series[pd.Int64Dtype]] = pa.Field(coerce=True, nullable=True, description="Holiday pay receiver type", alias="holidayPayReceiverType")
1929
+ can_change_holiday_pay_receiver: Optional[Series[pd.BooleanDtype]] = pa.Field(coerce=True, nullable=True, description="Can change holiday pay receiver", alias="canChangeHolidayPayReceiver")
1930
+ extra_holiday_entitlement_rule: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Extra holiday entitlement rule", alias="extraHolidayEntitlementRule")
1931
+ type: Optional[Series[pd.Int64Dtype]] = pa.Field(coerce=True, nullable=True, description="Employee type", alias="type")
1932
+ invited_by_email: Optional[Series[pd.Int64Dtype]] = pa.Field(coerce=True, nullable=True, description="Invited by email", alias="invitedByEmail")
1933
+
1934
+ # Raw nested objects presence (optional, to map top-level fields if provided)
1935
+ cost_center: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Raw cost center object", alias="costCenter")
1936
+ profit_center: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Raw profit center object", alias="profitCenter")
1937
+ company_profit_center: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Raw company profit center object", alias="companyProfitCenter")
1938
+ company_cost_center: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Raw company cost center object", alias="companyCostCenter")
1939
+
1940
+ class _Annotation:
1941
+ primary_key = "uid"
1942
+ foreign_keys = {
1943
+ "company_uid": {
1944
+ "parent_schema": "CompaniesGet",
1945
+ "parent_column": "uid",
1946
+ "cardinality": "N:1",
1947
+ },
1948
+ "department_uid": {
1949
+ "parent_schema": "DepartmentsGet",
1950
+ "parent_column": "uid",
1951
+ "cardinality": "N:1",
1952
+ },
1953
+ "cost_center_uid": {
1954
+ "parent_schema": "CostCentersGet",
1955
+ "parent_column": "uid",
1956
+ "cardinality": "N:1",
1957
+ },
1958
+ "profit_center_uid": {
1959
+ "parent_schema": "CostCentersGet",
1960
+ "parent_column": "uid",
1961
+ "cardinality": "N:1",
1962
+ },
1963
+ "company_cost_center_uid": {
1964
+ "parent_schema": "CostCentersGet",
1965
+ "parent_column": "uid",
1966
+ "cardinality": "N:1",
1967
+ },
1968
+ "company_profit_center_uid": {
1969
+ "parent_schema": "CostCentersGet",
1970
+ "parent_column": "uid",
1971
+ "cardinality": "N:1",
1972
+ },
1973
+ }
1974
+
1975
+
1976
+ class EmployeesGetById(BrynQPanderaDataFrameModel):
1977
+ """Detailed flattened schema for Zenegy Employee (get_by_id) output data"""
1978
+
1979
+ # Reuse base identification and common fields from EmployeesGet
1980
+ uid: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Employee unique identifier", alias="uid")
1981
+ id: Optional[Series[pd.Int64Dtype]] = pa.Field(coerce=True, nullable=True, description="Employee ID", alias="id")
1982
+ employee_number: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Employee number", alias="employeeNumber")
1983
+ extra_employee_number: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Extra employee number", alias="extraEmployeeNumber")
1984
+ name: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Employee name", alias="name")
1985
+ title: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Employee title", alias="title")
1986
+ cpr: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="CPR number", alias="cpr")
1987
+ email: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Contact email", alias="contactEmail")
1988
+ contact_phone: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Contact phone", alias="contactPhone")
1989
+ address: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Address", alias="address")
1990
+ city: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="City", alias="city")
1991
+ postal_number: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Postal number", alias="postalNumber")
1992
+ mobile_phone: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Mobile phone", alias="mobilePhone")
1993
+ employment_date: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Employment date", alias="employmentDate")
1994
+ date_of_resignation: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Date of resignation", alias="dateOfResignation")
1995
+ last_work_day: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Last work day", alias="lastWorkDay")
1996
+ salary_mode: Optional[Series[pd.Int64Dtype]] = pa.Field(coerce=True, nullable=True, description="Salary mode", alias="salaryMode")
1997
+ salary_type: Optional[Series[pd.Int64Dtype]] = pa.Field(coerce=True, nullable=True, description="Salary type", alias="salaryType")
1998
+ salary_payout_period: Optional[Series[pd.Int64Dtype]] = pa.Field(coerce=True, nullable=True, description="Salary payout period", alias="salaryPayoutPeriod")
1999
+ is_active: Optional[Series[pd.BooleanDtype]] = pa.Field(coerce=True, nullable=True, description="Is active", alias="isActive")
2000
+ is_resigned: Optional[Series[pd.BooleanDtype]] = pa.Field(coerce=True, nullable=True, description="Is resigned", alias="isResigned")
2001
+ is_foreign: Optional[Series[pd.BooleanDtype]] = pa.Field(coerce=True, nullable=True, description="Is foreign", alias="isForeign")
2002
+ is_cpr_validated: Optional[Series[pd.BooleanDtype]] = pa.Field(coerce=True, nullable=True, description="Is CPR validated", alias="isCprValidated")
2003
+ has_payroll: Optional[Series[pd.BooleanDtype]] = pa.Field(coerce=True, nullable=True, description="Has payroll", alias="hasPayroll")
2004
+ has_user: Optional[Series[pd.BooleanDtype]] = pa.Field(coerce=True, nullable=True, description="Has user", alias="hasUser")
2005
+ has_profile_image: Optional[Series[pd.BooleanDtype]] = pa.Field(coerce=True, nullable=True, description="Has profile image", alias="hasProfileImage")
2006
+ is_resigned_within_last_year: Optional[Series[pd.BooleanDtype]] = pa.Field(coerce=True, nullable=True, description="Is resigned within last year", alias="isResignedWithinLastyear")
2007
+ is_resigned_with_registrations: Optional[Series[pd.BooleanDtype]] = pa.Field(coerce=True, nullable=True, description="Is resigned with registrations", alias="isResignedWithRegistrations")
2008
+
2009
+ # Nested: company
2010
+ company_uid: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Company UID", alias="company__uid")
2011
+ company_name: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Company name", alias="company__name")
2012
+ company_cvr: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Company CVR", alias="company__cvr")
2013
+ company_association_id: Optional[Series[pd.Int64Dtype]] = pa.Field(coerce=True, nullable=True, description="Company association ID", alias="company__associationId")
2014
+ company_p_number: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Company P number", alias="company__pNumber")
2015
+ company_insurance_type: Optional[Series[pd.Int64Dtype]] = pa.Field(coerce=True, nullable=True, description="Company insurance type", alias="company__insuranceType")
2016
+ company_is_department_income_split_enabled: Optional[Series[pd.BooleanDtype]] = pa.Field(coerce=True, nullable=True, description="Company dept income split", alias="company__isDepartmentIncomeSplitEnabled")
2017
+ company_is_holiday_hindrance_enabled: Optional[Series[pd.BooleanDtype]] = pa.Field(coerce=True, nullable=True, description="Company holiday hindrance", alias="company__isHolidayHindranceEnabled")
2018
+ company_is_horesta_supplement_enabled: Optional[Series[pd.BooleanDtype]] = pa.Field(coerce=True, nullable=True, description="Company horesta supplement", alias="company__isHorestaSupplementEnabled")
2019
+ company_is_sh_payout_netto_enabled: Optional[Series[pd.BooleanDtype]] = pa.Field(coerce=True, nullable=True, description="Company SH payout netto", alias="company__isShPayoutNettoEnabled")
2020
+ company_is_transfer_fifth_holiday_week_enabled: Optional[Series[pd.BooleanDtype]] = pa.Field(coerce=True, nullable=True, description="Company transfer 5th week", alias="company__isTransferFifthHolidayWeekEnabled")
2021
+ company_is_use_of_vacation_days_in_advance_enabled: Optional[Series[pd.BooleanDtype]] = pa.Field(coerce=True, nullable=True, description="Company vacation in advance", alias="company__isUseOfVacationDaysInAdvanceEnabled")
2022
+ company_has_holiday_payment: Optional[Series[pd.BooleanDtype]] = pa.Field(coerce=True, nullable=True, description="Company has holiday payment", alias="company__hasHolidayPayment")
2023
+ company_has_benefit_package: Optional[Series[pd.BooleanDtype]] = pa.Field(coerce=True, nullable=True, description="Company benefit package", alias="company__hasBenefitPackage")
2024
+ company_has_benefit_package_two: Optional[Series[pd.BooleanDtype]] = pa.Field(coerce=True, nullable=True, description="Company benefit package two", alias="company__hasBenefitPackageTwo")
2025
+ company_has_am_pension: Optional[Series[pd.BooleanDtype]] = pa.Field(coerce=True, nullable=True, description="Company AM pension", alias="company__hasAmPension")
2026
+ company_extra_holiday_entitlement_in_hours: Optional[Series[pd.BooleanDtype]] = pa.Field(coerce=True, nullable=True, description="Company extra holiday entitlement in hours", alias="company__extraHolidayEntitlementInHours")
2027
+ company_logo_url: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Company logo URL", alias="company__logoUrl")
2028
+
2029
+ # Department (nested)
2030
+ department_uid: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Department UID", alias="department__uid")
2031
+ department_name: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Department name", alias="department__name")
2032
+ department_number: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Department number", alias="department__number")
2033
+ department_has_work_schema: Optional[Series[pd.BooleanDtype]] = pa.Field(coerce=True, nullable=True, description="Department has work schema", alias="department__hasWorkSchema")
2034
+ department_id: Optional[Series[pd.Int64Dtype]] = pa.Field(coerce=True, nullable=True, description="Department ID", alias="department__id")
2035
+
2036
+ # Company Cost/Profit Center (nested)
2037
+ company_cost_center_uid: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Company cost center UID", alias="companyCostCenter__uid")
2038
+ company_cost_center_name: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Company cost center name", alias="companyCostCenter__costCenterName")
2039
+ company_cost_center_code: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Company cost center code", alias="companyCostCenter__costCenterCode")
2040
+ company_cost_center_type: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Company cost center type", alias="companyCostCenter__type")
2041
+ company_cost_center_id: Optional[Series[pd.Int64Dtype]] = pa.Field(coerce=True, nullable=True, description="Company cost center ID", alias="companyCostCenter__id")
2042
+ company_cost_center_number_of_employees: Optional[Series[pd.Int64Dtype]] = pa.Field(coerce=True, nullable=True, description="Company cost center num employees", alias="companyCostCenter__numberOfEmployees")
2043
+ company_profit_center_uid: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Company profit center UID", alias="companyProfitCenter__uid")
2044
+ company_profit_center_name: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Company profit center name", alias="companyProfitCenter__costCenterName")
2045
+ company_profit_center_code: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Company profit center code", alias="companyProfitCenter__costCenterCode")
2046
+ company_profit_center_type: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Company profit center type", alias="companyProfitCenter__type")
2047
+ company_profit_center_id: Optional[Series[pd.Int64Dtype]] = pa.Field(coerce=True, nullable=True, description="Company profit center ID", alias="companyProfitCenter__id")
2048
+
2049
+ # User (nested)
2050
+ user_uid: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="User UID", alias="user__uid")
2051
+ user_name: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="User name", alias="user__name")
2052
+ user_email: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="User email", alias="user__email")
2053
+ user_is_active: Optional[Series[pd.BooleanDtype]] = pa.Field(coerce=True, nullable=True, description="User is active", alias="user__isActive")
2054
+ user_photo_url: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="User photo URL", alias="user__photoUrl")
2055
+ user_id: Optional[Series[pd.Int64Dtype]] = pa.Field(coerce=True, nullable=True, description="User ID", alias="user__id")
2056
+
2057
+ # Additional high-detail fields
2058
+ p_number: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Employee pNumber", alias="pNumber")
2059
+ ancinity_date: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Ancininity date", alias="ancinityDate")
2060
+ atp_type: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="ATP Type", alias="atpType")
2061
+ additional_tax_rate: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, description="Additional tax rate", alias="additionalTaxRate")
2062
+ benefit_package_amount: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, description="Benefit package amount", alias="benefitPackageAmount")
2063
+ benefit_package_amount_type: Optional[Series[pd.Int64Dtype]] = pa.Field(coerce=True, nullable=True, description="Benefit package amount type", alias="benefitPackageAmountType")
2064
+ benefit_package_two_amount: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, description="Benefit package two amount", alias="benefitPackageTwoAmount")
2065
+ benefit_package_two_type: Optional[Series[pd.Int64Dtype]] = pa.Field(coerce=True, nullable=True, description="Benefit package two type", alias="benefitPackageTwoType")
2066
+ benefit_package_type: Optional[Series[pd.Int64Dtype]] = pa.Field(coerce=True, nullable=True, description="Benefit package type", alias="benefitPackageType")
2067
+ benefit_package_payout_months: Optional[Series[object]] = pa.Field(coerce=True, nullable=True, description="Benefit package payout months", alias="benefitPackagePayoutMonths")
2068
+ include_benefit_package_in_pension: Optional[Series[pd.BooleanDtype]] = pa.Field(coerce=True, nullable=True, description="Include benefit package in pension", alias="includeBenefitPackageInPension")
2069
+ include_benefit_package_two_in_pension: Optional[Series[pd.BooleanDtype]] = pa.Field(coerce=True, nullable=True, description="Include benefit package two in pension", alias="includeBenefitPackageTwoInPension")
2070
+ enable_file_transfer: Optional[Series[pd.BooleanDtype]] = pa.Field(coerce=True, nullable=True, description="Enable file transfer", alias="enableFileTransfer")
2071
+ invitation_text: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Invitation text", alias="invitationText")
2072
+ is_absence_freechoice_enabled: Optional[Series[pd.BooleanDtype]] = pa.Field(coerce=True, nullable=True, description="Absence freechoice enabled", alias="isAbsenceFreechoiceEnabled")
2073
+ is_after_september_2021: Optional[Series[pd.BooleanDtype]] = pa.Field(coerce=True, nullable=True, description="After September 2021", alias="isAfterSeptember2021")
2074
+ is_automatic_payroll: Optional[Series[pd.BooleanDtype]] = pa.Field(coerce=True, nullable=True, description="Automatic payroll", alias="isAutomaticPayroll")
2075
+ is_e_boks_enabled: Optional[Series[pd.BooleanDtype]] = pa.Field(coerce=True, nullable=True, description="e-Boks enabled", alias="isEBoksEnabled")
2076
+ is_employee_look_like_other_employee: Optional[Series[pd.BooleanDtype]] = pa.Field(coerce=True, nullable=True, description="Employee look like other", alias="isEmployeeLookLikeOtherEmployee")
2077
+ is_insurance_inclusive_in_pension: Optional[Series[pd.BooleanDtype]] = pa.Field(coerce=True, nullable=True, description="Insurance inclusive in pension", alias="isInsuranceInclusiveInPension")
2078
+ is_insurance_taxable: Optional[Series[pd.BooleanDtype]] = pa.Field(coerce=True, nullable=True, description="Insurance taxable", alias="isInsuranceTaxable")
2079
+ is_tracking_negative_salary_enabled: Optional[Series[pd.BooleanDtype]] = pa.Field(coerce=True, nullable=True, description="Tracking negative salary enabled", alias="isTrackingNegativeSalaryEnabled")
2080
+ job_description: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Job description", alias="jobDescription")
2081
+ kr_rate: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, description="KR rate", alias="krRate")
2082
+ labour_agreement_code: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Labour agreement code", alias="labourAgreementCode")
2083
+ labour_benefits_package_for_pension: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, description="Labour benefits package for pension", alias="labourBenefitsPackageForPension")
2084
+ labour_company_pension: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, description="Labour company pension", alias="labourCompanyPension")
2085
+ labour_private_pension: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, description="Labour private pension", alias="labourPrivatePension")
2086
+ last_time_skat_card_updated: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Last time skat card updated", alias="lastTimeSkatCardUpdated")
2087
+ look_like_employee_uid: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Look like employee uid", alias="lookLikeEmployeeUid")
2088
+ max_loan: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, description="Max loan", alias="maxLoan")
2089
+ maximum_number_of_days_used_in_advance: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, description="Max days used in advance", alias="maximumNumberOfDaysUsedInAdvance")
2090
+ monthly_salary: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, description="Monthly salary", alias="monthlySalary")
2091
+ monthly_salary_fixed_base: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, description="Monthly salary fixed base", alias="monthlySalaryFixedBase")
2092
+ nem_konto_payment: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="NemKonto payment", alias="nemKontoPayment")
2093
+ number_of_hours: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, description="Number of hours", alias="numberOfHours")
2094
+ number_of_hours_fixed: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, description="Number of hours fixed", alias="numberOfHoursFixed")
2095
+ number_of_working_days: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, description="Number of working days", alias="numberOfWorkingDays")
2096
+ pension_institute_type: Optional[Series[pd.Int64Dtype]] = pa.Field(coerce=True, nullable=True, description="Pension institute type", alias="pensionInstituteType")
2097
+ roles: Optional[Series[object]] = pa.Field(coerce=True, nullable=True, description="Roles", alias="roles")
2098
+ sh_months_select: Optional[Series[object]] = pa.Field(coerce=True, nullable=True, description="SH months select", alias="shMonthsSelect")
2099
+ sh_payout_netto_months_select: Optional[Series[object]] = pa.Field(coerce=True, nullable=True, description="SH payout netto months select", alias="shPayoutNettoMonthsSelect")
2100
+ show_current_saldo: Optional[Series[pd.BooleanDtype]] = pa.Field(coerce=True, nullable=True, description="Show current saldo", alias="showCurrentSaldo")
2101
+ show_relatives_and_documents: Optional[Series[pd.BooleanDtype]] = pa.Field(coerce=True, nullable=True, description="Show relatives and documents", alias="showRelativesAndDocuments")
2102
+ special_supplement_payout_months: Optional[Series[object]] = pa.Field(coerce=True, nullable=True, description="Special supplement payout months", alias="specialSupplementPayoutMonths")
2103
+ special_supplement_type: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Special supplement type", alias="specialSupplementType")
2104
+ standard_rate: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, description="Standard rate", alias="standardRate")
2105
+ standard_rate_hourly: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, description="Standard rate hourly", alias="standardRateHourly")
2106
+ booking_group: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Booking group", alias="bookingGroup")
2107
+ tin_number: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="TIN number", alias="tinNumber")
2108
+ transfer_netto: Optional[Series[pd.BooleanDtype]] = pa.Field(coerce=True, nullable=True, description="Transfer netto", alias="transferNetto")
2109
+ work_time_employment_info: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Work time employment info", alias="workTimeEmploymentInfo")
2110
+
2111
+ # Holiday pay receiver (nested object)
2112
+ holiday_pay_receiver_uid: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Holiday pay receiver uid", alias="holidayPayReceiver__uid")
2113
+ holiday_pay_receiver_id: Optional[Series[pd.Int64Dtype]] = pa.Field(coerce=True, nullable=True, description="Holiday pay receiver id", alias="holidayPayReceiver__id")
2114
+ holiday_pay_receiver_name: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Holiday pay receiver name", alias="holidayPayReceiver__name")
2115
+ holiday_pay_receiver_cvr: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Holiday pay receiver cvr", alias="holidayPayReceiver__cvr")
2116
+ holiday_pay_receiver_type: Optional[Series[pd.Int64Dtype]] = pa.Field(coerce=True, nullable=True, description="Holiday pay receiver type", alias="holidayPayReceiver__type")
2117
+
2118
+ # Global value set information (nested)
2119
+ global_value_set_name: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Global value set name", alias="globalValueSetInformation__globalValueSetName")
2120
+ global_value_set_number: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Global value set number", alias="globalValueSetInformation__globalValueSetNumber")
2121
+ global_value_set_uid: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Global value set uid", alias="globalValueSetInformation__globalValueSetUid")
2122
+ global_value_set_information__global_value_in_set_assignment_dto: Optional[Series[object]] = pa.Field(coerce=True, nullable=True, description="Global value in set assignment DTO", alias="globalValueSetInformation__globalValueInSetAssignmentDto")
2123
+ global_value_information: Optional[Series[object]] = pa.Field(coerce=True, nullable=True, description="Global value information", alias="globalValueInformation")
2124
+
2125
+ # Financials present only in detailed view
2126
+ group_insurance: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, description="Group insurance", alias="groupInsurance")
2127
+ holiday_days_per_year: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, description="Holiday days per year", alias="holidayDaysPerYear")
2128
+ holiday_saved_rate: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, description="Holiday saved rate", alias="holidaySavedRate")
2129
+ holiday_pay_rate: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, description="Holiday pay rate", alias="holidayPayRate")
2130
+ holiday_payment_amount: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, description="Holiday payment amount", alias="holidayPaymentAmount")
2131
+ holiday_payment_type: Optional[Series[pd.Int64Dtype]] = pa.Field(coerce=True, nullable=True, description="Holiday payment type", alias="holidayPaymentType")
2132
+ holiday_registry_code: Optional[Series[pd.Int64Dtype]] = pa.Field(coerce=True, nullable=True, description="Holiday registry code", alias="holidayRegistryCode")
2133
+ holiday_handling_code: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Holiday handling code", alias="holidayHandlingCode")
2134
+ holidays: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, description="Holidays", alias="holidays")
2135
+ horesta_supplement: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, description="Horesta supplement", alias="horestaSupplement")
2136
+ insurance_category: Optional[Series[pd.Int64Dtype]] = pa.Field(coerce=True, nullable=True, description="Insurance category", alias="insuranceCategory")
2137
+
2138
+ # Tax cards and complex arrays
2139
+ tax_cards: Optional[Series[object]] = pa.Field(coerce=True, nullable=True, description="Tax cards", alias="taxCards")
2140
+ employee_department_income_splits: Optional[Series[object]] = pa.Field(coerce=True, nullable=True, description="Employee department income splits", alias="employeeDepartmentIncomeSplits")
2141
+ employee_values_information: Optional[Series[object]] = pa.Field(coerce=True, nullable=True, description="Employee values information", alias="employeeValuesInformation")
2142
+ extra_hours_payments: Optional[Series[object]] = pa.Field(coerce=True, nullable=True, description="Extra hours payments", alias="extraHoursPayments")
2143
+ benefits: Optional[Series[object]] = pa.Field(coerce=True, nullable=True, description="Benefits", alias="benefits")
2144
+ paychecks: Optional[Series[object]] = pa.Field(coerce=True, nullable=True, description="Paychecks", alias="paychecks")
2145
+ pensions: Optional[Series[object]] = pa.Field(coerce=True, nullable=True, description="Pensions", alias="pensions")
2146
+ relatives: Optional[Series[object]] = pa.Field(coerce=True, nullable=True, description="Relatives", alias="relatives")
2147
+ resignation: Optional[Series[object]] = pa.Field(coerce=True, nullable=True, description="Resignation data", alias="resignation")
2148
+ am_pension: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, description="AM pension", alias="amPension")
2149
+ personal_identification_number: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Personal identification number", alias="personalIdentificationNumber")
2150
+ holiday_supplement: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, description="Holiday supplement", alias="holidaySupplement")
2151
+ care_days_per_year: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, description="Care days per year", alias="careDaysPerYear")
2152
+ additional_days_per_year: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, description="Additional days per year", alias="additionalDaysPerYear")
2153
+ maximum_number_of_days_used_in_advance: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, description="Maximum number of days used in advance", alias="maximumNumberOfDaysUsedInAdvance")
2154
+ max_loan: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, description="Maximum loan", alias="maxLoan")
2155
+ maternity_type: Optional[Series[pd.Int64Dtype]] = pa.Field(coerce=True, nullable=True, description="Maternity type", alias="maternityType")
2156
+ start_saldo_holiday_periods: Optional[Series[object]] = pa.Field(coerce=True, nullable=True, description="Start saldo holiday periods", alias="startSaldoHolidayPeriods")
2157
+
2158
+ # Massive set of start* numeric fields (float)
2159
+ start_a_skat: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startASkat")
2160
+ start_am: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startAm")
2161
+ start_am_contributions_wages_and_holidaypay: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startAmContributionsWagesAndHolidaypay")
2162
+ start_am_income: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startAmIncome")
2163
+ start_anniversary_bonus_saldo: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startAnniversaryBonusSaldo")
2164
+ start_atp: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startAtp")
2165
+ start_b_in_come_without_am: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startBInComeWithoutAm")
2166
+ start_b_income_with_am: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startBIncomeWithAm")
2167
+ start_benefits_package_earned: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startBenefitsPackageEarned")
2168
+ start_benefits_package_saldo: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startBenefitsPackageSaldo")
2169
+ start_benefits_package_two_earned: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startBenefitsPackageTwoEarned")
2170
+ start_benefits_package_two_saldo: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startBenefitsPackageTwoSaldo")
2171
+ start_christmas_gifts_benefit: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startChristmasGiftsBenefit")
2172
+ start_company_amp: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startCompanyAmp")
2173
+ start_company_car: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startCompanyCar")
2174
+ start_company_lodging: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startCompanyLodging")
2175
+ start_contributory_income: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startContributoryIncome")
2176
+ start_current_year_day_of_prayer_compensation_earned: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startCurrentYearDayOfPrayerCompensationEarned")
2177
+ start_current_year_day_of_prayer_compensation_paidout: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startCurrentYearDayOfPrayerCompensationPaidout")
2178
+ start_days_for_transfer_fifth_holiday_week_current_period: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startDaysForTransferFifthHolidayWeekCurrentPeriod")
2179
+ start_days_for_transfer_fifth_holiday_week_previous_period: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startDaysForTransferFifthHolidayWeekPreviousPeriod")
2180
+ start_days_for_transfer_fifth_holiday_week_three_periods_before: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startDaysForTransferFifthHolidayWeekThreePeriodsBefore")
2181
+ start_days_for_transfer_fifth_holiday_week_two_periods_before: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startDaysForTransferFifthHolidayWeekTwoPeriodsBefore")
2182
+ start_days_to_payout_or_transfer_fifth_holiday_week_current_period: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startDaysToPayoutOrTransferFifthHolidayWeekCurrentPeriod")
2183
+ start_days_to_payout_or_transfer_fifth_holiday_week_previous_period: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startDaysToPayoutOrTransferFifthHolidayWeekPreviousPeriod")
2184
+ start_days_to_payout_or_transfer_fifth_holiday_week_three_periods_before: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startDaysToPayoutOrTransferFifthHolidayWeekThreePeriodsBefore")
2185
+ start_days_to_payout_or_transfer_fifth_holiday_week_two_periods_before: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startDaysToPayoutOrTransferFifthHolidayWeekTwoPeriodsBefore")
2186
+ start_earned_care_days_current_year: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startEarnedCareDaysCurrentYear")
2187
+ start_earned_care_days_three_years_before: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startEarnedCareDaysThreeYearsBefore")
2188
+ start_earned_care_days_two_years_before: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startEarnedCareDaysTwoYearsBefore")
2189
+ start_earned_care_days_year_before: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startEarnedCareDaysYearBefore")
2190
+ start_earned_free_vacation_days_current_year: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startEarnedFreeVacationDaysCurrentYear")
2191
+ start_earned_free_vacation_days_three_years_before: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startEarnedFreeVacationDaysThreeYearsBefore")
2192
+ start_earned_free_vacation_days_two_years_before: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startEarnedFreeVacationDaysTwoYearsBefore")
2193
+ start_earned_free_vacation_days_year_before: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startEarnedFreeVacationDaysYearBefore")
2194
+ start_earned_holiday_pay_gross_current_period: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startEarnedHolidayPayGrossCurrentPeriod")
2195
+ start_earned_holiday_pay_gross_frozen_period: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startEarnedHolidayPayGrossFrozenPeriod")
2196
+ start_earned_holiday_pay_gross_previous_period: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startEarnedHolidayPayGrossPreviousPeriod")
2197
+ start_earned_holiday_pay_gross_three_periods_before: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startEarnedHolidayPayGrossThreePeriodsBefore")
2198
+ start_earned_holiday_pay_gross_two_periods_before: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startEarnedHolidayPayGrossTwoPeriodsBefore")
2199
+ start_earned_holiday_pay_net_amount_current_period: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startEarnedHolidayPayNetAmountCurrentPeriod")
2200
+ start_earned_holiday_pay_net_amount_frozen_period: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startEarnedHolidayPayNetAmountFrozenPeriod")
2201
+ start_earned_holiday_pay_net_amount_previous_period: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startEarnedHolidayPayNetAmountPreviousPeriod")
2202
+ start_earned_holiday_pay_net_amount_two_periods_before: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startEarnedHolidayPayNetAmountTwoPeriodsBefore")
2203
+ start_earned_vacations_legitimate_salary_amount_current_period: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startEarnedVacationsLegitimateSalaryAmountCurrentPeriod")
2204
+ start_earned_vacations_legitimate_salary_amount_frozen_period: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startEarnedVacationsLegitimateSalaryAmountFrozenPeriod")
2205
+ start_earned_vacations_legitimate_salary_amount_previous_period: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startEarnedVacationsLegitimateSalaryAmountPreviousPeriod")
2206
+ start_earned_vacations_legitimate_salary_amount_three_periods_before: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startEarnedVacationsLegitimateSalaryAmountThreePeriodsBefore")
2207
+ start_earned_vacations_legitimate_salary_amount_two_periods_before: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startEarnedVacationsLegitimateSalaryAmountTwoPeriodsBefore")
2208
+ start_flex_hours: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startFlexHours")
2209
+ start_free_phone: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startFreePhone")
2210
+ start_g_days: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startGDays")
2211
+ start_gross_holiday_pay_for_transfer_fifth_holiday_week_current_period: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startGrossHolidayPayForTransferFifthHolidayWeekCurrentPeriod")
2212
+ start_gross_holiday_pay_for_transfer_fifth_holiday_week_previous_period: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startGrossHolidayPayForTransferFifthHolidayWeekPreviousPeriod")
2213
+ start_gross_holiday_pay_for_transfer_fifth_holiday_week_three_periods_before: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startGrossHolidayPayForTransferFifthHolidayWeekThreePeriodsBefore")
2214
+ start_gross_holiday_pay_for_transfer_fifth_holiday_week_two_periods_before: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startGrossHolidayPayForTransferFifthHolidayWeekTwoPeriodsBefore")
2215
+ start_gross_holiday_pay_per_day_fifth_holiday_week_current_period: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startGrossHolidayPayPerDayFifthHolidayWeekCurrentPeriod")
2216
+ start_gross_holiday_pay_per_day_fifth_holiday_week_previous_period: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startGrossHolidayPayPerDayFifthHolidayWeekPreviousPeriod")
2217
+ start_gross_holiday_pay_per_day_fifth_holiday_week_three_periods_before: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startGrossHolidayPayPerDayFifthHolidayWeekThreePeriodsBefore")
2218
+ start_gross_holiday_pay_per_day_fifth_holiday_week_two_periods_before: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startGrossHolidayPayPerDayFifthHolidayWeekTwoPeriodsBefore")
2219
+ start_gross_holiday_pay_transferred_fifth_holiday_week_current_period: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startGrossHolidayPayTransferredFifthHolidayWeekCurrentPeriod")
2220
+ start_gross_holiday_pay_transferred_fifth_holiday_week_previous_period: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startGrossHolidayPayTransferredFifthHolidayWeekPreviousPeriod")
2221
+ start_gross_holiday_pay_transferred_fifth_holiday_week_three_periods_before: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startGrossHolidayPayTransferredFifthHolidayWeekThreePeriodsBefore")
2222
+ start_gross_holiday_pay_transferred_fifth_holiday_week_two_periods_before: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startGrossHolidayPayTransferredFifthHolidayWeekTwoPeriodsBefore")
2223
+ start_group_life: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startGroupLife")
2224
+ start_group_life_2: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startGroupLife2")
2225
+ start_health_insurance: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startHealthInsurance")
2226
+ start_health_insurance_no_am_pension: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startHealthInsuranceNoAmPension")
2227
+ start_health_insurance_no_am_pension_no_vacation_entitled_money: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startHealthInsuranceNoAmPensionNoVacationEntitledMoney")
2228
+ start_holday_at_own_expense_current_year: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startHoldayAtOwnExpenseCurrentYear")
2229
+ start_holday_at_own_expense_current_year_saldo: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startHoldayAtOwnExpenseCurrentYearSaldo")
2230
+ start_holday_at_own_expense_three_years_before: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startHoldayAtOwnExpenseThreeYearsBefore")
2231
+ start_holday_at_own_expense_three_years_before_saldo: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startHoldayAtOwnExpenseThreeYearsBeforeSaldo")
2232
+ start_holday_at_own_expense_two_years_before: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startHoldayAtOwnExpenseTwoYearsBefore")
2233
+ start_holday_at_own_expense_two_years_before_saldo: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startHoldayAtOwnExpenseTwoYearsBeforeSaldo")
2234
+ start_holday_at_own_expense_year_before: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startHoldayAtOwnExpenseYearBefore")
2235
+ start_holday_at_own_expense_year_before_saldo: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startHoldayAtOwnExpenseYearBeforeSaldo")
2236
+ start_holiday_hindrance_transferred_days_fifth_holiday_week_current_period: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startHolidayHindranceTransferredDaysFifthHolidayWeekCurrentPeriod")
2237
+ start_holiday_hindrance_transferred_days_fifth_holiday_week_previous_period: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startHolidayHindranceTransferredDaysFifthHolidayWeekPreviousPeriod")
2238
+ start_holiday_hindrance_transferred_days_fifth_holiday_week_three_periods_before: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startHolidayHindranceTransferredDaysFifthHolidayWeekThreePeriodsBefore")
2239
+ start_holiday_hindrance_transferred_days_fifth_holiday_week_two_periods_before: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startHolidayHindranceTransferredDaysFifthHolidayWeekTwoPeriodsBefore")
2240
+ start_holiday_hindrance_used_days_fifth_holiday_week_current_period: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startHolidayHindranceUsedDaysFifthHolidayWeekCurrentPeriod")
2241
+ start_holiday_hindrance_used_days_fifth_holiday_week_previous_period: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startHolidayHindranceUsedDaysFifthHolidayWeekPreviousPeriod")
2242
+ start_holiday_hindrance_used_days_fifth_holiday_week_three_periods_before: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startHolidayHindranceUsedDaysFifthHolidayWeekThreePeriodsBefore")
2243
+ start_holiday_hindrance_used_days_fifth_holiday_week_two_periods_before: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startHolidayHindranceUsedDaysFifthHolidayWeekTwoPeriodsBefore")
2244
+ start_holiday_pay_gross_used_fifth_holiday_week_current_period: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startHolidayPayGrossUsedFifthHolidayWeekCurrentPeriod")
2245
+ start_holiday_pay_gross_used_fifth_holiday_week_previous_period: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startHolidayPayGrossUsedFifthHolidayWeekPreviousPeriod")
2246
+ start_holiday_pay_gross_used_fifth_holiday_week_three_periods_before: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startHolidayPayGrossUsedFifthHolidayWeekThreePeriodsBefore")
2247
+ start_holiday_pay_gross_used_fifth_holiday_week_two_periods_before: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startHolidayPayGrossUsedFifthHolidayWeekTwoPeriodsBefore")
2248
+ start_holiday_payment_advance: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startHolidayPaymentAdvance")
2249
+ start_holiday_payment_advance_year_before: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startHolidayPaymentAdvanceYearBefore")
2250
+ start_holiday_payment_saldo_netto: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startHolidayPaymentSaldoNetto")
2251
+ start_holiday_payment_saved: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startHolidayPaymentSaved")
2252
+ start_holiday_payment_saved_netto: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startHolidayPaymentSavedNetto")
2253
+ start_holiday_payment_saved_netto_year_before: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startHolidayPaymentSavedNettoYearBefore")
2254
+ start_holiday_payment_saved_year_before: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startHolidayPaymentSavedYearBefore")
2255
+ start_holiday_supplement_current_period: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startHolidaySupplementCurrentPeriod")
2256
+ start_holiday_supplement_previous_period: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startHolidaySupplementPreviousPeriod")
2257
+ start_holiday_supplement_three_periods_before: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startHolidaySupplementThreePeriodsBefore")
2258
+ start_holiday_supplement_two_periods_before: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startHolidaySupplementTwoPeriodsBefore")
2259
+ start_holiday_supplement_value: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startHolidaySupplementValue")
2260
+ start_hours: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startHours")
2261
+ start_lost_days_fifth_holiday_week_current_period: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startLostDaysFifthHolidayWeekCurrentPeriod")
2262
+ start_lost_days_fifth_holiday_week_previous_period: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startLostDaysFifthHolidayWeekPreviousPeriod")
2263
+ start_lost_days_fifth_holiday_week_three_periods_before: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startLostDaysFifthHolidayWeekThreePeriodsBefore")
2264
+ start_lost_days_fifth_holiday_week_two_periods_before: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startLostDaysFifthHolidayWeekTwoPeriodsBefore")
2265
+ start_lost_gross_holiday_pay_fifth_holiday_week_current_period: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startLostGrossHolidayPayFifthHolidayWeekCurrentPeriod")
2266
+ start_lost_gross_holiday_pay_fifth_holiday_week_previous_period: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startLostGrossHolidayPayFifthHolidayWeekPreviousPeriod")
2267
+ start_lost_gross_holiday_pay_fifth_holiday_week_three_periods_before: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startLostGrossHolidayPayFifthHolidayWeekThreePeriodsBefore")
2268
+ start_lost_gross_holiday_pay_fifth_holiday_week_two_periods_before: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startLostGrossHolidayPayFifthHolidayWeekTwoPeriodsBefore")
2269
+ start_mileage: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startMileage")
2270
+ start_mileage_low_rate: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startMileageLowRate")
2271
+ start_negative_salary_saldo: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startNegativeSalarySaldo")
2272
+ start_net_holiday_pay: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startNetHolidayPay")
2273
+ start_not_covered_by_triviality: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startNotCoveredByTriviality")
2274
+ start_number_of_vacation_days: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startNumberOfVacationDays")
2275
+ start_number_of_vacation_days_current_period: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startNumberOfVacationDaysCurrentPeriod")
2276
+ start_number_of_vacation_days_fifth_holiday_week_three_years_before: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startNumberOfVacationDaysFifthHolidayWeekThreeYearsBefore")
2277
+ start_number_of_vacation_days_fifth_holiday_week_two_years_before: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startNumberOfVacationDaysFifthHolidayWeekTwoYearsBefore")
2278
+ start_number_of_vacation_days_frozen_period: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startNumberOfVacationDaysFrozenPeriod")
2279
+ start_number_of_vacation_days_previous_period: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startNumberOfVacationDaysPreviousPeriod")
2280
+ start_number_of_vacation_days_three_periods_before: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startNumberOfVacationDaysThreePeriodsBefore")
2281
+ start_number_of_vacation_days_two_periods_before: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startNumberOfVacationDaysTwoPeriodsBefore")
2282
+ start_number_used_vacation_days_fifth_holiday_week_three_years_before: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startNumberUsedVacationDaysFifthHolidayWeekThreeYearsBefore")
2283
+ start_number_used_vacation_days_fifth_holiday_week_two_years_before: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startNumberUsedVacationDaysFifthHolidayWeekTwoYearsBefore")
2284
+ start_one_time_income: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startOneTimeIncome")
2285
+ start_other_benefit: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startOtherBenefit")
2286
+ start_paid_days_fifth_holiday_week_current_period: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startPaidDaysFifthHolidayWeekCurrentPeriod")
2287
+ start_paid_days_fifth_holiday_week_previous_period: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startPaidDaysFifthHolidayWeekPreviousPeriod")
2288
+ start_paid_days_fifth_holiday_week_three_periods_before: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startPaidDaysFifthHolidayWeekThreePeriodsBefore")
2289
+ start_paid_days_fifth_holiday_week_two_periods_before: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startPaidDaysFifthHolidayWeekTwoPeriodsBefore")
2290
+ start_payout_from_fifth_holiday_week_current_period: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startPayoutFromFifthHolidayWeekCurrentPeriod")
2291
+ start_payout_from_fifth_holiday_week_previous_period: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startPayoutFromFifthHolidayWeekPreviousPeriod")
2292
+ start_payout_from_fifth_holiday_week_three_periods_before: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startPayoutFromFifthHolidayWeekThreePeriodsBefore")
2293
+ start_payout_from_fifth_holiday_week_two_periods_before: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startPayoutFromFifthHolidayWeekTwoPeriodsBefore")
2294
+ start_pension_from_company: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startPensionFromCompany")
2295
+ start_personal_amp: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startPersonalAmp")
2296
+ start_personal_pension: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startPersonalPension")
2297
+ start_severance_saldo: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startSeveranceSaldo")
2298
+ start_special_supplement_earned: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startSpecialSupplementEarned")
2299
+ start_special_supplement_saldo: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startSpecialSupplementSaldo")
2300
+ start_time_in_lieu_earned_amount: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startTimeInLieuEarnedAmount")
2301
+ start_time_in_lieu_earned_hours: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startTimeInLieuEarnedHours")
2302
+ start_transferred_days_fifth_holiday_week_current_period: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startTransferredDaysFifthHolidayWeekCurrentPeriod")
2303
+ start_transferred_days_fifth_holiday_week_previous_period: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startTransferredDaysFifthHolidayWeekPreviousPeriod")
2304
+ start_transferred_days_fifth_holiday_week_three_periods_before: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startTransferredDaysFifthHolidayWeekThreePeriodsBefore")
2305
+ start_transferred_days_fifth_holiday_week_two_periods_before: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startTransferredDaysFifthHolidayWeekTwoPeriodsBefore")
2306
+ start_transferred_days_used_fifth_holiday_week_current_period: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startTransferredDaysUsedFifthHolidayWeekCurrentPeriod")
2307
+ start_transferred_days_used_fifth_holiday_week_previous_period: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startTransferredDaysUsedFifthHolidayWeekPreviousPeriod")
2308
+ start_transferred_days_used_fifth_holiday_week_three_periods_before: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startTransferredDaysUsedFifthHolidayWeekThreePeriodsBefore")
2309
+ start_transferred_days_used_fifth_holiday_week_two_periods_before: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startTransferredDaysUsedFifthHolidayWeekTwoPeriodsBefore")
2310
+ start_transferred_gross_holiday_pay_used_fifth_holiday_week_current_period: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startTransferredGrossHolidayPayUsedFifthHolidayWeekCurrentPeriod")
2311
+ start_transferred_gross_holiday_pay_used_fifth_holiday_week_previous_period: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startTransferredGrossHolidayPayUsedFifthHolidayWeekPreviousPeriod")
2312
+ start_transferred_gross_holiday_pay_used_fifth_holiday_week_three_periods_before: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startTransferredGrossHolidayPayUsedFifthHolidayWeekThreePeriodsBefore")
2313
+ start_transferred_gross_holiday_pay_used_fifth_holiday_week_two_periods_before: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startTransferredGrossHolidayPayUsedFifthHolidayWeekTwoPeriodsBefore")
2314
+ start_transferred_gross_holiday_pay_value_per_day_fifth_holiday_week_current_period: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startTransferredGrossHolidayPayValuePerDayFifthHolidayWeekCurrentPeriod")
2315
+ start_transferred_gross_holiday_pay_value_per_day_fifth_holiday_week_previous_period: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startTransferredGrossHolidayPayValuePerDayFifthHolidayWeekPreviousPeriod")
2316
+ start_transferred_gross_holiday_pay_value_per_day_fifth_holiday_week_three_periods_before: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startTransferredGrossHolidayPayValuePerDayFifthHolidayWeekThreePeriodsBefore")
2317
+ start_transferred_gross_holiday_pay_value_per_day_fifth_holiday_week_two_periods_before: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startTransferredGrossHolidayPayValuePerDayFifthHolidayWeekTwoPeriodsBefore")
2318
+ start_travel_allowance: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startTravelAllowance")
2319
+ start_travel_allowance_without_payment: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startTravelAllowanceWithoutPayment")
2320
+ start_used_care_days_current_year: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startUsedCareDaysCurrentYear")
2321
+ start_used_care_days_three_years_before: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startUsedCareDaysThreeYearsBefore")
2322
+ start_used_care_days_two_years_before: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startUsedCareDaysTwoYearsBefore")
2323
+ start_used_care_days_year_before: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startUsedCareDaysYearBefore")
2324
+ start_used_free_vacation_days_current_year: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startUsedFreeVacationDaysCurrentYear")
2325
+ start_used_free_vacation_days_three_years_before: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startUsedFreeVacationDaysThreeYearsBefore")
2326
+ start_used_free_vacation_days_two_years_before: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startUsedFreeVacationDaysTwoYearsBefore")
2327
+ start_used_free_vacation_days_year_before: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startUsedFreeVacationDaysYearBefore")
2328
+ start_used_holiday_pay_gross_current_period: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startUsedHolidayPayGrossCurrentPeriod")
2329
+ start_used_holiday_pay_gross_frozen_period: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startUsedHolidayPayGrossFrozenPeriod")
2330
+ start_used_holiday_pay_gross_previous_period: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startUsedHolidayPayGrossPreviousPeriod")
2331
+ start_used_holiday_pay_gross_three_periods_before: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startUsedHolidayPayGrossThreePeriodsBefore")
2332
+ start_used_holiday_pay_gross_two_periods_before: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startUsedHolidayPayGrossTwoPeriodsBefore")
2333
+ start_used_holiday_pay_net_amount_current_period: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startUsedHolidayPayNetAmountCurrentPeriod")
2334
+ start_used_holiday_pay_net_amount_frozen_period: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startUsedHolidayPayNetAmountFrozenPeriod")
2335
+ start_used_holiday_pay_net_amount_previous_period: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startUsedHolidayPayNetAmountPreviousPeriod")
2336
+ start_used_holiday_pay_net_amount_two_periods_before: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startUsedHolidayPayNetAmountTwoPeriodsBefore")
2337
+ start_used_holiday_supplement_current_period: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startUsedHolidaySupplementCurrentPeriod")
2338
+ start_used_holiday_supplement_previous_period: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startUsedHolidaySupplementPreviousPeriod")
2339
+ start_used_holiday_supplement_three_periods_before: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startUsedHolidaySupplementThreePeriodsBefore")
2340
+ start_used_holiday_supplement_two_periods_before: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startUsedHolidaySupplementTwoPeriodsBefore")
2341
+ start_used_vacation_day_units_current_period: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startUsedVacationDayUnitsCurrentPeriod")
2342
+ start_used_vacation_day_units_frozen_period: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startUsedVacationDayUnitsFrozenPeriod")
2343
+ start_used_vacation_day_units_previous_period: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startUsedVacationDayUnitsPreviousPeriod")
2344
+ start_used_vacation_day_units_three_periods_before: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startUsedVacationDayUnitsThreePeriodsBefore")
2345
+ start_used_vacation_day_units_two_periods_before: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startUsedVacationDayUnitsTwoPeriodsBefore")
2346
+ start_vacation_pay_gross_fifth_holiday_week_three_years_before: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startVacationPayGrossFifthHolidayWeekThreeYearsBefore")
2347
+ start_vacation_pay_gross_fifth_holiday_week_two_years_before: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startVacationPayGrossFifthHolidayWeekTwoYearsBefore")
2348
+ start_vacation_pay_gross_used_fifth_holiday_week_three_years_before: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startVacationPayGrossUsedFifthHolidayWeekThreeYearsBefore")
2349
+ start_vacation_pay_gross_used_fifth_holiday_week_two_years_before: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startVacationPayGrossUsedFifthHolidayWeekTwoYearsBefore")
2350
+ start_vacation_supplement_earned_fifth_holiday_week_three_years_before: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startVacationSupplementEarnedFifthHolidayWeekThreeYearsBefore")
2351
+ start_vacation_supplement_earned_fifth_holiday_week_two_years_before: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startVacationSupplementEarnedFifthHolidayWeekTwoYearsBefore")
2352
+ start_vacation_supplement_used_fifth_holiday_week_three_years_before: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startVacationSupplementUsedFifthHolidayWeekThreeYearsBefore")
2353
+ start_vacation_supplement_used_fifth_holiday_week_two_years_before: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startVacationSupplementUsedFifthHolidayWeekTwoYearsBefore")
2354
+ start_vacation_supplement_value_per_day_fifth_holiday_week_current_period: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startVacationSupplementValuePerDayFifthHolidayWeekCurrentPeriod")
2355
+ start_vacation_supplement_value_per_day_fifth_holiday_week_previous_period: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startVacationSupplementValuePerDayFifthHolidayWeekPreviousPeriod")
2356
+ start_vacation_supplement_value_per_day_fifth_holiday_week_three_periods_before: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startVacationSupplementValuePerDayFifthHolidayWeekThreePeriodsBefore")
2357
+ start_vacation_supplement_value_per_day_fifth_holiday_week_two_periods_before: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startVacationSupplementValuePerDayFifthHolidayWeekTwoPeriodsBefore")
2358
+ start_vacations_legitimate_salary_fifth_holiday_week_three_years_before: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startVacationsLegitimateSalaryFifthHolidayWeekThreeYearsBefore")
2359
+ start_vacations_legitimate_salary_fifth_holiday_week_two_years_before: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startVacationsLegitimateSalaryFifthHolidayWeekTwoYearsBefore")
2360
+ start_value_for_days_to_payout_fifth_holiday_week_current_period: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startValueForDaysToPayoutFifthHolidayWeekCurrentPeriod")
2361
+ start_value_for_days_to_payout_fifth_holiday_week_previous_period: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startValueForDaysToPayoutFifthHolidayWeekPreviousPeriod")
2362
+ start_value_for_days_to_payout_fifth_holiday_week_three_periods_before: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startValueForDaysToPayoutFifthHolidayWeekThreePeriodsBefore")
2363
+ start_value_for_days_to_payout_fifth_holiday_week_two_periods_before: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startValueForDaysToPayoutFifthHolidayWeekTwoPeriodsBefore")
2364
+ start_year_before_day_of_prayer_compensation_earned: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startYearBeforeDayOfPrayerCompensationEarned")
2365
+ start_year_before_day_of_prayer_compensation_paidout: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, alias="startYearBeforeDayOfPrayerCompensationPaidout")
2366
+
2367
+ # Existing Workers fields from EmployeesGet not re-listed here are intentionally omitted to avoid duplication
2368
+ # but the above covers additional detailed fields present in get_by_id responses.
2369
+
2370
+ class _Annotation:
2371
+ primary_key = "uid"
2372
+ foreign_keys = {}