use chrono::{DateTime, NaiveDate, Utc}; use serde::{Deserialize, Serialize}; use uuid::Uuid; /// Tour eines Tages, pro [`crate::domain::Account`]. Aggregat-Wurzel /// für die Lieferungen dieses Tages — die einzelnen [`crate::domain::Delivery`] /// referenzieren ihre Tour per FK. /// /// Der Sync vom ERP läuft in der Regel einmal am Vortag und füllt eine /// neue Tour-Zeile inklusive Delivery- und DeliveryItem-Strukturen. #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)] #[cfg_attr(feature = "openapi", derive(utoipa::ToSchema))] #[serde(rename_all = "camelCase")] pub struct Tour { pub id: Uuid, pub account_id: i64, pub date: NaiveDate, /// Zeitpunkt des letzten ERP-Sync — für Drift-Erkennung. pub synced_at: DateTime, }