use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct StartSmsRegistrationRequestTollFree {
#[serde(rename = "businessName")]
pub business_name: String,
#[serde(rename = "corporateWebsite")]
pub corporate_website: String,
#[serde(rename = "phoneNumbers")]
pub phone_numbers: Vec<String>,
#[serde(rename = "useCase")]
pub use_case: String,
#[serde(rename = "useCaseSummary")]
pub use_case_summary: String,
#[serde(rename = "productionMessageContent")]
pub production_message_content: String,
#[serde(rename = "optInWorkflow")]
pub opt_in_workflow: String,
#[serde(rename = "optInWorkflowImageUrls")]
pub opt_in_workflow_image_urls: Vec<String>,
#[serde(rename = "messageVolume")]
pub message_volume: MessageVolume,
#[serde(rename = "additionalInformation")]
pub additional_information: String,
#[serde(rename = "businessAddr1")]
pub business_addr1: String,
#[serde(rename = "businessAddr2", skip_serializing_if = "Option::is_none")]
pub business_addr2: Option<String>,
#[serde(rename = "businessCity")]
pub business_city: String,
#[serde(rename = "businessState")]
pub business_state: String,
#[serde(rename = "businessZip")]
pub business_zip: String,
#[serde(rename = "businessContactFirstName")]
pub business_contact_first_name: String,
#[serde(rename = "businessContactLastName")]
pub business_contact_last_name: String,
#[serde(rename = "businessContactEmail")]
pub business_contact_email: String,
#[serde(rename = "businessContactPhone")]
pub business_contact_phone: String,
#[serde(rename = "businessRegistrationNumber")]
pub business_registration_number: String,
#[serde(rename = "businessRegistrationType")]
pub business_registration_type: String,
#[serde(rename = "businessRegistrationCountry")]
pub business_registration_country: String,
}
impl StartSmsRegistrationRequestTollFree {
pub fn new(
business_name: String,
corporate_website: String,
phone_numbers: Vec<String>,
use_case: String,
use_case_summary: String,
production_message_content: String,
opt_in_workflow: String,
opt_in_workflow_image_urls: Vec<String>,
message_volume: MessageVolume,
additional_information: String,
business_addr1: String,
business_city: String,
business_state: String,
business_zip: String,
business_contact_first_name: String,
business_contact_last_name: String,
business_contact_email: String,
business_contact_phone: String,
business_registration_number: String,
business_registration_type: String,
business_registration_country: String,
) -> StartSmsRegistrationRequestTollFree {
StartSmsRegistrationRequestTollFree {
business_name,
corporate_website,
phone_numbers,
use_case,
use_case_summary,
production_message_content,
opt_in_workflow,
opt_in_workflow_image_urls,
message_volume,
additional_information,
business_addr1,
business_addr2: None,
business_city,
business_state,
business_zip,
business_contact_first_name,
business_contact_last_name,
business_contact_email,
business_contact_phone,
business_registration_number,
business_registration_type,
business_registration_country,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum MessageVolume {
#[serde(rename = "10")]
Variant10,
#[serde(rename = "100")]
Variant100,
#[serde(rename = "1,000")]
Variant1Comma000,
#[serde(rename = "10,000")]
Variant10Comma000,
#[serde(rename = "100,000")]
Variant100Comma000,
#[serde(rename = "250,000")]
Variant250Comma000,
#[serde(rename = "500,000")]
Variant500Comma000,
#[serde(rename = "750,000")]
Variant750Comma000,
#[serde(rename = "1,000,000")]
Variant1Comma000Comma000,
#[serde(rename = "5,000,000")]
Variant5Comma000Comma000,
#[serde(rename = "10,000,000+")]
Variant10Comma000Comma000Plus,
}
impl Default for MessageVolume {
fn default() -> MessageVolume {
Self::Variant10
}
}