osdm_sys/models/
offer_overview_route_request.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 OfferOverviewRouteRequest {
18 #[serde(rename = "routeSpecification")]
19 pub route_specification: Box<models::RouteSpecification>,
20 #[serde(rename = "passengerSpecifications")]
21 pub passenger_specifications: Vec<models::AnonymousPassengerSpecification>,
22 #[serde(rename = "startDateTime")]
23 pub start_date_time: String,
24 #[serde(rename = "endDateTime")]
25 pub end_date_time: String,
26 #[serde(rename = "timeFrameSegmentation", skip_serializing_if = "Option::is_none")]
28 pub time_frame_segmentation: Option<models::TimeFrameSegmentation>,
29 #[serde(rename = "travelClass", skip_serializing_if = "Option::is_none")]
31 pub travel_class: Option<String>,
32 #[serde(rename = "flexibility", skip_serializing_if = "Option::is_none")]
33 pub flexibility: Option<String>,
34}
35
36impl OfferOverviewRouteRequest {
37 pub fn new(route_specification: models::RouteSpecification, passenger_specifications: Vec<models::AnonymousPassengerSpecification>, start_date_time: String, end_date_time: String) -> OfferOverviewRouteRequest {
39 OfferOverviewRouteRequest {
40 route_specification: Box::new(route_specification),
41 passenger_specifications,
42 start_date_time,
43 end_date_time,
44 time_frame_segmentation: None,
45 travel_class: None,
46 flexibility: None,
47 }
48 }
49}
50