osdm_sys/models/
offer_overview_trip_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 OfferOverviewTripRequest {
18 #[serde(rename = "tripSpecifications", skip_serializing_if = "Option::is_none")]
19 pub trip_specifications: Option<Vec<models::TripSpecification>>,
20 #[serde(rename = "tripIds", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
21 pub trip_ids: Option<Option<Vec<String>>>,
22 #[serde(rename = "tripSearchCriteria", skip_serializing_if = "Option::is_none")]
23 pub trip_search_criteria: Option<Box<models::TripSearchCriteria>>,
24 #[serde(rename = "tripResponseParameters", skip_serializing_if = "Option::is_none")]
25 pub trip_response_parameters: Option<Box<models::TripResponseParameters>>,
26 #[serde(rename = "passengerSpecifications")]
27 pub passenger_specifications: Vec<models::AnonymousPassengerSpecification>,
28 #[serde(rename = "travelClass", skip_serializing_if = "Option::is_none")]
30 pub travel_class: Option<String>,
31 #[serde(rename = "flexibility", skip_serializing_if = "Option::is_none")]
32 pub flexibility: Option<String>,
33}
34
35impl OfferOverviewTripRequest {
36 pub fn new(passenger_specifications: Vec<models::AnonymousPassengerSpecification>) -> OfferOverviewTripRequest {
38 OfferOverviewTripRequest {
39 trip_specifications: None,
40 trip_ids: None,
41 trip_search_criteria: None,
42 trip_response_parameters: None,
43 passenger_specifications,
44 travel_class: None,
45 flexibility: None,
46 }
47 }
48}
49