use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
#[cfg_attr(feature = "utoipa", derive(utoipa::ToSchema))]
pub struct TravelPassAccount {
#[serde(rename = "objectType")]
pub object_type: String,
#[serde(rename = "holder", skip_serializing_if = "Option::is_none")]
pub holder: Option<Box<models::PersonDetail>>,
#[serde(rename = "issuer")]
pub issuer: String,
#[serde(rename = "validFrom")]
pub valid_from: String,
#[serde(rename = "validUntil")]
pub valid_until: String,
#[serde(rename = "number")]
pub number: String,
#[serde(rename = "regionalConstraintSummary")]
pub regional_constraint_summary: String,
#[serde(rename = "regionalConstraint", skip_serializing_if = "Option::is_none")]
pub regional_constraint: Option<Box<models::RegionalConstraint>>,
#[serde(rename = "consumptions", skip_serializing_if = "Option::is_none")]
pub consumptions: Option<Vec<models::TravelAccountConsumption>>,
}
impl TravelPassAccount {
pub fn new(object_type: String, issuer: String, valid_from: String, valid_until: String, number: String, regional_constraint_summary: String) -> TravelPassAccount {
TravelPassAccount {
object_type,
holder: None,
issuer,
valid_from,
valid_until,
number,
regional_constraint_summary,
regional_constraint: None,
consumptions: None,
}
}
}