swift_mt_message/fields/field34f.rs
1use serde::{Deserialize, Serialize};
2use swift_mt_message_macros::SwiftField;
3
4/// # Field 34F: Floor Limit
5/// Format: 3!a[1!a]15d (currency + indicator + amount)
6/// Validation: currency_code, floor_limit_indicator, amount_format, positive_amount
7#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, SwiftField)]
8pub struct Field34F {
9 /// Currency code (3!a format, ISO 4217)
10 #[component("3!a", validate = ["currency_code"])]
11 pub currency: String,
12 /// Floor limit indicator (1!a format: D or C)
13 #[component("1!a", validate = ["floor_limit_indicator"])]
14 pub indicator: String,
15 /// Amount (15d format)
16 #[component("15d", validate = ["amount_format", "positive_amount"])]
17 pub amount: f64,
18}