osdm_sys/models/
multi_ride_account.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15#[cfg_attr(feature = "utoipa", derive(utoipa::ToSchema))]
16pub struct MultiRideAccount {
17 #[serde(rename = "objectType")]
19 pub object_type: String,
20 #[serde(rename = "holder", skip_serializing_if = "Option::is_none")]
21 pub holder: Option<Box<models::PersonDetail>>,
22 #[serde(rename = "issuer")]
24 pub issuer: String,
25 #[serde(rename = "validFrom")]
26 pub valid_from: String,
27 #[serde(rename = "validUntil")]
28 pub valid_until: String,
29 #[serde(rename = "number")]
30 pub number: String,
31 #[serde(rename = "regionalConstraint", skip_serializing_if = "Option::is_none")]
32 pub regional_constraint: Option<Box<models::RegionalConstraint>>,
33 #[serde(rename = "regionalConstraintSummary")]
34 pub regional_constraint_summary: String,
35 #[serde(rename = "balance")]
36 pub balance: Box<models::MultiRideBalance>,
37 #[serde(rename = "consumptions", skip_serializing_if = "Option::is_none")]
38 pub consumptions: Option<Vec<models::TravelAccountConsumption>>,
39}
40
41impl MultiRideAccount {
42 pub fn new(object_type: String, issuer: String, valid_from: String, valid_until: String, number: String, regional_constraint_summary: String, balance: models::MultiRideBalance) -> MultiRideAccount {
43 MultiRideAccount {
44 object_type,
45 holder: None,
46 issuer,
47 valid_from,
48 valid_until,
49 number,
50 regional_constraint: None,
51 regional_constraint_summary,
52 balance: Box::new(balance),
53 consumptions: None,
54 }
55 }
56}
57