Skip to main content

fattureincloud_rs/models/
client_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 Client2 {
15    /// Client id
16    #[serde(rename = "id", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
17    pub id: Option<Option<i32>>,
18    /// Client code
19    #[serde(rename = "code", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
20    pub code: Option<Option<String>>,
21    /// Client name
22    #[serde(rename = "name", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
23    pub name: Option<Option<String>>,
24    /// Client type
25    #[serde(rename = "type", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
26    pub r#type: Option<Option<Type>>,
27    /// Client first name
28    #[serde(rename = "first_name", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
29    pub first_name: Option<Option<String>>,
30    /// Client last name
31    #[serde(rename = "last_name", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
32    pub last_name: Option<Option<String>>,
33    /// Client contact person
34    #[serde(rename = "contact_person", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
35    pub contact_person: Option<Option<String>>,
36    /// Client vat number
37    #[serde(rename = "vat_number", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
38    pub vat_number: Option<Option<String>>,
39    /// Client tax code
40    #[serde(rename = "tax_code", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
41    pub tax_code: Option<Option<String>>,
42    /// Client address street
43    #[serde(rename = "address_street", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
44    pub address_street: Option<Option<String>>,
45    /// Client address postal code
46    #[serde(rename = "address_postal_code", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
47    pub address_postal_code: Option<Option<String>>,
48    /// Client address city
49    #[serde(rename = "address_city", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
50    pub address_city: Option<Option<String>>,
51    /// Client address province
52    #[serde(rename = "address_province", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
53    pub address_province: Option<Option<String>>,
54    /// Client address extra info
55    #[serde(rename = "address_extra", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
56    pub address_extra: Option<Option<String>>,
57    /// Client country
58    #[serde(rename = "country", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
59    pub country: Option<Option<String>>,
60    /// Client country iso code
61    #[serde(rename = "country_iso", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
62    pub country_iso: Option<Option<String>>,
63    /// Client email
64    #[serde(rename = "email", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
65    pub email: Option<Option<String>>,
66    /// Client certified email
67    #[serde(rename = "certified_email", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
68    pub certified_email: Option<Option<String>>,
69    /// Client phone
70    #[serde(rename = "phone", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
71    pub phone: Option<Option<String>>,
72    /// Client fax
73    #[serde(rename = "fax", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
74    pub fax: Option<Option<String>>,
75    /// Client extra
76    #[serde(rename = "notes", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
77    pub notes: Option<Option<String>>,
78    #[serde(rename = "default_vat", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
79    pub default_vat: Option<Option<Box<models::VatType>>>,
80    /// Client default payment terms
81    #[serde(rename = "default_payment_terms", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
82    pub default_payment_terms: Option<Option<i32>>,
83    /// 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::PaymentMethod>>,
88    /// Client bank name
89    #[serde(rename = "bank_name", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
90    pub bank_name: Option<Option<String>>,
91    /// Client bank iban
92    #[serde(rename = "bank_iban", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
93    pub bank_iban: Option<Option<String>>,
94    /// Client bank swift code
95    #[serde(rename = "bank_swift_code", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
96    pub bank_swift_code: Option<Option<String>>,
97    /// Client shipping address
98    #[serde(rename = "shipping_address", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
99    pub shipping_address: Option<Option<String>>,
100    /// Use e-invoices for this entity
101    #[serde(rename = "e_invoice", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
102    pub e_invoice: Option<Option<bool>>,
103    /// Client e-invoice code 
104    #[serde(rename = "ei_code", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
105    pub ei_code: Option<Option<String>>,
106    /// Highlight Discount
107    #[serde(rename = "discount_highlight", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
108    pub discount_highlight: Option<Option<bool>>,
109    /// Client default discount
110    #[serde(rename = "default_discount", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
111    pub default_discount: Option<Option<f64>>,
112    /// Client has intent declaration
113    #[serde(rename = "has_intent_declaration", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
114    pub has_intent_declaration: Option<Option<bool>>,
115    /// Client intent declaration protocol number
116    #[serde(rename = "intent_declaration_protocol_number", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
117    pub intent_declaration_protocol_number: Option<Option<String>>,
118    /// Client intent declaration protocol date
119    #[serde(rename = "intent_declaration_protocol_date", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
120    pub intent_declaration_protocol_date: Option<Option<String>>,
121    /// Client creation date
122    #[serde(rename = "created_at", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
123    pub created_at: Option<Option<String>>,
124    /// Client last update date
125    #[serde(rename = "updated_at", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
126    pub updated_at: Option<Option<String>>,
127}
128
129impl Client2 {
130    pub fn new() -> Client2 {
131        Client2 {
132            id: None,
133            code: None,
134            name: None,
135            r#type: None,
136            first_name: None,
137            last_name: None,
138            contact_person: None,
139            vat_number: None,
140            tax_code: None,
141            address_street: None,
142            address_postal_code: None,
143            address_city: None,
144            address_province: None,
145            address_extra: None,
146            country: None,
147            country_iso: None,
148            email: None,
149            certified_email: None,
150            phone: None,
151            fax: None,
152            notes: None,
153            default_vat: None,
154            default_payment_terms: None,
155            default_payment_terms_type: None,
156            default_payment_method: None,
157            bank_name: None,
158            bank_iban: None,
159            bank_swift_code: None,
160            shipping_address: None,
161            e_invoice: None,
162            ei_code: None,
163            discount_highlight: None,
164            default_discount: None,
165            has_intent_declaration: None,
166            intent_declaration_protocol_number: None,
167            intent_declaration_protocol_date: None,
168            created_at: None,
169            updated_at: None,
170        }
171    }
172}
173/// Client type
174#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
175pub enum Type {
176    #[serde(rename = "company")]
177    Company,
178    #[serde(rename = "person")]
179    Person,
180    #[serde(rename = "pa")]
181    Pa,
182    #[serde(rename = "condo")]
183    Condo,
184}
185
186impl Default for Type {
187    fn default() -> Type {
188        Self::Company
189    }
190}
191/// Payment terms type
192#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
193pub enum DefaultPaymentTermsType {
194    #[serde(rename = "standard")]
195    Standard,
196    #[serde(rename = "end_of_month")]
197    EndOfMonth,
198}
199
200impl Default for DefaultPaymentTermsType {
201    fn default() -> DefaultPaymentTermsType {
202        Self::Standard
203    }
204}
205