use getset::{CopyGetters, Getters, MutGetters, Setters};
use serde::{Deserialize, Serialize};
#[derive(Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize, Deserialize, CopyGetters, Getters, MutGetters, Setters)]
#[serde(rename_all = "camelCase")]
pub struct UspsAddress {
#[getset(get = "pub", get_mut = "pub", set = "pub")]
pub first_address_line: String,
#[serde(default)]
#[getset(get = "pub", get_mut = "pub", set = "pub")]
pub firm: Option<String>,
#[serde(default)]
#[getset(get = "pub", get_mut = "pub", set = "pub")]
pub second_address_line: Option<String>,
#[serde(default)]
#[getset(get = "pub", get_mut = "pub", set = "pub")]
pub urbanization: Option<String>,
#[getset(get = "pub", get_mut = "pub", set = "pub")]
pub city_state_zip_address_line: String,
#[getset(get = "pub", get_mut = "pub", set = "pub")]
pub city: String,
#[getset(get = "pub", get_mut = "pub", set = "pub")]
pub state: String,
#[serde(default)]
#[getset(get = "pub", get_mut = "pub", set = "pub")]
pub zip_code: Option<String>,
#[serde(default)]
#[getset(get = "pub", get_mut = "pub", set = "pub")]
pub zip_code_extension: Option<String>,
}