Skip to main content

hanzo_client/models/
captable_share_class.rs

1/*
2 * Hanzo Cloud API
3 *
4 * 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/.
5 *
6 * The version of the OpenAPI document: v1
7 * 
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct CaptableShareClass {
16    /// ClassType is COMMON or PREFERRED.
17    #[serde(rename = "classType", skip_serializing_if = "Option::is_none")]
18    pub class_type: Option<String>,
19    /// CompanyName is the name of the company whose cap table this is.
20    #[serde(rename = "companyName", skip_serializing_if = "Option::is_none")]
21    pub company_name: Option<String>,
22    /// ConversionRights describes what the class converts into, e.g. CONVERTS_TO_FUTURE_ROUND.
23    #[serde(rename = "conversionRights", skip_serializing_if = "Option::is_none")]
24    pub conversion_rights: Option<String>,
25    /// ID is the share class id.
26    #[serde(rename = "id", skip_serializing_if = "Option::is_none")]
27    pub id: Option<String>,
28    /// Idx is the class's 1-based position within the company, in creation order.
29    #[serde(rename = "idx", skip_serializing_if = "Option::is_none")]
30    pub idx: Option<i32>,
31    /// InitialSharesAuthorized is how many shares of this class are authorized.
32    #[serde(rename = "initialSharesAuthorized", skip_serializing_if = "Option::is_none")]
33    pub initial_shares_authorized: Option<i32>,
34    /// LiquidationPreferenceMultiple is the preference multiple on liquidation.
35    #[serde(rename = "liquidationPreferenceMultiple", skip_serializing_if = "Option::is_none")]
36    pub liquidation_preference_multiple: Option<f64>,
37    /// Name is the class name, e.g. \"Common\" or \"Series A Preferred\".
38    #[serde(rename = "name", skip_serializing_if = "Option::is_none")]
39    pub name: Option<String>,
40    /// ParValue is the par value per share.
41    #[serde(rename = "parValue", skip_serializing_if = "Option::is_none")]
42    pub par_value: Option<f64>,
43    /// ParticipationCapMultiple caps participation on liquidation; 0 is uncapped.
44    #[serde(rename = "participationCapMultiple", skip_serializing_if = "Option::is_none")]
45    pub participation_cap_multiple: Option<f64>,
46    /// Prefix is the certificate prefix, CS for common and PS for preferred.
47    #[serde(rename = "prefix", skip_serializing_if = "Option::is_none")]
48    pub prefix: Option<String>,
49    /// PricePerShare is the issue price per share.
50    #[serde(rename = "pricePerShare", skip_serializing_if = "Option::is_none")]
51    pub price_per_share: Option<f64>,
52    /// Seniority orders classes in a liquidation waterfall; higher is more senior.
53    #[serde(rename = "seniority", skip_serializing_if = "Option::is_none")]
54    pub seniority: Option<i32>,
55    /// VotesPerShare is how many votes one share of this class carries.
56    #[serde(rename = "votesPerShare", skip_serializing_if = "Option::is_none")]
57    pub votes_per_share: Option<i32>,
58}
59
60impl CaptableShareClass {
61    pub fn new() -> CaptableShareClass {
62        CaptableShareClass {
63            class_type: None,
64            company_name: None,
65            conversion_rights: None,
66            id: None,
67            idx: None,
68            initial_shares_authorized: None,
69            liquidation_preference_multiple: None,
70            name: None,
71            par_value: None,
72            participation_cap_multiple: None,
73            prefix: None,
74            price_per_share: None,
75            seniority: None,
76            votes_per_share: None,
77        }
78    }
79}
80