use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
#[cfg_attr(feature = "utoipa", derive(utoipa::ToSchema))]
pub struct ContinuousServicePickUpPlace {
#[serde(rename = "id", skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(rename = "description")]
pub description: String,
#[serde(rename = "name", skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(rename = "accessDescription", skip_serializing_if = "Option::is_none")]
pub access_description: Option<String>,
#[serde(rename = "geoPosition")]
pub geo_position: Box<models::GeoPosition>,
#[serde(rename = "availableVehicles")]
pub available_vehicles: Vec<models::ContinuousServiceVehicleAvailability>,
#[serde(rename = "preAllocationTimeLimit", skip_serializing_if = "Option::is_none")]
pub pre_allocation_time_limit: Option<String>,
#[serde(rename = "processIndication", skip_serializing_if = "Option::is_none")]
pub process_indication: Option<Vec<String>>,
#[serde(rename = "estimatedVehicleArrivalAtPickUp", skip_serializing_if = "Option::is_none")]
pub estimated_vehicle_arrival_at_pick_up: Option<String>,
#[serde(rename = "estimatedUserArrivalAtPickUp", skip_serializing_if = "Option::is_none")]
pub estimated_user_arrival_at_pick_up: Option<String>,
}
impl ContinuousServicePickUpPlace {
pub fn new(description: String, geo_position: models::GeoPosition, available_vehicles: Vec<models::ContinuousServiceVehicleAvailability>) -> ContinuousServicePickUpPlace {
ContinuousServicePickUpPlace {
id: None,
description,
name: None,
access_description: None,
geo_position: Box::new(geo_position),
available_vehicles,
pre_allocation_time_limit: None,
process_indication: None,
estimated_vehicle_arrival_at_pick_up: None,
estimated_user_arrival_at_pick_up: None,
}
}
}