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 CaptableOption {
    /// CliffYears is how many years before any of the grant vests.
    #[serde(rename = "cliffYears", skip_serializing_if = "Option::is_none")]
    pub cliff_years: Option<i32>,
    /// EquityPlanID is the plan the grant draws from.
    #[serde(rename = "equityPlanId", skip_serializing_if = "Option::is_none")]
    pub equity_plan_id: Option<String>,
    /// EquityPlanName is that plan's name.
    #[serde(rename = "equityPlanName", skip_serializing_if = "Option::is_none")]
    pub equity_plan_name: Option<String>,
    /// ExercisePrice is the strike price per share.
    #[serde(rename = "exercisePrice", skip_serializing_if = "Option::is_none")]
    pub exercise_price: Option<f64>,
    /// ExpirationDate is the ISO date the grant expires.
    #[serde(rename = "expirationDate", skip_serializing_if = "Option::is_none")]
    pub expiration_date: Option<String>,
    /// GrantID is the grant number, unique within the company.
    #[serde(rename = "grantId", skip_serializing_if = "Option::is_none")]
    pub grant_id: Option<String>,
    /// ID is the option id.
    #[serde(rename = "id", skip_serializing_if = "Option::is_none")]
    pub id: Option<String>,
    /// IssueDate is the ISO date the grant was issued.
    #[serde(rename = "issueDate", skip_serializing_if = "Option::is_none")]
    pub issue_date: Option<String>,
    /// Quantity is how many shares the grant covers.
    #[serde(rename = "quantity", skip_serializing_if = "Option::is_none")]
    pub quantity: Option<i32>,
    /// StakeholderID is the grantee.
    #[serde(rename = "stakeholderId", skip_serializing_if = "Option::is_none")]
    pub stakeholder_id: Option<String>,
    /// StakeholderName is that grantee's name.
    #[serde(rename = "stakeholderName", skip_serializing_if = "Option::is_none")]
    pub stakeholder_name: Option<String>,
    /// Status is the grant's state, e.g. DRAFT, ACTIVE, EXERCISED, EXPIRED or CANCELLED. Only non-terminal grants dilute the cap table.
    #[serde(rename = "status", skip_serializing_if = "Option::is_none")]
    pub status: Option<String>,
    /// Type is the grant kind, ISO or NSO.
    #[serde(rename = "type", skip_serializing_if = "Option::is_none")]
    pub r#type: Option<String>,
    /// VestingYears is the total vesting period in years.
    #[serde(rename = "vestingYears", skip_serializing_if = "Option::is_none")]
    pub vesting_years: Option<i32>,
}

impl CaptableOption {
    pub fn new() -> CaptableOption {
        CaptableOption {
            cliff_years: None,
            equity_plan_id: None,
            equity_plan_name: None,
            exercise_price: None,
            expiration_date: None,
            grant_id: None,
            id: None,
            issue_date: None,
            quantity: None,
            stakeholder_id: None,
            stakeholder_name: None,
            status: None,
            r#type: None,
            vesting_years: None,
        }
    }
}