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 BankTxnRow {
    /// AmountCents is the size of the movement in whole cents, always POSITIVE — direction carries the sign, so a caller must read both to know which way money went.
    #[serde(rename = "amountCents", skip_serializing_if = "Option::is_none")]
    pub amount_cents: Option<i32>,
    /// Connector names the feed this row arrived on — which bank or processor connection it was synced from. With externalId it is the row's identity, so re-syncing the same statement never books a second copy.
    #[serde(rename = "connector", skip_serializing_if = "Option::is_none")]
    pub connector: Option<String>,
    /// Currency is the ISO code the bank reported the line in.
    #[serde(rename = "currency", skip_serializing_if = "Option::is_none")]
    pub currency: Option<String>,
    /// Description is the statement memo as the bank wrote it.
    #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
    pub description: Option<String>,
    /// Direction is which way the money moved: an inflow into the account or an outflow from it, from the org's point of view.
    #[serde(rename = "direction", skip_serializing_if = "Option::is_none")]
    pub direction: Option<String>,
    /// ExternalID is the bank's OWN id for the line, carried verbatim. It is unique only within its connector.
    #[serde(rename = "externalId", skip_serializing_if = "Option::is_none")]
    pub external_id: Option<String>,
    /// MatchedVoucher names the ledger voucher this line was reconciled against — the bill it paid, or the settlement it cleared. Absent when nothing matched, which for an inflow is what raises a question.
    #[serde(rename = "matchedVoucher", skip_serializing_if = "Option::is_none")]
    pub matched_voucher: Option<String>,
    /// Merchant is the counterparty the feed identified, where it did.
    #[serde(rename = "merchant", skip_serializing_if = "Option::is_none")]
    pub merchant: Option<String>,
    /// PostedAt is the bank's posting date for the line, not when we synced it.
    #[serde(rename = "postedAt", skip_serializing_if = "Option::is_none")]
    pub posted_at: Option<String>,
    /// Status is where the line got to: posted (an outflow booked straight to an expense), settled (an outflow that paid down a scanned bill), reconciled (an inflow that cleared a pending settlement), transfer (a move between the org's own accounts, recorded but with no effect on the books), or unmatched (an inflow nobody could place, which is waiting on a human answer).
    #[serde(rename = "status", skip_serializing_if = "Option::is_none")]
    pub status: Option<String>,
}

impl BankTxnRow {
    pub fn new() -> BankTxnRow {
        BankTxnRow {
            amount_cents: None,
            connector: None,
            currency: None,
            description: None,
            direction: None,
            external_id: None,
            matched_voucher: None,
            merchant: None,
            posted_at: None,
            status: None,
        }
    }
}