from pydantic import BaseModel, Field from typing import List class PassengerProfile(BaseModel): name: str age: int profession: str personality: str role: str mystery_intrigue: str class PlayerName(BaseModel): playerId: str firstName: str lastName: str sex: str fullName: str class PlayerDetails(BaseModel): playerId: str profile: PassengerProfile class Person(BaseModel): uid: str position: List[float] = Field(..., min_items=2, max_items=2) rotation: float model_type: str items: List[str] = [] class Wagon(BaseModel): id: int theme: str passcode: str people: List[Person] class WagonNames(BaseModel): wagonId: str players: List[PlayerName] class WagonPlayerDetails(BaseModel): wagonId: str players: List[PlayerDetails] class WagonsResponse(BaseModel): wagons: List[Wagon] class GenerateTrainResponse(BaseModel): names: List[WagonNames] player_details: List[WagonPlayerDetails] wagons: List[Wagon]