feat: add per-space timezone settings and improve booking management

- Add timezone configuration per space with fallback to system default
- Implement timezone-aware datetime display and editing across frontend
- Add migration for per_space_settings table
- Update booking service to handle timezone conversions properly
- Improve .gitignore to exclude build artifacts
- Add comprehensive testing documentation

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
Claude Agent
2026-02-11 15:54:51 +00:00
parent 6edf87c899
commit 9c2846cf00
17 changed files with 1322 additions and 40 deletions

View File

@@ -10,6 +10,12 @@ class SpaceBase(BaseModel):
capacity: int = Field(..., gt=0)
description: str | None = None
# Per-space scheduling settings (None = use global default)
working_hours_start: int | None = None
working_hours_end: int | None = None
min_duration_minutes: int | None = None
max_duration_minutes: int | None = None
class SpaceCreate(SpaceBase):
"""Space creation schema."""
@@ -34,5 +40,9 @@ class SpaceResponse(SpaceBase):
id: int
is_active: bool
working_hours_start: int | None = None
working_hours_end: int | None = None
min_duration_minutes: int | None = None
max_duration_minutes: int | None = None
model_config = {"from_attributes": True}