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 CaptableShareClass {
    /// ClassType is COMMON or PREFERRED.
    #[serde(rename = "classType", skip_serializing_if = "Option::is_none")]
    pub class_type: Option<String>,
    /// CompanyName is the name of the company whose cap table this is.
    #[serde(rename = "companyName", skip_serializing_if = "Option::is_none")]
    pub company_name: Option<String>,
    /// ConversionRights describes what the class converts into, e.g. CONVERTS_TO_FUTURE_ROUND.
    #[serde(rename = "conversionRights", skip_serializing_if = "Option::is_none")]
    pub conversion_rights: Option<String>,
    /// ID is the share class id.
    #[serde(rename = "id", skip_serializing_if = "Option::is_none")]
    pub id: Option<String>,
    /// Idx is the class's 1-based position within the company, in creation order.
    #[serde(rename = "idx", skip_serializing_if = "Option::is_none")]
    pub idx: Option<i32>,
    /// InitialSharesAuthorized is how many shares of this class are authorized.
    #[serde(rename = "initialSharesAuthorized", skip_serializing_if = "Option::is_none")]
    pub initial_shares_authorized: Option<i32>,
    /// LiquidationPreferenceMultiple is the preference multiple on liquidation.
    #[serde(rename = "liquidationPreferenceMultiple", skip_serializing_if = "Option::is_none")]
    pub liquidation_preference_multiple: Option<f64>,
    /// Name is the class name, e.g. \"Common\" or \"Series A Preferred\".
    #[serde(rename = "name", skip_serializing_if = "Option::is_none")]
    pub name: Option<String>,
    /// ParValue is the par value per share.
    #[serde(rename = "parValue", skip_serializing_if = "Option::is_none")]
    pub par_value: Option<f64>,
    /// ParticipationCapMultiple caps participation on liquidation; 0 is uncapped.
    #[serde(rename = "participationCapMultiple", skip_serializing_if = "Option::is_none")]
    pub participation_cap_multiple: Option<f64>,
    /// Prefix is the certificate prefix, CS for common and PS for preferred.
    #[serde(rename = "prefix", skip_serializing_if = "Option::is_none")]
    pub prefix: Option<String>,
    /// PricePerShare is the issue price per share.
    #[serde(rename = "pricePerShare", skip_serializing_if = "Option::is_none")]
    pub price_per_share: Option<f64>,
    /// Seniority orders classes in a liquidation waterfall; higher is more senior.
    #[serde(rename = "seniority", skip_serializing_if = "Option::is_none")]
    pub seniority: Option<i32>,
    /// VotesPerShare is how many votes one share of this class carries.
    #[serde(rename = "votesPerShare", skip_serializing_if = "Option::is_none")]
    pub votes_per_share: Option<i32>,
}

impl CaptableShareClass {
    pub fn new() -> CaptableShareClass {
        CaptableShareClass {
            class_type: None,
            company_name: None,
            conversion_rights: None,
            id: None,
            idx: None,
            initial_shares_authorized: None,
            liquidation_preference_multiple: None,
            name: None,
            par_value: None,
            participation_cap_multiple: None,
            prefix: None,
            price_per_share: None,
            seniority: None,
            votes_per_share: None,
        }
    }
}