osdm_sys/models/
fulfillment_usage.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 FulfillmentUsage {
18 #[serde(rename = "fromPlaceRequired", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
19 pub from_place_required: Option<Option<bool>>,
20 #[serde(rename = "travelDates", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
22 pub travel_dates: Option<Option<Vec<String>>>,
23 #[serde(rename = "travelValidityRanges", skip_serializing_if = "Option::is_none")]
24 pub travel_validity_ranges: Option<Vec<models::TravelValidityRange>>,
25 #[serde(rename = "maxAvailableZones", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
27 pub max_available_zones: Option<Option<i32>>,
28 #[serde(rename = "availableZones", skip_serializing_if = "Option::is_none")]
29 pub available_zones: Option<Vec<models::ZoneDefinition>>,
30}
31
32impl FulfillmentUsage {
33 pub fn new() -> FulfillmentUsage {
35 FulfillmentUsage {
36 from_place_required: None,
37 travel_dates: None,
38 travel_validity_ranges: None,
39 max_available_zones: None,
40 available_zones: None,
41 }
42 }
43}
44