swift_mt_message/messages/
mt199.rs1use crate::fields::*;
2use serde::{Deserialize, Serialize};
3use swift_mt_message_macros::{SwiftMessage, serde_swift_fields};
4
5#[serde_swift_fields]
20#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, SwiftMessage)]
21#[validation_rules(MT199_VALIDATION_RULES)]
22pub struct MT199 {
23 #[field("20", mandatory)]
25 pub field_20: GenericReferenceField,
26
27 #[field("79", mandatory)]
28 pub field_79: Field79,
29
30 #[field("21", optional)]
32 pub field_21: Option<GenericReferenceField>,
33}
34
35const MT199_VALIDATION_RULES: &str = r#"{
36 "rules": [
37 {
38 "id": "NARRATIVE_FORMAT",
39 "description": "If narrative starts with /REJT/ or /RETN/, it must follow Payments Reject/Return Guidelines",
40 "condition": true
41 }
42 ]
43}"#;