use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct BillingInvoice {
#[serde(rename = "amountDue", skip_serializing_if = "Option::is_none")]
pub amount_due: Option<i32>,
#[serde(rename = "amountPaid", skip_serializing_if = "Option::is_none")]
pub amount_paid: Option<i32>,
#[serde(rename = "attemptCount", skip_serializing_if = "Option::is_none")]
pub attempt_count: Option<i32>,
#[serde(rename = "createdAt", skip_serializing_if = "Option::is_none")]
pub created_at: Option<String>,
#[serde(rename = "creditApplied", skip_serializing_if = "Option::is_none")]
pub credit_applied: Option<i32>,
#[serde(rename = "currency", skip_serializing_if = "Option::is_none")]
pub currency: Option<String>,
#[serde(rename = "customerEmail", skip_serializing_if = "Option::is_none")]
pub customer_email: Option<String>,
#[serde(rename = "discount", skip_serializing_if = "Option::is_none")]
pub discount: Option<i32>,
#[serde(rename = "dueDate", skip_serializing_if = "Option::is_none")]
pub due_date: Option<String>,
#[serde(rename = "id", skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(rename = "lineItems", skip_serializing_if = "Option::is_none")]
pub line_items: Option<Vec<models::InvoiceLineItem>>,
#[serde(rename = "number", skip_serializing_if = "Option::is_none")]
pub number: Option<i32>,
#[serde(rename = "numberStr", skip_serializing_if = "Option::is_none")]
pub number_str: Option<String>,
#[serde(rename = "paidAt", skip_serializing_if = "Option::is_none")]
pub paid_at: Option<String>,
#[serde(rename = "paymentMethod", skip_serializing_if = "Option::is_none")]
pub payment_method: Option<String>,
#[serde(rename = "paymentRef", skip_serializing_if = "Option::is_none")]
pub payment_ref: Option<String>,
#[serde(rename = "periodEnd", skip_serializing_if = "Option::is_none")]
pub period_end: Option<String>,
#[serde(rename = "periodStart", skip_serializing_if = "Option::is_none")]
pub period_start: Option<String>,
#[serde(rename = "status", skip_serializing_if = "Option::is_none")]
pub status: Option<String>,
#[serde(rename = "subscriptionId", skip_serializing_if = "Option::is_none")]
pub subscription_id: Option<String>,
#[serde(rename = "subtotal", skip_serializing_if = "Option::is_none")]
pub subtotal: Option<i32>,
#[serde(rename = "tax", skip_serializing_if = "Option::is_none")]
pub tax: Option<i32>,
#[serde(rename = "updatedAt", skip_serializing_if = "Option::is_none")]
pub updated_at: Option<String>,
#[serde(rename = "userId", skip_serializing_if = "Option::is_none")]
pub user_id: Option<String>,
#[serde(rename = "voidedAt", skip_serializing_if = "Option::is_none")]
pub voided_at: Option<String>,
}
impl BillingInvoice {
pub fn new() -> BillingInvoice {
BillingInvoice {
amount_due: None,
amount_paid: None,
attempt_count: None,
created_at: None,
credit_applied: None,
currency: None,
customer_email: None,
discount: None,
due_date: None,
id: None,
line_items: None,
number: None,
number_str: None,
paid_at: None,
payment_method: None,
payment_ref: None,
period_end: None,
period_start: None,
status: None,
subscription_id: None,
subtotal: None,
tax: None,
updated_at: None,
user_id: None,
voided_at: None,
}
}
}