Skip to main content

fattureincloud_rs/models/
entity_2.rs

1/*
2 * Fatture in Cloud API v2 - API Reference
3 *
4 * Connect your software with Fatture in Cloud, the invoicing platform chosen by more than 500.000 businesses in Italy.   The Fatture in Cloud API is based on REST, and makes possible to interact with the user related data prior authorization via OAuth2 protocol.
5 *
6 * The version of the OpenAPI document: 2.0.32
7 * Contact: info@fattureincloud.it
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::models;
12
13#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
14pub struct Entity2 {
15    /// Entity id
16    #[serde(rename = "id", skip_serializing_if = "Option::is_none")]
17    pub id: Option<i32>,
18    /// Entity code
19    #[serde(rename = "code", skip_serializing_if = "Option::is_none")]
20    pub code: Option<String>,
21    /// Entity name
22    #[serde(rename = "name", skip_serializing_if = "Option::is_none")]
23    pub name: Option<String>,
24    /// Entity type
25    #[serde(rename = "type", skip_serializing_if = "Option::is_none")]
26    pub r#type: Option<Type>,
27    /// Entity first name
28    #[serde(rename = "first_name", skip_serializing_if = "Option::is_none")]
29    pub first_name: Option<String>,
30    /// Entity last name
31    #[serde(rename = "last_name", skip_serializing_if = "Option::is_none")]
32    pub last_name: Option<String>,
33    /// Entity contact person
34    #[serde(rename = "contact_person", skip_serializing_if = "Option::is_none")]
35    pub contact_person: Option<String>,
36    /// Entity vat number
37    #[serde(rename = "vat_number", skip_serializing_if = "Option::is_none")]
38    pub vat_number: Option<String>,
39    /// Entity tax code
40    #[serde(rename = "tax_code", skip_serializing_if = "Option::is_none")]
41    pub tax_code: Option<String>,
42    /// Entitity address street
43    #[serde(rename = "address_street", skip_serializing_if = "Option::is_none")]
44    pub address_street: Option<String>,
45    /// Entity address postal code
46    #[serde(rename = "address_postal_code", skip_serializing_if = "Option::is_none")]
47    pub address_postal_code: Option<String>,
48    /// Entity address city
49    #[serde(rename = "address_city", skip_serializing_if = "Option::is_none")]
50    pub address_city: Option<String>,
51    /// Entity address province
52    #[serde(rename = "address_province", skip_serializing_if = "Option::is_none")]
53    pub address_province: Option<String>,
54    /// Entity address extra info
55    #[serde(rename = "address_extra", skip_serializing_if = "Option::is_none")]
56    pub address_extra: Option<String>,
57    /// Entity country
58    #[serde(rename = "country", skip_serializing_if = "Option::is_none")]
59    pub country: Option<String>,
60    /// Entity country iso code
61    #[serde(rename = "country_iso", skip_serializing_if = "Option::is_none")]
62    pub country_iso: Option<String>,
63    /// Entity email
64    #[serde(rename = "email", skip_serializing_if = "Option::is_none")]
65    pub email: Option<String>,
66    /// Entity certified email
67    #[serde(rename = "certified_email", skip_serializing_if = "Option::is_none")]
68    pub certified_email: Option<String>,
69    /// Entity phone
70    #[serde(rename = "phone", skip_serializing_if = "Option::is_none")]
71    pub phone: Option<String>,
72    /// Entity fax
73    #[serde(rename = "fax", skip_serializing_if = "Option::is_none")]
74    pub fax: Option<String>,
75    /// Entity extra
76    #[serde(rename = "notes", skip_serializing_if = "Option::is_none")]
77    pub notes: Option<String>,
78    /// [Only for client] Client default payment terms
79    #[serde(rename = "default_payment_terms", skip_serializing_if = "Option::is_none")]
80    pub default_payment_terms: Option<i32>,
81    #[serde(rename = "default_vat", skip_serializing_if = "Option::is_none")]
82    pub default_vat: Option<Box<models::VatType4>>,
83    /// [Only for client] Client default payment terms type
84    #[serde(rename = "default_payment_terms_type", skip_serializing_if = "Option::is_none")]
85    pub default_payment_terms_type: Option<DefaultPaymentTermsType>,
86    #[serde(rename = "default_payment_method", skip_serializing_if = "Option::is_none")]
87    pub default_payment_method: Option<Box<models::PaymentMethod4>>,
88    /// [Only for client] Client bank name
89    #[serde(rename = "bank_name", skip_serializing_if = "Option::is_none")]
90    pub bank_name: Option<String>,
91    /// [Only for client] Client bank iban
92    #[serde(rename = "bank_iban", skip_serializing_if = "Option::is_none")]
93    pub bank_iban: Option<String>,
94    /// [Only for client] Client bank swift code
95    #[serde(rename = "bank_swift_code", skip_serializing_if = "Option::is_none")]
96    pub bank_swift_code: Option<String>,
97    /// [Only for client] Client Shipping address
98    #[serde(rename = "shipping_address", skip_serializing_if = "Option::is_none")]
99    pub shipping_address: Option<String>,
100    /// [Only for client] Use e-invoices.
101    #[serde(rename = "e_invoice", skip_serializing_if = "Option::is_none")]
102    pub e_invoice: Option<bool>,
103    /// [Only for client] E-invoices code.
104    #[serde(rename = "ei_code", skip_serializing_if = "Option::is_none")]
105    pub ei_code: Option<String>,
106    /// [Only for client] Has intent declaration.
107    #[serde(rename = "has_intent_declaration", skip_serializing_if = "Option::is_none")]
108    pub has_intent_declaration: Option<bool>,
109    /// [Only for client] Client intent declaration protocol number
110    #[serde(rename = "intent_declaration_protocol_number", skip_serializing_if = "Option::is_none")]
111    pub intent_declaration_protocol_number: Option<String>,
112    /// [Only for client] Client intent declaration protocol date
113    #[serde(rename = "intent_declaration_protocol_date", skip_serializing_if = "Option::is_none")]
114    pub intent_declaration_protocol_date: Option<String>,
115    /// Entity creation date
116    #[serde(rename = "created_at", skip_serializing_if = "Option::is_none")]
117    pub created_at: Option<String>,
118    /// Entity last update date
119    #[serde(rename = "updated_at", skip_serializing_if = "Option::is_none")]
120    pub updated_at: Option<String>,
121}
122
123impl Entity2 {
124    pub fn new() -> Entity2 {
125        Entity2 {
126            id: None,
127            code: None,
128            name: None,
129            r#type: None,
130            first_name: None,
131            last_name: None,
132            contact_person: None,
133            vat_number: None,
134            tax_code: None,
135            address_street: None,
136            address_postal_code: None,
137            address_city: None,
138            address_province: None,
139            address_extra: None,
140            country: None,
141            country_iso: None,
142            email: None,
143            certified_email: None,
144            phone: None,
145            fax: None,
146            notes: None,
147            default_payment_terms: None,
148            default_vat: None,
149            default_payment_terms_type: None,
150            default_payment_method: None,
151            bank_name: None,
152            bank_iban: None,
153            bank_swift_code: None,
154            shipping_address: None,
155            e_invoice: None,
156            ei_code: None,
157            has_intent_declaration: None,
158            intent_declaration_protocol_number: None,
159            intent_declaration_protocol_date: None,
160            created_at: None,
161            updated_at: None,
162        }
163    }
164}
165/// Entity type
166#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
167pub enum Type {
168    #[serde(rename = "company")]
169    Company,
170    #[serde(rename = "person")]
171    Person,
172    #[serde(rename = "pa")]
173    Pa,
174    #[serde(rename = "condo")]
175    Condo,
176}
177
178impl Default for Type {
179    fn default() -> Type {
180        Self::Company
181    }
182}
183/// [Only for client] Client default payment terms type
184#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
185pub enum DefaultPaymentTermsType {
186    #[serde(rename = "standard")]
187    Standard,
188    #[serde(rename = "end_of_month")]
189    EndOfMonth,
190}
191
192impl Default for DefaultPaymentTermsType {
193    fn default() -> DefaultPaymentTermsType {
194        Self::Standard
195    }
196}
197