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
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233

use crate::models::ActionTypeView; 
use crate::models::AmountView; 
use crate::models::AutogiroWithdrawalView; 
use crate::models::CreditCardWithdrawalView; 
use crate::models::CreditingInvoiceView; 
use crate::models::DateTime; 
use crate::models::DebtCollectionDetailsView; 
use crate::models::DebtorView; 
use crate::models::DeliveryAddressOverrideView; 
use crate::models::DeliveryMethodTypeView; 
use crate::models::FileView; 
use crate::models::Guid; 
use crate::models::InterestTypeView; 
use crate::models::InvoiceActionAttachmentView; 
use crate::models::InvoiceActionEventView; 
use crate::models::InvoiceActionInvoiceView; 
use crate::models::InvoiceActionRecordView; 
use crate::models::InvoiceActionStateView; 
use crate::models::LanguageTypeView; 
use crate::models::PaymentOverrideView; 
use crate::models::ReminderInvoiceDetailsView; 
use crate::models::ReverseVATDetailsView; 
use crate::models::RotRutDetailsView; 

#[derive(Debug, Clone, serde::Serialize, serde::Deserialize, Default)]
pub struct InvoiceActionView {
    
    #[serde(rename = "ActionPublicId", skip_serializing_if = "Option::is_none")]
    pub action_public_id: Option<String>,
    
    #[serde(rename = "ActionType", skip_serializing_if = "Option::is_none")]
    pub action_type: Option<ActionTypeView>,
    
    #[serde(rename = "Appendixes", skip_serializing_if = "Vec::is_empty", default)]
    pub appendixes: Vec<FileView>,
    
    #[serde(rename = "Attachments", skip_serializing_if = "Vec::is_empty", default)]
    pub attachments: Vec<InvoiceActionAttachmentView>,
    
    #[serde(rename = "Autogiro", skip_serializing_if = "Option::is_none")]
    pub autogiro: Option<AutogiroWithdrawalView>,
    
    #[serde(rename = "AwaitingPaymentTransferAmount", skip_serializing_if = "Option::is_none")]
    pub awaiting_payment_transfer_amount: Option<AmountView>,
    
    #[serde(rename = "CanCancelSalesRequest", skip_serializing_if = "Option::is_none")]
    pub can_cancel_sales_request: Option<bool>,
    
    #[serde(rename = "CanCreateAutogiroWithdrawal", skip_serializing_if = "Option::is_none")]
    pub can_create_autogiro_withdrawal: Option<bool>,
    
    #[serde(rename = "CanCreateCreditInvoice", skip_serializing_if = "Option::is_none")]
    pub can_create_credit_invoice: Option<bool>,
    
    #[serde(rename = "CanCreateInterestInvoice", skip_serializing_if = "Option::is_none")]
    pub can_create_interest_invoice: Option<bool>,
    
    #[serde(rename = "CanDispute", skip_serializing_if = "Option::is_none")]
    pub can_dispute: Option<bool>,
    
    #[serde(rename = "CanMakeManual", skip_serializing_if = "Option::is_none")]
    pub can_make_manual: Option<bool>,
    
    #[serde(rename = "CanPause", skip_serializing_if = "Option::is_none")]
    pub can_pause: Option<bool>,
    
    #[serde(rename = "CanPostpone", skip_serializing_if = "Option::is_none")]
    pub can_postpone: Option<bool>,
    
    #[serde(rename = "CanRegisterPayment", skip_serializing_if = "Option::is_none")]
    pub can_register_payment: Option<bool>,
    
    #[serde(rename = "CanResendManualInvoice", skip_serializing_if = "Option::is_none")]
    pub can_resend_manual_invoice: Option<bool>,
    
    #[serde(rename = "CanResume", skip_serializing_if = "Option::is_none")]
    pub can_resume: Option<bool>,
    
    #[serde(rename = "CanSell", skip_serializing_if = "Option::is_none")]
    pub can_sell: Option<bool>,
    
    #[serde(rename = "CanSendManualInvoice", skip_serializing_if = "Option::is_none")]
    pub can_send_manual_invoice: Option<bool>,
    
    #[serde(rename = "CanSendManualReminderInvoice", skip_serializing_if = "Option::is_none")]
    pub can_send_manual_reminder_invoice: Option<bool>,
    
    #[serde(rename = "CanSendToDebtCollection", skip_serializing_if = "Option::is_none")]
    pub can_send_to_debt_collection: Option<bool>,
    
    #[serde(rename = "CanUnDispute", skip_serializing_if = "Option::is_none")]
    pub can_un_dispute: Option<bool>,
    
    #[serde(rename = "CentRoundingAmount", skip_serializing_if = "Option::is_none")]
    pub cent_rounding_amount: Option<AmountView>,
    
    #[serde(rename = "CommunicationLanguage", skip_serializing_if = "Option::is_none")]
    pub communication_language: Option<LanguageTypeView>,
    
    #[serde(rename = "Created", skip_serializing_if = "Option::is_none")]
    pub created: Option<DateTime>,
    
    #[serde(rename = "CreditCard", skip_serializing_if = "Option::is_none")]
    pub credit_card: Option<CreditCardWithdrawalView>,
    
    #[serde(rename = "CreditedAmount", skip_serializing_if = "Option::is_none")]
    pub credited_amount: Option<AmountView>,
    
    #[serde(rename = "CreditingInvoice", skip_serializing_if = "Option::is_none")]
    pub crediting_invoice: Option<CreditingInvoiceView>,
    
    #[serde(rename = "CreditorPublicId", skip_serializing_if = "Option::is_none")]
    pub creditor_public_id: Option<Guid>,
    
    #[serde(rename = "CurrentAmount", skip_serializing_if = "Option::is_none")]
    pub current_amount: Option<AmountView>,
    
    #[serde(rename = "DebtCollectionActionPublicId", skip_serializing_if = "Option::is_none")]
    pub debt_collection_action_public_id: Option<String>,
    
    #[serde(rename = "DebtCollectionDetails", skip_serializing_if = "Option::is_none")]
    pub debt_collection_details: Option<DebtCollectionDetailsView>,
    
    #[serde(rename = "Debtor", skip_serializing_if = "Option::is_none")]
    pub debtor: Option<DebtorView>,
    
    #[serde(rename = "DeliveryAddressOverride", skip_serializing_if = "Option::is_none")]
    pub delivery_address_override: Option<DeliveryAddressOverrideView>,
    
    #[serde(rename = "DeliveryDate", skip_serializing_if = "Option::is_none")]
    pub delivery_date: Option<DateTime>,
    
    #[serde(rename = "DeliveryMethod", skip_serializing_if = "Option::is_none")]
    pub delivery_method: Option<DeliveryMethodTypeView>,
    
    #[serde(rename = "DueDate", skip_serializing_if = "Option::is_none")]
    pub due_date: Option<DateTime>,
    
    #[serde(rename = "Events", skip_serializing_if = "Vec::is_empty", default)]
    pub events: Vec<InvoiceActionEventView>,
    
    #[serde(rename = "ExternalReference", skip_serializing_if = "Option::is_none")]
    pub external_reference: Option<String>,
    
    #[serde(rename = "FreightFee", skip_serializing_if = "Option::is_none")]
    pub freight_fee: Option<AmountView>,
    
    #[serde(rename = "InterestAmount", skip_serializing_if = "Option::is_none")]
    pub interest_amount: Option<AmountView>,
    
    #[serde(rename = "InterestPercentage", skip_serializing_if = "Option::is_none")]
    pub interest_percentage: Option<f64>,
    
    #[serde(rename = "InterestStartInDaysAfterDueDate", skip_serializing_if = "Option::is_none")]
    pub interest_start_in_days_after_due_date: Option<i64>,
    
    #[serde(rename = "InterestTermsInDays", skip_serializing_if = "Option::is_none")]
    pub interest_terms_in_days: Option<i64>,
    
    #[serde(rename = "InterestType", skip_serializing_if = "Option::is_none")]
    pub interest_type: Option<InterestTypeView>,
    
    #[serde(rename = "InvoiceDate", skip_serializing_if = "Option::is_none")]
    pub invoice_date: Option<DateTime>,
    
    #[serde(rename = "InvoiceFee", skip_serializing_if = "Option::is_none")]
    pub invoice_fee: Option<AmountView>,
    
    #[serde(rename = "InvoiceNumber", skip_serializing_if = "Option::is_none")]
    pub invoice_number: Option<String>,
    
    #[serde(rename = "InvoicedAmount", skip_serializing_if = "Option::is_none")]
    pub invoiced_amount: Option<AmountView>,
    
    #[serde(rename = "Invoices", skip_serializing_if = "Vec::is_empty", default)]
    pub invoices: Vec<InvoiceActionInvoiceView>,
    
    #[serde(rename = "Message", skip_serializing_if = "Option::is_none")]
    pub message: Option<String>,
    
    #[serde(rename = "OurReference", skip_serializing_if = "Option::is_none")]
    pub our_reference: Option<String>,
    
    #[serde(rename = "PaidAmount", skip_serializing_if = "Option::is_none")]
    pub paid_amount: Option<AmountView>,
    
    #[serde(rename = "PaymentOverride", skip_serializing_if = "Option::is_none")]
    pub payment_override: Option<PaymentOverrideView>,
    
    #[serde(rename = "PaymentTermsInDays", skip_serializing_if = "Option::is_none")]
    pub payment_terms_in_days: Option<i64>,
    
    #[serde(rename = "ReasonForHigherInterest", skip_serializing_if = "Option::is_none")]
    pub reason_for_higher_interest: Option<String>,
    
    #[serde(rename = "Records", skip_serializing_if = "Vec::is_empty", default)]
    pub records: Vec<InvoiceActionRecordView>,
    
    #[serde(rename = "ReminderInvoiceActionPublicId", skip_serializing_if = "Option::is_none")]
    pub reminder_invoice_action_public_id: Option<String>,
    
    #[serde(rename = "ReminderInvoiceDetails", skip_serializing_if = "Option::is_none")]
    pub reminder_invoice_details: Option<ReminderInvoiceDetailsView>,
    
    #[serde(rename = "ReverseVATDetails", skip_serializing_if = "Option::is_none")]
    pub reverse_vat_details: Option<ReverseVATDetailsView>,
    
    #[serde(rename = "RotRutDeductionAmount", skip_serializing_if = "Option::is_none")]
    pub rot_rut_deduction_amount: Option<AmountView>,
    
    #[serde(rename = "RotRutDetails", skip_serializing_if = "Option::is_none")]
    pub rot_rut_details: Option<RotRutDetailsView>,
    
    #[serde(rename = "SendByMailIfEmailNotViewedInDays", skip_serializing_if = "Option::is_none")]
    pub send_by_mail_if_email_not_viewed_in_days: Option<i64>,
    
    #[serde(rename = "State", skip_serializing_if = "Option::is_none")]
    pub state: Option<InvoiceActionStateView>,
    
    #[serde(rename = "TotalVATAmount", skip_serializing_if = "Option::is_none")]
    pub total_vat_amount: Option<AmountView>,
    
    #[serde(rename = "VatIsIncluded", skip_serializing_if = "Option::is_none")]
    pub vat_is_included: Option<bool>,
    
    #[serde(rename = "WriteOffAmount", skip_serializing_if = "Option::is_none")]
    pub write_off_amount: Option<AmountView>,
    
    #[serde(rename = "YourReference", skip_serializing_if = "Option::is_none")]
    pub your_reference: Option<String>,
    
}