hanzo-client 8.5.156

Generated client for the Hanzo API — every service, one crate.
Documentation
/*
 * Hanzo Cloud API
 *
 * The Hanzo Cloud API as a customer calls it: every operation under /v1/ except the operator's admin product, relay routes, legacy spellings and capabilities still reached by flag. Tagged by product: the first path segment after /v1/.
 *
 * The version of the OpenAPI document: v1
 * 
 * Generated by: https://openapi-generator.tech
 */

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>,
    /// LineItems carries no omitempty and is never allocated empty, because the wire it reproduces sends `null` for an invoice with no lines. An empty array there would be a different answer to \"were there lines\".
    #[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,
        }
    }
}