#![allow(clippy::all)]
#![allow(non_snake_case, non_camel_case_types, dead_code, unused_imports)]
#![allow(non_local_definitions)]
use std::str::FromStr;
use crate::validate::Validate;
use yaserde_derive::{YaDeserialize, YaSerialize};
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.028.001.01")]
pub struct AdditionalData1 {
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: Max35Text,
#[yaserde(rename = "Val")]
#[cfg_attr(feature = "serde", serde(rename = "Val"))]
pub val: Max2048Text,
}
impl Validate for AdditionalData1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.028.001.01")]
pub struct AdditionalFee1 {
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: TypeOfAmount10Code,
#[yaserde(rename = "OthrTp")]
#[cfg_attr(feature = "serde", serde(rename = "OthrTp"))]
pub othr_tp: Max35Text,
#[yaserde(rename = "FeePrgm")]
#[cfg_attr(feature = "serde", serde(rename = "FeePrgm"))]
pub fee_prgm: Max35Text,
#[yaserde(rename = "FeeDscrptr")]
#[cfg_attr(feature = "serde", serde(rename = "FeeDscrptr"))]
pub fee_dscrptr: Max35Text,
#[yaserde(rename = "Amt")]
#[cfg_attr(feature = "serde", serde(rename = "Amt"))]
pub amt: FeeAmount2,
#[yaserde(rename = "Labl")]
#[cfg_attr(feature = "serde", serde(rename = "Labl"))]
pub labl: Max140Text,
}
impl Validate for AdditionalFee1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.028.001.01")]
pub struct AdditionalInformation20 {
#[yaserde(rename = "Rcpt")]
#[cfg_attr(feature = "serde", serde(rename = "Rcpt"))]
pub rcpt: PartyType22Code,
#[yaserde(rename = "OthrRcpt")]
#[cfg_attr(feature = "serde", serde(rename = "OthrRcpt"))]
pub othr_rcpt: Max35Text,
#[yaserde(rename = "Trgt")]
#[cfg_attr(feature = "serde", serde(rename = "Trgt"))]
pub trgt: Vec<UserInterface6Code>,
#[yaserde(rename = "OthrTrgt")]
#[cfg_attr(feature = "serde", serde(rename = "OthrTrgt"))]
pub othr_trgt: Max35Text,
#[yaserde(rename = "Frmt")]
#[cfg_attr(feature = "serde", serde(rename = "Frmt"))]
pub frmt: OutputFormat4Code,
#[yaserde(rename = "OthrFrmt")]
#[cfg_attr(feature = "serde", serde(rename = "OthrFrmt"))]
pub othr_frmt: Max35Text,
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: Max35Text,
#[yaserde(rename = "Val")]
#[cfg_attr(feature = "serde", serde(rename = "Val"))]
pub val: Max20KText,
}
impl Validate for AdditionalInformation20 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(PartialEq, Debug, Clone, YaSerialize, YaDeserialize)]#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.028.001.01")]
pub enum Algorithm13Code {
#[yaserde(rename = "EA2C")]
#[cfg_attr(feature = "serde", serde(rename = "EA2C"))]
Ea2C,
#[yaserde(rename = "E3DC")]
#[cfg_attr(feature = "serde", serde(rename = "E3DC"))]
E3Dc,
#[yaserde(rename = "DKP9")]
#[cfg_attr(feature = "serde", serde(rename = "DKP9"))]
Dkp9,
#[yaserde(rename = "UKPT")]
#[cfg_attr(feature = "serde", serde(rename = "UKPT"))]
Ukpt,
#[yaserde(rename = "UKA1")]
#[cfg_attr(feature = "serde", serde(rename = "UKA1"))]
Uka1,
#[yaserde(rename = "EA9C")]
#[cfg_attr(feature = "serde", serde(rename = "EA9C"))]
Ea9C,
#[yaserde(rename = "EA5C")]
#[cfg_attr(feature = "serde", serde(rename = "EA5C"))]
Ea5C,
__Unknown__(String),
}
impl Default for Algorithm13Code {
fn default() -> Algorithm13Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for Algorithm13Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(PartialEq, Debug, Clone, YaSerialize, YaDeserialize)]#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.028.001.01")]
pub enum Algorithm20Code {
#[yaserde(rename = "HS25")]
#[cfg_attr(feature = "serde", serde(rename = "HS25"))]
Hs25,
#[yaserde(rename = "HS38")]
#[cfg_attr(feature = "serde", serde(rename = "HS38"))]
Hs38,
#[yaserde(rename = "HS51")]
#[cfg_attr(feature = "serde", serde(rename = "HS51"))]
Hs51,
__Unknown__(String),
}
impl Default for Algorithm20Code {
fn default() -> Algorithm20Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for Algorithm20Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(PartialEq, Debug, Clone, YaSerialize, YaDeserialize)]#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.028.001.01")]
pub enum Algorithm23Code {
#[yaserde(rename = "EA2C")]
#[cfg_attr(feature = "serde", serde(rename = "EA2C"))]
Ea2C,
#[yaserde(rename = "E3DC")]
#[cfg_attr(feature = "serde", serde(rename = "E3DC"))]
E3Dc,
#[yaserde(rename = "EA9C")]
#[cfg_attr(feature = "serde", serde(rename = "EA9C"))]
Ea9C,
#[yaserde(rename = "EA5C")]
#[cfg_attr(feature = "serde", serde(rename = "EA5C"))]
Ea5C,
#[yaserde(rename = "EA2R")]
#[cfg_attr(feature = "serde", serde(rename = "EA2R"))]
Ea2R,
#[yaserde(rename = "EA9R")]
#[cfg_attr(feature = "serde", serde(rename = "EA9R"))]
Ea9R,
#[yaserde(rename = "EA5R")]
#[cfg_attr(feature = "serde", serde(rename = "EA5R"))]
Ea5R,
#[yaserde(rename = "E3DR")]
#[cfg_attr(feature = "serde", serde(rename = "E3DR"))]
E3Dr,
E36C,
E36R,
#[yaserde(rename = "SD5C")]
#[cfg_attr(feature = "serde", serde(rename = "SD5C"))]
Sd5C,
__Unknown__(String),
}
impl Default for Algorithm23Code {
fn default() -> Algorithm23Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for Algorithm23Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(PartialEq, Debug, Clone, YaSerialize, YaDeserialize)]#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.028.001.01")]
pub enum Algorithm5Code {
#[yaserde(rename = "HS25")]
#[cfg_attr(feature = "serde", serde(rename = "HS25"))]
Hs25,
#[yaserde(rename = "HS38")]
#[cfg_attr(feature = "serde", serde(rename = "HS38"))]
Hs38,
#[yaserde(rename = "HS51")]
#[cfg_attr(feature = "serde", serde(rename = "HS51"))]
Hs51,
__Unknown__(String),
}
impl Default for Algorithm5Code {
fn default() -> Algorithm5Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for Algorithm5Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(PartialEq, Debug, Clone, YaSerialize, YaDeserialize)]#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.028.001.01")]
pub enum Algorithm7Code {
#[yaserde(rename = "ERSA")]
#[cfg_attr(feature = "serde", serde(rename = "ERSA"))]
Ersa,
#[yaserde(rename = "RSAO")]
#[cfg_attr(feature = "serde", serde(rename = "RSAO"))]
Rsao,
__Unknown__(String),
}
impl Default for Algorithm7Code {
fn default() -> Algorithm7Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for Algorithm7Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(PartialEq, Debug, Clone, YaSerialize, YaDeserialize)]#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.028.001.01")]
pub enum Algorithm8Code {
#[yaserde(rename = "MGF1")]
#[cfg_attr(feature = "serde", serde(rename = "MGF1"))]
Mgf1,
__Unknown__(String),
}
impl Default for Algorithm8Code {
fn default() -> Algorithm8Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for Algorithm8Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.028.001.01")]
pub struct AlgorithmIdentification25 {
#[yaserde(rename = "Algo")]
#[cfg_attr(feature = "serde", serde(rename = "Algo"))]
pub algo: Algorithm23Code,
#[yaserde(rename = "Param")]
#[cfg_attr(feature = "serde", serde(rename = "Param"))]
pub param: Parameter7,
}
impl Validate for AlgorithmIdentification25 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.028.001.01")]
pub struct AlgorithmIdentification26 {
#[yaserde(rename = "Algo")]
#[cfg_attr(feature = "serde", serde(rename = "Algo"))]
pub algo: Algorithm8Code,
#[yaserde(rename = "Param")]
#[cfg_attr(feature = "serde", serde(rename = "Param"))]
pub param: Algorithm5Code,
}
impl Validate for AlgorithmIdentification26 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.028.001.01")]
pub struct AlgorithmIdentification27 {
#[yaserde(rename = "Algo")]
#[cfg_attr(feature = "serde", serde(rename = "Algo"))]
pub algo: Algorithm7Code,
#[yaserde(rename = "Param")]
#[cfg_attr(feature = "serde", serde(rename = "Param"))]
pub param: Parameter13,
}
impl Validate for AlgorithmIdentification27 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.028.001.01")]
pub struct AlgorithmIdentification28 {
#[yaserde(rename = "Algo")]
#[cfg_attr(feature = "serde", serde(rename = "Algo"))]
pub algo: Algorithm13Code,
#[yaserde(rename = "Param")]
#[cfg_attr(feature = "serde", serde(rename = "Param"))]
pub param: Parameter14,
}
impl Validate for AlgorithmIdentification28 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.028.001.01")]
pub struct Amount4 {
#[yaserde(rename = "Amt")]
#[cfg_attr(feature = "serde", serde(rename = "Amt"))]
pub amt: ImpliedCurrencyAndAmount,
#[yaserde(rename = "Ccy")]
#[cfg_attr(feature = "serde", serde(rename = "Ccy"))]
pub ccy: Iso3NumericCurrencyCode,
#[yaserde(rename = "XchgRate")]
#[cfg_attr(feature = "serde", serde(rename = "XchgRate"))]
pub xchg_rate: DecimalNumber,
#[yaserde(rename = "QtnDt")]
#[cfg_attr(feature = "serde", serde(rename = "QtnDt"))]
pub qtn_dt: IsodateTime,
}
impl Validate for Amount4 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.028.001.01")]
pub struct Amount5 {
#[yaserde(rename = "Amt")]
#[cfg_attr(feature = "serde", serde(rename = "Amt"))]
pub amt: ImpliedCurrencyAndAmount,
#[yaserde(rename = "Sgn")]
#[cfg_attr(feature = "serde", serde(rename = "Sgn"))]
pub sgn: PlusOrMinusIndicator,
}
impl Validate for Amount5 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(PartialEq, Debug, Clone, YaSerialize, YaDeserialize)]#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.028.001.01")]
pub enum AttributeType1Code {
#[yaserde(rename = "CNAT")]
#[cfg_attr(feature = "serde", serde(rename = "CNAT"))]
Cnat,
#[yaserde(rename = "LATT")]
#[cfg_attr(feature = "serde", serde(rename = "LATT"))]
Latt,
#[yaserde(rename = "OATT")]
#[cfg_attr(feature = "serde", serde(rename = "OATT"))]
Oatt,
#[yaserde(rename = "OUAT")]
#[cfg_attr(feature = "serde", serde(rename = "OUAT"))]
Ouat,
#[yaserde(rename = "CATT")]
#[cfg_attr(feature = "serde", serde(rename = "CATT"))]
Catt,
__Unknown__(String),
}
impl Default for AttributeType1Code {
fn default() -> AttributeType1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for AttributeType1Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct BaseOneRate (pub String);
crate::simple_type!(BaseOneRate);
impl Validate for BaseOneRate {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.028.001.01")]
pub struct BatchManagementInformation1 {
#[yaserde(rename = "ColltnId")]
#[cfg_attr(feature = "serde", serde(rename = "ColltnId"))]
pub colltn_id: Max35Text,
#[yaserde(rename = "BtchId")]
#[cfg_attr(feature = "serde", serde(rename = "BtchId"))]
pub btch_id: Max35Text,
#[yaserde(rename = "MsgSeqNb")]
#[cfg_attr(feature = "serde", serde(rename = "MsgSeqNb"))]
pub msg_seq_nb: Max15NumericText,
#[yaserde(rename = "MsgChcksmInptVal")]
#[cfg_attr(feature = "serde", serde(rename = "MsgChcksmInptVal"))]
pub msg_chcksm_inpt_val: Max140Binary,
}
impl Validate for BatchManagementInformation1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(PartialEq, Debug, Clone, YaSerialize, YaDeserialize)]#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.028.001.01")]
pub enum BytePadding1Code {
#[yaserde(rename = "LNGT")]
#[cfg_attr(feature = "serde", serde(rename = "LNGT"))]
Lngt,
#[yaserde(rename = "NUL8")]
#[cfg_attr(feature = "serde", serde(rename = "NUL8"))]
Nul8,
#[yaserde(rename = "NULG")]
#[cfg_attr(feature = "serde", serde(rename = "NULG"))]
Nulg,
#[yaserde(rename = "NULL")]
#[cfg_attr(feature = "serde", serde(rename = "NULL"))]
Null,
#[yaserde(rename = "RAND")]
#[cfg_attr(feature = "serde", serde(rename = "RAND"))]
Rand,
__Unknown__(String),
}
impl Default for BytePadding1Code {
fn default() -> BytePadding1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for BytePadding1Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.028.001.01")]
pub struct CardData5 {
#[yaserde(rename = "PAN")]
#[cfg_attr(feature = "serde", serde(rename = "PAN"))]
pub pan: Max19NumericText,
#[yaserde(rename = "PrtctdPANInd")]
#[cfg_attr(feature = "serde", serde(rename = "PrtctdPANInd"))]
pub prtctd_pan_ind: TrueFalseIndicator,
#[yaserde(rename = "CardSeqNb")]
#[cfg_attr(feature = "serde", serde(rename = "CardSeqNb"))]
pub card_seq_nb: Min2Max3NumericText,
#[yaserde(rename = "PmtAcctRef")]
#[cfg_attr(feature = "serde", serde(rename = "PmtAcctRef"))]
pub pmt_acct_ref: Max35Text,
#[yaserde(rename = "PANAcctRg")]
#[cfg_attr(feature = "serde", serde(rename = "PANAcctRg"))]
pub pan_acct_rg: Max19NumericText,
#[yaserde(rename = "CardPrtflIdr")]
#[cfg_attr(feature = "serde", serde(rename = "CardPrtflIdr"))]
pub card_prtfl_idr: Max35Text,
#[yaserde(rename = "AddtlCardData")]
#[cfg_attr(feature = "serde", serde(rename = "AddtlCardData"))]
pub addtl_card_data: Max70Text,
}
impl Validate for CardData5 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.028.001.01")]
pub struct CardProgrammeMode1 {
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: Max35Text,
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Max35Text,
}
impl Validate for CardProgrammeMode1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.028.001.01")]
pub struct CertificateIssuer1 {
#[yaserde(rename = "RltvDstngshdNm")]
#[cfg_attr(feature = "serde", serde(rename = "RltvDstngshdNm"))]
pub rltv_dstngshd_nm: Vec<RelativeDistinguishedName1>,
}
impl Validate for CertificateIssuer1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.028.001.01")]
pub struct ChargeBackResponse1 {
#[yaserde(rename = "Envt")]
#[cfg_attr(feature = "serde", serde(rename = "Envt"))]
pub envt: Environment14,
#[yaserde(rename = "Cntxt")]
#[cfg_attr(feature = "serde", serde(rename = "Cntxt"))]
pub cntxt: Context9,
#[yaserde(rename = "Tx")]
#[cfg_attr(feature = "serde", serde(rename = "Tx"))]
pub tx: Transaction97,
#[yaserde(rename = "PrcgRslt")]
#[cfg_attr(feature = "serde", serde(rename = "PrcgRslt"))]
pub prcg_rslt: ProcessingResult7,
#[yaserde(rename = "PrtctdData")]
#[cfg_attr(feature = "serde", serde(rename = "PrtctdData"))]
pub prtctd_data: Vec<ProtectedData1>,
#[yaserde(rename = "SplmtryData")]
#[cfg_attr(feature = "serde", serde(rename = "SplmtryData"))]
pub splmtry_data: Vec<SupplementaryData1>,
}
impl Validate for ChargeBackResponse1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.028.001.01")]
pub struct ChargeBackResponseV01 {
#[yaserde(rename = "Hdr")]
#[cfg_attr(feature = "serde", serde(rename = "Hdr"))]
pub hdr: Header40,
#[yaserde(rename = "Body")]
#[cfg_attr(feature = "serde", serde(rename = "Body"))]
pub body: ChargeBackResponse1,
#[yaserde(rename = "SctyTrlr")]
#[cfg_attr(feature = "serde", serde(rename = "SctyTrlr"))]
pub scty_trlr: ContentInformationType20,
}
impl Validate for ChargeBackResponseV01 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.028.001.01")]
pub struct ContentInformationType20 {
#[yaserde(rename = "MACData")]
#[cfg_attr(feature = "serde", serde(rename = "MACData"))]
pub mac_data: Macdata1,
#[yaserde(rename = "MAC")]
#[cfg_attr(feature = "serde", serde(rename = "MAC"))]
pub mac: Max8HexBinaryText,
}
impl Validate for ContentInformationType20 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(PartialEq, Debug, Clone, YaSerialize, YaDeserialize)]#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.028.001.01")]
pub enum ContentType2Code {
#[yaserde(rename = "DATA")]
#[cfg_attr(feature = "serde", serde(rename = "DATA"))]
Data,
#[yaserde(rename = "SIGN")]
#[cfg_attr(feature = "serde", serde(rename = "SIGN"))]
Sign,
#[yaserde(rename = "EVLP")]
#[cfg_attr(feature = "serde", serde(rename = "EVLP"))]
Evlp,
#[yaserde(rename = "DGST")]
#[cfg_attr(feature = "serde", serde(rename = "DGST"))]
Dgst,
#[yaserde(rename = "AUTH")]
#[cfg_attr(feature = "serde", serde(rename = "AUTH"))]
Auth,
__Unknown__(String),
}
impl Default for ContentType2Code {
fn default() -> ContentType2Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for ContentType2Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(PartialEq, Debug, Clone, YaSerialize, YaDeserialize)]#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.028.001.01")]
pub enum ContentType3Code {
#[yaserde(rename = "EVLP")]
#[cfg_attr(feature = "serde", serde(rename = "EVLP"))]
Evlp,
#[yaserde(rename = "IFSE")]
#[cfg_attr(feature = "serde", serde(rename = "IFSE"))]
Ifse,
__Unknown__(String),
}
impl Default for ContentType3Code {
fn default() -> ContentType3Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for ContentType3Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.028.001.01")]
pub struct Context9 {
#[yaserde(rename = "TxCntxt")]
#[cfg_attr(feature = "serde", serde(rename = "TxCntxt"))]
pub tx_cntxt: TransactionContext3,
}
impl Validate for Context9 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct DecimalNumber (pub String);
crate::simple_type!(DecimalNumber);
impl Validate for DecimalNumber {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(PartialEq, Debug, Clone, YaSerialize, YaDeserialize)]#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.028.001.01")]
pub enum DetailAmount1Code {
#[yaserde(rename = "CSHB")]
#[cfg_attr(feature = "serde", serde(rename = "CSHB"))]
Cshb,
#[yaserde(rename = "DONN")]
#[cfg_attr(feature = "serde", serde(rename = "DONN"))]
Donn,
#[yaserde(rename = "DCCF")]
#[cfg_attr(feature = "serde", serde(rename = "DCCF"))]
Dccf,
#[yaserde(rename = "EXTR")]
#[cfg_attr(feature = "serde", serde(rename = "EXTR"))]
Extr,
#[yaserde(rename = "FORX")]
#[cfg_attr(feature = "serde", serde(rename = "FORX"))]
Forx,
#[yaserde(rename = "GRTY")]
#[cfg_attr(feature = "serde", serde(rename = "GRTY"))]
Grty,
#[yaserde(rename = "OTHN")]
#[cfg_attr(feature = "serde", serde(rename = "OTHN"))]
Othn,
#[yaserde(rename = "OTHP")]
#[cfg_attr(feature = "serde", serde(rename = "OTHP"))]
Othp,
#[yaserde(rename = "SRCH")]
#[cfg_attr(feature = "serde", serde(rename = "SRCH"))]
Srch,
#[yaserde(rename = "TAXT")]
#[cfg_attr(feature = "serde", serde(rename = "TAXT"))]
Taxt,
__Unknown__(String),
}
impl Default for DetailAmount1Code {
fn default() -> DetailAmount1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for DetailAmount1Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.028.001.01")]
pub struct DetailedAmount19 {
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: DetailAmount1Code,
#[yaserde(rename = "OthrTp")]
#[cfg_attr(feature = "serde", serde(rename = "OthrTp"))]
pub othr_tp: Max35Text,
#[yaserde(rename = "Amt")]
#[cfg_attr(feature = "serde", serde(rename = "Amt"))]
pub amt: Amount5,
#[yaserde(rename = "CrdhldrBllgAmt")]
#[cfg_attr(feature = "serde", serde(rename = "CrdhldrBllgAmt"))]
pub crdhldr_bllg_amt: Amount5,
#[yaserde(rename = "RcncltnAmt")]
#[cfg_attr(feature = "serde", serde(rename = "RcncltnAmt"))]
pub rcncltn_amt: Amount5,
#[yaserde(rename = "Labl")]
#[cfg_attr(feature = "serde", serde(rename = "Labl"))]
pub labl: Max70Text,
}
impl Validate for DetailedAmount19 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.028.001.01")]
pub struct DisputeData1 {
#[yaserde(rename = "PresntmntCycl")]
#[cfg_attr(feature = "serde", serde(rename = "PresntmntCycl"))]
pub presntmnt_cycl: Exact1NumericText,
#[yaserde(rename = "DsptCond")]
#[cfg_attr(feature = "serde", serde(rename = "DsptCond"))]
pub dspt_cond: Max35Text,
#[yaserde(rename = "DsptSts")]
#[cfg_attr(feature = "serde", serde(rename = "DsptSts"))]
pub dspt_sts: Max35Text,
#[yaserde(rename = "PrtlDspt")]
#[cfg_attr(feature = "serde", serde(rename = "PrtlDspt"))]
pub prtl_dspt: YesNoIndicator,
#[yaserde(rename = "DsptRef")]
#[cfg_attr(feature = "serde", serde(rename = "DsptRef"))]
pub dspt_ref: Vec<DisputeReference1>,
#[yaserde(rename = "DcmnttnSts")]
#[cfg_attr(feature = "serde", serde(rename = "DcmnttnSts"))]
pub dcmnttn_sts: Max35Text,
#[yaserde(rename = "AddtlDsptData")]
#[cfg_attr(feature = "serde", serde(rename = "AddtlDsptData"))]
pub addtl_dspt_data: Max1000Text,
#[yaserde(rename = "DsptRjctRsn")]
#[cfg_attr(feature = "serde", serde(rename = "DsptRjctRsn"))]
pub dspt_rjct_rsn: Vec<Max35Text>,
#[yaserde(rename = "ChrgbckElgblty")]
#[cfg_attr(feature = "serde", serde(rename = "ChrgbckElgblty"))]
pub chrgbck_elgblty: Max35Text,
}
impl Validate for DisputeData1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.028.001.01")]
pub struct DisputeIdentification1 {
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: Max35Text,
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Max70Text,
}
impl Validate for DisputeIdentification1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.028.001.01")]
pub struct DisputeReference1 {
#[yaserde(rename = "AssgnrNtty")]
#[cfg_attr(feature = "serde", serde(rename = "AssgnrNtty"))]
pub assgnr_ntty: PartyType32Code,
#[yaserde(rename = "OthrAssgnrNtty")]
#[cfg_attr(feature = "serde", serde(rename = "OthrAssgnrNtty"))]
pub othr_assgnr_ntty: Max35Text,
#[yaserde(rename = "DsptId")]
#[cfg_attr(feature = "serde", serde(rename = "DsptId"))]
pub dspt_id: Vec<DisputeIdentification1>,
}
impl Validate for DisputeReference1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.028.001.01")]
pub struct Document {
#[yaserde(rename = "ChrgBckRspn")]
#[cfg_attr(feature = "serde", serde(rename = "ChrgBckRspn"))]
pub chrg_bck_rspn: ChargeBackResponseV01,
}
impl Validate for Document {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.028.001.01")]
pub struct EncryptedContent5 {
#[yaserde(rename = "CnttTp")]
#[cfg_attr(feature = "serde", serde(rename = "CnttTp"))]
pub cntt_tp: ContentType2Code,
#[yaserde(rename = "CnttNcrptnAlgo")]
#[cfg_attr(feature = "serde", serde(rename = "CnttNcrptnAlgo"))]
pub cntt_ncrptn_algo: AlgorithmIdentification25,
#[yaserde(rename = "NcrptdDataElmt")]
#[cfg_attr(feature = "serde", serde(rename = "NcrptdDataElmt"))]
pub ncrptd_data_elmt: Vec<EncryptedDataElement1>,
}
impl Validate for EncryptedContent5 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.028.001.01")]
pub struct EncryptedData1 {
#[yaserde(rename = "Ctrl")]
#[cfg_attr(feature = "serde", serde(rename = "Ctrl"))]
pub ctrl: Exact1HexBinaryText,
#[yaserde(rename = "KeySetIdr")]
#[cfg_attr(feature = "serde", serde(rename = "KeySetIdr"))]
pub key_set_idr: Max8NumericText,
#[yaserde(rename = "DrvdInf")]
#[cfg_attr(feature = "serde", serde(rename = "DrvdInf"))]
pub drvd_inf: Max32HexBinaryText,
#[yaserde(rename = "Algo")]
#[cfg_attr(feature = "serde", serde(rename = "Algo"))]
pub algo: Max2NumericText,
#[yaserde(rename = "KeyLngth")]
#[cfg_attr(feature = "serde", serde(rename = "KeyLngth"))]
pub key_lngth: Max4NumericText,
#[yaserde(rename = "KeyPrtcn")]
#[cfg_attr(feature = "serde", serde(rename = "KeyPrtcn"))]
pub key_prtcn: Max2NumericText,
#[yaserde(rename = "KeyIndx")]
#[cfg_attr(feature = "serde", serde(rename = "KeyIndx"))]
pub key_indx: Max5NumericText,
#[yaserde(rename = "PddgMtd")]
#[cfg_attr(feature = "serde", serde(rename = "PddgMtd"))]
pub pddg_mtd: Max2NumericText,
#[yaserde(rename = "NcrptdDataFrmt")]
#[cfg_attr(feature = "serde", serde(rename = "NcrptdDataFrmt"))]
pub ncrptd_data_frmt: Max2NumericText,
#[yaserde(rename = "NcrptdDataElmt")]
#[cfg_attr(feature = "serde", serde(rename = "NcrptdDataElmt"))]
pub ncrptd_data_elmt: Vec<EncryptedDataElement1>,
}
impl Validate for EncryptedData1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.028.001.01")]
pub struct EncryptedData1Choice {
#[yaserde(rename = "BinryData")]
#[cfg_attr(feature = "serde", serde(rename = "BinryData"))]
pub binry_data: Option<Max100KBinary>,
#[yaserde(rename = "HexBinryVal")]
#[cfg_attr(feature = "serde", serde(rename = "HexBinryVal"))]
pub hex_binry_val: Option<Max9999HexBinaryText>,
}
impl Validate for EncryptedData1Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.028.001.01")]
pub struct EncryptedDataElement1 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: ExternalEncryptedElementIdentification1Code,
#[yaserde(rename = "OthrId")]
#[cfg_attr(feature = "serde", serde(rename = "OthrId"))]
pub othr_id: Max35Text,
#[yaserde(rename = "NcrptdData")]
#[cfg_attr(feature = "serde", serde(rename = "NcrptdData"))]
pub ncrptd_data: EncryptedData1Choice,
#[yaserde(rename = "ClearTxtDataFrmt")]
#[cfg_attr(feature = "serde", serde(rename = "ClearTxtDataFrmt"))]
pub clear_txt_data_frmt: EncryptedDataFormat1Code,
#[yaserde(rename = "OthrClearTxtDataFrmt")]
#[cfg_attr(feature = "serde", serde(rename = "OthrClearTxtDataFrmt"))]
pub othr_clear_txt_data_frmt: Max35Text,
}
impl Validate for EncryptedDataElement1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(PartialEq, Debug, Clone, YaSerialize, YaDeserialize)]#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.028.001.01")]
pub enum EncryptedDataFormat1Code {
#[yaserde(rename = "ASCI")]
#[cfg_attr(feature = "serde", serde(rename = "ASCI"))]
Asci,
#[yaserde(rename = "BINF")]
#[cfg_attr(feature = "serde", serde(rename = "BINF"))]
Binf,
#[yaserde(rename = "EBCD")]
#[cfg_attr(feature = "serde", serde(rename = "EBCD"))]
Ebcd,
#[yaserde(rename = "HEXF")]
#[cfg_attr(feature = "serde", serde(rename = "HEXF"))]
Hexf,
#[yaserde(rename = "OTHN")]
#[cfg_attr(feature = "serde", serde(rename = "OTHN"))]
Othn,
#[yaserde(rename = "OTHP")]
#[cfg_attr(feature = "serde", serde(rename = "OTHP"))]
Othp,
__Unknown__(String),
}
impl Default for EncryptedDataFormat1Code {
fn default() -> EncryptedDataFormat1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for EncryptedDataFormat1Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(PartialEq, Debug, Clone, YaSerialize, YaDeserialize)]#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.028.001.01")]
pub enum EncryptionFormat3Code {
#[yaserde(rename = "TR34")]
#[cfg_attr(feature = "serde", serde(rename = "TR34"))]
Tr34,
#[yaserde(rename = "TR31")]
#[cfg_attr(feature = "serde", serde(rename = "TR31"))]
Tr31,
#[yaserde(rename = "CTCE")]
#[cfg_attr(feature = "serde", serde(rename = "CTCE"))]
Ctce,
#[yaserde(rename = "CBCE")]
#[cfg_attr(feature = "serde", serde(rename = "CBCE"))]
Cbce,
__Unknown__(String),
}
impl Default for EncryptionFormat3Code {
fn default() -> EncryptionFormat3Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for EncryptionFormat3Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.028.001.01")]
pub struct EnvelopedData6 {
#[yaserde(rename = "Vrsn")]
#[cfg_attr(feature = "serde", serde(rename = "Vrsn"))]
pub vrsn: Number,
#[yaserde(rename = "Rcpt")]
#[cfg_attr(feature = "serde", serde(rename = "Rcpt"))]
pub rcpt: Vec<Recipient7Choice>,
#[yaserde(rename = "NcrptdCntt")]
#[cfg_attr(feature = "serde", serde(rename = "NcrptdCntt"))]
pub ncrptd_cntt: EncryptedContent5,
}
impl Validate for EnvelopedData6 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.028.001.01")]
pub struct Environment14 {
#[yaserde(rename = "Acqrr")]
#[cfg_attr(feature = "serde", serde(rename = "Acqrr"))]
pub acqrr: PartyIdentification197,
#[yaserde(rename = "Sndr")]
#[cfg_attr(feature = "serde", serde(rename = "Sndr"))]
pub sndr: PartyIdentification197,
#[yaserde(rename = "Rcvr")]
#[cfg_attr(feature = "serde", serde(rename = "Rcvr"))]
pub rcvr: PartyIdentification197,
#[yaserde(rename = "Accptr")]
#[cfg_attr(feature = "serde", serde(rename = "Accptr"))]
pub accptr: PartyIdentification197,
#[yaserde(rename = "Termnl")]
#[cfg_attr(feature = "serde", serde(rename = "Termnl"))]
pub termnl: Terminal2,
#[yaserde(rename = "Card")]
#[cfg_attr(feature = "serde", serde(rename = "Card"))]
pub card: CardData5,
#[yaserde(rename = "Tkn")]
#[cfg_attr(feature = "serde", serde(rename = "Tkn"))]
pub tkn: Token1,
}
impl Validate for Environment14 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Exact12Text (pub String);
crate::simple_type!(Exact12Text);
impl Validate for Exact12Text {
fn validate(&self) -> Result<(), String> {
if self.0.len() != 12 {
return Err(format!("Length validation error. \nExpected: 0 length == 12 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Exact15Text (pub String);
crate::simple_type!(Exact15Text);
impl Validate for Exact15Text {
fn validate(&self) -> Result<(), String> {
if self.0.len() != 15 {
return Err(format!("Length validation error. \nExpected: 0 length == 15 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Exact1HexBinaryText (pub String);
crate::simple_type!(Exact1HexBinaryText);
impl Validate for Exact1HexBinaryText {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Exact1NumericText (pub String);
crate::simple_type!(Exact1NumericText);
impl Validate for Exact1NumericText {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Exact2AlphaNumericText (pub String);
crate::simple_type!(Exact2AlphaNumericText);
impl Validate for Exact2AlphaNumericText {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Exact2NumericText (pub String);
crate::simple_type!(Exact2NumericText);
impl Validate for Exact2NumericText {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Exact4NumericText (pub String);
crate::simple_type!(Exact4NumericText);
impl Validate for Exact4NumericText {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct ExternalEncryptedElementIdentification1Code (pub String);
crate::simple_type!(ExternalEncryptedElementIdentification1Code);
impl Validate for ExternalEncryptedElementIdentification1Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.028.001.01")]
pub struct FeeAmount2 {
#[yaserde(rename = "Amt")]
#[cfg_attr(feature = "serde", serde(rename = "Amt"))]
pub amt: ImpliedCurrencyAndAmount,
#[yaserde(rename = "Ccy")]
#[cfg_attr(feature = "serde", serde(rename = "Ccy"))]
pub ccy: Iso3NumericCurrencyCode,
#[yaserde(rename = "XchgRate")]
#[cfg_attr(feature = "serde", serde(rename = "XchgRate"))]
pub xchg_rate: BaseOneRate,
#[yaserde(rename = "QtnDt")]
#[cfg_attr(feature = "serde", serde(rename = "QtnDt"))]
pub qtn_dt: IsodateTime,
#[yaserde(rename = "Sgn")]
#[cfg_attr(feature = "serde", serde(rename = "Sgn"))]
pub sgn: PlusOrMinusIndicator,
}
impl Validate for FeeAmount2 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.028.001.01")]
pub struct GenericIdentification172 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Max35Text,
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: PartyType17Code,
#[yaserde(rename = "OthrTp")]
#[cfg_attr(feature = "serde", serde(rename = "OthrTp"))]
pub othr_tp: Max35Text,
#[yaserde(rename = "Assgnr")]
#[cfg_attr(feature = "serde", serde(rename = "Assgnr"))]
pub assgnr: PartyType18Code,
#[yaserde(rename = "Ctry")]
#[cfg_attr(feature = "serde", serde(rename = "Ctry"))]
pub ctry: Min2Max3AlphaText,
#[yaserde(rename = "ShrtNm")]
#[cfg_attr(feature = "serde", serde(rename = "ShrtNm"))]
pub shrt_nm: Max35Text,
}
impl Validate for GenericIdentification172 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.028.001.01")]
pub struct Header40 {
#[yaserde(rename = "MsgFctn")]
#[cfg_attr(feature = "serde", serde(rename = "MsgFctn"))]
pub msg_fctn: MessageFunction20Code,
#[yaserde(rename = "PrtcolVrsn")]
#[cfg_attr(feature = "serde", serde(rename = "PrtcolVrsn"))]
pub prtcol_vrsn: Max2048Text,
#[yaserde(rename = "XchgId")]
#[cfg_attr(feature = "serde", serde(rename = "XchgId"))]
pub xchg_id: Max35Text,
#[yaserde(rename = "ReTrnsmssnCntr")]
#[cfg_attr(feature = "serde", serde(rename = "ReTrnsmssnCntr"))]
pub re_trnsmssn_cntr: Max3NumericText,
#[yaserde(rename = "CreDtTm")]
#[cfg_attr(feature = "serde", serde(rename = "CreDtTm"))]
pub cre_dt_tm: IsodateTime,
#[yaserde(rename = "BtchMgmtInf")]
#[cfg_attr(feature = "serde", serde(rename = "BtchMgmtInf"))]
pub btch_mgmt_inf: BatchManagementInformation1,
#[yaserde(rename = "InitgPty")]
#[cfg_attr(feature = "serde", serde(rename = "InitgPty"))]
pub initg_pty: GenericIdentification172,
#[yaserde(rename = "RcptPty")]
#[cfg_attr(feature = "serde", serde(rename = "RcptPty"))]
pub rcpt_pty: GenericIdentification172,
#[yaserde(rename = "TracData")]
#[cfg_attr(feature = "serde", serde(rename = "TracData"))]
pub trac_data: Vec<AdditionalData1>,
#[yaserde(rename = "Tracblt")]
#[cfg_attr(feature = "serde", serde(rename = "Tracblt"))]
pub tracblt: Vec<Traceability7>,
}
impl Validate for Header40 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Iso3NumericCountryCode (pub String);
crate::simple_type!(Iso3NumericCountryCode);
impl Validate for Iso3NumericCountryCode {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Iso3NumericCurrencyCode (pub String);
crate::simple_type!(Iso3NumericCurrencyCode);
impl Validate for Iso3NumericCurrencyCode {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Isodate (pub String);
crate::simple_type!(Isodate);
impl Validate for Isodate {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct IsodateTime (pub String);
crate::simple_type!(IsodateTime);
impl Validate for IsodateTime {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Isotime (pub String);
crate::simple_type!(Isotime);
impl Validate for Isotime {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct ImpliedCurrencyAndAmount (pub String);
crate::simple_type!(ImpliedCurrencyAndAmount);
impl Validate for ImpliedCurrencyAndAmount {
fn validate(&self) -> Result<(), String> {
if self.0 < "0".parse::<String>().unwrap() {
return Err(format!("MinInclusive validation error: invalid value of 0! \nExpected: 0 >= 0.\nActual: 0 == {}", self.0));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.028.001.01")]
pub struct IssuerAndSerialNumber1 {
#[yaserde(rename = "Issr")]
#[cfg_attr(feature = "serde", serde(rename = "Issr"))]
pub issr: CertificateIssuer1,
#[yaserde(rename = "SrlNb")]
#[cfg_attr(feature = "serde", serde(rename = "SrlNb"))]
pub srl_nb: Max35Binary,
}
impl Validate for IssuerAndSerialNumber1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.028.001.01")]
pub struct Kek6 {
#[yaserde(rename = "Vrsn")]
#[cfg_attr(feature = "serde", serde(rename = "Vrsn"))]
pub vrsn: Number,
#[yaserde(rename = "KEKId")]
#[cfg_attr(feature = "serde", serde(rename = "KEKId"))]
pub kek_id: Kekidentifier6,
#[yaserde(rename = "KeyNcrptnAlgo")]
#[cfg_attr(feature = "serde", serde(rename = "KeyNcrptnAlgo"))]
pub key_ncrptn_algo: AlgorithmIdentification28,
#[yaserde(rename = "NcrptdKey")]
#[cfg_attr(feature = "serde", serde(rename = "NcrptdKey"))]
pub ncrptd_key: Max500Binary,
}
impl Validate for Kek6 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.028.001.01")]
pub struct Kekidentifier2 {
#[yaserde(rename = "KeyId")]
#[cfg_attr(feature = "serde", serde(rename = "KeyId"))]
pub key_id: Max140Text,
#[yaserde(rename = "KeyVrsn")]
#[cfg_attr(feature = "serde", serde(rename = "KeyVrsn"))]
pub key_vrsn: Max140Text,
#[yaserde(rename = "SeqNb")]
#[cfg_attr(feature = "serde", serde(rename = "SeqNb"))]
pub seq_nb: Number,
#[yaserde(rename = "DerivtnId")]
#[cfg_attr(feature = "serde", serde(rename = "DerivtnId"))]
pub derivtn_id: Min5Max16Binary,
}
impl Validate for Kekidentifier2 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.028.001.01")]
pub struct Kekidentifier6 {
#[yaserde(rename = "KeyId")]
#[cfg_attr(feature = "serde", serde(rename = "KeyId"))]
pub key_id: Max140Text,
#[yaserde(rename = "KeyVrsn")]
#[cfg_attr(feature = "serde", serde(rename = "KeyVrsn"))]
pub key_vrsn: Max140Text,
#[yaserde(rename = "SeqNb")]
#[cfg_attr(feature = "serde", serde(rename = "SeqNb"))]
pub seq_nb: Number,
#[yaserde(rename = "DerivtnId")]
#[cfg_attr(feature = "serde", serde(rename = "DerivtnId"))]
pub derivtn_id: Min5Max16Binary,
}
impl Validate for Kekidentifier6 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.028.001.01")]
pub struct KeyTransport6 {
#[yaserde(rename = "Vrsn")]
#[cfg_attr(feature = "serde", serde(rename = "Vrsn"))]
pub vrsn: Number,
#[yaserde(rename = "RcptId")]
#[cfg_attr(feature = "serde", serde(rename = "RcptId"))]
pub rcpt_id: Recipient5Choice,
#[yaserde(rename = "KeyNcrptnAlgo")]
#[cfg_attr(feature = "serde", serde(rename = "KeyNcrptnAlgo"))]
pub key_ncrptn_algo: AlgorithmIdentification27,
#[yaserde(rename = "NcrptdKey")]
#[cfg_attr(feature = "serde", serde(rename = "NcrptdKey"))]
pub ncrptd_key: Max5000Binary,
}
impl Validate for KeyTransport6 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.028.001.01")]
pub struct Macdata1 {
#[yaserde(rename = "Ctrl")]
#[cfg_attr(feature = "serde", serde(rename = "Ctrl"))]
pub ctrl: Exact1HexBinaryText,
#[yaserde(rename = "KeySetIdr")]
#[cfg_attr(feature = "serde", serde(rename = "KeySetIdr"))]
pub key_set_idr: Max8NumericText,
#[yaserde(rename = "DrvdInf")]
#[cfg_attr(feature = "serde", serde(rename = "DrvdInf"))]
pub drvd_inf: Max32HexBinaryText,
#[yaserde(rename = "Algo")]
#[cfg_attr(feature = "serde", serde(rename = "Algo"))]
pub algo: Max2NumericText,
#[yaserde(rename = "KeyLngth")]
#[cfg_attr(feature = "serde", serde(rename = "KeyLngth"))]
pub key_lngth: Max4NumericText,
#[yaserde(rename = "KeyPrtcn")]
#[cfg_attr(feature = "serde", serde(rename = "KeyPrtcn"))]
pub key_prtcn: Max2NumericText,
#[yaserde(rename = "KeyIndx")]
#[cfg_attr(feature = "serde", serde(rename = "KeyIndx"))]
pub key_indx: Max5NumericText,
#[yaserde(rename = "PddgMtd")]
#[cfg_attr(feature = "serde", serde(rename = "PddgMtd"))]
pub pddg_mtd: Max2NumericText,
#[yaserde(rename = "InitlstnVctr")]
#[cfg_attr(feature = "serde", serde(rename = "InitlstnVctr"))]
pub initlstn_vctr: Max32HexBinaryText,
}
impl Validate for Macdata1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max1000Text (pub String);
crate::simple_type!(Max1000Text);
impl Validate for Max1000Text {
fn validate(&self) -> Result<(), String> {
#[allow(clippy::len_zero)]
if self.0.len() < 1 {
return Err(format!("MinLength validation error. \nExpected: 0 length >= 1 \nActual: 0 length == {}", self.0.len()));
}
if self.0.len() > 1000 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 1000 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max100KBinary (pub String);
crate::simple_type!(Max100KBinary);
impl Validate for Max100KBinary {
fn validate(&self) -> Result<(), String> {
#[allow(clippy::len_zero)]
if self.0.len() < 1 {
return Err(format!("MinLength validation error. \nExpected: 0 length >= 1 \nActual: 0 length == {}", self.0.len()));
}
if self.0.len() > 102400 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 102400 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max11NumericText (pub String);
crate::simple_type!(Max11NumericText);
impl Validate for Max11NumericText {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max12NumericText (pub String);
crate::simple_type!(Max12NumericText);
impl Validate for Max12NumericText {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max140Binary (pub String);
crate::simple_type!(Max140Binary);
impl Validate for Max140Binary {
fn validate(&self) -> Result<(), String> {
#[allow(clippy::len_zero)]
if self.0.len() < 1 {
return Err(format!("MinLength validation error. \nExpected: 0 length >= 1 \nActual: 0 length == {}", self.0.len()));
}
if self.0.len() > 140 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 140 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max140Text (pub String);
crate::simple_type!(Max140Text);
impl Validate for Max140Text {
fn validate(&self) -> Result<(), String> {
#[allow(clippy::len_zero)]
if self.0.len() < 1 {
return Err(format!("MinLength validation error. \nExpected: 0 length >= 1 \nActual: 0 length == {}", self.0.len()));
}
if self.0.len() > 140 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 140 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max15NumericText (pub String);
crate::simple_type!(Max15NumericText);
impl Validate for Max15NumericText {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max16Text (pub String);
crate::simple_type!(Max16Text);
impl Validate for Max16Text {
fn validate(&self) -> Result<(), String> {
#[allow(clippy::len_zero)]
if self.0.len() < 1 {
return Err(format!("MinLength validation error. \nExpected: 0 length >= 1 \nActual: 0 length == {}", self.0.len()));
}
if self.0.len() > 16 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 16 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max19NumericText (pub String);
crate::simple_type!(Max19NumericText);
impl Validate for Max19NumericText {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max2048Text (pub String);
crate::simple_type!(Max2048Text);
impl Validate for Max2048Text {
fn validate(&self) -> Result<(), String> {
#[allow(clippy::len_zero)]
if self.0.len() < 1 {
return Err(format!("MinLength validation error. \nExpected: 0 length >= 1 \nActual: 0 length == {}", self.0.len()));
}
if self.0.len() > 2048 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 2048 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max20KText (pub String);
crate::simple_type!(Max20KText);
impl Validate for Max20KText {
fn validate(&self) -> Result<(), String> {
#[allow(clippy::len_zero)]
if self.0.len() < 1 {
return Err(format!("MinLength validation error. \nExpected: 0 length >= 1 \nActual: 0 length == {}", self.0.len()));
}
if self.0.len() > 20000 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 20000 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max23NumericText (pub String);
crate::simple_type!(Max23NumericText);
impl Validate for Max23NumericText {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max2NumericText (pub String);
crate::simple_type!(Max2NumericText);
impl Validate for Max2NumericText {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max32HexBinaryText (pub String);
crate::simple_type!(Max32HexBinaryText);
impl Validate for Max32HexBinaryText {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max350Text (pub String);
crate::simple_type!(Max350Text);
impl Validate for Max350Text {
fn validate(&self) -> Result<(), String> {
#[allow(clippy::len_zero)]
if self.0.len() < 1 {
return Err(format!("MinLength validation error. \nExpected: 0 length >= 1 \nActual: 0 length == {}", self.0.len()));
}
if self.0.len() > 350 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 350 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max35Binary (pub String);
crate::simple_type!(Max35Binary);
impl Validate for Max35Binary {
fn validate(&self) -> Result<(), String> {
#[allow(clippy::len_zero)]
if self.0.len() < 1 {
return Err(format!("MinLength validation error. \nExpected: 0 length >= 1 \nActual: 0 length == {}", self.0.len()));
}
if self.0.len() > 35 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 35 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max35Text (pub String);
crate::simple_type!(Max35Text);
impl Validate for Max35Text {
fn validate(&self) -> Result<(), String> {
#[allow(clippy::len_zero)]
if self.0.len() < 1 {
return Err(format!("MinLength validation error. \nExpected: 0 length >= 1 \nActual: 0 length == {}", self.0.len()));
}
if self.0.len() > 35 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 35 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max3NumericText (pub String);
crate::simple_type!(Max3NumericText);
impl Validate for Max3NumericText {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max4NumericText (pub String);
crate::simple_type!(Max4NumericText);
impl Validate for Max4NumericText {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max5000Binary (pub String);
crate::simple_type!(Max5000Binary);
impl Validate for Max5000Binary {
fn validate(&self) -> Result<(), String> {
#[allow(clippy::len_zero)]
if self.0.len() < 1 {
return Err(format!("MinLength validation error. \nExpected: 0 length >= 1 \nActual: 0 length == {}", self.0.len()));
}
if self.0.len() > 5000 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 5000 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max500Binary (pub String);
crate::simple_type!(Max500Binary);
impl Validate for Max500Binary {
fn validate(&self) -> Result<(), String> {
#[allow(clippy::len_zero)]
if self.0.len() < 1 {
return Err(format!("MinLength validation error. \nExpected: 0 length >= 1 \nActual: 0 length == {}", self.0.len()));
}
if self.0.len() > 500 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 500 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max5NumericText (pub String);
crate::simple_type!(Max5NumericText);
impl Validate for Max5NumericText {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max70Text (pub String);
crate::simple_type!(Max70Text);
impl Validate for Max70Text {
fn validate(&self) -> Result<(), String> {
#[allow(clippy::len_zero)]
if self.0.len() < 1 {
return Err(format!("MinLength validation error. \nExpected: 0 length >= 1 \nActual: 0 length == {}", self.0.len()));
}
if self.0.len() > 70 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 70 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max8HexBinaryText (pub String);
crate::simple_type!(Max8HexBinaryText);
impl Validate for Max8HexBinaryText {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max8NumericText (pub String);
crate::simple_type!(Max8NumericText);
impl Validate for Max8NumericText {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max9999HexBinaryText (pub String);
crate::simple_type!(Max9999HexBinaryText);
impl Validate for Max9999HexBinaryText {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max99Text (pub String);
crate::simple_type!(Max99Text);
impl Validate for Max99Text {
fn validate(&self) -> Result<(), String> {
#[allow(clippy::len_zero)]
if self.0.len() < 1 {
return Err(format!("MinLength validation error. \nExpected: 0 length >= 1 \nActual: 0 length == {}", self.0.len()));
}
if self.0.len() > 99 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 99 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(PartialEq, Debug, Clone, YaSerialize, YaDeserialize)]#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.028.001.01")]
pub enum MessageFunction20Code {
#[yaserde(rename = "ADVC")]
#[cfg_attr(feature = "serde", serde(rename = "ADVC"))]
Advc,
#[yaserde(rename = "NOTI")]
#[cfg_attr(feature = "serde", serde(rename = "NOTI"))]
Noti,
#[yaserde(rename = "REQU")]
#[cfg_attr(feature = "serde", serde(rename = "REQU"))]
Requ,
#[yaserde(rename = "RVRA")]
#[cfg_attr(feature = "serde", serde(rename = "RVRA"))]
Rvra,
#[yaserde(rename = "RVNO")]
#[cfg_attr(feature = "serde", serde(rename = "RVNO"))]
Rvno,
#[yaserde(rename = "STAD")]
#[cfg_attr(feature = "serde", serde(rename = "STAD"))]
Stad,
#[yaserde(rename = "STNO")]
#[cfg_attr(feature = "serde", serde(rename = "STNO"))]
Stno,
__Unknown__(String),
}
impl Default for MessageFunction20Code {
fn default() -> MessageFunction20Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for MessageFunction20Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Min2Max3AlphaText (pub String);
crate::simple_type!(Min2Max3AlphaText);
impl Validate for Min2Max3AlphaText {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Min2Max3NumericText (pub String);
crate::simple_type!(Min2Max3NumericText);
impl Validate for Min2Max3NumericText {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Min5Max16Binary (pub String);
crate::simple_type!(Min5Max16Binary);
impl Validate for Min5Max16Binary {
fn validate(&self) -> Result<(), String> {
#[allow(clippy::len_zero)]
if self.0.len() < 5 {
return Err(format!("MinLength validation error. \nExpected: 0 length >= 5 \nActual: 0 length == {}", self.0.len()));
}
if self.0.len() > 16 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 16 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Number (pub String);
crate::simple_type!(Number);
impl Validate for Number {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.028.001.01")]
pub struct OriginalTransactionAmount1 {
#[yaserde(rename = "AmtQlfr")]
#[cfg_attr(feature = "serde", serde(rename = "AmtQlfr"))]
pub amt_qlfr: TypeOfAmount11Code,
#[yaserde(rename = "TxAmt")]
#[cfg_attr(feature = "serde", serde(rename = "TxAmt"))]
pub tx_amt: TransactionAmount1,
#[yaserde(rename = "CrdhldrBllgAmt")]
#[cfg_attr(feature = "serde", serde(rename = "CrdhldrBllgAmt"))]
pub crdhldr_bllg_amt: Amount4,
#[yaserde(rename = "RcncltnAmt")]
#[cfg_attr(feature = "serde", serde(rename = "RcncltnAmt"))]
pub rcncltn_amt: Amount4,
}
impl Validate for OriginalTransactionAmount1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(PartialEq, Debug, Clone, YaSerialize, YaDeserialize)]#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.028.001.01")]
pub enum OutputFormat4Code {
#[yaserde(rename = "FLNM")]
#[cfg_attr(feature = "serde", serde(rename = "FLNM"))]
Flnm,
#[yaserde(rename = "MREF")]
#[cfg_attr(feature = "serde", serde(rename = "MREF"))]
Mref,
#[yaserde(rename = "OTHN")]
#[cfg_attr(feature = "serde", serde(rename = "OTHN"))]
Othn,
#[yaserde(rename = "OTHP")]
#[cfg_attr(feature = "serde", serde(rename = "OTHP"))]
Othp,
#[yaserde(rename = "SMSI")]
#[cfg_attr(feature = "serde", serde(rename = "SMSI"))]
Smsi,
#[yaserde(rename = "TEXT")]
#[cfg_attr(feature = "serde", serde(rename = "TEXT"))]
Text,
#[yaserde(rename = "URLI")]
#[cfg_attr(feature = "serde", serde(rename = "URLI"))]
Urli,
#[yaserde(rename = "HTML")]
#[cfg_attr(feature = "serde", serde(rename = "HTML"))]
Html,
__Unknown__(String),
}
impl Default for OutputFormat4Code {
fn default() -> OutputFormat4Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for OutputFormat4Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.028.001.01")]
pub struct Parameter13 {
#[yaserde(rename = "DgstAlgo")]
#[cfg_attr(feature = "serde", serde(rename = "DgstAlgo"))]
pub dgst_algo: Algorithm20Code,
#[yaserde(rename = "MskGnrtrAlgo")]
#[cfg_attr(feature = "serde", serde(rename = "MskGnrtrAlgo"))]
pub msk_gnrtr_algo: AlgorithmIdentification26,
}
impl Validate for Parameter13 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.028.001.01")]
pub struct Parameter14 {
#[yaserde(rename = "NcrptnFrmt")]
#[cfg_attr(feature = "serde", serde(rename = "NcrptnFrmt"))]
pub ncrptn_frmt: EncryptionFormat3Code,
#[yaserde(rename = "InitlstnVctr")]
#[cfg_attr(feature = "serde", serde(rename = "InitlstnVctr"))]
pub initlstn_vctr: Max500Binary,
#[yaserde(rename = "BPddg")]
#[cfg_attr(feature = "serde", serde(rename = "BPddg"))]
pub b_pddg: BytePadding1Code,
}
impl Validate for Parameter14 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.028.001.01")]
pub struct Parameter7 {
#[yaserde(rename = "InitlstnVctr")]
#[cfg_attr(feature = "serde", serde(rename = "InitlstnVctr"))]
pub initlstn_vctr: Max500Binary,
#[yaserde(rename = "BPddg")]
#[cfg_attr(feature = "serde", serde(rename = "BPddg"))]
pub b_pddg: BytePadding1Code,
}
impl Validate for Parameter7 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.028.001.01")]
pub struct PartyIdentification197 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Max35Text,
#[yaserde(rename = "Assgnr")]
#[cfg_attr(feature = "serde", serde(rename = "Assgnr"))]
pub assgnr: Max35Text,
#[yaserde(rename = "Ctry")]
#[cfg_attr(feature = "serde", serde(rename = "Ctry"))]
pub ctry: Iso3NumericCountryCode,
#[yaserde(rename = "ShrtNm")]
#[cfg_attr(feature = "serde", serde(rename = "ShrtNm"))]
pub shrt_nm: Max35Text,
#[yaserde(rename = "AddtlId")]
#[cfg_attr(feature = "serde", serde(rename = "AddtlId"))]
pub addtl_id: Max35Text,
}
impl Validate for PartyIdentification197 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(PartialEq, Debug, Clone, YaSerialize, YaDeserialize)]#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.028.001.01")]
pub enum PartyType17Code {
#[yaserde(rename = "OTHN")]
#[cfg_attr(feature = "serde", serde(rename = "OTHN"))]
Othn,
#[yaserde(rename = "OTHP")]
#[cfg_attr(feature = "serde", serde(rename = "OTHP"))]
Othp,
#[yaserde(rename = "ACQR")]
#[cfg_attr(feature = "serde", serde(rename = "ACQR"))]
Acqr,
#[yaserde(rename = "ACQP")]
#[cfg_attr(feature = "serde", serde(rename = "ACQP"))]
Acqp,
#[yaserde(rename = "CISS")]
#[cfg_attr(feature = "serde", serde(rename = "CISS"))]
Ciss,
#[yaserde(rename = "CISP")]
#[cfg_attr(feature = "serde", serde(rename = "CISP"))]
Cisp,
#[yaserde(rename = "AGNT")]
#[cfg_attr(feature = "serde", serde(rename = "AGNT"))]
Agnt,
__Unknown__(String),
}
impl Default for PartyType17Code {
fn default() -> PartyType17Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for PartyType17Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(PartialEq, Debug, Clone, YaSerialize, YaDeserialize)]#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.028.001.01")]
pub enum PartyType18Code {
#[yaserde(rename = "ACQR")]
#[cfg_attr(feature = "serde", serde(rename = "ACQR"))]
Acqr,
#[yaserde(rename = "CISS")]
#[cfg_attr(feature = "serde", serde(rename = "CISS"))]
Ciss,
#[yaserde(rename = "CSCH")]
#[cfg_attr(feature = "serde", serde(rename = "CSCH"))]
Csch,
#[yaserde(rename = "AGNT")]
#[cfg_attr(feature = "serde", serde(rename = "AGNT"))]
Agnt,
__Unknown__(String),
}
impl Default for PartyType18Code {
fn default() -> PartyType18Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for PartyType18Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(PartialEq, Debug, Clone, YaSerialize, YaDeserialize)]#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.028.001.01")]
pub enum PartyType22Code {
#[yaserde(rename = "CRDH")]
#[cfg_attr(feature = "serde", serde(rename = "CRDH"))]
Crdh,
#[yaserde(rename = "MERC")]
#[cfg_attr(feature = "serde", serde(rename = "MERC"))]
Merc,
#[yaserde(rename = "OTHN")]
#[cfg_attr(feature = "serde", serde(rename = "OTHN"))]
Othn,
#[yaserde(rename = "OTHP")]
#[cfg_attr(feature = "serde", serde(rename = "OTHP"))]
Othp,
#[yaserde(rename = "AGNT")]
#[cfg_attr(feature = "serde", serde(rename = "AGNT"))]
Agnt,
__Unknown__(String),
}
impl Default for PartyType22Code {
fn default() -> PartyType22Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for PartyType22Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(PartialEq, Debug, Clone, YaSerialize, YaDeserialize)]#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.028.001.01")]
pub enum PartyType32Code {
#[yaserde(rename = "ACQR")]
#[cfg_attr(feature = "serde", serde(rename = "ACQR"))]
Acqr,
#[yaserde(rename = "AGNT")]
#[cfg_attr(feature = "serde", serde(rename = "AGNT"))]
Agnt,
#[yaserde(rename = "ISUR")]
#[cfg_attr(feature = "serde", serde(rename = "ISUR"))]
Isur,
#[yaserde(rename = "OTHN")]
#[cfg_attr(feature = "serde", serde(rename = "OTHN"))]
Othn,
#[yaserde(rename = "OTHP")]
#[cfg_attr(feature = "serde", serde(rename = "OTHP"))]
Othp,
__Unknown__(String),
}
impl Default for PartyType32Code {
fn default() -> PartyType32Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for PartyType32Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct PlusOrMinusIndicator (pub bool);
crate::simple_type!(PlusOrMinusIndicator);
impl Validate for PlusOrMinusIndicator {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(PartialEq, Debug, Clone, YaSerialize, YaDeserialize)]#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.028.001.01")]
pub enum Priority3Code {
#[yaserde(rename = "URGT")]
#[cfg_attr(feature = "serde", serde(rename = "URGT"))]
Urgt,
#[yaserde(rename = "HIGH")]
#[cfg_attr(feature = "serde", serde(rename = "HIGH"))]
High,
#[yaserde(rename = "NORM")]
#[cfg_attr(feature = "serde", serde(rename = "NORM"))]
Norm,
__Unknown__(String),
}
impl Default for Priority3Code {
fn default() -> Priority3Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for Priority3Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.028.001.01")]
pub struct ProcessingResult7 {
#[yaserde(rename = "RsltData")]
#[cfg_attr(feature = "serde", serde(rename = "RsltData"))]
pub rslt_data: ResultData1,
#[yaserde(rename = "OrgnlRsltData")]
#[cfg_attr(feature = "serde", serde(rename = "OrgnlRsltData"))]
pub orgnl_rslt_data: ResultData1,
#[yaserde(rename = "AddtlInf")]
#[cfg_attr(feature = "serde", serde(rename = "AddtlInf"))]
pub addtl_inf: Vec<AdditionalInformation20>,
}
impl Validate for ProcessingResult7 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.028.001.01")]
pub struct ProtectedData1 {
#[yaserde(rename = "CnttTp")]
#[cfg_attr(feature = "serde", serde(rename = "CnttTp"))]
pub cntt_tp: ContentType3Code,
#[yaserde(rename = "EnvlpdData")]
#[cfg_attr(feature = "serde", serde(rename = "EnvlpdData"))]
pub envlpd_data: EnvelopedData6,
#[yaserde(rename = "NcrptdData")]
#[cfg_attr(feature = "serde", serde(rename = "NcrptdData"))]
pub ncrptd_data: EncryptedData1,
}
impl Validate for ProtectedData1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.028.001.01")]
pub struct Recipient5Choice {
#[yaserde(rename = "IssrAndSrlNb")]
#[cfg_attr(feature = "serde", serde(rename = "IssrAndSrlNb"))]
pub issr_and_srl_nb: Option<IssuerAndSerialNumber1>,
#[yaserde(rename = "KeyIdr")]
#[cfg_attr(feature = "serde", serde(rename = "KeyIdr"))]
pub key_idr: Option<Kekidentifier2>,
}
impl Validate for Recipient5Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.028.001.01")]
pub struct Recipient7Choice {
#[yaserde(rename = "KeyTrnsprt")]
#[cfg_attr(feature = "serde", serde(rename = "KeyTrnsprt"))]
pub key_trnsprt: Option<KeyTransport6>,
#[yaserde(rename = "KEK")]
#[cfg_attr(feature = "serde", serde(rename = "KEK"))]
pub kek: Option<Kek6>,
#[yaserde(rename = "KeyIdr")]
#[cfg_attr(feature = "serde", serde(rename = "KeyIdr"))]
pub key_idr: Option<Kekidentifier6>,
}
impl Validate for Recipient7Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.028.001.01")]
pub struct Reconciliation3 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Max35Text,
#[yaserde(rename = "Dt")]
#[cfg_attr(feature = "serde", serde(rename = "Dt"))]
pub dt: Isodate,
#[yaserde(rename = "ChckptRef")]
#[cfg_attr(feature = "serde", serde(rename = "ChckptRef"))]
pub chckpt_ref: Max35Text,
}
impl Validate for Reconciliation3 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.028.001.01")]
pub struct RelativeDistinguishedName1 {
#[yaserde(rename = "AttrTp")]
#[cfg_attr(feature = "serde", serde(rename = "AttrTp"))]
pub attr_tp: AttributeType1Code,
#[yaserde(rename = "AttrVal")]
#[cfg_attr(feature = "serde", serde(rename = "AttrVal"))]
pub attr_val: Max140Text,
}
impl Validate for RelativeDistinguishedName1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(PartialEq, Debug, Clone, YaSerialize, YaDeserialize)]#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.028.001.01")]
pub enum Response8Code {
#[yaserde(rename = "PRCS")]
#[cfg_attr(feature = "serde", serde(rename = "PRCS"))]
Prcs,
#[yaserde(rename = "UNPR")]
#[cfg_attr(feature = "serde", serde(rename = "UNPR"))]
Unpr,
#[yaserde(rename = "UNRV")]
#[cfg_attr(feature = "serde", serde(rename = "UNRV"))]
Unrv,
#[yaserde(rename = "REJT")]
#[cfg_attr(feature = "serde", serde(rename = "REJT"))]
Rejt,
#[yaserde(rename = "TECH")]
#[cfg_attr(feature = "serde", serde(rename = "TECH"))]
Tech,
#[yaserde(rename = "OTHN")]
#[cfg_attr(feature = "serde", serde(rename = "OTHN"))]
Othn,
#[yaserde(rename = "OTHP")]
#[cfg_attr(feature = "serde", serde(rename = "OTHP"))]
Othp,
__Unknown__(String),
}
impl Default for Response8Code {
fn default() -> Response8Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for Response8Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.028.001.01")]
pub struct ResultData1 {
#[yaserde(rename = "Rslt")]
#[cfg_attr(feature = "serde", serde(rename = "Rslt"))]
pub rslt: Response8Code,
#[yaserde(rename = "OthrRslt")]
#[cfg_attr(feature = "serde", serde(rename = "OthrRslt"))]
pub othr_rslt: Max35Text,
#[yaserde(rename = "RsltDtls")]
#[cfg_attr(feature = "serde", serde(rename = "RsltDtls"))]
pub rslt_dtls: Exact2AlphaNumericText,
#[yaserde(rename = "OthrRsltDtls")]
#[cfg_attr(feature = "serde", serde(rename = "OthrRsltDtls"))]
pub othr_rslt_dtls: Max35Text,
#[yaserde(rename = "AddtlRsltInf")]
#[cfg_attr(feature = "serde", serde(rename = "AddtlRsltInf"))]
pub addtl_rslt_inf: Vec<AdditionalData1>,
}
impl Validate for ResultData1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.028.001.01")]
pub struct SettlementReportingEntity1 {
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: Max35Text,
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Max35Text,
}
impl Validate for SettlementReportingEntity1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.028.001.01")]
pub struct SettlementService2 {
#[yaserde(rename = "SttlmSvcApld")]
#[cfg_attr(feature = "serde", serde(rename = "SttlmSvcApld"))]
pub sttlm_svc_apld: SettlementServiceMode1,
#[yaserde(rename = "SttlmSvcDts")]
#[cfg_attr(feature = "serde", serde(rename = "SttlmSvcDts"))]
pub sttlm_svc_dts: SettlementServiceDate1,
#[yaserde(rename = "SttlmRptgNtty")]
#[cfg_attr(feature = "serde", serde(rename = "SttlmRptgNtty"))]
pub sttlm_rptg_ntty: SettlementReportingEntity1,
}
impl Validate for SettlementService2 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.028.001.01")]
pub struct SettlementServiceDate1 {
#[yaserde(rename = "ReqdSttlmDt")]
#[cfg_attr(feature = "serde", serde(rename = "ReqdSttlmDt"))]
pub reqd_sttlm_dt: Isodate,
#[yaserde(rename = "SttlmDt")]
#[cfg_attr(feature = "serde", serde(rename = "SttlmDt"))]
pub sttlm_dt: Isodate,
#[yaserde(rename = "SttlmTm")]
#[cfg_attr(feature = "serde", serde(rename = "SttlmTm"))]
pub sttlm_tm: Isotime,
#[yaserde(rename = "SttlmPrd")]
#[cfg_attr(feature = "serde", serde(rename = "SttlmPrd"))]
pub sttlm_prd: Max35Text,
#[yaserde(rename = "SttlmCutOffTm")]
#[cfg_attr(feature = "serde", serde(rename = "SttlmCutOffTm"))]
pub sttlm_cut_off_tm: IsodateTime,
}
impl Validate for SettlementServiceDate1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.028.001.01")]
pub struct SettlementServiceMode1 {
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: Max35Text,
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Max35Text,
#[yaserde(rename = "ShrtNm")]
#[cfg_attr(feature = "serde", serde(rename = "ShrtNm"))]
pub shrt_nm: Max35Text,
#[yaserde(rename = "SttlmPrty")]
#[cfg_attr(feature = "serde", serde(rename = "SttlmPrty"))]
pub sttlm_prty: Priority3Code,
}
impl Validate for SettlementServiceMode1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.028.001.01")]
pub struct SupplementaryData1 {
#[yaserde(rename = "PlcAndNm")]
#[cfg_attr(feature = "serde", serde(rename = "PlcAndNm"))]
pub plc_and_nm: Max350Text,
#[yaserde(rename = "Envlp")]
#[cfg_attr(feature = "serde", serde(rename = "Envlp"))]
pub envlp: SupplementaryDataEnvelope1,
}
impl Validate for SupplementaryData1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.028.001.01")]
pub struct SupplementaryDataEnvelope1 {}
impl Validate for SupplementaryDataEnvelope1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.028.001.01")]
pub struct Terminal2 {
#[yaserde(rename = "TermnlId")]
#[cfg_attr(feature = "serde", serde(rename = "TermnlId"))]
pub termnl_id: TerminalIdentification1,
}
impl Validate for Terminal2 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.028.001.01")]
pub struct TerminalIdentification1 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Max16Text,
#[yaserde(rename = "Assgnr")]
#[cfg_attr(feature = "serde", serde(rename = "Assgnr"))]
pub assgnr: Max35Text,
#[yaserde(rename = "Ctry")]
#[cfg_attr(feature = "serde", serde(rename = "Ctry"))]
pub ctry: Min2Max3AlphaText,
#[yaserde(rename = "ShrtNm")]
#[cfg_attr(feature = "serde", serde(rename = "ShrtNm"))]
pub shrt_nm: Max35Text,
}
impl Validate for TerminalIdentification1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.028.001.01")]
pub struct Token1 {
#[yaserde(rename = "PmtTkn")]
#[cfg_attr(feature = "serde", serde(rename = "PmtTkn"))]
pub pmt_tkn: Max19NumericText,
#[yaserde(rename = "TknXpryDt")]
#[cfg_attr(feature = "serde", serde(rename = "TknXpryDt"))]
pub tkn_xpry_dt: Exact4NumericText,
#[yaserde(rename = "TknRqstrId")]
#[cfg_attr(feature = "serde", serde(rename = "TknRqstrId"))]
pub tkn_rqstr_id: Max11NumericText,
#[yaserde(rename = "TknAssrncData")]
#[cfg_attr(feature = "serde", serde(rename = "TknAssrncData"))]
pub tkn_assrnc_data: Max140Text,
#[yaserde(rename = "TknAssrncMtd")]
#[cfg_attr(feature = "serde", serde(rename = "TknAssrncMtd"))]
pub tkn_assrnc_mtd: Max2NumericText,
#[yaserde(rename = "TknInittdInd")]
#[cfg_attr(feature = "serde", serde(rename = "TknInittdInd"))]
pub tkn_inittd_ind: TrueFalseIndicator,
}
impl Validate for Token1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.028.001.01")]
pub struct Traceability7 {
#[yaserde(rename = "RlayId")]
#[cfg_attr(feature = "serde", serde(rename = "RlayId"))]
pub rlay_id: GenericIdentification172,
#[yaserde(rename = "TracDtTmIn")]
#[cfg_attr(feature = "serde", serde(rename = "TracDtTmIn"))]
pub trac_dt_tm_in: IsodateTime,
#[yaserde(rename = "TracDtTmOut")]
#[cfg_attr(feature = "serde", serde(rename = "TracDtTmOut"))]
pub trac_dt_tm_out: IsodateTime,
}
impl Validate for Traceability7 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.028.001.01")]
pub struct Transaction97 {
#[yaserde(rename = "MsgRsn")]
#[cfg_attr(feature = "serde", serde(rename = "MsgRsn"))]
pub msg_rsn: Vec<Exact4NumericText>,
#[yaserde(rename = "AltrnMsgRsn")]
#[cfg_attr(feature = "serde", serde(rename = "AltrnMsgRsn"))]
pub altrn_msg_rsn: Vec<Max35Text>,
#[yaserde(rename = "TxId")]
#[cfg_attr(feature = "serde", serde(rename = "TxId"))]
pub tx_id: TransactionIdentification10,
#[yaserde(rename = "TxAmts")]
#[cfg_attr(feature = "serde", serde(rename = "TxAmts"))]
pub tx_amts: TransactionAmounts1,
#[yaserde(rename = "DsptData")]
#[cfg_attr(feature = "serde", serde(rename = "DsptData"))]
pub dspt_data: DisputeData1,
#[yaserde(rename = "AddtlFees")]
#[cfg_attr(feature = "serde", serde(rename = "AddtlFees"))]
pub addtl_fees: Vec<AdditionalFee1>,
#[yaserde(rename = "AddtlInf")]
#[cfg_attr(feature = "serde", serde(rename = "AddtlInf"))]
pub addtl_inf: AdditionalInformation20,
#[yaserde(rename = "AddtlData")]
#[cfg_attr(feature = "serde", serde(rename = "AddtlData"))]
pub addtl_data: Vec<AdditionalData1>,
}
impl Validate for Transaction97 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.028.001.01")]
pub struct TransactionAmount1 {
#[yaserde(rename = "Amt")]
#[cfg_attr(feature = "serde", serde(rename = "Amt"))]
pub amt: ImpliedCurrencyAndAmount,
#[yaserde(rename = "Ccy")]
#[cfg_attr(feature = "serde", serde(rename = "Ccy"))]
pub ccy: Iso3NumericCurrencyCode,
}
impl Validate for TransactionAmount1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.028.001.01")]
pub struct TransactionAmounts1 {
#[yaserde(rename = "AmtQlfr")]
#[cfg_attr(feature = "serde", serde(rename = "AmtQlfr"))]
pub amt_qlfr: TypeOfAmount11Code,
#[yaserde(rename = "TxAmt")]
#[cfg_attr(feature = "serde", serde(rename = "TxAmt"))]
pub tx_amt: TransactionAmount1,
#[yaserde(rename = "CrdhldrBllgAmt")]
#[cfg_attr(feature = "serde", serde(rename = "CrdhldrBllgAmt"))]
pub crdhldr_bllg_amt: Amount4,
#[yaserde(rename = "RcncltnAmt")]
#[cfg_attr(feature = "serde", serde(rename = "RcncltnAmt"))]
pub rcncltn_amt: Amount4,
#[yaserde(rename = "DtldAmt")]
#[cfg_attr(feature = "serde", serde(rename = "DtldAmt"))]
pub dtld_amt: Vec<DetailedAmount19>,
#[yaserde(rename = "OrgnlTxAmts")]
#[cfg_attr(feature = "serde", serde(rename = "OrgnlTxAmts"))]
pub orgnl_tx_amts: OriginalTransactionAmount1,
}
impl Validate for TransactionAmounts1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.028.001.01")]
pub struct TransactionContext3 {
#[yaserde(rename = "MrchntCtgyCd")]
#[cfg_attr(feature = "serde", serde(rename = "MrchntCtgyCd"))]
pub mrchnt_ctgy_cd: Exact4NumericText,
#[yaserde(rename = "TxInitr")]
#[cfg_attr(feature = "serde", serde(rename = "TxInitr"))]
pub tx_initr: TransactionInitiator1Code,
#[yaserde(rename = "CardPrgrmmApld")]
#[cfg_attr(feature = "serde", serde(rename = "CardPrgrmmApld"))]
pub card_prgrmm_apld: CardProgrammeMode1,
#[yaserde(rename = "SttlmSvc")]
#[cfg_attr(feature = "serde", serde(rename = "SttlmSvc"))]
pub sttlm_svc: SettlementService2,
#[yaserde(rename = "Rcncltn")]
#[cfg_attr(feature = "serde", serde(rename = "Rcncltn"))]
pub rcncltn: Reconciliation3,
}
impl Validate for TransactionContext3 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.028.001.01")]
pub struct TransactionIdentification10 {
#[yaserde(rename = "LclDtTm")]
#[cfg_attr(feature = "serde", serde(rename = "LclDtTm"))]
pub lcl_dt_tm: IsodateTime,
#[yaserde(rename = "TmZone")]
#[cfg_attr(feature = "serde", serde(rename = "TmZone"))]
pub tm_zone: Max70Text,
#[yaserde(rename = "TxRef")]
#[cfg_attr(feature = "serde", serde(rename = "TxRef"))]
pub tx_ref: Max35Text,
#[yaserde(rename = "TrnsmssnDtTm")]
#[cfg_attr(feature = "serde", serde(rename = "TrnsmssnDtTm"))]
pub trnsmssn_dt_tm: IsodateTime,
#[yaserde(rename = "SysTracAudtNb")]
#[cfg_attr(feature = "serde", serde(rename = "SysTracAudtNb"))]
pub sys_trac_audt_nb: Max12NumericText,
#[yaserde(rename = "RtrvlRefNb")]
#[cfg_attr(feature = "serde", serde(rename = "RtrvlRefNb"))]
pub rtrvl_ref_nb: Exact12Text,
#[yaserde(rename = "LifeCyclSpprtInd")]
#[cfg_attr(feature = "serde", serde(rename = "LifeCyclSpprtInd"))]
pub life_cycl_spprt_ind: Exact2NumericText,
#[yaserde(rename = "LifeCyclTracIdData")]
#[cfg_attr(feature = "serde", serde(rename = "LifeCyclTracIdData"))]
pub life_cycl_trac_id_data: TransactionLifeCycleIdentification1,
#[yaserde(rename = "LifeCyclTracIdMssng")]
#[cfg_attr(feature = "serde", serde(rename = "LifeCyclTracIdMssng"))]
pub life_cycl_trac_id_mssng: Max70Text,
#[yaserde(rename = "AcqrrRefData")]
#[cfg_attr(feature = "serde", serde(rename = "AcqrrRefData"))]
pub acqrr_ref_data: Max99Text,
#[yaserde(rename = "AcqrrRefNb")]
#[cfg_attr(feature = "serde", serde(rename = "AcqrrRefNb"))]
pub acqrr_ref_nb: Max23NumericText,
#[yaserde(rename = "CardIssrRefData")]
#[cfg_attr(feature = "serde", serde(rename = "CardIssrRefData"))]
pub card_issr_ref_data: Max1000Text,
}
impl Validate for TransactionIdentification10 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(PartialEq, Debug, Clone, YaSerialize, YaDeserialize)]#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.028.001.01")]
pub enum TransactionInitiator1Code {
#[yaserde(rename = "MERC")]
#[cfg_attr(feature = "serde", serde(rename = "MERC"))]
Merc,
#[yaserde(rename = "CUST")]
#[cfg_attr(feature = "serde", serde(rename = "CUST"))]
Cust,
__Unknown__(String),
}
impl Default for TransactionInitiator1Code {
fn default() -> TransactionInitiator1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for TransactionInitiator1Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.028.001.01")]
pub struct TransactionLifeCycleIdentification1 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Exact15Text,
#[yaserde(rename = "AuthstnSeqNb")]
#[cfg_attr(feature = "serde", serde(rename = "AuthstnSeqNb"))]
pub authstn_seq_nb: Exact2NumericText,
#[yaserde(rename = "PresntmntSeqNb")]
#[cfg_attr(feature = "serde", serde(rename = "PresntmntSeqNb"))]
pub presntmnt_seq_nb: Exact2NumericText,
#[yaserde(rename = "PresntmntSeqCnt")]
#[cfg_attr(feature = "serde", serde(rename = "PresntmntSeqCnt"))]
pub presntmnt_seq_cnt: Exact2NumericText,
#[yaserde(rename = "AuthntcnTkn")]
#[cfg_attr(feature = "serde", serde(rename = "AuthntcnTkn"))]
pub authntcn_tkn: Max35Text,
}
impl Validate for TransactionLifeCycleIdentification1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct TrueFalseIndicator (pub bool);
crate::simple_type!(TrueFalseIndicator);
impl Validate for TrueFalseIndicator {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(PartialEq, Debug, Clone, YaSerialize, YaDeserialize)]#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.028.001.01")]
pub enum TypeOfAmount10Code {
#[yaserde(rename = "INTC")]
#[cfg_attr(feature = "serde", serde(rename = "INTC"))]
Intc,
#[yaserde(rename = "FEEP")]
#[cfg_attr(feature = "serde", serde(rename = "FEEP"))]
Feep,
#[yaserde(rename = "OTHN")]
#[cfg_attr(feature = "serde", serde(rename = "OTHN"))]
Othn,
#[yaserde(rename = "OTHP")]
#[cfg_attr(feature = "serde", serde(rename = "OTHP"))]
Othp,
#[yaserde(rename = "FEEA")]
#[cfg_attr(feature = "serde", serde(rename = "FEEA"))]
Feea,
__Unknown__(String),
}
impl Default for TypeOfAmount10Code {
fn default() -> TypeOfAmount10Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for TypeOfAmount10Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(PartialEq, Debug, Clone, YaSerialize, YaDeserialize)]#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.028.001.01")]
pub enum TypeOfAmount11Code {
#[yaserde(rename = "ACTL")]
#[cfg_attr(feature = "serde", serde(rename = "ACTL"))]
Actl,
#[yaserde(rename = "DFLT")]
#[cfg_attr(feature = "serde", serde(rename = "DFLT"))]
Dflt,
#[yaserde(rename = "ESTM")]
#[cfg_attr(feature = "serde", serde(rename = "ESTM"))]
Estm,
#[yaserde(rename = "MAXI")]
#[cfg_attr(feature = "serde", serde(rename = "MAXI"))]
Maxi,
#[yaserde(rename = "RESD")]
#[cfg_attr(feature = "serde", serde(rename = "RESD"))]
Resd,
#[yaserde(rename = "PRXY")]
#[cfg_attr(feature = "serde", serde(rename = "PRXY"))]
Prxy,
#[yaserde(rename = "DPST")]
#[cfg_attr(feature = "serde", serde(rename = "DPST"))]
Dpst,
__Unknown__(String),
}
impl Default for TypeOfAmount11Code {
fn default() -> TypeOfAmount11Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for TypeOfAmount11Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(PartialEq, Debug, Clone, YaSerialize, YaDeserialize)]#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.028.001.01")]
pub enum UserInterface6Code {
#[yaserde(rename = "CDSP")]
#[cfg_attr(feature = "serde", serde(rename = "CDSP"))]
Cdsp,
#[yaserde(rename = "CRCP")]
#[cfg_attr(feature = "serde", serde(rename = "CRCP"))]
Crcp,
#[yaserde(rename = "MDSP")]
#[cfg_attr(feature = "serde", serde(rename = "MDSP"))]
Mdsp,
#[yaserde(rename = "MRCP")]
#[cfg_attr(feature = "serde", serde(rename = "MRCP"))]
Mrcp,
#[yaserde(rename = "CRDO")]
#[cfg_attr(feature = "serde", serde(rename = "CRDO"))]
Crdo,
#[yaserde(rename = "FILE")]
#[cfg_attr(feature = "serde", serde(rename = "FILE"))]
File,
#[yaserde(rename = "CHAP")]
#[cfg_attr(feature = "serde", serde(rename = "CHAP"))]
Chap,
#[yaserde(rename = "MRAP")]
#[cfg_attr(feature = "serde", serde(rename = "MRAP"))]
Mrap,
#[yaserde(rename = "MRIN")]
#[cfg_attr(feature = "serde", serde(rename = "MRIN"))]
Mrin,
__Unknown__(String),
}
impl Default for UserInterface6Code {
fn default() -> UserInterface6Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for UserInterface6Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct YesNoIndicator (pub bool);
crate::simple_type!(YesNoIndicator);
impl Validate for YesNoIndicator {}
impl crate::MxMessage for Document {
const BUSINESS_AREA: crate::BusinessArea = crate::BusinessArea::cain;
const FUNCTIONALITY: &'static str = "028";
const VARIANT: &'static str = "001";
const VERSION: &'static str = "01";
const MESSAGE_NAME: &'static str = "cain.028.001.01";
const NAMESPACE: &'static str = "urn:iso:std:iso:20022:tech:xsd:cain.028.001.01";
}