use serde::{Deserialize, Serialize};
use crate::models;
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct TrialSendVerificationEmailRequestModel {
#[serde(
rename = "name",
alias = "Name",
skip_serializing_if = "Option::is_none"
)]
pub name: Option<String>,
#[serde(rename = "email", alias = "Email")]
pub email: Option<String>,
#[serde(
rename = "receiveMarketingEmails",
alias = "ReceiveMarketingEmails",
skip_serializing_if = "Option::is_none"
)]
pub receive_marketing_emails: Option<bool>,
#[serde(
rename = "fromMarketing",
alias = "FromMarketing",
skip_serializing_if = "Option::is_none"
)]
pub from_marketing: Option<String>,
#[serde(
rename = "productTier",
alias = "ProductTier",
skip_serializing_if = "Option::is_none"
)]
pub product_tier: Option<models::ProductTierType>,
#[serde(
rename = "products",
alias = "Products",
skip_serializing_if = "Option::is_none"
)]
pub products: Option<Vec<models::ProductType>>,
#[serde(
rename = "trialLength",
alias = "TrialLength",
skip_serializing_if = "Option::is_none"
)]
pub trial_length: Option<i32>,
#[serde(
rename = "paymentOptional",
alias = "PaymentOptional",
skip_serializing_if = "Option::is_none"
)]
pub payment_optional: Option<bool>,
}
impl TrialSendVerificationEmailRequestModel {
pub fn new(email: Option<String>) -> TrialSendVerificationEmailRequestModel {
TrialSendVerificationEmailRequestModel {
name: None,
email,
receive_marketing_emails: None,
from_marketing: None,
product_tier: None,
products: None,
trial_length: None,
payment_optional: None,
}
}
}