From 8d427600b2db077512cb0c856b4f4db8160e4af1 Mon Sep 17 00:00:00 2001 From: Matteo Giustini Date: Wed, 27 May 2026 16:18:32 +0200 Subject: [PATCH] Schema veicoli --- backend/app/schemas/vehicle.py | 41 ++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 backend/app/schemas/vehicle.py diff --git a/backend/app/schemas/vehicle.py b/backend/app/schemas/vehicle.py new file mode 100644 index 0000000..f4074a1 --- /dev/null +++ b/backend/app/schemas/vehicle.py @@ -0,0 +1,41 @@ +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