"""Domain entity: VacationDays. This is the REFERENCE entity — copy this shape for the other entities (parental_leave, planned_leave, child, leave_wish, ...). A domain entity is a plain dataclass with no framework or persistence concerns. """ from dataclasses import dataclass from datetime import datetime from uuid import UUID @dataclass class VacationDays: """Manual vacation (semester) entry per parent per year. Swedish semester is typically 25 statutory days/year; days above 20 may be saved up to 5 years. `saved_days_in` carries those over so the tips engine can warn before they expire. """ id: UUID personal_data_uuid: UUID workspace_id: UUID year: int total_days: int # entitlement for this year saved_days_in: int = 0 # carried over from prior years created_at: datetime | None = None updated_at: datetime | None = None