late 0.0.1085

API reference for Zernio. Authenticate with a Bearer API key. Base URL: https://zernio.com/api Versioning and deprecation: all endpoints are versioned in the URL path (current version: /v1). Breaking changes only ship in a new path version; existing versions keep working. Deprecated operations are marked 'deprecated: true' in this spec and announced in the changelog (https://zernio.com/changelog) before removal. Errors: every 4xx/5xx response is application/json with a machine-readable 'code' and a human-readable 'error' message (see the ErrorResponse schema). Request ids: responses carry an X-Request-Id header with the id we log the request under. Quote it when reporting a problem. A valid x-request-id you send is reused as that id.
Documentation
/*
 * Zernio API
 *
 * API reference for Zernio. Authenticate with a Bearer API key. Base URL: https://zernio.com/api  Versioning and deprecation: all endpoints are versioned in the URL path (current version: /v1). Breaking changes only ship in a new path version; existing versions keep working. Deprecated operations are marked 'deprecated: true' in this spec and announced in the changelog (https://zernio.com/changelog) before removal.  Errors: every 4xx/5xx response is application/json with a machine-readable 'code' and a human-readable 'error' message (see the ErrorResponse schema).  Request ids: responses carry an X-Request-Id header with the id we log the request under. Quote it when reporting a problem. A valid x-request-id you send is reused as that id.
 *
 * The version of the OpenAPI document: 1.147.0
 * Contact: support@zernio.com
 * Generated by: https://openapi-generator.tech
 */

use crate::models;
use serde::{Deserialize, Serialize};

#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct BrandedCallingEnterprise {
    #[serde(rename = "id", skip_serializing_if = "Option::is_none")]
    pub id: Option<String>,
    #[serde(rename = "legalName", skip_serializing_if = "Option::is_none")]
    pub legal_name: Option<String>,
    #[serde(rename = "doingBusinessAs", skip_serializing_if = "Option::is_none")]
    pub doing_business_as: Option<String>,
    #[serde(rename = "organizationType", skip_serializing_if = "Option::is_none")]
    pub organization_type: Option<OrganizationType>,
    #[serde(
        rename = "organizationLegalType",
        skip_serializing_if = "Option::is_none"
    )]
    pub organization_legal_type: Option<OrganizationLegalType>,
    #[serde(rename = "countryCode", skip_serializing_if = "Option::is_none")]
    pub country_code: Option<CountryCode>,
    #[serde(
        rename = "jurisdictionOfIncorporation",
        skip_serializing_if = "Option::is_none"
    )]
    pub jurisdiction_of_incorporation: Option<String>,
    #[serde(rename = "website", skip_serializing_if = "Option::is_none")]
    pub website: Option<String>,
    /// Last four digits of the tax id; the full id is never returned.
    #[serde(rename = "feinLast4", skip_serializing_if = "Option::is_none")]
    pub fein_last4: Option<String>,
    #[serde(rename = "industry", skip_serializing_if = "Option::is_none")]
    pub industry: Option<String>,
    #[serde(rename = "numberOfEmployees", skip_serializing_if = "Option::is_none")]
    pub number_of_employees: Option<NumberOfEmployees>,
    #[serde(
        rename = "organizationContact",
        skip_serializing_if = "Option::is_none"
    )]
    pub organization_contact: Option<Box<models::BrandedCallingContact>>,
    #[serde(rename = "billingContact", skip_serializing_if = "Option::is_none")]
    pub billing_contact: Option<Box<models::BrandedCallingContact>>,
    #[serde(rename = "physicalAddress", skip_serializing_if = "Option::is_none")]
    pub physical_address: Option<Box<models::BrandedCallingAddress>>,
    #[serde(rename = "billingAddress", skip_serializing_if = "Option::is_none")]
    pub billing_address: Option<Box<models::BrandedCallingAddress>>,
    /// True once the business exists at the carrier (happens when its first identity passes review).
    #[serde(rename = "registered", skip_serializing_if = "Option::is_none")]
    pub registered: Option<bool>,
    #[serde(
        rename = "createdAt",
        default,
        with = "::serde_with::rust::double_option",
        skip_serializing_if = "Option::is_none"
    )]
    pub created_at: Option<Option<String>>,
}

impl BrandedCallingEnterprise {
    pub fn new() -> BrandedCallingEnterprise {
        BrandedCallingEnterprise {
            id: None,
            legal_name: None,
            doing_business_as: None,
            organization_type: None,
            organization_legal_type: None,
            country_code: None,
            jurisdiction_of_incorporation: None,
            website: None,
            fein_last4: None,
            industry: None,
            number_of_employees: None,
            organization_contact: None,
            billing_contact: None,
            physical_address: None,
            billing_address: None,
            registered: None,
            created_at: None,
        }
    }
}
///
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum OrganizationType {
    #[serde(rename = "commercial")]
    Commercial,
    #[serde(rename = "government")]
    Government,
    #[serde(rename = "non_profit")]
    NonProfit,
}

impl Default for OrganizationType {
    fn default() -> OrganizationType {
        Self::Commercial
    }
}
///
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum OrganizationLegalType {
    #[serde(rename = "corporation")]
    Corporation,
    #[serde(rename = "llc")]
    Llc,
    #[serde(rename = "partnership")]
    Partnership,
    #[serde(rename = "nonprofit")]
    Nonprofit,
    #[serde(rename = "other")]
    Other,
}

impl Default for OrganizationLegalType {
    fn default() -> OrganizationLegalType {
        Self::Corporation
    }
}
///
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum CountryCode {
    #[serde(rename = "US")]
    Us,
    #[serde(rename = "CA")]
    Ca,
}

impl Default for CountryCode {
    fn default() -> CountryCode {
        Self::Us
    }
}
///
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum NumberOfEmployees {
    #[serde(rename = "1-10")]
    Variant110,
    #[serde(rename = "11-50")]
    Variant1150,
    #[serde(rename = "51-200")]
    Variant51200,
    #[serde(rename = "201-500")]
    Variant201500,
    #[serde(rename = "501-2000")]
    Variant5012000,
    #[serde(rename = "2001-10000")]
    Variant200110000,
    #[serde(rename = "10001+")]
    Variant10001Plus,
}

impl Default for NumberOfEmployees {
    fn default() -> NumberOfEmployees {
        Self::Variant110
    }
}