osdm_sys/models/
granted_reduction_amount.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 GrantedReductionAmount {
18 #[serde(rename = "description")]
20 pub description: String,
21 #[serde(rename = "grantedAmount")]
22 pub granted_amount: Box<models::Price>,
23 #[serde(rename = "passengerRefs", skip_serializing_if = "Option::is_none")]
25 pub passenger_refs: Option<Vec<String>>,
26 #[serde(rename = "tripCoverage", skip_serializing_if = "Option::is_none")]
27 pub trip_coverage: Option<Box<models::TripCoverage>>,
28 #[serde(rename = "inboundTripCoverage", skip_serializing_if = "Option::is_none")]
29 pub inbound_trip_coverage: Option<Box<models::TripCoverage>>,
30 #[serde(rename = "appliedPassengerTypes", skip_serializing_if = "Option::is_none")]
31 pub applied_passenger_types: Option<Vec<String>>,
32 #[serde(rename = "appliedReductions", skip_serializing_if = "Option::is_none")]
33 pub applied_reductions: Option<Vec<models::CardReference>>,
34 #[serde(rename = "appliedCorporateCodes", skip_serializing_if = "Option::is_none")]
35 pub applied_corporate_codes: Option<Vec<models::CorporateCode>>,
36 #[serde(rename = "appliedPromotionCodes", skip_serializing_if = "Option::is_none")]
37 pub applied_promotion_codes: Option<Vec<models::PromotionCode>>,
38}
39
40impl GrantedReductionAmount {
41 pub fn new(description: String, granted_amount: models::Price) -> GrantedReductionAmount {
43 GrantedReductionAmount {
44 description,
45 granted_amount: Box::new(granted_amount),
46 passenger_refs: None,
47 trip_coverage: None,
48 inbound_trip_coverage: None,
49 applied_passenger_types: None,
50 applied_reductions: None,
51 applied_corporate_codes: None,
52 applied_promotion_codes: None,
53 }
54 }
55}
56