25 lines
700 B
Python
25 lines
700 B
Python
"""Domain entity: BreakPeriod.
|
|
|
|
A user-defined window the family wants to be home together (e.g. summer, winter
|
|
holidays). Drives the parent-swap tip. Lengths and dates are entirely family-specific;
|
|
seeded with editable defaults.
|
|
"""
|
|
|
|
from dataclasses import dataclass
|
|
from datetime import date, datetime
|
|
from uuid import UUID
|
|
|
|
|
|
@dataclass
|
|
class BreakPeriod:
|
|
"""A user-defined window for the family to be home together."""
|
|
|
|
id: UUID
|
|
workspace_id: UUID
|
|
name: str # 'Summer', 'Winter holidays', ...
|
|
start_date: date
|
|
end_date: date
|
|
target_weeks: int # desired weeks home together for this break
|
|
created_at: datetime | None = None
|
|
updated_at: datetime | None = None
|