fattureincloud_rs/models/
issued_document_ei_data.rs1use crate::models;
12
13#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct IssuedDocumentEiData {
16 #[serde(rename = "vat_kind", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
18 pub vat_kind: Option<Option<VatKind>>,
19 #[serde(rename = "original_document_type", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
21 pub original_document_type: Option<Option<OriginalDocumentType>>,
22 #[serde(rename = "od_number", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
24 pub od_number: Option<Option<String>>,
25 #[serde(rename = "od_date", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
27 pub od_date: Option<Option<String>>,
28 #[serde(rename = "cig", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
30 pub cig: Option<Option<String>>,
31 #[serde(rename = "cup", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
33 pub cup: Option<Option<String>>,
34 #[serde(rename = "payment_method", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
36 pub payment_method: Option<Option<String>>,
37 #[serde(rename = "bank_name", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
39 pub bank_name: Option<Option<String>>,
40 #[serde(rename = "bank_iban", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
42 pub bank_iban: Option<Option<String>>,
43 #[serde(rename = "bank_beneficiary", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
45 pub bank_beneficiary: Option<Option<String>>,
46 #[serde(rename = "invoice_number", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
48 pub invoice_number: Option<Option<String>>,
49 #[serde(rename = "invoice_date", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
51 pub invoice_date: Option<Option<String>>,
52}
53
54impl IssuedDocumentEiData {
55 pub fn new() -> IssuedDocumentEiData {
57 IssuedDocumentEiData {
58 vat_kind: None,
59 original_document_type: None,
60 od_number: None,
61 od_date: None,
62 cig: None,
63 cup: None,
64 payment_method: None,
65 bank_name: None,
66 bank_iban: None,
67 bank_beneficiary: None,
68 invoice_number: None,
69 invoice_date: None,
70 }
71 }
72}
73#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
75pub enum VatKind {
76 #[serde(rename = "null")]
77 Null,
78 #[serde(rename = "I")]
79 I,
80 #[serde(rename = "D")]
81 D,
82 #[serde(rename = "S")]
83 S,
84}
85
86impl Default for VatKind {
87 fn default() -> VatKind {
88 Self::Null
89 }
90}
91#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
93pub enum OriginalDocumentType {
94 #[serde(rename = "ordine")]
95 Ordine,
96 #[serde(rename = "contratto")]
97 Contratto,
98 #[serde(rename = "convenzione")]
99 Convenzione,
100}
101
102impl Default for OriginalDocumentType {
103 fn default() -> OriginalDocumentType {
104 Self::Ordine
105 }
106}
107