"""Pydantic v2 models for Scenar Creator v3.""" import uuid from typing import List, Optional from pydantic import BaseModel, Field class Block(BaseModel): id: str = Field(default_factory=lambda: str(uuid.uuid4())) date: str # "YYYY-MM-DD" start: str # "HH:MM" end: str # "HH:MM" title: str type_id: str responsible: Optional[str] = None notes: Optional[str] = None class ProgramType(BaseModel): id: str name: str color: str # "#RRGGBB" class EventInfo(BaseModel): title: str subtitle: Optional[str] = None date: Optional[str] = None location: Optional[str] = None class ScenarioDocument(BaseModel): version: str = "1.0" event: EventInfo program_types: List[ProgramType] blocks: List[Block]