use crate::metadata::Metadata;
use crate::txn_header::TxnHeader;
use serde::Serialize;
#[derive(Serialize, Debug)]
pub struct RegisterPosting {
pub account: String,
pub amount: String,
#[serde(rename = "runningTotal")]
pub running_total: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub commodity: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub rate: Option<String>,
#[serde(rename = "baseCommodity")]
#[serde(skip_serializing_if = "Option::is_none")]
pub base_commodity: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub comment: Option<String>,
}
#[derive(Serialize, Debug)]
pub struct RegisterTxn {
#[serde(rename = "displayTime")]
pub display_time: String,
pub txn: TxnHeader,
pub postings: Vec<RegisterPosting>,
}
#[derive(Serialize, Debug)]
pub struct RegisterReport {
#[serde(skip_serializing_if = "Option::is_none")]
pub metadata: Option<Metadata>,
pub title: String,
pub transactions: Vec<RegisterTxn>,
}