ya_client_model/payment/
debit_note.rs1use crate::NodeId;
2use bigdecimal::BigDecimal;
3use chrono::{DateTime, Utc};
4use serde::{Deserialize, Serialize};
5
6#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
7#[serde(rename_all = "camelCase")]
8pub struct DebitNote {
9 pub debit_note_id: String,
10 pub issuer_id: NodeId,
11 pub recipient_id: NodeId,
12 pub payee_addr: String,
13 pub payer_addr: String,
14 pub payment_platform: String,
15 #[serde(skip_serializing_if = "Option::is_none", default)]
16 pub previous_debit_note_id: Option<String>,
17 pub timestamp: DateTime<Utc>,
18 pub agreement_id: String,
19 pub activity_id: String,
20 pub total_amount_due: BigDecimal,
21 #[serde(skip_serializing_if = "Option::is_none", default)]
22 pub usage_counter_vector: Option<serde_json::Value>,
23 #[serde(skip_serializing_if = "Option::is_none", default)]
24 pub payment_due_date: Option<DateTime<Utc>>,
25 pub status: crate::payment::DocumentStatus,
26}
27
28#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
29#[serde(rename_all = "camelCase")]
30pub struct NewDebitNote {
31 pub activity_id: String,
32 pub total_amount_due: BigDecimal,
33 #[serde(skip_serializing_if = "Option::is_none", default)]
34 pub usage_counter_vector: Option<serde_json::Value>,
35 #[serde(skip_serializing_if = "Option::is_none", default)]
36 pub payment_due_date: Option<DateTime<Utc>>,
37}