osdm_sys/models/
continuous_service_pick_up_place.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16#[cfg_attr(feature = "utoipa", derive(utoipa::ToSchema))]
17pub struct ContinuousServicePickUpPlace {
18 #[serde(rename = "id", skip_serializing_if = "Option::is_none")]
20 pub id: Option<String>,
21 #[serde(rename = "description")]
23 pub description: String,
24 #[serde(rename = "name", skip_serializing_if = "Option::is_none")]
26 pub name: Option<String>,
27 #[serde(rename = "accessDescription", skip_serializing_if = "Option::is_none")]
29 pub access_description: Option<String>,
30 #[serde(rename = "geoPosition")]
31 pub geo_position: Box<models::GeoPosition>,
32 #[serde(rename = "availableVehicles")]
33 pub available_vehicles: Vec<models::ContinuousServiceVehicleAvailability>,
34 #[serde(rename = "preAllocationTimeLimit", skip_serializing_if = "Option::is_none")]
36 pub pre_allocation_time_limit: Option<String>,
37 #[serde(rename = "processIndication", skip_serializing_if = "Option::is_none")]
39 pub process_indication: Option<Vec<String>>,
40 #[serde(rename = "estimatedVehicleArrivalAtPickUp", skip_serializing_if = "Option::is_none")]
42 pub estimated_vehicle_arrival_at_pick_up: Option<String>,
43 #[serde(rename = "estimatedUserArrivalAtPickUp", skip_serializing_if = "Option::is_none")]
45 pub estimated_user_arrival_at_pick_up: Option<String>,
46}
47
48impl ContinuousServicePickUpPlace {
49 pub fn new(description: String, geo_position: models::GeoPosition, available_vehicles: Vec<models::ContinuousServiceVehicleAvailability>) -> ContinuousServicePickUpPlace {
51 ContinuousServicePickUpPlace {
52 id: None,
53 description,
54 name: None,
55 access_description: None,
56 geo_position: Box::new(geo_position),
57 available_vehicles,
58 pre_allocation_time_limit: None,
59 process_indication: None,
60 estimated_vehicle_arrival_at_pick_up: None,
61 estimated_user_arrival_at_pick_up: None,
62 }
63 }
64}
65