hanzo-client 8.5.156

Generated client for the Hanzo API — every service, one crate.
Documentation
/*
 * Hanzo Cloud API
 *
 * The Hanzo Cloud API as a customer calls it: every operation under /v1/ except the operator's admin product, relay routes, legacy spellings and capabilities still reached by flag. Tagged by product: the first path segment after /v1/.
 *
 * The version of the OpenAPI document: v1
 * 
 * Generated by: https://openapi-generator.tech
 */

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

#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct Formation {
    /// AlreadyIncorporated declares an org that already has a legal entity, which takes the import path (structure → import → company) instead of forming one.
    #[serde(rename = "alreadyIncorporated", skip_serializing_if = "Option::is_none")]
    pub already_incorporated: Option<bool>,
    /// CapTableImported reports whether the existing company's cap table has been imported onto the canonical cap table.
    #[serde(rename = "capTableImported", skip_serializing_if = "Option::is_none")]
    pub cap_table_imported: Option<bool>,
    /// CreatedAt is the unix second the formation was opened.
    #[serde(rename = "createdAt", skip_serializing_if = "Option::is_none")]
    pub created_at: Option<i32>,
    /// DocumentIDs are the data room ids of the GENERATED formation documents.
    #[serde(rename = "documentIds", skip_serializing_if = "Option::is_none")]
    pub document_ids: Option<Vec<String>>,
    /// EsignRef is the e-signature provider's reference for the signature request.
    #[serde(rename = "esignRef", skip_serializing_if = "Option::is_none")]
    pub esign_ref: Option<String>,
    /// Filing is the state-of-incorporation filing record, once documents exist.
    #[serde(rename = "filing", skip_serializing_if = "Option::is_none")]
    pub filing: Option<Box<models::Filing>>,
    /// Founders is every founding stakeholder, with its equity split and KYC state.
    #[serde(rename = "founders", skip_serializing_if = "Option::is_none")]
    pub founders: Option<Vec<models::Founder>>,
    /// Genesis is the cap-table equity genesis, once recorded.
    #[serde(rename = "genesis", skip_serializing_if = "Option::is_none")]
    pub genesis: Option<Box<models::Genesis>>,
    /// Imported reports whether the existing company's corporate documents have been ingested into the org's data room.
    #[serde(rename = "imported", skip_serializing_if = "Option::is_none")]
    pub imported: Option<bool>,
    /// ImportedDocs are the data room ids of the documents ingested from Drive.
    #[serde(rename = "importedDocs", skip_serializing_if = "Option::is_none")]
    pub imported_docs: Option<Vec<String>>,
    /// Jurisdiction is the state of formation: DE or WY.
    #[serde(rename = "jurisdiction", skip_serializing_if = "Option::is_none")]
    pub jurisdiction: Option<String>,
    /// Name is the company name the entity is being formed under.
    #[serde(rename = "name", skip_serializing_if = "Option::is_none")]
    pub name: Option<String>,
    /// Org is the owning org — the tenant key, and the reason there is exactly one formation per org.
    #[serde(rename = "org", skip_serializing_if = "Option::is_none")]
    pub org: Option<String>,
    /// Paid reports whether the one-time formation fee has been charged.
    #[serde(rename = "paid", skip_serializing_if = "Option::is_none")]
    pub paid: Option<bool>,
    /// PaymentRef is the billing reference recorded for the charged formation fee on the org's own ledger.
    #[serde(rename = "paymentRef", skip_serializing_if = "Option::is_none")]
    pub payment_ref: Option<String>,
    /// Signed reports whether the formation documents have come back signed — the e-signature provider's answer, which a real provider's webhook drives.
    #[serde(rename = "signed", skip_serializing_if = "Option::is_none")]
    pub signed: Option<bool>,
    /// Stage is the machine's current state: structure, founders, payment, documents, esign or genesis on the formation path, import on the skip path, and company at the terminal.
    #[serde(rename = "stage", skip_serializing_if = "Option::is_none")]
    pub stage: Option<String>,
    /// Structure is the legal entity being formed: c-corp, llc or dao-llc.
    #[serde(rename = "structure", skip_serializing_if = "Option::is_none")]
    pub structure: Option<String>,
    /// UpdatedAt is the unix second of the most recent write to the formation.
    #[serde(rename = "updatedAt", skip_serializing_if = "Option::is_none")]
    pub updated_at: Option<i32>,
}

impl Formation {
    pub fn new() -> Formation {
        Formation {
            already_incorporated: None,
            cap_table_imported: None,
            created_at: None,
            document_ids: None,
            esign_ref: None,
            filing: None,
            founders: None,
            genesis: None,
            imported: None,
            imported_docs: None,
            jurisdiction: None,
            name: None,
            org: None,
            paid: None,
            payment_ref: None,
            signed: None,
            stage: None,
            structure: None,
            updated_at: None,
        }
    }
}