from datetime import date from decimal import Decimal from pydantic import BaseModel class VehicleVersionItem(BaseModel): motornet_code: str version_label: str | None body_type: str | None doors: int | None wheelbase: int | None list_price: Decimal | None production_start: date | None production_end: date | None commercial_start: date | None commercial_end: date | None brand_name: str | None model_description: str | None gamma_description: str | None series_description: str | None is_selected: bool = False model_config = {"from_attributes": True} class VehicleLookupResponse(BaseModel): plate: str vin: str | None vehicle_type: str | None registration_date: date | None homologation_code: str | None engine_code: str | None last_revision_date: date | None source: str | None selected_motornet_code: str | None versions: list[VehicleVersionItem] from_cache: bool = False class VersionSelectRequest(BaseModel): motornet_code: str