1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
/*
* 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 ProgramApplication {
/// Company is the applicant's company name.
#[serde(rename = "company", skip_serializing_if = "Option::is_none")]
pub company: Option<String>,
/// CompanyID is the CRM Company minted for this lead at intake, so the startup also appears in the org's standard CRM tabs. Empty when that best-effort projection did not run.
#[serde(rename = "companyId", skip_serializing_if = "Option::is_none")]
pub company_id: Option<String>,
/// ContactID is the CRM Contact minted for this lead at intake. Empty when that best-effort projection did not run.
#[serde(rename = "contactId", skip_serializing_if = "Option::is_none")]
pub contact_id: Option<String>,
/// ContactName is the person who applied.
#[serde(rename = "contactName", skip_serializing_if = "Option::is_none")]
pub contact_name: Option<String>,
/// CreatedAt is the unix second the application arrived. Server-owned.
#[serde(rename = "createdAt", skip_serializing_if = "Option::is_none")]
pub created_at: Option<i32>,
/// Email is the applicant's email — half of the (email, company) key a resubmission refreshes instead of duplicating.
#[serde(rename = "email", skip_serializing_if = "Option::is_none")]
pub email: Option<String>,
/// Events is the append-only stage-transition log, oldest first.
#[serde(rename = "events", skip_serializing_if = "Option::is_none")]
pub events: Option<Vec<models::StageEvent>>,
/// ID is the server-minted application id (\"appl_\" + 128 random bits).
#[serde(rename = "id", skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
/// Metadata is the FULL submitted form, every field, including the arrays the promoted columns above do not carry (tier1Investors, useCases) and the deterministic tier1Matched list.
#[serde(rename = "metadata", skip_serializing_if = "Option::is_none")]
pub metadata: Option<std::collections::HashMap<String, serde_json::Value>>,
/// Reason is why the application was rejected, required to reject. Empty otherwise.
#[serde(rename = "reason", skip_serializing_if = "Option::is_none")]
pub reason: Option<String>,
/// Role is the applicant's role at their company.
#[serde(rename = "role", skip_serializing_if = "Option::is_none")]
pub role: Option<String>,
/// Screen is the AI screen. It runs after intake, so a freshly created application carries a \"pending\" screen.
#[serde(rename = "screen", skip_serializing_if = "Option::is_none")]
pub screen: Option<Box<models::ScreenResult>>,
/// Stage is the pipeline stage: applied, screened, qualified, credits-offered, onboarded or rejected. Server-owned — it starts at \"applied\" and moves only through the transition machine.
#[serde(rename = "stage", skip_serializing_if = "Option::is_none")]
pub stage: Option<String>,
/// Tier1 is whether the applicant is tier-1 backed, derived deterministically at intake from the submitted fund list — independent of the AI screen.
#[serde(rename = "tier1", skip_serializing_if = "Option::is_none")]
pub tier1: Option<bool>,
/// UpdatedAt is the unix second of the last write. Server-owned.
#[serde(rename = "updatedAt", skip_serializing_if = "Option::is_none")]
pub updated_at: Option<i32>,
/// Website is the applicant's website as submitted.
#[serde(rename = "website", skip_serializing_if = "Option::is_none")]
pub website: Option<String>,
}
impl ProgramApplication {
pub fn new() -> ProgramApplication {
ProgramApplication {
company: None,
company_id: None,
contact_id: None,
contact_name: None,
created_at: None,
email: None,
events: None,
id: None,
metadata: None,
reason: None,
role: None,
screen: None,
stage: None,
tier1: None,
updated_at: None,
website: None,
}
}
}