#![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.001.001.05")]
pub struct AticalaxProcessing {}
impl Validate for AticalaxProcessing {}
#[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.001.001.05")]
pub enum AticapartyType1Code {
#[yaserde(rename = "ACCP")]
#[cfg_attr(feature = "serde", serde(rename = "ACCP"))]
Accp,
#[yaserde(rename = "ACQR")]
#[cfg_attr(feature = "serde", serde(rename = "ACQR"))]
Acqr,
#[yaserde(rename = "ICCA")]
#[cfg_attr(feature = "serde", serde(rename = "ICCA"))]
Icca,
#[yaserde(rename = "CISS")]
#[cfg_attr(feature = "serde", serde(rename = "CISS"))]
Ciss,
#[yaserde(rename = "DLIS")]
#[cfg_attr(feature = "serde", serde(rename = "DLIS"))]
Dlis,
#[yaserde(rename = "AGNT")]
#[cfg_attr(feature = "serde", serde(rename = "AGNT"))]
Agnt,
#[yaserde(rename = "ACQP")]
#[cfg_attr(feature = "serde", serde(rename = "ACQP"))]
Acqp,
#[yaserde(rename = "CISP")]
#[cfg_attr(feature = "serde", serde(rename = "CISP"))]
Cisp,
#[yaserde(rename = "WLPR")]
#[cfg_attr(feature = "serde", serde(rename = "WLPR"))]
Wlpr,
#[yaserde(rename = "PASP")]
#[cfg_attr(feature = "serde", serde(rename = "PASP"))]
Pasp,
__Unknown__(String),
}
impl Default for AticapartyType1Code {
fn default() -> AticapartyType1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for AticapartyType1Code {}
#[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.001.001.05")]
pub struct AcceptorData1 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Max35Text,
#[yaserde(rename = "SchmeAssgndId")]
#[cfg_attr(feature = "serde", serde(rename = "SchmeAssgndId"))]
pub schme_assgnd_id: Max15AlphaNumericText,
#[yaserde(rename = "BizNm")]
#[cfg_attr(feature = "serde", serde(rename = "BizNm"))]
pub biz_nm: Max35Text,
#[yaserde(rename = "LglCorpNm")]
#[cfg_attr(feature = "serde", serde(rename = "LglCorpNm"))]
pub lgl_corp_nm: Max99Text,
#[yaserde(rename = "NmAndLctn")]
#[cfg_attr(feature = "serde", serde(rename = "NmAndLctn"))]
pub nm_and_lctn: Max99Text,
#[yaserde(rename = "Adr")]
#[cfg_attr(feature = "serde", serde(rename = "Adr"))]
pub adr: Address4,
#[yaserde(rename = "AddtlAdr")]
#[cfg_attr(feature = "serde", serde(rename = "AddtlAdr"))]
pub addtl_adr: Max256Text,
#[yaserde(rename = "Email")]
#[cfg_attr(feature = "serde", serde(rename = "Email"))]
pub email: Max256Text,
#[yaserde(rename = "URL")]
#[cfg_attr(feature = "serde", serde(rename = "URL"))]
pub url: Max256Text,
#[yaserde(rename = "Phne")]
#[cfg_attr(feature = "serde", serde(rename = "Phne"))]
pub phne: Max35Text,
#[yaserde(rename = "CstmrSvc")]
#[cfg_attr(feature = "serde", serde(rename = "CstmrSvc"))]
pub cstmr_svc: Max35Text,
#[yaserde(rename = "AddtlCtct")]
#[cfg_attr(feature = "serde", serde(rename = "AddtlCtct"))]
pub addtl_ctct: Max256Text,
#[yaserde(rename = "BizRegnId")]
#[cfg_attr(feature = "serde", serde(rename = "BizRegnId"))]
pub biz_regn_id: Max35Text,
#[yaserde(rename = "BizRegnIdTp")]
#[cfg_attr(feature = "serde", serde(rename = "BizRegnIdTp"))]
pub biz_regn_id_tp: Max35Text,
#[yaserde(rename = "SvcLctn")]
#[cfg_attr(feature = "serde", serde(rename = "SvcLctn"))]
pub svc_lctn: Address4,
#[yaserde(rename = "LclData")]
#[cfg_attr(feature = "serde", serde(rename = "LclData"))]
pub lcl_data: Vec<LocalData19>,
#[yaserde(rename = "AddtlTxRefNb")]
#[cfg_attr(feature = "serde", serde(rename = "AddtlTxRefNb"))]
pub addtl_tx_ref_nb: Max70Text,
#[yaserde(rename = "CorpTaxId")]
#[cfg_attr(feature = "serde", serde(rename = "CorpTaxId"))]
pub corp_tax_id: Max35Text,
#[yaserde(rename = "CorpTaxIdTp")]
#[cfg_attr(feature = "serde", serde(rename = "CorpTaxIdTp"))]
pub corp_tax_id_tp: CorporateTaxType1Code,
#[yaserde(rename = "BizTp")]
#[cfg_attr(feature = "serde", serde(rename = "BizTp"))]
pub biz_tp: Max35Text,
#[yaserde(rename = "BizTpPrvddBy")]
#[cfg_attr(feature = "serde", serde(rename = "BizTpPrvddBy"))]
pub biz_tp_prvdd_by: Max35Text,
#[yaserde(rename = "OwnrTp")]
#[cfg_attr(feature = "serde", serde(rename = "OwnrTp"))]
pub ownr_tp: Max35Text,
#[yaserde(rename = "OwnrTpPrvddBy")]
#[cfg_attr(feature = "serde", serde(rename = "OwnrTpPrvddBy"))]
pub ownr_tp_prvdd_by: Max35Text,
#[yaserde(rename = "CertfctnTp")]
#[cfg_attr(feature = "serde", serde(rename = "CertfctnTp"))]
pub certfctn_tp: Max35Text,
#[yaserde(rename = "CertfctnTpPrvddBy")]
#[cfg_attr(feature = "serde", serde(rename = "CertfctnTpPrvddBy"))]
pub certfctn_tp_prvdd_by: Max35Text,
#[yaserde(rename = "OwnrEthnctyTp")]
#[cfg_attr(feature = "serde", serde(rename = "OwnrEthnctyTp"))]
pub ownr_ethncty_tp: Max35Text,
#[yaserde(rename = "OwnrEthnctyTpPrvddBy")]
#[cfg_attr(feature = "serde", serde(rename = "OwnrEthnctyTpPrvddBy"))]
pub ownr_ethncty_tp_prvdd_by: Max35Text,
#[yaserde(rename = "PrtnrId")]
#[cfg_attr(feature = "serde", serde(rename = "PrtnrId"))]
pub prtnr_id: Max35Text,
#[yaserde(rename = "PrvtData")]
#[cfg_attr(feature = "serde", serde(rename = "PrvtData"))]
pub prvt_data: Vec<AticalaxProcessing>,
#[yaserde(rename = "NtlData")]
#[cfg_attr(feature = "serde", serde(rename = "NtlData"))]
pub ntl_data: Vec<AticalaxProcessing>,
}
impl Validate for AcceptorData1 {}
#[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.001.001.05")]
pub struct AccountBalance4 {
#[yaserde(rename = "AcctTp")]
#[cfg_attr(feature = "serde", serde(rename = "AcctTp"))]
pub acct_tp: Iso8583AccountTypeCode,
#[yaserde(rename = "Bal")]
#[cfg_attr(feature = "serde", serde(rename = "Bal"))]
pub bal: Vec<CardAccountBalance1>,
}
impl Validate for AccountBalance4 {}
#[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.001.001.05")]
pub struct AccountDetails4 {
#[yaserde(rename = "Nm")]
#[cfg_attr(feature = "serde", serde(rename = "Nm"))]
pub nm: Max70Text,
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: Iso8583AccountTypeCode,
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Max70Text,
}
impl Validate for AccountDetails4 {}
#[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.001.001.05")]
pub struct AcquirerData1 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Max11NumericText,
#[yaserde(rename = "BizId")]
#[cfg_attr(feature = "serde", serde(rename = "BizId"))]
pub biz_id: Max15AlphaNumericText,
#[yaserde(rename = "Ctry")]
#[cfg_attr(feature = "serde", serde(rename = "Ctry"))]
pub ctry: Iso3NumericCountryCode,
#[yaserde(rename = "BizNm")]
#[cfg_attr(feature = "serde", serde(rename = "BizNm"))]
pub biz_nm: Max35Text,
#[yaserde(rename = "LglCorpNm")]
#[cfg_attr(feature = "serde", serde(rename = "LglCorpNm"))]
pub lgl_corp_nm: Max99Text,
#[yaserde(rename = "Adr")]
#[cfg_attr(feature = "serde", serde(rename = "Adr"))]
pub adr: Address4,
#[yaserde(rename = "PrvtData")]
#[cfg_attr(feature = "serde", serde(rename = "PrvtData"))]
pub prvt_data: Vec<AticalaxProcessing>,
#[yaserde(rename = "NtlData")]
#[cfg_attr(feature = "serde", serde(rename = "NtlData"))]
pub ntl_data: Vec<AticalaxProcessing>,
#[yaserde(rename = "LclData")]
#[cfg_attr(feature = "serde", serde(rename = "LclData"))]
pub lcl_data: Vec<LocalData20>,
}
impl Validate for AcquirerData1 {}
#[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.001.001.05")]
pub enum AddendumTaxType4Code {
#[yaserde(rename = "TOTL")]
#[cfg_attr(feature = "serde", serde(rename = "TOTL"))]
Totl,
#[yaserde(rename = "ALMI")]
#[cfg_attr(feature = "serde", serde(rename = "ALMI"))]
Almi,
#[yaserde(rename = "ASNT")]
#[cfg_attr(feature = "serde", serde(rename = "ASNT"))]
Asnt,
#[yaserde(rename = "BPTX")]
#[cfg_attr(feature = "serde", serde(rename = "BPTX"))]
Bptx,
#[yaserde(rename = "KAPA")]
#[cfg_attr(feature = "serde", serde(rename = "KAPA"))]
Kapa,
#[yaserde(rename = "NKAP")]
#[cfg_attr(feature = "serde", serde(rename = "NKAP"))]
Nkap,
#[yaserde(rename = "CRTX")]
#[cfg_attr(feature = "serde", serde(rename = "CRTX"))]
Crtx,
#[yaserde(rename = "CSTX")]
#[cfg_attr(feature = "serde", serde(rename = "CSTX"))]
Cstx,
#[yaserde(rename = "CITX")]
#[cfg_attr(feature = "serde", serde(rename = "CITX"))]
Citx,
#[yaserde(rename = "COAX")]
#[cfg_attr(feature = "serde", serde(rename = "COAX"))]
Coax,
#[yaserde(rename = "CPST")]
#[cfg_attr(feature = "serde", serde(rename = "CPST"))]
Cpst,
#[yaserde(rename = "CORT")]
#[cfg_attr(feature = "serde", serde(rename = "CORT"))]
Cort,
#[yaserde(rename = "COTX")]
#[cfg_attr(feature = "serde", serde(rename = "COTX"))]
Cotx,
#[yaserde(rename = "CUST")]
#[cfg_attr(feature = "serde", serde(rename = "CUST"))]
Cust,
#[yaserde(rename = "DLTX")]
#[cfg_attr(feature = "serde", serde(rename = "DLTX"))]
Dltx,
#[yaserde(rename = "DUTY")]
#[cfg_attr(feature = "serde", serde(rename = "DUTY"))]
Duty,
#[yaserde(rename = "EMIT")]
#[cfg_attr(feature = "serde", serde(rename = "EMIT"))]
Emit,
#[yaserde(rename = "EMUT")]
#[cfg_attr(feature = "serde", serde(rename = "EMUT"))]
Emut,
#[yaserde(rename = "EMET")]
#[cfg_attr(feature = "serde", serde(rename = "EMET"))]
Emet,
#[yaserde(rename = "EMST")]
#[cfg_attr(feature = "serde", serde(rename = "EMST"))]
Emst,
#[yaserde(rename = "EMRT")]
#[cfg_attr(feature = "serde", serde(rename = "EMRT"))]
Emrt,
#[yaserde(rename = "ENTX")]
#[cfg_attr(feature = "serde", serde(rename = "ENTX"))]
Entx,
#[yaserde(rename = "ESET")]
#[cfg_attr(feature = "serde", serde(rename = "ESET"))]
Eset,
#[yaserde(rename = "ENVT")]
#[cfg_attr(feature = "serde", serde(rename = "ENVT"))]
Envt,
#[yaserde(rename = "EQUL")]
#[cfg_attr(feature = "serde", serde(rename = "EQUL"))]
Equl,
#[yaserde(rename = "EQTX")]
#[cfg_attr(feature = "serde", serde(rename = "EQTX"))]
Eqtx,
#[yaserde(rename = "EUTR")]
#[cfg_attr(feature = "serde", serde(rename = "EUTR"))]
Eutr,
#[yaserde(rename = "EXEC")]
#[cfg_attr(feature = "serde", serde(rename = "EXEC"))]
Exec,
#[yaserde(rename = "FEXT")]
#[cfg_attr(feature = "serde", serde(rename = "FEXT"))]
Fext,
#[yaserde(rename = "FNST")]
#[cfg_attr(feature = "serde", serde(rename = "FNST"))]
Fnst,
#[yaserde(rename = "FETX")]
#[cfg_attr(feature = "serde", serde(rename = "FETX"))]
Fetx,
#[yaserde(rename = "FVAT")]
#[cfg_attr(feature = "serde", serde(rename = "FVAT"))]
Fvat,
#[yaserde(rename = "FVTS")]
#[cfg_attr(feature = "serde", serde(rename = "FVTS"))]
Fvts,
#[yaserde(rename = "FIMT")]
#[cfg_attr(feature = "serde", serde(rename = "FIMT"))]
Fimt,
#[yaserde(rename = "FSST")]
#[cfg_attr(feature = "serde", serde(rename = "FSST"))]
Fsst,
#[yaserde(rename = "FICA")]
#[cfg_attr(feature = "serde", serde(rename = "FICA"))]
Fica,
#[yaserde(rename = "FRTX")]
#[cfg_attr(feature = "serde", serde(rename = "FRTX"))]
Frtx,
#[yaserde(rename = "FSTX")]
#[cfg_attr(feature = "serde", serde(rename = "FSTX"))]
Fstx,
#[yaserde(rename = "FSFT")]
#[cfg_attr(feature = "serde", serde(rename = "FSFT"))]
Fsft,
#[yaserde(rename = "FUVT")]
#[cfg_attr(feature = "serde", serde(rename = "FUVT"))]
Fuvt,
#[yaserde(rename = "GIFT")]
#[cfg_attr(feature = "serde", serde(rename = "GIFT"))]
Gift,
#[yaserde(rename = "GCAT")]
#[cfg_attr(feature = "serde", serde(rename = "GCAT"))]
Gcat,
#[yaserde(rename = "GRTX")]
#[cfg_attr(feature = "serde", serde(rename = "GRTX"))]
Grtx,
#[yaserde(rename = "HVAT")]
#[cfg_attr(feature = "serde", serde(rename = "HVAT"))]
Hvat,
#[yaserde(rename = "HATX")]
#[cfg_attr(feature = "serde", serde(rename = "HATX"))]
Hatx,
#[yaserde(rename = "HSTX")]
#[cfg_attr(feature = "serde", serde(rename = "HSTX"))]
Hstx,
#[yaserde(rename = "HWTX")]
#[cfg_attr(feature = "serde", serde(rename = "HWTX"))]
Hwtx,
#[yaserde(rename = "INHT")]
#[cfg_attr(feature = "serde", serde(rename = "INHT"))]
Inht,
#[yaserde(rename = "INPO")]
#[cfg_attr(feature = "serde", serde(rename = "INPO"))]
Inpo,
#[yaserde(rename = "LTTX")]
#[cfg_attr(feature = "serde", serde(rename = "LTTX"))]
Lttx,
#[yaserde(rename = "FLST")]
#[cfg_attr(feature = "serde", serde(rename = "FLST"))]
Flst,
#[yaserde(rename = "LITX")]
#[cfg_attr(feature = "serde", serde(rename = "LITX"))]
Litx,
#[yaserde(rename = "LOCO")]
#[cfg_attr(feature = "serde", serde(rename = "LOCO"))]
Loco,
#[yaserde(rename = "LSTX")]
#[cfg_attr(feature = "serde", serde(rename = "LSTX"))]
Lstx,
#[yaserde(rename = "LOCL")]
#[cfg_attr(feature = "serde", serde(rename = "LOCL"))]
Locl,
#[yaserde(rename = "LUTX")]
#[cfg_attr(feature = "serde", serde(rename = "LUTX"))]
Lutx,
#[yaserde(rename = "MATX")]
#[cfg_attr(feature = "serde", serde(rename = "MATX"))]
Matx,
#[yaserde(rename = "METX")]
#[cfg_attr(feature = "serde", serde(rename = "METX"))]
Metx,
#[yaserde(rename = "MITX")]
#[cfg_attr(feature = "serde", serde(rename = "MITX"))]
Mitx,
#[yaserde(rename = "MUTX")]
#[cfg_attr(feature = "serde", serde(rename = "MUTX"))]
Mutx,
#[yaserde(rename = "MUDE")]
#[cfg_attr(feature = "serde", serde(rename = "MUDE"))]
Mude,
#[yaserde(rename = "COUN")]
#[cfg_attr(feature = "serde", serde(rename = "COUN"))]
Coun,
#[yaserde(rename = "NATI")]
#[cfg_attr(feature = "serde", serde(rename = "NATI"))]
Nati,
#[yaserde(rename = "OCTX")]
#[cfg_attr(feature = "serde", serde(rename = "OCTX"))]
Octx,
#[yaserde(rename = "OPTX")]
#[cfg_attr(feature = "serde", serde(rename = "OPTX"))]
Optx,
#[yaserde(rename = "OTHR")]
#[cfg_attr(feature = "serde", serde(rename = "OTHR"))]
Othr,
#[yaserde(rename = "OTTX")]
#[cfg_attr(feature = "serde", serde(rename = "OTTX"))]
Ottx,
#[yaserde(rename = "LEVY")]
#[cfg_attr(feature = "serde", serde(rename = "LEVY"))]
Levy,
#[yaserde(rename = "POTX")]
#[cfg_attr(feature = "serde", serde(rename = "POTX"))]
Potx,
#[yaserde(rename = "PRTX")]
#[cfg_attr(feature = "serde", serde(rename = "PRTX"))]
Prtx,
#[yaserde(rename = "PSTX")]
#[cfg_attr(feature = "serde", serde(rename = "PSTX"))]
Pstx,
#[yaserde(rename = "PPTX")]
#[cfg_attr(feature = "serde", serde(rename = "PPTX"))]
Pptx,
#[yaserde(rename = "PROV")]
#[cfg_attr(feature = "serde", serde(rename = "PROV"))]
Prov,
#[yaserde(rename = "PHET")]
#[cfg_attr(feature = "serde", serde(rename = "PHET"))]
Phet,
#[yaserde(rename = "QUST")]
#[cfg_attr(feature = "serde", serde(rename = "QUST"))]
Qust,
#[yaserde(rename = "ROCI")]
#[cfg_attr(feature = "serde", serde(rename = "ROCI"))]
Roci,
#[yaserde(rename = "RCSB")]
#[cfg_attr(feature = "serde", serde(rename = "RCSB"))]
Rcsb,
#[yaserde(rename = "RCSD")]
#[cfg_attr(feature = "serde", serde(rename = "RCSD"))]
Rcsd,
#[yaserde(rename = "ROTX")]
#[cfg_attr(feature = "serde", serde(rename = "ROTX"))]
Rotx,
#[yaserde(rename = "RVAT")]
#[cfg_attr(feature = "serde", serde(rename = "RVAT"))]
Rvat,
#[yaserde(rename = "ROVI")]
#[cfg_attr(feature = "serde", serde(rename = "ROVI"))]
Rovi,
#[yaserde(rename = "SAUT")]
#[cfg_attr(feature = "serde", serde(rename = "SAUT"))]
Saut,
#[yaserde(rename = "SCTX")]
#[cfg_attr(feature = "serde", serde(rename = "SCTX"))]
Sctx,
#[yaserde(rename = "SPTX")]
#[cfg_attr(feature = "serde", serde(rename = "SPTX"))]
Sptx,
#[yaserde(rename = "STTA")]
#[cfg_attr(feature = "serde", serde(rename = "STTA"))]
Stta,
#[yaserde(rename = "STAM")]
#[cfg_attr(feature = "serde", serde(rename = "STAM"))]
Stam,
#[yaserde(rename = "SLST")]
#[cfg_attr(feature = "serde", serde(rename = "SLST"))]
Slst,
#[yaserde(rename = "SLTX")]
#[cfg_attr(feature = "serde", serde(rename = "SLTX"))]
Sltx,
#[yaserde(rename = "SETX")]
#[cfg_attr(feature = "serde", serde(rename = "SETX"))]
Setx,
#[yaserde(rename = "STPT")]
#[cfg_attr(feature = "serde", serde(rename = "STPT"))]
Stpt,
#[yaserde(rename = "SPTS")]
#[cfg_attr(feature = "serde", serde(rename = "SPTS"))]
Spts,
#[yaserde(rename = "SPFT")]
#[cfg_attr(feature = "serde", serde(rename = "SPFT"))]
Spft,
#[yaserde(rename = "SPTG")]
#[cfg_attr(feature = "serde", serde(rename = "SPTG"))]
Sptg,
#[yaserde(rename = "SRTX")]
#[cfg_attr(feature = "serde", serde(rename = "SRTX"))]
Srtx,
#[yaserde(rename = "SSTX")]
#[cfg_attr(feature = "serde", serde(rename = "SSTX"))]
Sstx,
#[yaserde(rename = "STAT")]
#[cfg_attr(feature = "serde", serde(rename = "STAT"))]
Stat,
#[yaserde(rename = "STSL")]
#[cfg_attr(feature = "serde", serde(rename = "STSL"))]
Stsl,
#[yaserde(rename = "STEX")]
#[cfg_attr(feature = "serde", serde(rename = "STEX"))]
Stex,
#[yaserde(rename = "SUTX")]
#[cfg_attr(feature = "serde", serde(rename = "SUTX"))]
Sutx,
#[yaserde(rename = "CTAX")]
#[cfg_attr(feature = "serde", serde(rename = "CTAX"))]
Ctax,
#[yaserde(rename = "TDDT")]
#[cfg_attr(feature = "serde", serde(rename = "TDDT"))]
Tddt,
#[yaserde(rename = "TELT")]
#[cfg_attr(feature = "serde", serde(rename = "TELT"))]
Telt,
#[yaserde(rename = "THTX")]
#[cfg_attr(feature = "serde", serde(rename = "THTX"))]
Thtx,
#[yaserde(rename = "TRAX")]
#[cfg_attr(feature = "serde", serde(rename = "TRAX"))]
Trax,
#[yaserde(rename = "TRAN")]
#[cfg_attr(feature = "serde", serde(rename = "TRAN"))]
Tran,
#[yaserde(rename = "UNSP")]
#[cfg_attr(feature = "serde", serde(rename = "UNSP"))]
Unsp,
#[yaserde(rename = "UUTX")]
#[cfg_attr(feature = "serde", serde(rename = "UUTX"))]
Uutx,
#[yaserde(rename = "VATA")]
#[cfg_attr(feature = "serde", serde(rename = "VATA"))]
Vata,
#[yaserde(rename = "VATB")]
#[cfg_attr(feature = "serde", serde(rename = "VATB"))]
Vatb,
#[yaserde(rename = "WTAX")]
#[cfg_attr(feature = "serde", serde(rename = "WTAX"))]
Wtax,
#[yaserde(rename = "WESV")]
#[cfg_attr(feature = "serde", serde(rename = "WESV"))]
Wesv,
#[yaserde(rename = "WITF")]
#[cfg_attr(feature = "serde", serde(rename = "WITF"))]
Witf,
#[yaserde(rename = "WITL")]
#[cfg_attr(feature = "serde", serde(rename = "WITL"))]
Witl,
#[yaserde(rename = "WITH")]
#[cfg_attr(feature = "serde", serde(rename = "WITH"))]
With,
#[yaserde(rename = "TNRT")]
#[cfg_attr(feature = "serde", serde(rename = "TNRT"))]
Tnrt,
#[yaserde(rename = "DPTX")]
#[cfg_attr(feature = "serde", serde(rename = "DPTX"))]
Dptx,
__Unknown__(String),
}
impl Default for AddendumTaxType4Code {
fn default() -> AddendumTaxType4Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for AddendumTaxType4Code {}
#[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.001.001.05")]
pub struct AdditionalAmounts5 {
#[yaserde(rename = "AcctTp")]
#[cfg_attr(feature = "serde", serde(rename = "AcctTp"))]
pub acct_tp: Iso8583AccountTypeCode,
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: Iso8583AmountTypeCode,
#[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: ImpliedCurrencyAndAmount,
#[yaserde(rename = "Ccy")]
#[cfg_attr(feature = "serde", serde(rename = "Ccy"))]
pub ccy: Iso3NumericCurrencyCode,
#[yaserde(rename = "CdtDbt")]
#[cfg_attr(feature = "serde", serde(rename = "CdtDbt"))]
pub cdt_dbt: CreditDebit3Code,
#[yaserde(rename = "Desc")]
#[cfg_attr(feature = "serde", serde(rename = "Desc"))]
pub desc: Max70Text,
}
impl Validate for AdditionalAmounts5 {}
#[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.001.001.05")]
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.001.001.05")]
pub struct AdditionalEnteredFleetData1 {
#[yaserde(rename = "Nmrc")]
#[cfg_attr(feature = "serde", serde(rename = "Nmrc"))]
pub nmrc: Max35NumericText,
#[yaserde(rename = "AlphaNmrc")]
#[cfg_attr(feature = "serde", serde(rename = "AlphaNmrc"))]
pub alpha_nmrc: Max350Text,
#[yaserde(rename = "PrvtData")]
#[cfg_attr(feature = "serde", serde(rename = "PrvtData"))]
pub prvt_data: Vec<AticalaxProcessing>,
#[yaserde(rename = "NtlData")]
#[cfg_attr(feature = "serde", serde(rename = "NtlData"))]
pub ntl_data: Vec<AticalaxProcessing>,
}
impl Validate for AdditionalEnteredFleetData1 {}
#[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.001.001.05")]
pub struct AdditionalFee4 {
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: Iso8583FeeTypeCode,
#[yaserde(rename = "Prgm")]
#[cfg_attr(feature = "serde", serde(rename = "Prgm"))]
pub prgm: Max35Text,
#[yaserde(rename = "Dscrptr")]
#[cfg_attr(feature = "serde", serde(rename = "Dscrptr"))]
pub dscrptr: Max35Text,
#[yaserde(rename = "Rate")]
#[cfg_attr(feature = "serde", serde(rename = "Rate"))]
pub rate: BaseOneRate,
#[yaserde(rename = "RateFix")]
#[cfg_attr(feature = "serde", serde(rename = "RateFix"))]
pub rate_fix: ImpliedCurrencyAndAmount,
#[yaserde(rename = "CdtDbt")]
#[cfg_attr(feature = "serde", serde(rename = "CdtDbt"))]
pub cdt_dbt: CreditDebit3Code,
#[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 = "RcncltnAmt")]
#[cfg_attr(feature = "serde", serde(rename = "RcncltnAmt"))]
pub rcncltn_amt: ImpliedCurrencyAndAmount,
#[yaserde(rename = "RcncltnCcy")]
#[cfg_attr(feature = "serde", serde(rename = "RcncltnCcy"))]
pub rcncltn_ccy: Iso3NumericCurrencyCode,
#[yaserde(rename = "RcncltnFctvXchgRate")]
#[cfg_attr(feature = "serde", serde(rename = "RcncltnFctvXchgRate"))]
pub rcncltn_fctv_xchg_rate: BaseOne25Rate,
#[yaserde(rename = "Assgnr")]
#[cfg_attr(feature = "serde", serde(rename = "Assgnr"))]
pub assgnr: AticapartyType1Code,
#[yaserde(rename = "Desc")]
#[cfg_attr(feature = "serde", serde(rename = "Desc"))]
pub desc: Max140Text,
}
impl Validate for AdditionalFee4 {}
#[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.001.001.05")]
pub struct AdditionalService3 {
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: AdditionalServiceType3Code,
#[yaserde(rename = "SubTp")]
#[cfg_attr(feature = "serde", serde(rename = "SubTp"))]
pub sub_tp: Max10Text,
#[yaserde(rename = "Rslt")]
#[cfg_attr(feature = "serde", serde(rename = "Rslt"))]
pub rslt: Iso8583AdditionalServiceResultCode,
#[yaserde(rename = "Dtl")]
#[cfg_attr(feature = "serde", serde(rename = "Dtl"))]
pub dtl: AticalaxProcessing,
}
impl Validate for AdditionalService3 {}
#[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.001.001.05")]
pub enum AdditionalServiceType3Code {
#[yaserde(rename = "CACT")]
#[cfg_attr(feature = "serde", serde(rename = "CACT"))]
Cact,
#[yaserde(rename = "CSHB")]
#[cfg_attr(feature = "serde", serde(rename = "CSHB"))]
Cshb,
#[yaserde(rename = "DCCV")]
#[cfg_attr(feature = "serde", serde(rename = "DCCV"))]
Dccv,
#[yaserde(rename = "INTP")]
#[cfg_attr(feature = "serde", serde(rename = "INTP"))]
Intp,
#[yaserde(rename = "INTT")]
#[cfg_attr(feature = "serde", serde(rename = "INTT"))]
Intt,
#[yaserde(rename = "LOYT")]
#[cfg_attr(feature = "serde", serde(rename = "LOYT"))]
Loyt,
#[yaserde(rename = "PRST")]
#[cfg_attr(feature = "serde", serde(rename = "PRST"))]
Prst,
#[yaserde(rename = "BALC")]
#[cfg_attr(feature = "serde", serde(rename = "BALC"))]
Balc,
#[yaserde(rename = "PVVS")]
#[cfg_attr(feature = "serde", serde(rename = "PVVS"))]
Pvvs,
#[yaserde(rename = "REAC")]
#[cfg_attr(feature = "serde", serde(rename = "REAC"))]
Reac,
#[yaserde(rename = "SAVS")]
#[cfg_attr(feature = "serde", serde(rename = "SAVS"))]
Savs,
#[yaserde(rename = "STIP")]
#[cfg_attr(feature = "serde", serde(rename = "STIP"))]
Stip,
#[yaserde(rename = "TXID")]
#[cfg_attr(feature = "serde", serde(rename = "TXID"))]
Txid,
#[yaserde(rename = "CDTL")]
#[cfg_attr(feature = "serde", serde(rename = "CDTL"))]
Cdtl,
#[yaserde(rename = "ANIQ")]
#[cfg_attr(feature = "serde", serde(rename = "ANIQ"))]
Aniq,
#[yaserde(rename = "ADCA")]
#[cfg_attr(feature = "serde", serde(rename = "ADCA"))]
Adca,
__Unknown__(String),
}
impl Default for AdditionalServiceType3Code {
fn default() -> AdditionalServiceType3Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for AdditionalServiceType3Code {}
#[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.001.001.05")]
pub struct Address4 {
#[yaserde(rename = "Line1")]
#[cfg_attr(feature = "serde", serde(rename = "Line1"))]
pub line_1: Max99Text,
#[yaserde(rename = "Line2")]
#[cfg_attr(feature = "serde", serde(rename = "Line2"))]
pub line_2: Max99Text,
#[yaserde(rename = "StrtNm")]
#[cfg_attr(feature = "serde", serde(rename = "StrtNm"))]
pub strt_nm: Max99Text,
#[yaserde(rename = "BldgNb")]
#[cfg_attr(feature = "serde", serde(rename = "BldgNb"))]
pub bldg_nb: Max16Text,
#[yaserde(rename = "PstlCd")]
#[cfg_attr(feature = "serde", serde(rename = "PstlCd"))]
pub pstl_cd: Max16Text,
#[yaserde(rename = "TwnNm")]
#[cfg_attr(feature = "serde", serde(rename = "TwnNm"))]
pub twn_nm: Max50Text,
#[yaserde(rename = "CtrySubDvsnMnr")]
#[cfg_attr(feature = "serde", serde(rename = "CtrySubDvsnMnr"))]
pub ctry_sub_dvsn_mnr: IsocountrySubDivisionCode,
#[yaserde(rename = "CtrySubDvsnMjr")]
#[cfg_attr(feature = "serde", serde(rename = "CtrySubDvsnMjr"))]
pub ctry_sub_dvsn_mjr: IsocountrySubDivisionCode,
#[yaserde(rename = "CtrySubDvsnMjrNm")]
#[cfg_attr(feature = "serde", serde(rename = "CtrySubDvsnMjrNm"))]
pub ctry_sub_dvsn_mjr_nm: Max50Text,
#[yaserde(rename = "CtrySubDvsnMnrNm")]
#[cfg_attr(feature = "serde", serde(rename = "CtrySubDvsnMnrNm"))]
pub ctry_sub_dvsn_mnr_nm: Max50Text,
#[yaserde(rename = "Ctry")]
#[cfg_attr(feature = "serde", serde(rename = "Ctry"))]
pub ctry: Isomax3ACountryCode,
#[yaserde(rename = "GeogcLctn")]
#[cfg_attr(feature = "serde", serde(rename = "GeogcLctn"))]
pub geogc_lctn: GeographicPointInDecimalDegreesText,
}
impl Validate for Address4 {}
#[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.001.001.05")]
pub struct Adjustment13 {
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: Max35Text,
#[yaserde(rename = "AddtlTp")]
#[cfg_attr(feature = "serde", serde(rename = "AddtlTp"))]
pub addtl_tp: Max35Text,
#[yaserde(rename = "Desc")]
#[cfg_attr(feature = "serde", serde(rename = "Desc"))]
pub desc: Max70Text,
#[yaserde(rename = "Rsn")]
#[cfg_attr(feature = "serde", serde(rename = "Rsn"))]
pub rsn: Max35Text,
#[yaserde(rename = "PrmtnCd")]
#[cfg_attr(feature = "serde", serde(rename = "PrmtnCd"))]
pub prmtn_cd: Max35Text,
#[yaserde(rename = "Pctg")]
#[cfg_attr(feature = "serde", serde(rename = "Pctg"))]
pub pctg: PercentageRate,
#[yaserde(rename = "Amt")]
#[cfg_attr(feature = "serde", serde(rename = "Amt"))]
pub amt: ImpliedCurrencyAndAmount,
#[yaserde(rename = "TaxOnOrgnlAmt")]
#[cfg_attr(feature = "serde", serde(rename = "TaxOnOrgnlAmt"))]
pub tax_on_orgnl_amt: TrueFalseIndicator,
}
impl Validate for Adjustment13 {}
#[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.001.001.05")]
pub struct Adjustment14 {
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: Max35Text,
#[yaserde(rename = "AddtlTp")]
#[cfg_attr(feature = "serde", serde(rename = "AddtlTp"))]
pub addtl_tp: Max35Text,
#[yaserde(rename = "Desc")]
#[cfg_attr(feature = "serde", serde(rename = "Desc"))]
pub desc: Max70Text,
#[yaserde(rename = "Rsn")]
#[cfg_attr(feature = "serde", serde(rename = "Rsn"))]
pub rsn: Max35Text,
#[yaserde(rename = "PrmtnElgblty")]
#[cfg_attr(feature = "serde", serde(rename = "PrmtnElgblty"))]
pub prmtn_elgblty: TrueFalseIndicator,
#[yaserde(rename = "PrmtnCd")]
#[cfg_attr(feature = "serde", serde(rename = "PrmtnCd"))]
pub prmtn_cd: Max35Text,
#[yaserde(rename = "PrmtnCpnNb")]
#[cfg_attr(feature = "serde", serde(rename = "PrmtnCpnNb"))]
pub prmtn_cpn_nb: Max35Text,
#[yaserde(rename = "Qty")]
#[cfg_attr(feature = "serde", serde(rename = "Qty"))]
pub qty: DecimalNumber,
#[yaserde(rename = "UnitPric")]
#[cfg_attr(feature = "serde", serde(rename = "UnitPric"))]
pub unit_pric: ImpliedCurrencyAndAmount,
#[yaserde(rename = "Pctg")]
#[cfg_attr(feature = "serde", serde(rename = "Pctg"))]
pub pctg: PercentageRate,
#[yaserde(rename = "Amt")]
#[cfg_attr(feature = "serde", serde(rename = "Amt"))]
pub amt: ImpliedCurrencyAndAmount,
#[yaserde(rename = "TaxOnOrgnlAmt")]
#[cfg_attr(feature = "serde", serde(rename = "TaxOnOrgnlAmt"))]
pub tax_on_orgnl_amt: TrueFalseIndicator,
}
impl Validate for Adjustment14 {}
#[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.001.001.05")]
pub struct Amount13 {
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: Max35Text,
#[yaserde(rename = "Desc")]
#[cfg_attr(feature = "serde", serde(rename = "Desc"))]
pub desc: Max35Text,
#[yaserde(rename = "Amt")]
#[cfg_attr(feature = "serde", serde(rename = "Amt"))]
pub amt: ImpliedCurrencyAndAmount,
}
impl Validate for Amount13 {}
#[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.001.001.05")]
pub struct AmountAndTax1 {
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: TypeOfAmount24Code,
#[yaserde(rename = "Amt")]
#[cfg_attr(feature = "serde", serde(rename = "Amt"))]
pub amt: ImpliedCurrencyAndAmount,
#[yaserde(rename = "CdtDbt")]
#[cfg_attr(feature = "serde", serde(rename = "CdtDbt"))]
pub cdt_dbt: CreditDebit3Code,
#[yaserde(rename = "Tax")]
#[cfg_attr(feature = "serde", serde(rename = "Tax"))]
pub tax: Vec<Tax44>,
}
impl Validate for AmountAndTax1 {}
#[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.001.001.05")]
pub struct AncillaryPurchase4 {
#[yaserde(rename = "DocNb")]
#[cfg_attr(feature = "serde", serde(rename = "DocNb"))]
pub doc_nb: Max15Text,
#[yaserde(rename = "RltdDocNb")]
#[cfg_attr(feature = "serde", serde(rename = "RltdDocNb"))]
pub rltd_doc_nb: Max15Text,
#[yaserde(rename = "SvcCtgyCd")]
#[cfg_attr(feature = "serde", serde(rename = "SvcCtgyCd"))]
pub svc_ctgy_cd: Max4Text,
#[yaserde(rename = "SvcSubCtgyCd")]
#[cfg_attr(feature = "serde", serde(rename = "SvcSubCtgyCd"))]
pub svc_sub_ctgy_cd: Max4Text,
#[yaserde(rename = "SvcPrvdrSvcTp")]
#[cfg_attr(feature = "serde", serde(rename = "SvcPrvdrSvcTp"))]
pub svc_prvdr_svc_tp: Max35Text,
#[yaserde(rename = "CdtRsnCd")]
#[cfg_attr(feature = "serde", serde(rename = "CdtRsnCd"))]
pub cdt_rsn_cd: Max35Text,
#[yaserde(rename = "SummryCmmdtyId")]
#[cfg_attr(feature = "serde", serde(rename = "SummryCmmdtyId"))]
pub summry_cmmdty_id: Max35Text,
#[yaserde(rename = "Amt")]
#[cfg_attr(feature = "serde", serde(rename = "Amt"))]
pub amt: ImpliedCurrencyAndAmount,
#[yaserde(rename = "CdtDbt")]
#[cfg_attr(feature = "serde", serde(rename = "CdtDbt"))]
pub cdt_dbt: CreditDebit3Code,
#[yaserde(rename = "Fee")]
#[cfg_attr(feature = "serde", serde(rename = "Fee"))]
pub fee: ImpliedCurrencyAndAmount,
#[yaserde(rename = "Tax")]
#[cfg_attr(feature = "serde", serde(rename = "Tax"))]
pub tax: Vec<Tax44>,
#[yaserde(rename = "PrvtData")]
#[cfg_attr(feature = "serde", serde(rename = "PrvtData"))]
pub prvt_data: Vec<AticalaxProcessing>,
#[yaserde(rename = "NtlData")]
#[cfg_attr(feature = "serde", serde(rename = "NtlData"))]
pub ntl_data: Vec<AticalaxProcessing>,
}
impl Validate for AncillaryPurchase4 {}
#[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.001.001.05")]
pub enum AttestationValue1Code {
#[yaserde(rename = "CLAI")]
#[cfg_attr(feature = "serde", serde(rename = "CLAI"))]
Clai,
#[yaserde(rename = "HONO")]
#[cfg_attr(feature = "serde", serde(rename = "HONO"))]
Hono,
#[yaserde(rename = "NCLA")]
#[cfg_attr(feature = "serde", serde(rename = "NCLA"))]
Ncla,
#[yaserde(rename = "NHON")]
#[cfg_attr(feature = "serde", serde(rename = "NHON"))]
Nhon,
__Unknown__(String),
}
impl Default for AttestationValue1Code {
fn default() -> AttestationValue1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for AttestationValue1Code {}
#[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.001.001.05")]
pub struct AuthorisationInitiationV05 {
#[yaserde(rename = "Hdr")]
#[cfg_attr(feature = "serde", serde(rename = "Hdr"))]
pub hdr: Header72,
#[yaserde(rename = "TxChrtcs")]
#[cfg_attr(feature = "serde", serde(rename = "TxChrtcs"))]
pub tx_chrtcs: TransactionCharacteristics5,
#[yaserde(rename = "Orgtr")]
#[cfg_attr(feature = "serde", serde(rename = "Orgtr"))]
pub orgtr: OriginatorData2,
#[yaserde(rename = "Acqrr")]
#[cfg_attr(feature = "serde", serde(rename = "Acqrr"))]
pub acqrr: AcquirerData1,
#[yaserde(rename = "Sndr")]
#[cfg_attr(feature = "serde", serde(rename = "Sndr"))]
pub sndr: SenderData1,
#[yaserde(rename = "Card")]
#[cfg_attr(feature = "serde", serde(rename = "Card"))]
pub card: CardData16,
#[yaserde(rename = "AcctFr")]
#[cfg_attr(feature = "serde", serde(rename = "AcctFr"))]
pub acct_fr: AccountDetails4,
#[yaserde(rename = "AcctTo")]
#[cfg_attr(feature = "serde", serde(rename = "AcctTo"))]
pub acct_to: AccountDetails4,
#[yaserde(rename = "Rcvr")]
#[cfg_attr(feature = "serde", serde(rename = "Rcvr"))]
pub rcvr: ReceiverData1,
#[yaserde(rename = "Issr")]
#[cfg_attr(feature = "serde", serde(rename = "Issr"))]
pub issr: IssuerData1,
#[yaserde(rename = "Dstn")]
#[cfg_attr(feature = "serde", serde(rename = "Dstn"))]
pub dstn: DestinationData1,
#[yaserde(rename = "Prgrmm")]
#[cfg_attr(feature = "serde", serde(rename = "Prgrmm"))]
pub prgrmm: ProgrammeMode7,
#[yaserde(rename = "TxId")]
#[cfg_attr(feature = "serde", serde(rename = "TxId"))]
pub tx_id: TransactionIdentification58,
#[yaserde(rename = "ConvsDtTm")]
#[cfg_attr(feature = "serde", serde(rename = "ConvsDtTm"))]
pub convs_dt_tm: DateTime2,
#[yaserde(rename = "XchgRate")]
#[cfg_attr(feature = "serde", serde(rename = "XchgRate"))]
pub xchg_rate: Vec<CardExchangeRate1>,
#[yaserde(rename = "TxAmts")]
#[cfg_attr(feature = "serde", serde(rename = "TxAmts"))]
pub tx_amts: TransactionAmounts5,
#[yaserde(rename = "AddtlAmt")]
#[cfg_attr(feature = "serde", serde(rename = "AddtlAmt"))]
pub addtl_amt: Vec<AdditionalAmounts5>,
#[yaserde(rename = "Tax")]
#[cfg_attr(feature = "serde", serde(rename = "Tax"))]
pub tax: Vec<Tax44>,
#[yaserde(rename = "OrgnlDataElmts")]
#[cfg_attr(feature = "serde", serde(rename = "OrgnlDataElmts"))]
pub orgnl_data_elmts: OriginalDataElements6,
#[yaserde(rename = "Accptr")]
#[cfg_attr(feature = "serde", serde(rename = "Accptr"))]
pub accptr: AcceptorData1,
#[yaserde(rename = "Txtr")]
#[cfg_attr(feature = "serde", serde(rename = "Txtr"))]
pub txtr: Vec<TransactorData1>,
#[yaserde(rename = "Termnl")]
#[cfg_attr(feature = "serde", serde(rename = "Termnl"))]
pub termnl: Terminal10,
#[yaserde(rename = "POICmpnt")]
#[cfg_attr(feature = "serde", serde(rename = "POICmpnt"))]
pub poi_cmpnt: Vec<PointOfInteractionComponent16>,
#[yaserde(rename = "Cntxt")]
#[cfg_attr(feature = "serde", serde(rename = "Cntxt"))]
pub cntxt: Context26,
#[yaserde(rename = "ICCRltdData")]
#[cfg_attr(feature = "serde", serde(rename = "ICCRltdData"))]
pub icc_rltd_data: Max10KHexBinaryText,
#[yaserde(rename = "AuthntcnData")]
#[cfg_attr(feature = "serde", serde(rename = "AuthntcnData"))]
pub authntcn_data: CardAuthenticationData1,
#[yaserde(rename = "Pyer")]
#[cfg_attr(feature = "serde", serde(rename = "Pyer"))]
pub pyer: PayerData1,
#[yaserde(rename = "Pyee")]
#[cfg_attr(feature = "serde", serde(rename = "Pyee"))]
pub pyee: PayeeData1,
#[yaserde(rename = "Tkn")]
#[cfg_attr(feature = "serde", serde(rename = "Tkn"))]
pub tkn: Token5,
#[yaserde(rename = "CstmrDvc")]
#[cfg_attr(feature = "serde", serde(rename = "CstmrDvc"))]
pub cstmr_dvc: CustomerDevice6,
#[yaserde(rename = "Wllt")]
#[cfg_attr(feature = "serde", serde(rename = "Wllt"))]
pub wllt: Wallet4,
#[yaserde(rename = "Crdhldr")]
#[cfg_attr(feature = "serde", serde(rename = "Crdhldr"))]
pub crdhldr: Vec<Cardholder23>,
#[yaserde(rename = "Cstmr")]
#[cfg_attr(feature = "serde", serde(rename = "Cstmr"))]
pub cstmr: Customer4,
#[yaserde(rename = "Vrfctn")]
#[cfg_attr(feature = "serde", serde(rename = "Vrfctn"))]
pub vrfctn: Vec<Verification8>,
#[yaserde(rename = "Rsk")]
#[cfg_attr(feature = "serde", serde(rename = "Rsk"))]
pub rsk: Vec<RiskContext4>,
#[yaserde(rename = "SpclPrgrmmQlfctn")]
#[cfg_attr(feature = "serde", serde(rename = "SpclPrgrmmQlfctn"))]
pub spcl_prgrmm_qlfctn: Vec<AticalaxProcessing>,
#[yaserde(rename = "Instlmt")]
#[cfg_attr(feature = "serde", serde(rename = "Instlmt"))]
pub instlmt: Instalment8,
#[yaserde(rename = "RcrngPmt")]
#[cfg_attr(feature = "serde", serde(rename = "RcrngPmt"))]
pub rcrng_pmt: RecurringPaymentData1,
#[yaserde(rename = "AcctBal")]
#[cfg_attr(feature = "serde", serde(rename = "AcctBal"))]
pub acct_bal: Vec<AccountBalance4>,
#[yaserde(rename = "AddtlSvc")]
#[cfg_attr(feature = "serde", serde(rename = "AddtlSvc"))]
pub addtl_svc: Vec<AdditionalService3>,
#[yaserde(rename = "FndsSvcs")]
#[cfg_attr(feature = "serde", serde(rename = "FndsSvcs"))]
pub fnds_svcs: FundingService4,
#[yaserde(rename = "DpstDtls")]
#[cfg_attr(feature = "serde", serde(rename = "DpstDtls"))]
pub dpst_dtls: Vec<DepositDetails4>,
#[yaserde(rename = "Jursdctn")]
#[cfg_attr(feature = "serde", serde(rename = "Jursdctn"))]
pub jursdctn: Jurisdiction2,
#[yaserde(rename = "SttlmSvc")]
#[cfg_attr(feature = "serde", serde(rename = "SttlmSvc"))]
pub sttlm_svc: SettlementService7,
#[yaserde(rename = "AddtlFee")]
#[cfg_attr(feature = "serde", serde(rename = "AddtlFee"))]
pub addtl_fee: Vec<AdditionalFee4>,
#[yaserde(rename = "Rcncltn")]
#[cfg_attr(feature = "serde", serde(rename = "Rcncltn"))]
pub rcncltn: Reconciliation5,
#[yaserde(rename = "PrcgRslt")]
#[cfg_attr(feature = "serde", serde(rename = "PrcgRslt"))]
pub prcg_rslt: ProcessingResult28,
#[yaserde(rename = "Bnfts")]
#[cfg_attr(feature = "serde", serde(rename = "Bnfts"))]
pub bnfts: Vec<BenefitSupportingData1>,
#[yaserde(rename = "Prmtn")]
#[cfg_attr(feature = "serde", serde(rename = "Prmtn"))]
pub prmtn: Vec<PromotionData1>,
#[yaserde(rename = "TxSpcfcData")]
#[cfg_attr(feature = "serde", serde(rename = "TxSpcfcData"))]
pub tx_spcfc_data: TransactionSpecificData1,
#[yaserde(rename = "StrngCstmrAuthntcn")]
#[cfg_attr(feature = "serde", serde(rename = "StrngCstmrAuthntcn"))]
pub strng_cstmr_authntcn: StrongCustomerAuthentication2,
#[yaserde(rename = "PrtctdData")]
#[cfg_attr(feature = "serde", serde(rename = "PrtctdData"))]
pub prtctd_data: Vec<EncryptedData2>,
#[yaserde(rename = "PrvtData")]
#[cfg_attr(feature = "serde", serde(rename = "PrvtData"))]
pub prvt_data: Vec<AticalaxProcessing>,
#[yaserde(rename = "NtlData")]
#[cfg_attr(feature = "serde", serde(rename = "NtlData"))]
pub ntl_data: Vec<AticalaxProcessing>,
#[yaserde(rename = "SctyTrlr")]
#[cfg_attr(feature = "serde", serde(rename = "SctyTrlr"))]
pub scty_trlr: ContentInformationType41,
}
impl Validate for AuthorisationInitiationV05 {}
#[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.001.001.05")]
pub struct AuthorisedAmount2 {
#[yaserde(rename = "Dt")]
#[cfg_attr(feature = "serde", serde(rename = "Dt"))]
pub dt: Isodate,
#[yaserde(rename = "Tm")]
#[cfg_attr(feature = "serde", serde(rename = "Tm"))]
pub tm: Isotime,
#[yaserde(rename = "Amt")]
#[cfg_attr(feature = "serde", serde(rename = "Amt"))]
pub amt: ImpliedCurrencyAndAmount,
#[yaserde(rename = "Desc")]
#[cfg_attr(feature = "serde", serde(rename = "Desc"))]
pub desc: Max350Text,
}
impl Validate for AuthorisedAmount2 {}
#[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.001.001.05")]
pub struct Authority1 {
#[yaserde(rename = "Ctry")]
#[cfg_attr(feature = "serde", serde(rename = "Ctry"))]
pub ctry: Iso3NumericCountryCode,
#[yaserde(rename = "CtrySubDvsnMjr")]
#[cfg_attr(feature = "serde", serde(rename = "CtrySubDvsnMjr"))]
pub ctry_sub_dvsn_mjr: IsocountrySubDivisionCode,
#[yaserde(rename = "CtrySubDvsnMnr")]
#[cfg_attr(feature = "serde", serde(rename = "CtrySubDvsnMnr"))]
pub ctry_sub_dvsn_mnr: IsocountrySubDivisionCode,
#[yaserde(rename = "CtrySubDvsnMjrNm")]
#[cfg_attr(feature = "serde", serde(rename = "CtrySubDvsnMjrNm"))]
pub ctry_sub_dvsn_mjr_nm: Max50Text,
#[yaserde(rename = "CtrySubDvsnMnrNm")]
#[cfg_attr(feature = "serde", serde(rename = "CtrySubDvsnMnrNm"))]
pub ctry_sub_dvsn_mnr_nm: Max50Text,
#[yaserde(rename = "Nm")]
#[cfg_attr(feature = "serde", serde(rename = "Nm"))]
pub nm: Max50Text,
}
impl Validate for Authority1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct BaseOne25Rate (pub String);
crate::simple_type!(BaseOne25Rate);
impl Validate for BaseOne25Rate {}
#[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.001.001.05")]
pub struct BenefitSupportingData1 {
#[yaserde(rename = "AdmstrId")]
#[cfg_attr(feature = "serde", serde(rename = "AdmstrId"))]
pub admstr_id: Max35Text,
#[yaserde(rename = "SvcTp")]
#[cfg_attr(feature = "serde", serde(rename = "SvcTp"))]
pub svc_tp: Max35Text,
#[yaserde(rename = "PrvdrId")]
#[cfg_attr(feature = "serde", serde(rename = "PrvdrId"))]
pub prvdr_id: Max35Text,
#[yaserde(rename = "DcsnRsn")]
#[cfg_attr(feature = "serde", serde(rename = "DcsnRsn"))]
pub dcsn_rsn: Max35Text,
}
impl Validate for BenefitSupportingData1 {}
#[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.001.001.05")]
pub enum CarRentalActivity2Code {
#[yaserde(rename = "CARS")]
#[cfg_attr(feature = "serde", serde(rename = "CARS"))]
Cars,
#[yaserde(rename = "GLBL")]
#[cfg_attr(feature = "serde", serde(rename = "GLBL"))]
Glbl,
#[yaserde(rename = "INDV")]
#[cfg_attr(feature = "serde", serde(rename = "INDV"))]
Indv,
#[yaserde(rename = "PETP")]
#[cfg_attr(feature = "serde", serde(rename = "PETP"))]
Petp,
#[yaserde(rename = "OTHR")]
#[cfg_attr(feature = "serde", serde(rename = "OTHR"))]
Othr,
__Unknown__(String),
}
impl Default for CarRentalActivity2Code {
fn default() -> CarRentalActivity2Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for CarRentalActivity2Code {}
#[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.001.001.05")]
pub enum CarRentalServiceType3Code {
#[yaserde(rename = "ADJM")]
#[cfg_attr(feature = "serde", serde(rename = "ADJM"))]
Adjm,
#[yaserde(rename = "AUTH")]
#[cfg_attr(feature = "serde", serde(rename = "AUTH"))]
Auth,
#[yaserde(rename = "BAST")]
#[cfg_attr(feature = "serde", serde(rename = "BAST"))]
Bast,
#[yaserde(rename = "CLEA")]
#[cfg_attr(feature = "serde", serde(rename = "CLEA"))]
Clea,
#[yaserde(rename = "DMGS")]
#[cfg_attr(feature = "serde", serde(rename = "DMGS"))]
Dmgs,
#[yaserde(rename = "DLVR")]
#[cfg_attr(feature = "serde", serde(rename = "DLVR"))]
Dlvr,
#[yaserde(rename = "DPOF")]
#[cfg_attr(feature = "serde", serde(rename = "DPOF"))]
Dpof,
#[yaserde(rename = "ENTE")]
#[cfg_attr(feature = "serde", serde(rename = "ENTE"))]
Ente,
#[yaserde(rename = "EXTC")]
#[cfg_attr(feature = "serde", serde(rename = "EXTC"))]
Extc,
#[yaserde(rename = "EXDY")]
#[cfg_attr(feature = "serde", serde(rename = "EXDY"))]
Exdy,
#[yaserde(rename = "EXDI")]
#[cfg_attr(feature = "serde", serde(rename = "EXDI"))]
Exdi,
#[yaserde(rename = "EXHR")]
#[cfg_attr(feature = "serde", serde(rename = "EXHR"))]
Exhr,
#[yaserde(rename = "FINE")]
#[cfg_attr(feature = "serde", serde(rename = "FINE"))]
Fine,
#[yaserde(rename = "FUEL")]
#[cfg_attr(feature = "serde", serde(rename = "FUEL"))]
Fuel,
#[yaserde(rename = "GARA")]
#[cfg_attr(feature = "serde", serde(rename = "GARA"))]
Gara,
#[yaserde(rename = "GPSY")]
#[cfg_attr(feature = "serde", serde(rename = "GPSY"))]
Gpsy,
#[yaserde(rename = "INSU")]
#[cfg_attr(feature = "serde", serde(rename = "INSU"))]
Insu,
#[yaserde(rename = "LATE")]
#[cfg_attr(feature = "serde", serde(rename = "LATE"))]
Late,
#[yaserde(rename = "LIIN")]
#[cfg_attr(feature = "serde", serde(rename = "LIIN"))]
Liin,
#[yaserde(rename = "LDIN")]
#[cfg_attr(feature = "serde", serde(rename = "LDIN"))]
Ldin,
#[yaserde(rename = "MISC")]
#[cfg_attr(feature = "serde", serde(rename = "MISC"))]
Misc,
#[yaserde(rename = "NAVI")]
#[cfg_attr(feature = "serde", serde(rename = "NAVI"))]
Navi,
#[yaserde(rename = "NOSH")]
#[cfg_attr(feature = "serde", serde(rename = "NOSH"))]
Nosh,
#[yaserde(rename = "ONEW")]
#[cfg_attr(feature = "serde", serde(rename = "ONEW"))]
Onew,
#[yaserde(rename = "PARK")]
#[cfg_attr(feature = "serde", serde(rename = "PARK"))]
Park,
#[yaserde(rename = "PRIN")]
#[cfg_attr(feature = "serde", serde(rename = "PRIN"))]
Prin,
#[yaserde(rename = "PFIN")]
#[cfg_attr(feature = "serde", serde(rename = "PFIN"))]
Pfin,
#[yaserde(rename = "PHON")]
#[cfg_attr(feature = "serde", serde(rename = "PHON"))]
Phon,
#[yaserde(rename = "REGD")]
#[cfg_attr(feature = "serde", serde(rename = "REGD"))]
Regd,
#[yaserde(rename = "SMOK")]
#[cfg_attr(feature = "serde", serde(rename = "SMOK"))]
Smok,
#[yaserde(rename = "TOLL")]
#[cfg_attr(feature = "serde", serde(rename = "TOLL"))]
Toll,
#[yaserde(rename = "TOWI")]
#[cfg_attr(feature = "serde", serde(rename = "TOWI"))]
Towi,
#[yaserde(rename = "EXTR")]
#[cfg_attr(feature = "serde", serde(rename = "EXTR"))]
Extr,
#[yaserde(rename = "TRAN")]
#[cfg_attr(feature = "serde", serde(rename = "TRAN"))]
Tran,
#[yaserde(rename = "MILE")]
#[cfg_attr(feature = "serde", serde(rename = "MILE"))]
Mile,
#[yaserde(rename = "INTE")]
#[cfg_attr(feature = "serde", serde(rename = "INTE"))]
Inte,
__Unknown__(String),
}
impl Default for CarRentalServiceType3Code {
fn default() -> CarRentalServiceType3Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for CarRentalServiceType3Code {}
#[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.001.001.05")]
pub struct CardAccountBalance1 {
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: Iso8583AmountTypeCode,
#[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 = "CdtDbt")]
#[cfg_attr(feature = "serde", serde(rename = "CdtDbt"))]
pub cdt_dbt: CreditDebit3Code,
#[yaserde(rename = "CrdhldrCcy")]
#[cfg_attr(feature = "serde", serde(rename = "CrdhldrCcy"))]
pub crdhldr_ccy: TrueFalseIndicator,
#[yaserde(rename = "BalDt")]
#[cfg_attr(feature = "serde", serde(rename = "BalDt"))]
pub bal_dt: Isodate,
}
impl Validate for CardAccountBalance1 {}
#[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.001.001.05")]
pub struct CardAuthenticationData1 {
#[yaserde(rename = "AcctBasedDgtlSgntr")]
#[cfg_attr(feature = "serde", serde(rename = "AcctBasedDgtlSgntr"))]
pub acct_based_dgtl_sgntr: Exact2NumericText,
#[yaserde(rename = "CrdhldrCertSrlNb")]
#[cfg_attr(feature = "serde", serde(rename = "CrdhldrCertSrlNb"))]
pub crdhldr_cert_srl_nb: Max16Binary,
#[yaserde(rename = "AccptrCertSrlNb")]
#[cfg_attr(feature = "serde", serde(rename = "AccptrCertSrlNb"))]
pub accptr_cert_srl_nb: Max16Binary,
#[yaserde(rename = "MsgVrsn")]
#[cfg_attr(feature = "serde", serde(rename = "MsgVrsn"))]
pub msg_vrsn: Min5Max8Text,
#[yaserde(rename = "XID")]
#[cfg_attr(feature = "serde", serde(rename = "XID"))]
pub xid: Exact20Binary,
#[yaserde(rename = "AuthntcnVal")]
#[cfg_attr(feature = "serde", serde(rename = "AuthntcnVal"))]
pub authntcn_val: Exact20Binary,
#[yaserde(rename = "AuthntcnCd")]
#[cfg_attr(feature = "serde", serde(rename = "AuthntcnCd"))]
pub authntcn_cd: Max50Text,
#[yaserde(rename = "MsgCtgy")]
#[cfg_attr(feature = "serde", serde(rename = "MsgCtgy"))]
pub msg_ctgy: Exact2NumericText,
#[yaserde(rename = "AuthntcnMrchntNm")]
#[cfg_attr(feature = "serde", serde(rename = "AuthntcnMrchntNm"))]
pub authntcn_mrchnt_nm: Max40Text,
#[yaserde(rename = "BrwsrIPAdr")]
#[cfg_attr(feature = "serde", serde(rename = "BrwsrIPAdr"))]
pub brwsr_ip_adr: Max45Text,
#[yaserde(rename = "DvcInf")]
#[cfg_attr(feature = "serde", serde(rename = "DvcInf"))]
pub dvc_inf: Max10KText,
#[yaserde(rename = "PurchsAmt")]
#[cfg_attr(feature = "serde", serde(rename = "PurchsAmt"))]
pub purchs_amt: Max48Text,
#[yaserde(rename = "PurchsCcy")]
#[cfg_attr(feature = "serde", serde(rename = "PurchsCcy"))]
pub purchs_ccy: Iso3NumericCurrencyCode,
#[yaserde(rename = "PurchsDtTm")]
#[cfg_attr(feature = "serde", serde(rename = "PurchsDtTm"))]
pub purchs_dt_tm: Exact14NumericText,
#[yaserde(rename = "AdrMtchInd")]
#[cfg_attr(feature = "serde", serde(rename = "AdrMtchInd"))]
pub adr_mtch_ind: Exact1Text,
#[yaserde(rename = "IntrmyTxIdr")]
#[cfg_attr(feature = "serde", serde(rename = "IntrmyTxIdr"))]
pub intrmy_tx_idr: Max36Text,
#[yaserde(rename = "AuthntcnSvrTxIdr")]
#[cfg_attr(feature = "serde", serde(rename = "AuthntcnSvrTxIdr"))]
pub authntcn_svr_tx_idr: Max36Text,
#[yaserde(rename = "AuthntcnSts")]
#[cfg_attr(feature = "serde", serde(rename = "AuthntcnSts"))]
pub authntcn_sts: Exact1AlphaText,
#[yaserde(rename = "ApplIPAdr")]
#[cfg_attr(feature = "serde", serde(rename = "ApplIPAdr"))]
pub appl_ip_adr: Max45Text,
#[yaserde(rename = "ShppgInd")]
#[cfg_attr(feature = "serde", serde(rename = "ShppgInd"))]
pub shppg_ind: Iso8583ShippingIndicatorCode,
#[yaserde(rename = "SDKApplId")]
#[cfg_attr(feature = "serde", serde(rename = "SDKApplId"))]
pub sdk_appl_id: Max37Text,
#[yaserde(rename = "DvcId")]
#[cfg_attr(feature = "serde", serde(rename = "DvcId"))]
pub dvc_id: Vec<Max64Text>,
#[yaserde(rename = "DvcTp")]
#[cfg_attr(feature = "serde", serde(rename = "DvcTp"))]
pub dvc_tp: Vec<Exact2NumericText>,
#[yaserde(rename = "RcrngTxSetp")]
#[cfg_attr(feature = "serde", serde(rename = "RcrngTxSetp"))]
pub rcrng_tx_setp: Exact3AlphaNumericText,
#[yaserde(rename = "ThrdPtyId")]
#[cfg_attr(feature = "serde", serde(rename = "ThrdPtyId"))]
pub thrd_pty_id: Max64Text,
#[yaserde(rename = "ThrdPtyRskScore")]
#[cfg_attr(feature = "serde", serde(rename = "ThrdPtyRskScore"))]
pub thrd_pty_rsk_score: Exact2NumericText,
#[yaserde(rename = "SsnId")]
#[cfg_attr(feature = "serde", serde(rename = "SsnId"))]
pub ssn_id: Max35Text,
#[yaserde(rename = "IPAdrVlctyCnt")]
#[cfg_attr(feature = "serde", serde(rename = "IPAdrVlctyCnt"))]
pub ip_adr_vlcty_cnt: Exact2NumericText,
#[yaserde(rename = "DvcIdVlctyCnt")]
#[cfg_attr(feature = "serde", serde(rename = "DvcIdVlctyCnt"))]
pub dvc_id_vlcty_cnt: Exact2NumericText,
#[yaserde(rename = "DataQlty")]
#[cfg_attr(feature = "serde", serde(rename = "DataQlty"))]
pub data_qlty: TrueFalseIndicator,
#[yaserde(rename = "Prgrmm")]
#[cfg_attr(feature = "serde", serde(rename = "Prgrmm"))]
pub prgrmm: Max10Text,
#[yaserde(rename = "PrvtData")]
#[cfg_attr(feature = "serde", serde(rename = "PrvtData"))]
pub prvt_data: Vec<AticalaxProcessing>,
#[yaserde(rename = "NtlData")]
#[cfg_attr(feature = "serde", serde(rename = "NtlData"))]
pub ntl_data: Vec<AticalaxProcessing>,
}
impl Validate for CardAuthenticationData1 {}
#[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.001.001.05")]
pub struct CardData16 {
#[yaserde(rename = "PAN")]
#[cfg_attr(feature = "serde", serde(rename = "PAN"))]
pub pan: Max19NumericText,
#[yaserde(rename = "PrtctdPAN")]
#[cfg_attr(feature = "serde", serde(rename = "PrtctdPAN"))]
pub prtctd_pan: TrueFalseIndicator,
#[yaserde(rename = "CardSeqNb")]
#[cfg_attr(feature = "serde", serde(rename = "CardSeqNb"))]
pub card_seq_nb: Min2Max3NumericText,
#[yaserde(rename = "FctvDt")]
#[cfg_attr(feature = "serde", serde(rename = "FctvDt"))]
pub fctv_dt: IsoyearMonth,
#[yaserde(rename = "XpryDt")]
#[cfg_attr(feature = "serde", serde(rename = "XpryDt"))]
pub xpry_dt: IsoyearMonth,
#[yaserde(rename = "SvcCd")]
#[cfg_attr(feature = "serde", serde(rename = "SvcCd"))]
pub svc_cd: Exact3NumericText,
#[yaserde(rename = "Trck1")]
#[cfg_attr(feature = "serde", serde(rename = "Trck1"))]
pub trck_1: Max76Text,
#[yaserde(rename = "Trck2")]
#[cfg_attr(feature = "serde", serde(rename = "Trck2"))]
pub trck_2: Track2Data1Choice,
#[yaserde(rename = "Trck3")]
#[cfg_attr(feature = "serde", serde(rename = "Trck3"))]
pub trck_3: Max104Text,
#[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 = "Ctry")]
#[cfg_attr(feature = "serde", serde(rename = "Ctry"))]
pub ctry: Iso3NumericCountryCode,
#[yaserde(rename = "PdctTp")]
#[cfg_attr(feature = "serde", serde(rename = "PdctTp"))]
pub pdct_tp: Max35Text,
#[yaserde(rename = "PdctSubTp")]
#[cfg_attr(feature = "serde", serde(rename = "PdctSubTp"))]
pub pdct_sub_tp: Max35Text,
#[yaserde(rename = "PrtflIdr")]
#[cfg_attr(feature = "serde", serde(rename = "PrtflIdr"))]
pub prtfl_idr: Max35Text,
#[yaserde(rename = "Brnd")]
#[cfg_attr(feature = "serde", serde(rename = "Brnd"))]
pub brnd: Max35Text,
#[yaserde(rename = "AcctFndgSrc")]
#[cfg_attr(feature = "serde", serde(rename = "AcctFndgSrc"))]
pub acct_fndg_src: Max10Text,
#[yaserde(rename = "Sgmt")]
#[cfg_attr(feature = "serde", serde(rename = "Sgmt"))]
pub sgmt: Max10Text,
#[yaserde(rename = "Schme")]
#[cfg_attr(feature = "serde", serde(rename = "Schme"))]
pub schme: Max35Text,
#[yaserde(rename = "IsseDt")]
#[cfg_attr(feature = "serde", serde(rename = "IsseDt"))]
pub isse_dt: IsoyearMonth,
#[yaserde(rename = "PrvtData")]
#[cfg_attr(feature = "serde", serde(rename = "PrvtData"))]
pub prvt_data: Vec<AticalaxProcessing>,
#[yaserde(rename = "NtlData")]
#[cfg_attr(feature = "serde", serde(rename = "NtlData"))]
pub ntl_data: Vec<AticalaxProcessing>,
}
impl Validate for CardData16 {}
#[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.001.001.05")]
pub enum CardDataReading11Code {
#[yaserde(rename = "ICPY")]
#[cfg_attr(feature = "serde", serde(rename = "ICPY"))]
Icpy,
#[yaserde(rename = "MGSP")]
#[cfg_attr(feature = "serde", serde(rename = "MGSP"))]
Mgsp,
#[yaserde(rename = "MICR")]
#[cfg_attr(feature = "serde", serde(rename = "MICR"))]
Micr,
#[yaserde(rename = "MLEY")]
#[cfg_attr(feature = "serde", serde(rename = "MLEY"))]
Mley,
#[yaserde(rename = "OCRR")]
#[cfg_attr(feature = "serde", serde(rename = "OCRR"))]
Ocrr,
#[yaserde(rename = "MSIP")]
#[cfg_attr(feature = "serde", serde(rename = "MSIP"))]
Msip,
#[yaserde(rename = "OPTC")]
#[cfg_attr(feature = "serde", serde(rename = "OPTC"))]
Optc,
#[yaserde(rename = "RFID")]
#[cfg_attr(feature = "serde", serde(rename = "RFID"))]
Rfid,
#[yaserde(rename = "UNSP")]
#[cfg_attr(feature = "serde", serde(rename = "UNSP"))]
Unsp,
#[yaserde(rename = "KEEN")]
#[cfg_attr(feature = "serde", serde(rename = "KEEN"))]
Keen,
#[yaserde(rename = "CDFS")]
#[cfg_attr(feature = "serde", serde(rename = "CDFS"))]
Cdfs,
#[yaserde(rename = "CDFL")]
#[cfg_attr(feature = "serde", serde(rename = "CDFL"))]
Cdfl,
#[yaserde(rename = "MGST")]
#[cfg_attr(feature = "serde", serde(rename = "MGST"))]
Mgst,
#[yaserde(rename = "NFCF")]
#[cfg_attr(feature = "serde", serde(rename = "NFCF"))]
Nfcf,
#[yaserde(rename = "ICCY")]
#[cfg_attr(feature = "serde", serde(rename = "ICCY"))]
Iccy,
#[yaserde(rename = "ICCP")]
#[cfg_attr(feature = "serde", serde(rename = "ICCP"))]
Iccp,
#[yaserde(rename = "ICMG")]
#[cfg_attr(feature = "serde", serde(rename = "ICMG"))]
Icmg,
#[yaserde(rename = "ICFM")]
#[cfg_attr(feature = "serde", serde(rename = "ICFM"))]
Icfm,
#[yaserde(rename = "DCPY")]
#[cfg_attr(feature = "serde", serde(rename = "DCPY"))]
Dcpy,
#[yaserde(rename = "OTHR")]
#[cfg_attr(feature = "serde", serde(rename = "OTHR"))]
Othr,
__Unknown__(String),
}
impl Default for CardDataReading11Code {
fn default() -> CardDataReading11Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for CardDataReading11Code {}
#[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.001.001.05")]
pub enum CardDataReading12Code {
#[yaserde(rename = "UNKW")]
#[cfg_attr(feature = "serde", serde(rename = "UNKW"))]
Unkw,
#[yaserde(rename = "CAMR")]
#[cfg_attr(feature = "serde", serde(rename = "CAMR"))]
Camr,
#[yaserde(rename = "KEEN")]
#[cfg_attr(feature = "serde", serde(rename = "KEEN"))]
Keen,
#[yaserde(rename = "ICPY")]
#[cfg_attr(feature = "serde", serde(rename = "ICPY"))]
Icpy,
#[yaserde(rename = "OPTC")]
#[cfg_attr(feature = "serde", serde(rename = "OPTC"))]
Optc,
#[yaserde(rename = "CDFL")]
#[cfg_attr(feature = "serde", serde(rename = "CDFL"))]
Cdfl,
#[yaserde(rename = "MBNK")]
#[cfg_attr(feature = "serde", serde(rename = "MBNK"))]
Mbnk,
#[yaserde(rename = "TOKN")]
#[cfg_attr(feature = "serde", serde(rename = "TOKN"))]
Tokn,
#[yaserde(rename = "ICCP")]
#[cfg_attr(feature = "serde", serde(rename = "ICCP"))]
Iccp,
__Unknown__(String),
}
impl Default for CardDataReading12Code {
fn default() -> CardDataReading12Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for CardDataReading12Code {}
#[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.001.001.05")]
pub enum CardDataReading5Code {
#[yaserde(rename = "TAGC")]
#[cfg_attr(feature = "serde", serde(rename = "TAGC"))]
Tagc,
#[yaserde(rename = "PHYS")]
#[cfg_attr(feature = "serde", serde(rename = "PHYS"))]
Phys,
#[yaserde(rename = "BRCD")]
#[cfg_attr(feature = "serde", serde(rename = "BRCD"))]
Brcd,
#[yaserde(rename = "MGST")]
#[cfg_attr(feature = "serde", serde(rename = "MGST"))]
Mgst,
#[yaserde(rename = "CICC")]
#[cfg_attr(feature = "serde", serde(rename = "CICC"))]
Cicc,
#[yaserde(rename = "DFLE")]
#[cfg_attr(feature = "serde", serde(rename = "DFLE"))]
Dfle,
#[yaserde(rename = "CTLS")]
#[cfg_attr(feature = "serde", serde(rename = "CTLS"))]
Ctls,
#[yaserde(rename = "ECTL")]
#[cfg_attr(feature = "serde", serde(rename = "ECTL"))]
Ectl,
#[yaserde(rename = "CDFL")]
#[cfg_attr(feature = "serde", serde(rename = "CDFL"))]
Cdfl,
__Unknown__(String),
}
impl Default for CardDataReading5Code {
fn default() -> CardDataReading5Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for CardDataReading5Code {}
#[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.001.001.05")]
pub enum CardDataWriting2Code {
#[yaserde(rename = "ICPY")]
#[cfg_attr(feature = "serde", serde(rename = "ICPY"))]
Icpy,
#[yaserde(rename = "MGSP")]
#[cfg_attr(feature = "serde", serde(rename = "MGSP"))]
Mgsp,
#[yaserde(rename = "ICCP")]
#[cfg_attr(feature = "serde", serde(rename = "ICCP"))]
Iccp,
#[yaserde(rename = "MSIP")]
#[cfg_attr(feature = "serde", serde(rename = "MSIP"))]
Msip,
#[yaserde(rename = "UNSP")]
#[cfg_attr(feature = "serde", serde(rename = "UNSP"))]
Unsp,
#[yaserde(rename = "MGST")]
#[cfg_attr(feature = "serde", serde(rename = "MGST"))]
Mgst,
#[yaserde(rename = "ICCY")]
#[cfg_attr(feature = "serde", serde(rename = "ICCY"))]
Iccy,
__Unknown__(String),
}
impl Default for CardDataWriting2Code {
fn default() -> CardDataWriting2Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for CardDataWriting2Code {}
#[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.001.001.05")]
pub enum CardDepositType2Code {
#[yaserde(rename = "ENVL")]
#[cfg_attr(feature = "serde", serde(rename = "ENVL"))]
Envl,
#[yaserde(rename = "CHEC")]
#[cfg_attr(feature = "serde", serde(rename = "CHEC"))]
Chec,
#[yaserde(rename = "CASH")]
#[cfg_attr(feature = "serde", serde(rename = "CASH"))]
Cash,
__Unknown__(String),
}
impl Default for CardDepositType2Code {
fn default() -> CardDepositType2Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for CardDepositType2Code {}
#[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.001.001.05")]
pub struct CardExchangeRate1 {
#[yaserde(rename = "Prvdr")]
#[cfg_attr(feature = "serde", serde(rename = "Prvdr"))]
pub prvdr: Max70Text,
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Max70Text,
#[yaserde(rename = "Dt")]
#[cfg_attr(feature = "serde", serde(rename = "Dt"))]
pub dt: Isodate,
#[yaserde(rename = "Tm")]
#[cfg_attr(feature = "serde", serde(rename = "Tm"))]
pub tm: Isotime,
#[yaserde(rename = "EndPt")]
#[cfg_attr(feature = "serde", serde(rename = "EndPt"))]
pub end_pt: Endpoint2Code,
#[yaserde(rename = "CntrCcyCd")]
#[cfg_attr(feature = "serde", serde(rename = "CntrCcyCd"))]
pub cntr_ccy_cd: Iso3NumericCurrencyCode,
#[yaserde(rename = "BaseCcyCd")]
#[cfg_attr(feature = "serde", serde(rename = "BaseCcyCd"))]
pub base_ccy_cd: Iso3NumericCurrencyCode,
#[yaserde(rename = "Rate")]
#[cfg_attr(feature = "serde", serde(rename = "Rate"))]
pub rate: BaseOne25Rate,
#[yaserde(rename = "RateTp")]
#[cfg_attr(feature = "serde", serde(rename = "RateTp"))]
pub rate_tp: ExchangeRateType3Code,
#[yaserde(rename = "AgrmtTp")]
#[cfg_attr(feature = "serde", serde(rename = "AgrmtTp"))]
pub agrmt_tp: ExchangeRateAgreementType2Code,
#[yaserde(rename = "RateLckReqd")]
#[cfg_attr(feature = "serde", serde(rename = "RateLckReqd"))]
pub rate_lck_reqd: TrueFalseIndicator,
#[yaserde(rename = "RateLckElgbl")]
#[cfg_attr(feature = "serde", serde(rename = "RateLckElgbl"))]
pub rate_lck_elgbl: TrueFalseIndicator,
#[yaserde(rename = "RateLckApld")]
#[cfg_attr(feature = "serde", serde(rename = "RateLckApld"))]
pub rate_lck_apld: TrueFalseIndicator,
}
impl Validate for CardExchangeRate1 {}
#[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.001.001.05")]
pub struct Cardholder23 {
#[yaserde(rename = "Nm")]
#[cfg_attr(feature = "serde", serde(rename = "Nm"))]
pub nm: Max105Text,
#[yaserde(rename = "GvnNm")]
#[cfg_attr(feature = "serde", serde(rename = "GvnNm"))]
pub gvn_nm: Max35Text,
#[yaserde(rename = "LastNm")]
#[cfg_attr(feature = "serde", serde(rename = "LastNm"))]
pub last_nm: Max35Text,
#[yaserde(rename = "MddlNm")]
#[cfg_attr(feature = "serde", serde(rename = "MddlNm"))]
pub mddl_nm: Max35Text,
#[yaserde(rename = "Dsgnt")]
#[cfg_attr(feature = "serde", serde(rename = "Dsgnt"))]
pub dsgnt: Max2NumericText,
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Vec<Credentials3>,
#[yaserde(rename = "BllgAdr")]
#[cfg_attr(feature = "serde", serde(rename = "BllgAdr"))]
pub bllg_adr: Address4,
#[yaserde(rename = "CmprssdAdr")]
#[cfg_attr(feature = "serde", serde(rename = "CmprssdAdr"))]
pub cmprssd_adr: Max35Text,
#[yaserde(rename = "ShppgAdr")]
#[cfg_attr(feature = "serde", serde(rename = "ShppgAdr"))]
pub shppg_adr: Vec<Address4>,
#[yaserde(rename = "CtctInf")]
#[cfg_attr(feature = "serde", serde(rename = "CtctInf"))]
pub ctct_inf: ContactPersonal2,
#[yaserde(rename = "DtOfBirth")]
#[cfg_attr(feature = "serde", serde(rename = "DtOfBirth"))]
pub dt_of_birth: Isodate,
#[yaserde(rename = "HghVal")]
#[cfg_attr(feature = "serde", serde(rename = "HghVal"))]
pub hgh_val: TrueFalseIndicator,
#[yaserde(rename = "AliasNm")]
#[cfg_attr(feature = "serde", serde(rename = "AliasNm"))]
pub alias_nm: Max70Text,
#[yaserde(rename = "Ocptn")]
#[cfg_attr(feature = "serde", serde(rename = "Ocptn"))]
pub ocptn: Max35Text,
#[yaserde(rename = "PrvtData")]
#[cfg_attr(feature = "serde", serde(rename = "PrvtData"))]
pub prvt_data: Vec<AticalaxProcessing>,
#[yaserde(rename = "NtlData")]
#[cfg_attr(feature = "serde", serde(rename = "NtlData"))]
pub ntl_data: Vec<AticalaxProcessing>,
#[yaserde(rename = "LclData")]
#[cfg_attr(feature = "serde", serde(rename = "LclData"))]
pub lcl_data: LocalData24,
}
impl Validate for Cardholder23 {}
#[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.001.001.05")]
pub struct CardholderName2 {
#[yaserde(rename = "Nm")]
#[cfg_attr(feature = "serde", serde(rename = "Nm"))]
pub nm: Max140Text,
#[yaserde(rename = "GvnNm")]
#[cfg_attr(feature = "serde", serde(rename = "GvnNm"))]
pub gvn_nm: Max70Text,
#[yaserde(rename = "MddlNm")]
#[cfg_attr(feature = "serde", serde(rename = "MddlNm"))]
pub mddl_nm: Max70Text,
#[yaserde(rename = "LastNm")]
#[cfg_attr(feature = "serde", serde(rename = "LastNm"))]
pub last_nm: Max70Text,
}
impl Validate for CardholderName2 {}
#[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.001.001.05")]
pub enum CardholderVerificationCapability6Code {
#[yaserde(rename = "APKI")]
#[cfg_attr(feature = "serde", serde(rename = "APKI"))]
Apki,
#[yaserde(rename = "NOVF")]
#[cfg_attr(feature = "serde", serde(rename = "NOVF"))]
Novf,
#[yaserde(rename = "FBIG")]
#[cfg_attr(feature = "serde", serde(rename = "FBIG"))]
Fbig,
#[yaserde(rename = "FBIO")]
#[cfg_attr(feature = "serde", serde(rename = "FBIO"))]
Fbio,
#[yaserde(rename = "FDSG")]
#[cfg_attr(feature = "serde", serde(rename = "FDSG"))]
Fdsg,
#[yaserde(rename = "FCPN")]
#[cfg_attr(feature = "serde", serde(rename = "FCPN"))]
Fcpn,
#[yaserde(rename = "FEPN")]
#[cfg_attr(feature = "serde", serde(rename = "FEPN"))]
Fepn,
#[yaserde(rename = "NBIO")]
#[cfg_attr(feature = "serde", serde(rename = "NBIO"))]
Nbio,
#[yaserde(rename = "NPIN")]
#[cfg_attr(feature = "serde", serde(rename = "NPIN"))]
Npin,
#[yaserde(rename = "SIGN")]
#[cfg_attr(feature = "serde", serde(rename = "SIGN"))]
Sign,
#[yaserde(rename = "UNSP")]
#[cfg_attr(feature = "serde", serde(rename = "UNSP"))]
Unsp,
#[yaserde(rename = "VORN")]
#[cfg_attr(feature = "serde", serde(rename = "VORN"))]
Vorn,
#[yaserde(rename = "PKIS")]
#[cfg_attr(feature = "serde", serde(rename = "PKIS"))]
Pkis,
#[yaserde(rename = "NOPN")]
#[cfg_attr(feature = "serde", serde(rename = "NOPN"))]
Nopn,
#[yaserde(rename = "NOOP")]
#[cfg_attr(feature = "serde", serde(rename = "NOOP"))]
Noop,
#[yaserde(rename = "OTHR")]
#[cfg_attr(feature = "serde", serde(rename = "OTHR"))]
Othr,
__Unknown__(String),
}
impl Default for CardholderVerificationCapability6Code {
fn default() -> CardholderVerificationCapability6Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for CardholderVerificationCapability6Code {}
#[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.001.001.05")]
pub struct ContactBusiness1 {
#[yaserde(rename = "Nm")]
#[cfg_attr(feature = "serde", serde(rename = "Nm"))]
pub nm: Max70Text,
#[yaserde(rename = "GvnNm")]
#[cfg_attr(feature = "serde", serde(rename = "GvnNm"))]
pub gvn_nm: Max35Text,
#[yaserde(rename = "MddlNm")]
#[cfg_attr(feature = "serde", serde(rename = "MddlNm"))]
pub mddl_nm: Max35Text,
#[yaserde(rename = "LastNm")]
#[cfg_attr(feature = "serde", serde(rename = "LastNm"))]
pub last_nm: Max35Text,
#[yaserde(rename = "Phne")]
#[cfg_attr(feature = "serde", serde(rename = "Phne"))]
pub phne: PhoneNumber,
#[yaserde(rename = "PrprtyPhne")]
#[cfg_attr(feature = "serde", serde(rename = "PrprtyPhne"))]
pub prprty_phne: PhoneNumber,
#[yaserde(rename = "TollFreePhne")]
#[cfg_attr(feature = "serde", serde(rename = "TollFreePhne"))]
pub toll_free_phne: PhoneNumber,
#[yaserde(rename = "Email")]
#[cfg_attr(feature = "serde", serde(rename = "Email"))]
pub email: Max256Text,
#[yaserde(rename = "Fax")]
#[cfg_attr(feature = "serde", serde(rename = "Fax"))]
pub fax: PhoneNumber,
#[yaserde(rename = "URL")]
#[cfg_attr(feature = "serde", serde(rename = "URL"))]
pub url: Max256Text,
#[yaserde(rename = "Lang")]
#[cfg_attr(feature = "serde", serde(rename = "Lang"))]
pub lang: Iso2AlanguageCode,
}
impl Validate for ContactBusiness1 {}
#[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.001.001.05")]
pub struct ContactBusiness2 {
#[yaserde(rename = "Nm")]
#[cfg_attr(feature = "serde", serde(rename = "Nm"))]
pub nm: Max105Text,
#[yaserde(rename = "GvnNm")]
#[cfg_attr(feature = "serde", serde(rename = "GvnNm"))]
pub gvn_nm: Max35Text,
#[yaserde(rename = "MddlNm")]
#[cfg_attr(feature = "serde", serde(rename = "MddlNm"))]
pub mddl_nm: Max35Text,
#[yaserde(rename = "LastNm")]
#[cfg_attr(feature = "serde", serde(rename = "LastNm"))]
pub last_nm: Max35Text,
#[yaserde(rename = "Phne")]
#[cfg_attr(feature = "serde", serde(rename = "Phne"))]
pub phne: PhoneNumber,
#[yaserde(rename = "PrprtyPhne")]
#[cfg_attr(feature = "serde", serde(rename = "PrprtyPhne"))]
pub prprty_phne: PhoneNumber,
#[yaserde(rename = "TollFreePhne")]
#[cfg_attr(feature = "serde", serde(rename = "TollFreePhne"))]
pub toll_free_phne: PhoneNumber,
#[yaserde(rename = "Email")]
#[cfg_attr(feature = "serde", serde(rename = "Email"))]
pub email: Max256Text,
#[yaserde(rename = "Fax")]
#[cfg_attr(feature = "serde", serde(rename = "Fax"))]
pub fax: PhoneNumber,
#[yaserde(rename = "URL")]
#[cfg_attr(feature = "serde", serde(rename = "URL"))]
pub url: Max256Text,
#[yaserde(rename = "Lang")]
#[cfg_attr(feature = "serde", serde(rename = "Lang"))]
pub lang: Iso2AlanguageCode,
}
impl Validate for ContactBusiness2 {}
#[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.001.001.05")]
pub struct ContactPersonal1 {
#[yaserde(rename = "Nm")]
#[cfg_attr(feature = "serde", serde(rename = "Nm"))]
pub nm: Max70Text,
#[yaserde(rename = "GvnNm")]
#[cfg_attr(feature = "serde", serde(rename = "GvnNm"))]
pub gvn_nm: Max35Text,
#[yaserde(rename = "MddlNm")]
#[cfg_attr(feature = "serde", serde(rename = "MddlNm"))]
pub mddl_nm: Max35Text,
#[yaserde(rename = "LastNm")]
#[cfg_attr(feature = "serde", serde(rename = "LastNm"))]
pub last_nm: Max35Text,
#[yaserde(rename = "HomePhne")]
#[cfg_attr(feature = "serde", serde(rename = "HomePhne"))]
pub home_phne: PhoneNumber,
#[yaserde(rename = "BizPhne")]
#[cfg_attr(feature = "serde", serde(rename = "BizPhne"))]
pub biz_phne: PhoneNumber,
#[yaserde(rename = "MobPhne")]
#[cfg_attr(feature = "serde", serde(rename = "MobPhne"))]
pub mob_phne: PhoneNumber,
#[yaserde(rename = "OthrPhne")]
#[cfg_attr(feature = "serde", serde(rename = "OthrPhne"))]
pub othr_phne: PhoneNumber,
#[yaserde(rename = "PrsnlEmail")]
#[cfg_attr(feature = "serde", serde(rename = "PrsnlEmail"))]
pub prsnl_email: Max256Text,
#[yaserde(rename = "BizEmail")]
#[cfg_attr(feature = "serde", serde(rename = "BizEmail"))]
pub biz_email: Max256Text,
#[yaserde(rename = "OthrEmail")]
#[cfg_attr(feature = "serde", serde(rename = "OthrEmail"))]
pub othr_email: Max256Text,
#[yaserde(rename = "HomeFax")]
#[cfg_attr(feature = "serde", serde(rename = "HomeFax"))]
pub home_fax: PhoneNumber,
#[yaserde(rename = "BizFax")]
#[cfg_attr(feature = "serde", serde(rename = "BizFax"))]
pub biz_fax: PhoneNumber,
#[yaserde(rename = "URL")]
#[cfg_attr(feature = "serde", serde(rename = "URL"))]
pub url: Max256Text,
#[yaserde(rename = "Lang")]
#[cfg_attr(feature = "serde", serde(rename = "Lang"))]
pub lang: Iso2AlanguageCode,
}
impl Validate for ContactPersonal1 {}
#[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.001.001.05")]
pub struct ContactPersonal2 {
#[yaserde(rename = "HomePhne")]
#[cfg_attr(feature = "serde", serde(rename = "HomePhne"))]
pub home_phne: PhoneNumber,
#[yaserde(rename = "BizPhne")]
#[cfg_attr(feature = "serde", serde(rename = "BizPhne"))]
pub biz_phne: PhoneNumber,
#[yaserde(rename = "MobPhne")]
#[cfg_attr(feature = "serde", serde(rename = "MobPhne"))]
pub mob_phne: PhoneNumber,
#[yaserde(rename = "OthrPhne")]
#[cfg_attr(feature = "serde", serde(rename = "OthrPhne"))]
pub othr_phne: PhoneNumber,
#[yaserde(rename = "PrsnlEmail")]
#[cfg_attr(feature = "serde", serde(rename = "PrsnlEmail"))]
pub prsnl_email: Max256Text,
#[yaserde(rename = "BizEmail")]
#[cfg_attr(feature = "serde", serde(rename = "BizEmail"))]
pub biz_email: Max256Text,
#[yaserde(rename = "OthrEmail")]
#[cfg_attr(feature = "serde", serde(rename = "OthrEmail"))]
pub othr_email: Max256Text,
#[yaserde(rename = "HomeFax")]
#[cfg_attr(feature = "serde", serde(rename = "HomeFax"))]
pub home_fax: PhoneNumber,
#[yaserde(rename = "BizFax")]
#[cfg_attr(feature = "serde", serde(rename = "BizFax"))]
pub biz_fax: PhoneNumber,
#[yaserde(rename = "URL")]
#[cfg_attr(feature = "serde", serde(rename = "URL"))]
pub url: Max256Text,
#[yaserde(rename = "Lang")]
#[cfg_attr(feature = "serde", serde(rename = "Lang"))]
pub lang: Iso2AlanguageCode,
}
impl Validate for ContactPersonal2 {}
#[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.001.001.05")]
pub struct ContentInformationType41 {
#[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 ContentInformationType41 {}
#[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.001.001.05")]
pub struct Context26 {
#[yaserde(rename = "CardDataNtryMd")]
#[cfg_attr(feature = "serde", serde(rename = "CardDataNtryMd"))]
pub card_data_ntry_md: CardDataReading11Code,
#[yaserde(rename = "QRCdPresntmntMd")]
#[cfg_attr(feature = "serde", serde(rename = "QRCdPresntmntMd"))]
pub qr_cd_presntmnt_md: QrcodePresentmentMode2Code,
#[yaserde(rename = "MrchntCtgyCd")]
#[cfg_attr(feature = "serde", serde(rename = "MrchntCtgyCd"))]
pub mrchnt_ctgy_cd: Iso18245MerchantCategoryCode,
#[yaserde(rename = "MrchntCtgySpcfcData")]
#[cfg_attr(feature = "serde", serde(rename = "MrchntCtgySpcfcData"))]
pub mrchnt_ctgy_spcfc_data: Max35Text,
#[yaserde(rename = "OthrMrchntCtgy")]
#[cfg_attr(feature = "serde", serde(rename = "OthrMrchntCtgy"))]
pub othr_mrchnt_ctgy: Max35Text,
#[yaserde(rename = "POSCondCd")]
#[cfg_attr(feature = "serde", serde(rename = "POSCondCd"))]
pub pos_cond_cd: Iso8583PosconditionCode,
#[yaserde(rename = "CardPres")]
#[cfg_attr(feature = "serde", serde(rename = "CardPres"))]
pub card_pres: TrueFalseIndicator,
#[yaserde(rename = "CrdhldrPres")]
#[cfg_attr(feature = "serde", serde(rename = "CrdhldrPres"))]
pub crdhldr_pres: TrueFalseIndicator,
#[yaserde(rename = "CrdhldrActvtd")]
#[cfg_attr(feature = "serde", serde(rename = "CrdhldrActvtd"))]
pub crdhldr_actvtd: TrueFalseIndicator,
#[yaserde(rename = "TrnspndrInittd")]
#[cfg_attr(feature = "serde", serde(rename = "TrnspndrInittd"))]
pub trnspndr_inittd: TrueFalseIndicator,
#[yaserde(rename = "Trnst")]
#[cfg_attr(feature = "serde", serde(rename = "Trnst"))]
pub trnst: TrueFalseIndicator,
#[yaserde(rename = "TrnsprtnMd")]
#[cfg_attr(feature = "serde", serde(rename = "TrnsprtnMd"))]
pub trnsprtn_md: Max2NumericText,
#[yaserde(rename = "EVChrgg")]
#[cfg_attr(feature = "serde", serde(rename = "EVChrgg"))]
pub ev_chrgg: TrueFalseIndicator,
#[yaserde(rename = "Attndd")]
#[cfg_attr(feature = "serde", serde(rename = "Attndd"))]
pub attndd: TrueFalseIndicator,
#[yaserde(rename = "UattnddLvlCtgy")]
#[cfg_attr(feature = "serde", serde(rename = "UattnddLvlCtgy"))]
pub uattndd_lvl_ctgy: Max35NumericText,
#[yaserde(rename = "EComrc")]
#[cfg_attr(feature = "serde", serde(rename = "EComrc"))]
pub e_comrc: TrueFalseIndicator,
#[yaserde(rename = "EComrcIndPropsd")]
#[cfg_attr(feature = "serde", serde(rename = "EComrcIndPropsd"))]
pub e_comrc_ind_propsd: Max35Text,
#[yaserde(rename = "EComrcIndApld")]
#[cfg_attr(feature = "serde", serde(rename = "EComrcIndApld"))]
pub e_comrc_ind_apld: Max35Text,
#[yaserde(rename = "EComrcData")]
#[cfg_attr(feature = "serde", serde(rename = "EComrcData"))]
pub e_comrc_data: AticalaxProcessing,
#[yaserde(rename = "MOTOCd")]
#[cfg_attr(feature = "serde", serde(rename = "MOTOCd"))]
pub moto_cd: Moto2Code,
#[yaserde(rename = "FnlAuthstn")]
#[cfg_attr(feature = "serde", serde(rename = "FnlAuthstn"))]
pub fnl_authstn: TrueFalseIndicator,
#[yaserde(rename = "CstmrCnsnt")]
#[cfg_attr(feature = "serde", serde(rename = "CstmrCnsnt"))]
pub cstmr_cnsnt: TrueFalseIndicator,
#[yaserde(rename = "TxInitr")]
#[cfg_attr(feature = "serde", serde(rename = "TxInitr"))]
pub tx_initr: TransactionInitiator1Code,
#[yaserde(rename = "DelydChrgs")]
#[cfg_attr(feature = "serde", serde(rename = "DelydChrgs"))]
pub delyd_chrgs: TrueFalseIndicator,
#[yaserde(rename = "NoShow")]
#[cfg_attr(feature = "serde", serde(rename = "NoShow"))]
pub no_show: TrueFalseIndicator,
#[yaserde(rename = "Reauthstn")]
#[cfg_attr(feature = "serde", serde(rename = "Reauthstn"))]
pub reauthstn: TrueFalseIndicator,
#[yaserde(rename = "ReSubmissn")]
#[cfg_attr(feature = "serde", serde(rename = "ReSubmissn"))]
pub re_submissn: TrueFalseIndicator,
#[yaserde(rename = "DelydAuthstn")]
#[cfg_attr(feature = "serde", serde(rename = "DelydAuthstn"))]
pub delyd_authstn: TrueFalseIndicator,
#[yaserde(rename = "LatePresntmnt")]
#[cfg_attr(feature = "serde", serde(rename = "LatePresntmnt"))]
pub late_presntmnt: TrueFalseIndicator,
#[yaserde(rename = "DfrrdDlvry")]
#[cfg_attr(feature = "serde", serde(rename = "DfrrdDlvry"))]
pub dfrrd_dlvry: TrueFalseIndicator,
#[yaserde(rename = "PrtlShipmnt")]
#[cfg_attr(feature = "serde", serde(rename = "PrtlShipmnt"))]
pub prtl_shipmnt: TrueFalseIndicator,
#[yaserde(rename = "SpltPmt")]
#[cfg_attr(feature = "serde", serde(rename = "SpltPmt"))]
pub splt_pmt: TrueFalseIndicator,
#[yaserde(rename = "PrtlApprvlSpprtd")]
#[cfg_attr(feature = "serde", serde(rename = "PrtlApprvlSpprtd"))]
pub prtl_apprvl_spprtd: TrueFalseIndicator,
#[yaserde(rename = "SctyChrtcs")]
#[cfg_attr(feature = "serde", serde(rename = "SctyChrtcs"))]
pub scty_chrtcs: Vec<SecurityCharacteristics2Code>,
#[yaserde(rename = "TempScrCardDataReusd")]
#[cfg_attr(feature = "serde", serde(rename = "TempScrCardDataReusd"))]
pub temp_scr_card_data_reusd: TrueFalseIndicator,
#[yaserde(rename = "StorgLctn")]
#[cfg_attr(feature = "serde", serde(rename = "StorgLctn"))]
pub storg_lctn: Max35Text,
#[yaserde(rename = "PmtCrdntlMrchntRltsh")]
#[cfg_attr(feature = "serde", serde(rename = "PmtCrdntlMrchntRltsh"))]
pub pmt_crdntl_mrchnt_rltsh: TrueFalseIndicator,
#[yaserde(rename = "PINPadInprbl")]
#[cfg_attr(feature = "serde", serde(rename = "PINPadInprbl"))]
pub pin_pad_inprbl: TrueFalseIndicator,
#[yaserde(rename = "PINNtryBpss")]
#[cfg_attr(feature = "serde", serde(rename = "PINNtryBpss"))]
pub pin_ntry_bpss: TrueFalseIndicator,
#[yaserde(rename = "ICCFllbck")]
#[cfg_attr(feature = "serde", serde(rename = "ICCFllbck"))]
pub icc_fllbck: TrueFalseIndicator,
#[yaserde(rename = "ICCFllbckRsnCd")]
#[cfg_attr(feature = "serde", serde(rename = "ICCFllbckRsnCd"))]
pub icc_fllbck_rsn_cd: IccfallbackReason2Code,
#[yaserde(rename = "MgntcStrpFllbck")]
#[cfg_attr(feature = "serde", serde(rename = "MgntcStrpFllbck"))]
pub mgntc_strp_fllbck: TrueFalseIndicator,
#[yaserde(rename = "AuthntcnOutg")]
#[cfg_attr(feature = "serde", serde(rename = "AuthntcnOutg"))]
pub authntcn_outg: TrueFalseIndicator,
#[yaserde(rename = "PayByLk")]
#[cfg_attr(feature = "serde", serde(rename = "PayByLk"))]
pub pay_by_lk: TrueFalseIndicator,
#[yaserde(rename = "OnUS")]
#[cfg_attr(feature = "serde", serde(rename = "OnUS"))]
pub on_us: TrueFalseIndicator,
#[yaserde(rename = "AutoFill")]
#[cfg_attr(feature = "serde", serde(rename = "AutoFill"))]
pub auto_fill: TrueFalseIndicator,
#[yaserde(rename = "VATDcmnttnReq")]
#[cfg_attr(feature = "serde", serde(rename = "VATDcmnttnReq"))]
pub vat_dcmnttn_req: Max10Text,
#[yaserde(rename = "VATDcmnttnRspn")]
#[cfg_attr(feature = "serde", serde(rename = "VATDcmnttnRspn"))]
pub vat_dcmnttn_rspn: Max10Text,
#[yaserde(rename = "XtndedAuthstn")]
#[cfg_attr(feature = "serde", serde(rename = "XtndedAuthstn"))]
pub xtnded_authstn: TrueFalseIndicator,
#[yaserde(rename = "CaptrDt")]
#[cfg_attr(feature = "serde", serde(rename = "CaptrDt"))]
pub captr_dt: Isodate,
#[yaserde(rename = "DtAntcptd")]
#[cfg_attr(feature = "serde", serde(rename = "DtAntcptd"))]
pub dt_antcptd: Isodate,
#[yaserde(rename = "MaxPrcgDt")]
#[cfg_attr(feature = "serde", serde(rename = "MaxPrcgDt"))]
pub max_prcg_dt: JulianDate,
#[yaserde(rename = "ECRId")]
#[cfg_attr(feature = "serde", serde(rename = "ECRId"))]
pub ecr_id: Max35Text,
#[yaserde(rename = "SaleRefNb")]
#[cfg_attr(feature = "serde", serde(rename = "SaleRefNb"))]
pub sale_ref_nb: Max35Text,
#[yaserde(rename = "GoodsAndSvcsTp")]
#[cfg_attr(feature = "serde", serde(rename = "GoodsAndSvcsTp"))]
pub goods_and_svcs_tp: GoodsAndServices1Code,
#[yaserde(rename = "GoodsAndSvcsSubTp")]
#[cfg_attr(feature = "serde", serde(rename = "GoodsAndSvcsSubTp"))]
pub goods_and_svcs_sub_tp: GoodsAndServicesSubType2Code,
#[yaserde(rename = "GoodAndSvcDlvryChanl")]
#[cfg_attr(feature = "serde", serde(rename = "GoodAndSvcDlvryChanl"))]
pub good_and_svc_dlvry_chanl: GoodAndServiceDeliveryChannel2Code,
#[yaserde(rename = "GoodAndSvcDlvrySchdl")]
#[cfg_attr(feature = "serde", serde(rename = "GoodAndSvcDlvrySchdl"))]
pub good_and_svc_dlvry_schdl: GoodAndServiceDeliverySchedule2Code,
#[yaserde(rename = "RctReq")]
#[cfg_attr(feature = "serde", serde(rename = "RctReq"))]
pub rct_req: TrueFalseIndicator,
#[yaserde(rename = "RctTp")]
#[cfg_attr(feature = "serde", serde(rename = "RctTp"))]
pub rct_tp: Vec<ReceiptType1Code>,
#[yaserde(rename = "RctDstn")]
#[cfg_attr(feature = "serde", serde(rename = "RctDstn"))]
pub rct_dstn: Max70Text,
#[yaserde(rename = "PrvtData")]
#[cfg_attr(feature = "serde", serde(rename = "PrvtData"))]
pub prvt_data: Vec<AticalaxProcessing>,
#[yaserde(rename = "NtlData")]
#[cfg_attr(feature = "serde", serde(rename = "NtlData"))]
pub ntl_data: Vec<AticalaxProcessing>,
}
impl Validate for Context26 {}
#[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.001.001.05")]
pub enum CorporateTaxType1Code {
#[yaserde(rename = "SMBS")]
#[cfg_attr(feature = "serde", serde(rename = "SMBS"))]
Smbs,
#[yaserde(rename = "OTHR")]
#[cfg_attr(feature = "serde", serde(rename = "OTHR"))]
Othr,
#[yaserde(rename = "CORP")]
#[cfg_attr(feature = "serde", serde(rename = "CORP"))]
Corp,
__Unknown__(String),
}
impl Default for CorporateTaxType1Code {
fn default() -> CorporateTaxType1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for CorporateTaxType1Code {}
#[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.001.001.05")]
pub struct Credentials3 {
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: ExternalAuthenticationMethod1Code,
#[yaserde(rename = "OthrTp")]
#[cfg_attr(feature = "serde", serde(rename = "OthrTp"))]
pub othr_tp: Max35Text,
#[yaserde(rename = "SubTp")]
#[cfg_attr(feature = "serde", serde(rename = "SubTp"))]
pub sub_tp: Max35Text,
#[yaserde(rename = "Val")]
#[cfg_attr(feature = "serde", serde(rename = "Val"))]
pub val: Max70Text,
#[yaserde(rename = "XpryDt")]
#[cfg_attr(feature = "serde", serde(rename = "XpryDt"))]
pub xpry_dt: IsoyearMonth,
#[yaserde(rename = "Assgnr")]
#[cfg_attr(feature = "serde", serde(rename = "Assgnr"))]
pub assgnr: Authority1,
}
impl Validate for Credentials3 {}
#[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.001.001.05")]
pub enum CreditDebit3Code {
#[yaserde(rename = "CRDT")]
#[cfg_attr(feature = "serde", serde(rename = "CRDT"))]
Crdt,
#[yaserde(rename = "DBIT")]
#[cfg_attr(feature = "serde", serde(rename = "DBIT"))]
Dbit,
__Unknown__(String),
}
impl Default for CreditDebit3Code {
fn default() -> CreditDebit3Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for CreditDebit3Code {}
#[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.001.001.05")]
pub struct Customer10 {
#[yaserde(rename = "Nm")]
#[cfg_attr(feature = "serde", serde(rename = "Nm"))]
pub nm: Max105Text,
#[yaserde(rename = "GvnNm")]
#[cfg_attr(feature = "serde", serde(rename = "GvnNm"))]
pub gvn_nm: Max35Text,
#[yaserde(rename = "MddlNm")]
#[cfg_attr(feature = "serde", serde(rename = "MddlNm"))]
pub mddl_nm: Max35Text,
#[yaserde(rename = "LastNm")]
#[cfg_attr(feature = "serde", serde(rename = "LastNm"))]
pub last_nm: Max35Text,
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Credentials3,
#[yaserde(rename = "CstmrFileRefNb")]
#[cfg_attr(feature = "serde", serde(rename = "CstmrFileRefNb"))]
pub cstmr_file_ref_nb: Max70Text,
#[yaserde(rename = "Age")]
#[cfg_attr(feature = "serde", serde(rename = "Age"))]
pub age: Max2NumericText,
#[yaserde(rename = "Adr")]
#[cfg_attr(feature = "serde", serde(rename = "Adr"))]
pub adr: Address4,
#[yaserde(rename = "Ctct")]
#[cfg_attr(feature = "serde", serde(rename = "Ctct"))]
pub ctct: ContactPersonal2,
}
impl Validate for Customer10 {}
#[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.001.001.05")]
pub struct Customer4 {
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: CustomerType2Code,
#[yaserde(rename = "RefNb")]
#[cfg_attr(feature = "serde", serde(rename = "RefNb"))]
pub ref_nb: Max35Text,
#[yaserde(rename = "TaxRegnId")]
#[cfg_attr(feature = "serde", serde(rename = "TaxRegnId"))]
pub tax_regn_id: Vec<Max70Text>,
#[yaserde(rename = "AuthrsdCtctCpny")]
#[cfg_attr(feature = "serde", serde(rename = "AuthrsdCtctCpny"))]
pub authrsd_ctct_cpny: Max70Text,
#[yaserde(rename = "AuthrsdCtctNm")]
#[cfg_attr(feature = "serde", serde(rename = "AuthrsdCtctNm"))]
pub authrsd_ctct_nm: Max70Text,
#[yaserde(rename = "AuthrsdCtctPhneNb")]
#[cfg_attr(feature = "serde", serde(rename = "AuthrsdCtctPhneNb"))]
pub authrsd_ctct_phne_nb: PhoneNumber,
#[yaserde(rename = "VIPInd")]
#[cfg_attr(feature = "serde", serde(rename = "VIPInd"))]
pub vip_ind: TrueFalseIndicator,
#[yaserde(rename = "CstmrRltsh")]
#[cfg_attr(feature = "serde", serde(rename = "CstmrRltsh"))]
pub cstmr_rltsh: Max35Text,
}
impl Validate for Customer4 {}
#[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.001.001.05")]
pub enum CustomerAssigner1Code {
#[yaserde(rename = "AUTH")]
#[cfg_attr(feature = "serde", serde(rename = "AUTH"))]
Auth,
#[yaserde(rename = "CRCY")]
#[cfg_attr(feature = "serde", serde(rename = "CRCY"))]
Crcy,
#[yaserde(rename = "CUST")]
#[cfg_attr(feature = "serde", serde(rename = "CUST"))]
Cust,
#[yaserde(rename = "ONFL")]
#[cfg_attr(feature = "serde", serde(rename = "ONFL"))]
Onfl,
#[yaserde(rename = "OTHR")]
#[cfg_attr(feature = "serde", serde(rename = "OTHR"))]
Othr,
#[yaserde(rename = "TRAY")]
#[cfg_attr(feature = "serde", serde(rename = "TRAY"))]
Tray,
__Unknown__(String),
}
impl Default for CustomerAssigner1Code {
fn default() -> CustomerAssigner1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for CustomerAssigner1Code {}
#[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.001.001.05")]
pub struct CustomerDevice6 {
#[yaserde(rename = "Manfctr")]
#[cfg_attr(feature = "serde", serde(rename = "Manfctr"))]
pub manfctr: Max70Text,
#[yaserde(rename = "ManfctrMdlId")]
#[cfg_attr(feature = "serde", serde(rename = "ManfctrMdlId"))]
pub manfctr_mdl_id: Max70Text,
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: ExternalCustomerDeviceType1Code,
#[yaserde(rename = "Lang")]
#[cfg_attr(feature = "serde", serde(rename = "Lang"))]
pub lang: Iso2AlanguageCode,
#[yaserde(rename = "Phne")]
#[cfg_attr(feature = "serde", serde(rename = "Phne"))]
pub phne: PhoneNumber,
#[yaserde(rename = "GeogcLctn")]
#[cfg_attr(feature = "serde", serde(rename = "GeogcLctn"))]
pub geogc_lctn: GeographicPointInDecimalDegreesText,
#[yaserde(rename = "LctnCtryCd")]
#[cfg_attr(feature = "serde", serde(rename = "LctnCtryCd"))]
pub lctn_ctry_cd: Iso3NumericCountryCode,
#[yaserde(rename = "IPAdr")]
#[cfg_attr(feature = "serde", serde(rename = "IPAdr"))]
pub ip_adr: Max70Text,
#[yaserde(rename = "Email")]
#[cfg_attr(feature = "serde", serde(rename = "Email"))]
pub email: Max256Text,
#[yaserde(rename = "DvcNm")]
#[cfg_attr(feature = "serde", serde(rename = "DvcNm"))]
pub dvc_nm: Max100Text,
#[yaserde(rename = "DvcNmNrmlzd")]
#[cfg_attr(feature = "serde", serde(rename = "DvcNmNrmlzd"))]
pub dvc_nm_nrmlzd: Max100Text,
#[yaserde(rename = "DvcId")]
#[cfg_attr(feature = "serde", serde(rename = "DvcId"))]
pub dvc_id: Vec<DeviceIdentification2>,
#[yaserde(rename = "OprgSysId")]
#[cfg_attr(feature = "serde", serde(rename = "OprgSysId"))]
pub oprg_sys_id: Max70Text,
#[yaserde(rename = "OprgSysTp")]
#[cfg_attr(feature = "serde", serde(rename = "OprgSysTp"))]
pub oprg_sys_tp: ExternalDeviceOperatingSystemType1Code,
#[yaserde(rename = "OprgSysVrsn")]
#[cfg_attr(feature = "serde", serde(rename = "OprgSysVrsn"))]
pub oprg_sys_vrsn: Max35Text,
#[yaserde(rename = "OprgSysBld")]
#[cfg_attr(feature = "serde", serde(rename = "OprgSysBld"))]
pub oprg_sys_bld: Max70Text,
#[yaserde(rename = "Prvdr")]
#[cfg_attr(feature = "serde", serde(rename = "Prvdr"))]
pub prvdr: Max35Text,
#[yaserde(rename = "GeogcLctnSrc")]
#[cfg_attr(feature = "serde", serde(rename = "GeogcLctnSrc"))]
pub geogc_lctn_src: Max35Text,
#[yaserde(rename = "DvcTmZone")]
#[cfg_attr(feature = "serde", serde(rename = "DvcTmZone"))]
pub dvc_tm_zone: Max70Text,
#[yaserde(rename = "DvcTmZoneSrc")]
#[cfg_attr(feature = "serde", serde(rename = "DvcTmZoneSrc"))]
pub dvc_tm_zone_src: Max35Text,
#[yaserde(rename = "PrvtData")]
#[cfg_attr(feature = "serde", serde(rename = "PrvtData"))]
pub prvt_data: Vec<AticalaxProcessing>,
#[yaserde(rename = "NtlData")]
#[cfg_attr(feature = "serde", serde(rename = "NtlData"))]
pub ntl_data: Vec<AticalaxProcessing>,
}
impl Validate for CustomerDevice6 {}
#[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.001.001.05")]
pub struct CustomerReference1 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Max35Text,
#[yaserde(rename = "Dtl")]
#[cfg_attr(feature = "serde", serde(rename = "Dtl"))]
pub dtl: Max70Text,
}
impl Validate for CustomerReference1 {}
#[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.001.001.05")]
pub enum CustomerType2Code {
#[yaserde(rename = "CSMR")]
#[cfg_attr(feature = "serde", serde(rename = "CSMR"))]
Csmr,
#[yaserde(rename = "CPNY")]
#[cfg_attr(feature = "serde", serde(rename = "CPNY"))]
Cpny,
__Unknown__(String),
}
impl Default for CustomerType2Code {
fn default() -> CustomerType2Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for CustomerType2Code {}
#[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.001.001.05")]
pub struct DateTime2 {
#[yaserde(rename = "Dt")]
#[cfg_attr(feature = "serde", serde(rename = "Dt"))]
pub dt: Isodate,
#[yaserde(rename = "Tm")]
#[cfg_attr(feature = "serde", serde(rename = "Tm"))]
pub tm: Isotime,
}
impl Validate for DateTime2 {}
#[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(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.001.001.05")]
pub struct DepartureOrArrival1 {
#[yaserde(rename = "Lctn")]
#[cfg_attr(feature = "serde", serde(rename = "Lctn"))]
pub lctn: Max70Text,
#[yaserde(rename = "Desc")]
#[cfg_attr(feature = "serde", serde(rename = "Desc"))]
pub desc: Max256Text,
#[yaserde(rename = "Dt")]
#[cfg_attr(feature = "serde", serde(rename = "Dt"))]
pub dt: Isodate,
#[yaserde(rename = "Tm")]
#[cfg_attr(feature = "serde", serde(rename = "Tm"))]
pub tm: Isotime,
}
impl Validate for DepartureOrArrival1 {}
#[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.001.001.05")]
pub struct DepartureOrArrival2 {
#[yaserde(rename = "CrrierCd")]
#[cfg_attr(feature = "serde", serde(rename = "CrrierCd"))]
pub crrier_cd: Max35Text,
#[yaserde(rename = "RouteNb")]
#[cfg_attr(feature = "serde", serde(rename = "RouteNb"))]
pub route_nb: Max35NumericText,
#[yaserde(rename = "Dt")]
#[cfg_attr(feature = "serde", serde(rename = "Dt"))]
pub dt: Isodate,
#[yaserde(rename = "Tm")]
#[cfg_attr(feature = "serde", serde(rename = "Tm"))]
pub tm: Isotime,
}
impl Validate for DepartureOrArrival2 {}
#[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.001.001.05")]
pub struct DepositDetails4 {
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: CardDepositType2Code,
#[yaserde(rename = "Amt")]
#[cfg_attr(feature = "serde", serde(rename = "Amt"))]
pub amt: ImpliedCurrencyAndAmount,
#[yaserde(rename = "CdtDbt")]
#[cfg_attr(feature = "serde", serde(rename = "CdtDbt"))]
pub cdt_dbt: CreditDebit3Code,
}
impl Validate for DepositDetails4 {}
#[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.001.001.05")]
pub struct DestinationData1 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Max11NumericText,
#[yaserde(rename = "BizId")]
#[cfg_attr(feature = "serde", serde(rename = "BizId"))]
pub biz_id: Max15AlphaNumericText,
#[yaserde(rename = "Ctry")]
#[cfg_attr(feature = "serde", serde(rename = "Ctry"))]
pub ctry: Iso3NumericCountryCode,
#[yaserde(rename = "BizNm")]
#[cfg_attr(feature = "serde", serde(rename = "BizNm"))]
pub biz_nm: Max35Text,
#[yaserde(rename = "LglCorpNm")]
#[cfg_attr(feature = "serde", serde(rename = "LglCorpNm"))]
pub lgl_corp_nm: Max99Text,
#[yaserde(rename = "Adr")]
#[cfg_attr(feature = "serde", serde(rename = "Adr"))]
pub adr: Address4,
#[yaserde(rename = "PrvtData")]
#[cfg_attr(feature = "serde", serde(rename = "PrvtData"))]
pub prvt_data: Vec<AticalaxProcessing>,
#[yaserde(rename = "NtlData")]
#[cfg_attr(feature = "serde", serde(rename = "NtlData"))]
pub ntl_data: Vec<AticalaxProcessing>,
#[yaserde(rename = "LclData")]
#[cfg_attr(feature = "serde", serde(rename = "LclData"))]
pub lcl_data: Vec<LocalData20>,
}
impl Validate for DestinationData1 {}
#[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.001.001.05")]
pub struct DetailedAmount24 {
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: Iso8583AmountTypeCode,
#[yaserde(rename = "CdtDbt")]
#[cfg_attr(feature = "serde", serde(rename = "CdtDbt"))]
pub cdt_dbt: CreditDebit3Code,
#[yaserde(rename = "Amt")]
#[cfg_attr(feature = "serde", serde(rename = "Amt"))]
pub amt: ImpliedCurrencyAndAmount,
#[yaserde(rename = "CrdhldrBllgAmt")]
#[cfg_attr(feature = "serde", serde(rename = "CrdhldrBllgAmt"))]
pub crdhldr_bllg_amt: ImpliedCurrencyAndAmount,
#[yaserde(rename = "RcncltnAmt")]
#[cfg_attr(feature = "serde", serde(rename = "RcncltnAmt"))]
pub rcncltn_amt: ImpliedCurrencyAndAmount,
#[yaserde(rename = "Desc")]
#[cfg_attr(feature = "serde", serde(rename = "Desc"))]
pub desc: Max70Text,
}
impl Validate for DetailedAmount24 {}
#[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.001.001.05")]
pub struct DeviceIdentification2 {
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: DeviceIdentificationType2Code,
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Max70Text,
#[yaserde(rename = "Assgnr")]
#[cfg_attr(feature = "serde", serde(rename = "Assgnr"))]
pub assgnr: Max70Text,
}
impl Validate for DeviceIdentification2 {}
#[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.001.001.05")]
pub enum DeviceIdentificationType2Code {
#[yaserde(rename = "IMEI")]
#[cfg_attr(feature = "serde", serde(rename = "IMEI"))]
Imei,
#[yaserde(rename = "SEID")]
#[cfg_attr(feature = "serde", serde(rename = "SEID"))]
Seid,
#[yaserde(rename = "SENU")]
#[cfg_attr(feature = "serde", serde(rename = "SENU"))]
Senu,
__Unknown__(String),
}
impl Default for DeviceIdentificationType2Code {
fn default() -> DeviceIdentificationType2Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for DeviceIdentificationType2Code {}
#[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.001.001.05")]
pub struct DisplayCapabilities6 {
#[yaserde(rename = "Dstn")]
#[cfg_attr(feature = "serde", serde(rename = "Dstn"))]
pub dstn: UserInterface1Code,
#[yaserde(rename = "AvlblFrmt")]
#[cfg_attr(feature = "serde", serde(rename = "AvlblFrmt"))]
pub avlbl_frmt: Vec<OutputFormat1Code>,
#[yaserde(rename = "NbOfLines")]
#[cfg_attr(feature = "serde", serde(rename = "NbOfLines"))]
pub nb_of_lines: Number,
#[yaserde(rename = "LineWidth")]
#[cfg_attr(feature = "serde", serde(rename = "LineWidth"))]
pub line_width: Number,
#[yaserde(rename = "AvlblLang")]
#[cfg_attr(feature = "serde", serde(rename = "AvlblLang"))]
pub avlbl_lang: Vec<LanguageCode>,
}
impl Validate for DisplayCapabilities6 {}
#[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.001.001.05")]
pub struct Document {
#[yaserde(rename = "AuthstnInitn")]
#[cfg_attr(feature = "serde", serde(rename = "AuthstnInitn"))]
pub authstn_initn: AuthorisationInitiationV05,
}
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.001.001.05")]
pub struct DriverInParty4 {
#[yaserde(rename = "Nm")]
#[cfg_attr(feature = "serde", serde(rename = "Nm"))]
pub nm: Max105Text,
#[yaserde(rename = "GvnNm")]
#[cfg_attr(feature = "serde", serde(rename = "GvnNm"))]
pub gvn_nm: Max35Text,
#[yaserde(rename = "MddlNm")]
#[cfg_attr(feature = "serde", serde(rename = "MddlNm"))]
pub mddl_nm: Max35Text,
#[yaserde(rename = "LastNm")]
#[cfg_attr(feature = "serde", serde(rename = "LastNm"))]
pub last_nm: Max35Text,
#[yaserde(rename = "Adr")]
#[cfg_attr(feature = "serde", serde(rename = "Adr"))]
pub adr: Address4,
#[yaserde(rename = "Ctct")]
#[cfg_attr(feature = "serde", serde(rename = "Ctct"))]
pub ctct: ContactPersonal2,
#[yaserde(rename = "DtOfBirth")]
#[cfg_attr(feature = "serde", serde(rename = "DtOfBirth"))]
pub dt_of_birth: Isodate,
#[yaserde(rename = "Age")]
#[cfg_attr(feature = "serde", serde(rename = "Age"))]
pub age: Max2NumericText,
#[yaserde(rename = "DrvrCrdntl")]
#[cfg_attr(feature = "serde", serde(rename = "DrvrCrdntl"))]
pub drvr_crdntl: Vec<TravelDocument3>,
#[yaserde(rename = "LicTp")]
#[cfg_attr(feature = "serde", serde(rename = "LicTp"))]
pub lic_tp: Max70Text,
#[yaserde(rename = "LicForm")]
#[cfg_attr(feature = "serde", serde(rename = "LicForm"))]
pub lic_form: PresentationMedium2Code,
#[yaserde(rename = "LicId")]
#[cfg_attr(feature = "serde", serde(rename = "LicId"))]
pub lic_id: Max70Text,
#[yaserde(rename = "LicAssgnr")]
#[cfg_attr(feature = "serde", serde(rename = "LicAssgnr"))]
pub lic_assgnr: LegalStructure1Code,
#[yaserde(rename = "LicIssncDt")]
#[cfg_attr(feature = "serde", serde(rename = "LicIssncDt"))]
pub lic_issnc_dt: Isodate,
#[yaserde(rename = "LicXprtnDt")]
#[cfg_attr(feature = "serde", serde(rename = "LicXprtnDt"))]
pub lic_xprtn_dt: Isodate,
#[yaserde(rename = "LicCtry")]
#[cfg_attr(feature = "serde", serde(rename = "LicCtry"))]
pub lic_ctry: Isomax3ACountryCode,
#[yaserde(rename = "LicCtrySubDvsnMjr")]
#[cfg_attr(feature = "serde", serde(rename = "LicCtrySubDvsnMjr"))]
pub lic_ctry_sub_dvsn_mjr: IsocountrySubDivisionCode,
#[yaserde(rename = "LicCtrySubDvsnMnr")]
#[cfg_attr(feature = "serde", serde(rename = "LicCtrySubDvsnMnr"))]
pub lic_ctry_sub_dvsn_mnr: IsocountrySubDivisionCode,
#[yaserde(rename = "LicOthrAuthrty")]
#[cfg_attr(feature = "serde", serde(rename = "LicOthrAuthrty"))]
pub lic_othr_authrty: Max16Text,
}
impl Validate for DriverInParty4 {}
#[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.001.001.05")]
pub struct DriverOrVehicleCardData1 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Max20Text,
#[yaserde(rename = "PrvtData")]
#[cfg_attr(feature = "serde", serde(rename = "PrvtData"))]
pub prvt_data: Vec<AticalaxProcessing>,
#[yaserde(rename = "NtlData")]
#[cfg_attr(feature = "serde", serde(rename = "NtlData"))]
pub ntl_data: Vec<AticalaxProcessing>,
}
impl Validate for DriverOrVehicleCardData1 {}
#[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.001.001.05")]
pub struct EncryptedData2 {
#[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 = "NcrptdFrmt")]
#[cfg_attr(feature = "serde", serde(rename = "NcrptdFrmt"))]
pub ncrptd_frmt: Max2NumericText,
#[yaserde(rename = "NcrptdElmt")]
#[cfg_attr(feature = "serde", serde(rename = "NcrptdElmt"))]
pub ncrptd_elmt: Vec<EncryptedDataElement2>,
}
impl Validate for EncryptedData2 {}
#[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.001.001.05")]
pub struct EncryptedData2Choice {
#[yaserde(rename = "Binry")]
#[cfg_attr(feature = "serde", serde(rename = "Binry"))]
pub binry: Option<Max100KBinary>,
#[yaserde(rename = "HexBinry")]
#[cfg_attr(feature = "serde", serde(rename = "HexBinry"))]
pub hex_binry: Option<Max9999HexBinaryText>,
}
impl Validate for EncryptedData2Choice {}
#[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.001.001.05")]
pub struct EncryptedDataElement2 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Max35Text,
#[yaserde(rename = "Data")]
#[cfg_attr(feature = "serde", serde(rename = "Data"))]
pub data: EncryptedData2Choice,
#[yaserde(rename = "ClearTxtFrmt")]
#[cfg_attr(feature = "serde", serde(rename = "ClearTxtFrmt"))]
pub clear_txt_frmt: EncryptedDataFormat1Code,
#[yaserde(rename = "OthrClearTxtFrmt")]
#[cfg_attr(feature = "serde", serde(rename = "OthrClearTxtFrmt"))]
pub othr_clear_txt_frmt: Max35Text,
}
impl Validate for EncryptedDataElement2 {}
#[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.001.001.05")]
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.001.001.05")]
pub enum Endpoint2Code {
#[yaserde(rename = "DEST")]
#[cfg_attr(feature = "serde", serde(rename = "DEST"))]
Dest,
#[yaserde(rename = "ORIG")]
#[cfg_attr(feature = "serde", serde(rename = "ORIG"))]
Orig,
__Unknown__(String),
}
impl Default for Endpoint2Code {
fn default() -> Endpoint2Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for Endpoint2Code {}
#[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 Exact14NumericText (pub String);
crate::simple_type!(Exact14NumericText);
impl Validate for Exact14NumericText {}
#[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 Exact1AlphaText (pub String);
crate::simple_type!(Exact1AlphaText);
impl Validate for Exact1AlphaText {}
#[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 Exact1Text (pub String);
crate::simple_type!(Exact1Text);
impl Validate for Exact1Text {
fn validate(&self) -> Result<(), String> {
if self.0.len() != 1 {
return Err(format!("Length validation error. \nExpected: 0 length == 1 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Exact20Binary (pub String);
crate::simple_type!(Exact20Binary);
impl Validate for Exact20Binary {}
#[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 Exact3AlphaNumericText (pub String);
crate::simple_type!(Exact3AlphaNumericText);
impl Validate for Exact3AlphaNumericText {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Exact3NumericText (pub String);
crate::simple_type!(Exact3NumericText);
impl Validate for Exact3NumericText {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Exact6AlphaNumericText (pub String);
crate::simple_type!(Exact6AlphaNumericText);
impl Validate for Exact6AlphaNumericText {}
#[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.001.001.05")]
pub enum ExchangeRateAgreementType2Code {
#[yaserde(rename = "FWCT")]
#[cfg_attr(feature = "serde", serde(rename = "FWCT"))]
Fwct,
#[yaserde(rename = "NORM")]
#[cfg_attr(feature = "serde", serde(rename = "NORM"))]
Norm,
#[yaserde(rename = "SPOT")]
#[cfg_attr(feature = "serde", serde(rename = "SPOT"))]
Spot,
__Unknown__(String),
}
impl Default for ExchangeRateAgreementType2Code {
fn default() -> ExchangeRateAgreementType2Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for ExchangeRateAgreementType2Code {}
#[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.001.001.05")]
pub enum ExchangeRateType3Code {
#[yaserde(rename = "SELL")]
#[cfg_attr(feature = "serde", serde(rename = "SELL"))]
Sell,
#[yaserde(rename = "MIDL")]
#[cfg_attr(feature = "serde", serde(rename = "MIDL"))]
Midl,
#[yaserde(rename = "BUYR")]
#[cfg_attr(feature = "serde", serde(rename = "BUYR"))]
Buyr,
#[yaserde(rename = "AGRD")]
#[cfg_attr(feature = "serde", serde(rename = "AGRD"))]
Agrd,
__Unknown__(String),
}
impl Default for ExchangeRateType3Code {
fn default() -> ExchangeRateType3Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for ExchangeRateType3Code {}
#[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.001.001.05")]
pub struct Exemption2 {
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: Exemption2Code,
#[yaserde(rename = "Val")]
#[cfg_attr(feature = "serde", serde(rename = "Val"))]
pub val: AttestationValue1Code,
#[yaserde(rename = "RsnNotHnrd")]
#[cfg_attr(feature = "serde", serde(rename = "RsnNotHnrd"))]
pub rsn_not_hnrd: Vec<Max4Text>,
}
impl Validate for Exemption2 {}
#[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.001.001.05")]
pub enum Exemption2Code {
#[yaserde(rename = "PKGE")]
#[cfg_attr(feature = "serde", serde(rename = "PKGE"))]
Pkge,
#[yaserde(rename = "TMBE")]
#[cfg_attr(feature = "serde", serde(rename = "TMBE"))]
Tmbe,
#[yaserde(rename = "RECP")]
#[cfg_attr(feature = "serde", serde(rename = "RECP"))]
Recp,
#[yaserde(rename = "LOWA")]
#[cfg_attr(feature = "serde", serde(rename = "LOWA"))]
Lowa,
#[yaserde(rename = "SCPE")]
#[cfg_attr(feature = "serde", serde(rename = "SCPE"))]
Scpe,
#[yaserde(rename = "TRAE")]
#[cfg_attr(feature = "serde", serde(rename = "TRAE"))]
Trae,
#[yaserde(rename = "CTLS")]
#[cfg_attr(feature = "serde", serde(rename = "CTLS"))]
Ctls,
#[yaserde(rename = "PAAC")]
#[cfg_attr(feature = "serde", serde(rename = "PAAC"))]
Paac,
#[yaserde(rename = "TRSP")]
#[cfg_attr(feature = "serde", serde(rename = "TRSP"))]
Trsp,
__Unknown__(String),
}
impl Default for Exemption2Code {
fn default() -> Exemption2Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for Exemption2Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct ExternalAuthenticationMethod1Code (pub String);
crate::simple_type!(ExternalAuthenticationMethod1Code);
impl Validate for ExternalAuthenticationMethod1Code {
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() > 4 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 4 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct ExternalCustomerDeviceType1Code (pub String);
crate::simple_type!(ExternalCustomerDeviceType1Code);
impl Validate for ExternalCustomerDeviceType1Code {
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() > 4 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 4 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct ExternalDeviceOperatingSystemType1Code (pub String);
crate::simple_type!(ExternalDeviceOperatingSystemType1Code);
impl Validate for ExternalDeviceOperatingSystemType1Code {
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() > 4 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 4 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct ExternalMessageFunction1Code (pub String);
crate::simple_type!(ExternalMessageFunction1Code);
impl Validate for ExternalMessageFunction1Code {
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() > 4 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 4 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct ExternalTransactorType1Code (pub String);
crate::simple_type!(ExternalTransactorType1Code);
impl Validate for ExternalTransactorType1Code {
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() > 4 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 4 \nActual: 0 length == {}", self.0.len()));
}
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.001.001.05")]
pub struct FinancialInstitution10 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Max35Text,
#[yaserde(rename = "Nm")]
#[cfg_attr(feature = "serde", serde(rename = "Nm"))]
pub nm: Max70Text,
#[yaserde(rename = "Adr")]
#[cfg_attr(feature = "serde", serde(rename = "Adr"))]
pub adr: Address4,
#[yaserde(rename = "Email")]
#[cfg_attr(feature = "serde", serde(rename = "Email"))]
pub email: Max256Text,
#[yaserde(rename = "URL")]
#[cfg_attr(feature = "serde", serde(rename = "URL"))]
pub url: Max256Text,
#[yaserde(rename = "Phne")]
#[cfg_attr(feature = "serde", serde(rename = "Phne"))]
pub phne: Max35Text,
#[yaserde(rename = "CstmrSvc")]
#[cfg_attr(feature = "serde", serde(rename = "CstmrSvc"))]
pub cstmr_svc: Max35Text,
#[yaserde(rename = "AddtlCtct")]
#[cfg_attr(feature = "serde", serde(rename = "AddtlCtct"))]
pub addtl_ctct: Max256Text,
#[yaserde(rename = "LclData")]
#[cfg_attr(feature = "serde", serde(rename = "LclData"))]
pub lcl_data: LocalData10,
}
impl Validate for FinancialInstitution10 {}
#[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.001.001.05")]
pub struct FleetData7 {
#[yaserde(rename = "Drvr")]
#[cfg_attr(feature = "serde", serde(rename = "Drvr"))]
pub drvr: FleetDriverData2,
#[yaserde(rename = "Vhcl")]
#[cfg_attr(feature = "serde", serde(rename = "Vhcl"))]
pub vhcl: FleetVehicleData1,
#[yaserde(rename = "DrvrOrVhclCard")]
#[cfg_attr(feature = "serde", serde(rename = "DrvrOrVhclCard"))]
pub drvr_or_vhcl_card: DriverOrVehicleCardData1,
#[yaserde(rename = "CardFuelPrmptCd")]
#[cfg_attr(feature = "serde", serde(rename = "CardFuelPrmptCd"))]
pub card_fuel_prmpt_cd: Max1Number,
#[yaserde(rename = "AgtFuelPrmptCd")]
#[cfg_attr(feature = "serde", serde(rename = "AgtFuelPrmptCd"))]
pub agt_fuel_prmpt_cd: Max35Text,
#[yaserde(rename = "TripNb")]
#[cfg_attr(feature = "serde", serde(rename = "TripNb"))]
pub trip_nb: Max35Text,
#[yaserde(rename = "TripJobNb")]
#[cfg_attr(feature = "serde", serde(rename = "TripJobNb"))]
pub trip_job_nb: Max10Text,
#[yaserde(rename = "TripWorkOrdr")]
#[cfg_attr(feature = "serde", serde(rename = "TripWorkOrdr"))]
pub trip_work_ordr: Max70Text,
#[yaserde(rename = "TripInvcNb")]
#[cfg_attr(feature = "serde", serde(rename = "TripInvcNb"))]
pub trip_invc_nb: Max70Text,
#[yaserde(rename = "TripBllgId")]
#[cfg_attr(feature = "serde", serde(rename = "TripBllgId"))]
pub trip_bllg_id: Max70Text,
#[yaserde(rename = "TripCtrlNb")]
#[cfg_attr(feature = "serde", serde(rename = "TripCtrlNb"))]
pub trip_ctrl_nb: Max35Text,
#[yaserde(rename = "TripDlvryTcktNb")]
#[cfg_attr(feature = "serde", serde(rename = "TripDlvryTcktNb"))]
pub trip_dlvry_tckt_nb: Max35Text,
#[yaserde(rename = "LclAmnty")]
#[cfg_attr(feature = "serde", serde(rename = "LclAmnty"))]
pub lcl_amnty: Vec<LocalAmenity2>,
#[yaserde(rename = "TxRltdData")]
#[cfg_attr(feature = "serde", serde(rename = "TxRltdData"))]
pub tx_rltd_data: Vec<FleetTransactionDetail2>,
#[yaserde(rename = "AddtlNtrdData")]
#[cfg_attr(feature = "serde", serde(rename = "AddtlNtrdData"))]
pub addtl_ntrd_data: AdditionalEnteredFleetData1,
#[yaserde(rename = "DscntMtd")]
#[cfg_attr(feature = "serde", serde(rename = "DscntMtd"))]
pub dscnt_mtd: Max4AlphaNumericText,
#[yaserde(rename = "DscntNtty")]
#[cfg_attr(feature = "serde", serde(rename = "DscntNtty"))]
pub dscnt_ntty: AticapartyType1Code,
#[yaserde(rename = "DscntPlanId")]
#[cfg_attr(feature = "serde", serde(rename = "DscntPlanId"))]
pub dscnt_plan_id: Max35Text,
#[yaserde(rename = "PurchsRstrctnInd")]
#[cfg_attr(feature = "serde", serde(rename = "PurchsRstrctnInd"))]
pub purchs_rstrctn_ind: Exact1Text,
#[yaserde(rename = "LineItm")]
#[cfg_attr(feature = "serde", serde(rename = "LineItm"))]
pub line_itm: Vec<FleetLineItem7>,
}
impl Validate for FleetData7 {}
#[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.001.001.05")]
pub struct FleetDriverData2 {
#[yaserde(rename = "Nm")]
#[cfg_attr(feature = "serde", serde(rename = "Nm"))]
pub nm: Max105Text,
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Max70Text,
#[yaserde(rename = "LicTp")]
#[cfg_attr(feature = "serde", serde(rename = "LicTp"))]
pub lic_tp: Max70Text,
#[yaserde(rename = "LicForm")]
#[cfg_attr(feature = "serde", serde(rename = "LicForm"))]
pub lic_form: PresentationMedium2Code,
#[yaserde(rename = "LicId")]
#[cfg_attr(feature = "serde", serde(rename = "LicId"))]
pub lic_id: Max70Text,
#[yaserde(rename = "LicAssgnr")]
#[cfg_attr(feature = "serde", serde(rename = "LicAssgnr"))]
pub lic_assgnr: LegalStructure1Code,
#[yaserde(rename = "LicIssncDt")]
#[cfg_attr(feature = "serde", serde(rename = "LicIssncDt"))]
pub lic_issnc_dt: Isodate,
#[yaserde(rename = "LicXprtnDt")]
#[cfg_attr(feature = "serde", serde(rename = "LicXprtnDt"))]
pub lic_xprtn_dt: Isodate,
#[yaserde(rename = "LicCtry")]
#[cfg_attr(feature = "serde", serde(rename = "LicCtry"))]
pub lic_ctry: Isomax3ACountryCode,
#[yaserde(rename = "LicCtrySubDvsnMjr")]
#[cfg_attr(feature = "serde", serde(rename = "LicCtrySubDvsnMjr"))]
pub lic_ctry_sub_dvsn_mjr: IsocountrySubDivisionCode,
#[yaserde(rename = "LicCtrySubDvsnMnr")]
#[cfg_attr(feature = "serde", serde(rename = "LicCtrySubDvsnMnr"))]
pub lic_ctry_sub_dvsn_mnr: IsocountrySubDivisionCode,
#[yaserde(rename = "LicOthrAuthrty")]
#[cfg_attr(feature = "serde", serde(rename = "LicOthrAuthrty"))]
pub lic_othr_authrty: Max16Text,
#[yaserde(rename = "Mplyr")]
#[cfg_attr(feature = "serde", serde(rename = "Mplyr"))]
pub mplyr: Max70Text,
#[yaserde(rename = "MplyeeId")]
#[cfg_attr(feature = "serde", serde(rename = "MplyeeId"))]
pub mplyee_id: Max70Text,
#[yaserde(rename = "DeptNb")]
#[cfg_attr(feature = "serde", serde(rename = "DeptNb"))]
pub dept_nb: Max35Text,
#[yaserde(rename = "AddtlId")]
#[cfg_attr(feature = "serde", serde(rename = "AddtlId"))]
pub addtl_id: Vec<TravelDocument3>,
#[yaserde(rename = "DtOfBirth")]
#[cfg_attr(feature = "serde", serde(rename = "DtOfBirth"))]
pub dt_of_birth: Isodate,
#[yaserde(rename = "PrvtData")]
#[cfg_attr(feature = "serde", serde(rename = "PrvtData"))]
pub prvt_data: Vec<AticalaxProcessing>,
#[yaserde(rename = "NtlData")]
#[cfg_attr(feature = "serde", serde(rename = "NtlData"))]
pub ntl_data: Vec<AticalaxProcessing>,
}
impl Validate for FleetDriverData2 {}
#[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.001.001.05")]
pub struct FleetLineItem7 {
#[yaserde(rename = "Fuel")]
#[cfg_attr(feature = "serde", serde(rename = "Fuel"))]
pub fuel: TrueFalseIndicator,
#[yaserde(rename = "SvcTp")]
#[cfg_attr(feature = "serde", serde(rename = "SvcTp"))]
pub svc_tp: FleetServiceType1Code,
#[yaserde(rename = "FuelBrndCd")]
#[cfg_attr(feature = "serde", serde(rename = "FuelBrndCd"))]
pub fuel_brnd_cd: Max4Text,
#[yaserde(rename = "PdctCd")]
#[cfg_attr(feature = "serde", serde(rename = "PdctCd"))]
pub pdct_cd: Max4Text,
#[yaserde(rename = "PdctCtgy")]
#[cfg_attr(feature = "serde", serde(rename = "PdctCtgy"))]
pub pdct_ctgy: Max35Text,
#[yaserde(rename = "PdctQlfr")]
#[cfg_attr(feature = "serde", serde(rename = "PdctQlfr"))]
pub pdct_qlfr: Max6Text,
#[yaserde(rename = "PdctCdAssgnr")]
#[cfg_attr(feature = "serde", serde(rename = "PdctCdAssgnr"))]
pub pdct_cd_assgnr: Max35Text,
#[yaserde(rename = "UnitPricTax")]
#[cfg_attr(feature = "serde", serde(rename = "UnitPricTax"))]
pub unit_pric_tax: TrueFalseIndicator,
#[yaserde(rename = "UnitPric")]
#[cfg_attr(feature = "serde", serde(rename = "UnitPric"))]
pub unit_pric: ImpliedCurrencyAndAmount,
#[yaserde(rename = "UnitOfMeasr")]
#[cfg_attr(feature = "serde", serde(rename = "UnitOfMeasr"))]
pub unit_of_measr: UnitOfMeasure14Code,
#[yaserde(rename = "PctgDscntRate")]
#[cfg_attr(feature = "serde", serde(rename = "PctgDscntRate"))]
pub pctg_dscnt_rate: PercentageRate,
#[yaserde(rename = "PerUnitDscntRate")]
#[cfg_attr(feature = "serde", serde(rename = "PerUnitDscntRate"))]
pub per_unit_dscnt_rate: ImpliedCurrencyAndAmount,
#[yaserde(rename = "FlatDscntRate")]
#[cfg_attr(feature = "serde", serde(rename = "FlatDscntRate"))]
pub flat_dscnt_rate: ImpliedCurrencyAndAmount,
#[yaserde(rename = "CostPlusUnitDscnt")]
#[cfg_attr(feature = "serde", serde(rename = "CostPlusUnitDscnt"))]
pub cost_plus_unit_dscnt: ImpliedCurrencyAndAmount,
#[yaserde(rename = "CostPlusUnitDscntSgn")]
#[cfg_attr(feature = "serde", serde(rename = "CostPlusUnitDscntSgn"))]
pub cost_plus_unit_dscnt_sgn: CreditDebit3Code,
#[yaserde(rename = "CostPlusUnitPric")]
#[cfg_attr(feature = "serde", serde(rename = "CostPlusUnitPric"))]
pub cost_plus_unit_pric: ImpliedCurrencyAndAmount,
#[yaserde(rename = "TtlTmPlugdIn")]
#[cfg_attr(feature = "serde", serde(rename = "TtlTmPlugdIn"))]
pub ttl_tm_plugd_in: Isotime,
#[yaserde(rename = "TtlTmChrgg")]
#[cfg_attr(feature = "serde", serde(rename = "TtlTmChrgg"))]
pub ttl_tm_chrgg: Isotime,
#[yaserde(rename = "ChrggStartTm")]
#[cfg_attr(feature = "serde", serde(rename = "ChrggStartTm"))]
pub chrgg_start_tm: Isotime,
#[yaserde(rename = "ChrggCmpltnTm")]
#[cfg_attr(feature = "serde", serde(rename = "ChrggCmpltnTm"))]
pub chrgg_cmpltn_tm: Isotime,
#[yaserde(rename = "PdctQty")]
#[cfg_attr(feature = "serde", serde(rename = "PdctQty"))]
pub pdct_qty: DecimalNumber,
#[yaserde(rename = "DscntAmt")]
#[cfg_attr(feature = "serde", serde(rename = "DscntAmt"))]
pub dscnt_amt: ImpliedCurrencyAndAmount,
#[yaserde(rename = "NonTaxbl")]
#[cfg_attr(feature = "serde", serde(rename = "NonTaxbl"))]
pub non_taxbl: TrueFalseIndicator,
#[yaserde(rename = "Tax")]
#[cfg_attr(feature = "serde", serde(rename = "Tax"))]
pub tax: Vec<Tax44>,
#[yaserde(rename = "TtlAmtExclgTax")]
#[cfg_attr(feature = "serde", serde(rename = "TtlAmtExclgTax"))]
pub ttl_amt_exclg_tax: ImpliedCurrencyAndAmount,
#[yaserde(rename = "TtlAmtInclgTax")]
#[cfg_attr(feature = "serde", serde(rename = "TtlAmtInclgTax"))]
pub ttl_amt_inclg_tax: ImpliedCurrencyAndAmount,
#[yaserde(rename = "NetAmt")]
#[cfg_attr(feature = "serde", serde(rename = "NetAmt"))]
pub net_amt: ImpliedCurrencyAndAmount,
}
impl Validate for FleetLineItem7 {}
#[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.001.001.05")]
pub enum FleetPurchaseType1Code {
#[yaserde(rename = "FUEL")]
#[cfg_attr(feature = "serde", serde(rename = "FUEL"))]
Fuel,
#[yaserde(rename = "NONF")]
#[cfg_attr(feature = "serde", serde(rename = "NONF"))]
Nonf,
#[yaserde(rename = "FANF")]
#[cfg_attr(feature = "serde", serde(rename = "FANF"))]
Fanf,
__Unknown__(String),
}
impl Default for FleetPurchaseType1Code {
fn default() -> FleetPurchaseType1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for FleetPurchaseType1Code {}
#[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.001.001.05")]
pub enum FleetServiceType1Code {
#[yaserde(rename = "SLSV")]
#[cfg_attr(feature = "serde", serde(rename = "SLSV"))]
Slsv,
#[yaserde(rename = "HSDI")]
#[cfg_attr(feature = "serde", serde(rename = "HSDI"))]
Hsdi,
#[yaserde(rename = "FLSV")]
#[cfg_attr(feature = "serde", serde(rename = "FLSV"))]
Flsv,
__Unknown__(String),
}
impl Default for FleetServiceType1Code {
fn default() -> FleetServiceType1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for FleetServiceType1Code {}
#[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.001.001.05")]
pub struct FleetTransactionDetail2 {
#[yaserde(rename = "PurchsTp")]
#[cfg_attr(feature = "serde", serde(rename = "PurchsTp"))]
pub purchs_tp: FleetPurchaseType1Code,
#[yaserde(rename = "SummryCmmdtyId")]
#[cfg_attr(feature = "serde", serde(rename = "SummryCmmdtyId"))]
pub summry_cmmdty_id: Max35Text,
#[yaserde(rename = "DscntTtlAmt")]
#[cfg_attr(feature = "serde", serde(rename = "DscntTtlAmt"))]
pub dscnt_ttl_amt: ImpliedCurrencyAndAmount,
#[yaserde(rename = "DscntTtlFuelAmt")]
#[cfg_attr(feature = "serde", serde(rename = "DscntTtlFuelAmt"))]
pub dscnt_ttl_fuel_amt: ImpliedCurrencyAndAmount,
#[yaserde(rename = "DscntTtlNonFuelAmt")]
#[cfg_attr(feature = "serde", serde(rename = "DscntTtlNonFuelAmt"))]
pub dscnt_ttl_non_fuel_amt: ImpliedCurrencyAndAmount,
#[yaserde(rename = "TtlAmt")]
#[cfg_attr(feature = "serde", serde(rename = "TtlAmt"))]
pub ttl_amt: ImpliedCurrencyAndAmount,
#[yaserde(rename = "TaxTtl")]
#[cfg_attr(feature = "serde", serde(rename = "TaxTtl"))]
pub tax_ttl: Vec<Tax44>,
}
impl Validate for FleetTransactionDetail2 {}
#[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.001.001.05")]
pub struct FleetVehicleData1 {
#[yaserde(rename = "Nb")]
#[cfg_attr(feature = "serde", serde(rename = "Nb"))]
pub nb: Max35NumericText,
#[yaserde(rename = "IdNb")]
#[cfg_attr(feature = "serde", serde(rename = "IdNb"))]
pub id_nb: Max35NumericText,
#[yaserde(rename = "FleetNb")]
#[cfg_attr(feature = "serde", serde(rename = "FleetNb"))]
pub fleet_nb: Max10Text,
#[yaserde(rename = "SubFleetNb")]
#[cfg_attr(feature = "serde", serde(rename = "SubFleetNb"))]
pub sub_fleet_nb: Max35Text,
#[yaserde(rename = "UnitNb")]
#[cfg_attr(feature = "serde", serde(rename = "UnitNb"))]
pub unit_nb: Max35NumericText,
#[yaserde(rename = "TrlrNb")]
#[cfg_attr(feature = "serde", serde(rename = "TrlrNb"))]
pub trlr_nb: Max35NumericText,
#[yaserde(rename = "Tag")]
#[cfg_attr(feature = "serde", serde(rename = "Tag"))]
pub tag: Max35Text,
#[yaserde(rename = "TagNtryMd")]
#[cfg_attr(feature = "serde", serde(rename = "TagNtryMd"))]
pub tag_ntry_md: CardDataReading5Code,
#[yaserde(rename = "Rplcmnt")]
#[cfg_attr(feature = "serde", serde(rename = "Rplcmnt"))]
pub rplcmnt: TrueFalseIndicator,
#[yaserde(rename = "Odmtr")]
#[cfg_attr(feature = "serde", serde(rename = "Odmtr"))]
pub odmtr: DecimalNumber,
#[yaserde(rename = "Hbmtr")]
#[cfg_attr(feature = "serde", serde(rename = "Hbmtr"))]
pub hbmtr: DecimalNumber,
#[yaserde(rename = "MntncId")]
#[cfg_attr(feature = "serde", serde(rename = "MntncId"))]
pub mntnc_id: Max35Text,
#[yaserde(rename = "OnBrdDgnstcs")]
#[cfg_attr(feature = "serde", serde(rename = "OnBrdDgnstcs"))]
pub on_brd_dgnstcs: OnBoardDiagnostics1,
#[yaserde(rename = "AddtlData")]
#[cfg_attr(feature = "serde", serde(rename = "AddtlData"))]
pub addtl_data: Vec<Vehicle2>,
#[yaserde(rename = "PrvtData")]
#[cfg_attr(feature = "serde", serde(rename = "PrvtData"))]
pub prvt_data: Vec<AticalaxProcessing>,
#[yaserde(rename = "NtlData")]
#[cfg_attr(feature = "serde", serde(rename = "NtlData"))]
pub ntl_data: Vec<AticalaxProcessing>,
}
impl Validate for FleetVehicleData1 {}
#[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.001.001.05")]
pub enum Frequency12Code {
#[yaserde(rename = "YEAR")]
#[cfg_attr(feature = "serde", serde(rename = "YEAR"))]
Year,
#[yaserde(rename = "DAIL")]
#[cfg_attr(feature = "serde", serde(rename = "DAIL"))]
Dail,
#[yaserde(rename = "FRTN")]
#[cfg_attr(feature = "serde", serde(rename = "FRTN"))]
Frtn,
#[yaserde(rename = "MNTH")]
#[cfg_attr(feature = "serde", serde(rename = "MNTH"))]
Mnth,
#[yaserde(rename = "QURT")]
#[cfg_attr(feature = "serde", serde(rename = "QURT"))]
Qurt,
#[yaserde(rename = "MIAN")]
#[cfg_attr(feature = "serde", serde(rename = "MIAN"))]
Mian,
#[yaserde(rename = "TEND")]
#[cfg_attr(feature = "serde", serde(rename = "TEND"))]
Tend,
#[yaserde(rename = "WEEK")]
#[cfg_attr(feature = "serde", serde(rename = "WEEK"))]
Week,
__Unknown__(String),
}
impl Default for Frequency12Code {
fn default() -> Frequency12Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for Frequency12Code {}
#[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.001.001.05")]
pub enum Frequency18Code {
#[yaserde(rename = "YEAR")]
#[cfg_attr(feature = "serde", serde(rename = "YEAR"))]
Year,
#[yaserde(rename = "DAIL")]
#[cfg_attr(feature = "serde", serde(rename = "DAIL"))]
Dail,
#[yaserde(rename = "FRTN")]
#[cfg_attr(feature = "serde", serde(rename = "FRTN"))]
Frtn,
#[yaserde(rename = "MNTH")]
#[cfg_attr(feature = "serde", serde(rename = "MNTH"))]
Mnth,
#[yaserde(rename = "QURT")]
#[cfg_attr(feature = "serde", serde(rename = "QURT"))]
Qurt,
#[yaserde(rename = "MIAN")]
#[cfg_attr(feature = "serde", serde(rename = "MIAN"))]
Mian,
#[yaserde(rename = "TEND")]
#[cfg_attr(feature = "serde", serde(rename = "TEND"))]
Tend,
#[yaserde(rename = "WEEK")]
#[cfg_attr(feature = "serde", serde(rename = "WEEK"))]
Week,
#[yaserde(rename = "TWWK")]
#[cfg_attr(feature = "serde", serde(rename = "TWWK"))]
Twwk,
__Unknown__(String),
}
impl Default for Frequency18Code {
fn default() -> Frequency18Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for Frequency18Code {}
#[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.001.001.05")]
pub struct FundingService4 {
#[yaserde(rename = "Prvdr")]
#[cfg_attr(feature = "serde", serde(rename = "Prvdr"))]
pub prvdr: Max35Text,
#[yaserde(rename = "Nm")]
#[cfg_attr(feature = "serde", serde(rename = "Nm"))]
pub nm: Max35Text,
#[yaserde(rename = "Ref")]
#[cfg_attr(feature = "serde", serde(rename = "Ref"))]
pub _ref: Max35Text,
#[yaserde(rename = "BizPurp")]
#[cfg_attr(feature = "serde", serde(rename = "BizPurp"))]
pub biz_purp: Max500Text,
#[yaserde(rename = "Desc")]
#[cfg_attr(feature = "serde", serde(rename = "Desc"))]
pub desc: Max256Text,
#[yaserde(rename = "FndgSrc")]
#[cfg_attr(feature = "serde", serde(rename = "FndgSrc"))]
pub fndg_src: Vec<FundingSource5>,
#[yaserde(rename = "ClmCrdntls")]
#[cfg_attr(feature = "serde", serde(rename = "ClmCrdntls"))]
pub clm_crdntls: Max500Text,
#[yaserde(rename = "ClmAssgnr")]
#[cfg_attr(feature = "serde", serde(rename = "ClmAssgnr"))]
pub clm_assgnr: Max35Text,
#[yaserde(rename = "SvcPrcgTp")]
#[cfg_attr(feature = "serde", serde(rename = "SvcPrcgTp"))]
pub svc_prcg_tp: Max3Text,
#[yaserde(rename = "DfrrdDtTm")]
#[cfg_attr(feature = "serde", serde(rename = "DfrrdDtTm"))]
pub dfrrd_dt_tm: IsodateTime,
}
impl Validate for FundingService4 {}
#[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.001.001.05")]
pub struct FundingSource5 {
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: FundingSourceType4Code,
#[yaserde(rename = "Ref")]
#[cfg_attr(feature = "serde", serde(rename = "Ref"))]
pub _ref: Max35Text,
}
impl Validate for FundingSource5 {}
#[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.001.001.05")]
pub enum FundingSourceType4Code {
#[yaserde(rename = "SVNG")]
#[cfg_attr(feature = "serde", serde(rename = "SVNG"))]
Svng,
#[yaserde(rename = "UVRL")]
#[cfg_attr(feature = "serde", serde(rename = "UVRL"))]
Uvrl,
#[yaserde(rename = "CASH")]
#[cfg_attr(feature = "serde", serde(rename = "CASH"))]
Cash,
#[yaserde(rename = "CRDT")]
#[cfg_attr(feature = "serde", serde(rename = "CRDT"))]
Crdt,
#[yaserde(rename = "CDBT")]
#[cfg_attr(feature = "serde", serde(rename = "CDBT"))]
Cdbt,
#[yaserde(rename = "EPRS")]
#[cfg_attr(feature = "serde", serde(rename = "EPRS"))]
Eprs,
#[yaserde(rename = "DBAC")]
#[cfg_attr(feature = "serde", serde(rename = "DBAC"))]
Dbac,
#[yaserde(rename = "CURR")]
#[cfg_attr(feature = "serde", serde(rename = "CURR"))]
Curr,
#[yaserde(rename = "CHQE")]
#[cfg_attr(feature = "serde", serde(rename = "CHQE"))]
Chqe,
#[yaserde(rename = "PRPD")]
#[cfg_attr(feature = "serde", serde(rename = "PRPD"))]
Prpd,
#[yaserde(rename = "LCDT")]
#[cfg_attr(feature = "serde", serde(rename = "LCDT"))]
Lcdt,
#[yaserde(rename = "LOYT")]
#[cfg_attr(feature = "serde", serde(rename = "LOYT"))]
Loyt,
#[yaserde(rename = "CARD")]
#[cfg_attr(feature = "serde", serde(rename = "CARD"))]
Card,
__Unknown__(String),
}
impl Default for FundingSourceType4Code {
fn default() -> FundingSourceType4Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for FundingSourceType4Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct GeographicPointInDecimalDegreesText (pub String);
crate::simple_type!(GeographicPointInDecimalDegreesText);
impl Validate for GeographicPointInDecimalDegreesText {
fn validate(&self) -> Result<(), String> {
if self.0.len() > 27 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 27 \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.001.001.05")]
pub enum GoodAndServiceDeliveryChannel2Code {
#[yaserde(rename = "EDEL")]
#[cfg_attr(feature = "serde", serde(rename = "EDEL"))]
Edel,
#[yaserde(rename = "PULC")]
#[cfg_attr(feature = "serde", serde(rename = "PULC"))]
Pulc,
#[yaserde(rename = "NDEL")]
#[cfg_attr(feature = "serde", serde(rename = "NDEL"))]
Ndel,
#[yaserde(rename = "SCBA")]
#[cfg_attr(feature = "serde", serde(rename = "SCBA"))]
Scba,
#[yaserde(rename = "SCSA")]
#[cfg_attr(feature = "serde", serde(rename = "SCSA"))]
Scsa,
__Unknown__(String),
}
impl Default for GoodAndServiceDeliveryChannel2Code {
fn default() -> GoodAndServiceDeliveryChannel2Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for GoodAndServiceDeliveryChannel2Code {}
#[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.001.001.05")]
pub enum GoodAndServiceDeliverySchedule2Code {
#[yaserde(rename = "ONDL")]
#[cfg_attr(feature = "serde", serde(rename = "ONDL"))]
Ondl,
#[yaserde(rename = "SDDL")]
#[cfg_attr(feature = "serde", serde(rename = "SDDL"))]
Sddl,
#[yaserde(rename = "TDDL")]
#[cfg_attr(feature = "serde", serde(rename = "TDDL"))]
Tddl,
__Unknown__(String),
}
impl Default for GoodAndServiceDeliverySchedule2Code {
fn default() -> GoodAndServiceDeliverySchedule2Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for GoodAndServiceDeliverySchedule2Code {}
#[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.001.001.05")]
pub enum GoodsAndServices1Code {
#[yaserde(rename = "ELEC")]
#[cfg_attr(feature = "serde", serde(rename = "ELEC"))]
Elec,
#[yaserde(rename = "PHYS")]
#[cfg_attr(feature = "serde", serde(rename = "PHYS"))]
Phys,
#[yaserde(rename = "ELPH")]
#[cfg_attr(feature = "serde", serde(rename = "ELPH"))]
Elph,
__Unknown__(String),
}
impl Default for GoodsAndServices1Code {
fn default() -> GoodsAndServices1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for GoodsAndServices1Code {}
#[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.001.001.05")]
pub enum GoodsAndServicesSubType2Code {
#[yaserde(rename = "CRCU")]
#[cfg_attr(feature = "serde", serde(rename = "CRCU"))]
Crcu,
#[yaserde(rename = "FORX")]
#[cfg_attr(feature = "serde", serde(rename = "FORX"))]
Forx,
#[yaserde(rename = "SECS")]
#[cfg_attr(feature = "serde", serde(rename = "SECS"))]
Secs,
__Unknown__(String),
}
impl Default for GoodsAndServicesSubType2Code {
fn default() -> GoodsAndServicesSubType2Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for GoodsAndServicesSubType2Code {}
#[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.001.001.05")]
pub enum GracePeriodUnitType2Code {
#[yaserde(rename = "WEKS")]
#[cfg_attr(feature = "serde", serde(rename = "WEKS"))]
Weks,
#[yaserde(rename = "MNTH")]
#[cfg_attr(feature = "serde", serde(rename = "MNTH"))]
Mnth,
#[yaserde(rename = "DAYS")]
#[cfg_attr(feature = "serde", serde(rename = "DAYS"))]
Days,
__Unknown__(String),
}
impl Default for GracePeriodUnitType2Code {
fn default() -> GracePeriodUnitType2Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for GracePeriodUnitType2Code {}
#[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.001.001.05")]
pub struct Header72 {
#[yaserde(rename = "MsgFctn")]
#[cfg_attr(feature = "serde", serde(rename = "MsgFctn"))]
pub msg_fctn: ExternalMessageFunction1Code,
#[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 = "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,
#[yaserde(rename = "InitgPtyId")]
#[cfg_attr(feature = "serde", serde(rename = "InitgPtyId"))]
pub initg_pty_id: Max35Text,
#[yaserde(rename = "RcptPtyId")]
#[cfg_attr(feature = "serde", serde(rename = "RcptPtyId"))]
pub rcpt_pty_id: Max35Text,
#[yaserde(rename = "TracData")]
#[cfg_attr(feature = "serde", serde(rename = "TracData"))]
pub trac_data: Max70Text,
}
impl Validate for Header72 {}
#[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.001.001.05")]
pub struct HiredVehicle4 {
#[yaserde(rename = "CpnyTp")]
#[cfg_attr(feature = "serde", serde(rename = "CpnyTp"))]
pub cpny_tp: Max35Text,
#[yaserde(rename = "CpnyNm")]
#[cfg_attr(feature = "serde", serde(rename = "CpnyNm"))]
pub cpny_nm: Max70Text,
#[yaserde(rename = "TpOfVhcl")]
#[cfg_attr(feature = "serde", serde(rename = "TpOfVhcl"))]
pub tp_of_vhcl: Max35Text,
#[yaserde(rename = "VhclId")]
#[cfg_attr(feature = "serde", serde(rename = "VhclId"))]
pub vhcl_id: Max35Text,
#[yaserde(rename = "DrvrId")]
#[cfg_attr(feature = "serde", serde(rename = "DrvrId"))]
pub drvr_id: Max35Text,
#[yaserde(rename = "DrvrTaxId")]
#[cfg_attr(feature = "serde", serde(rename = "DrvrTaxId"))]
pub drvr_tax_id: Max35Text,
#[yaserde(rename = "DstnNmAndLctn")]
#[cfg_attr(feature = "serde", serde(rename = "DstnNmAndLctn"))]
pub dstn_nm_and_lctn: Max99Text,
#[yaserde(rename = "DstnAdr")]
#[cfg_attr(feature = "serde", serde(rename = "DstnAdr"))]
pub dstn_adr: Address4,
}
impl Validate for HiredVehicle4 {}
#[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.001.001.05")]
pub enum IccfallbackReason2Code {
#[yaserde(rename = "CIIA")]
#[cfg_attr(feature = "serde", serde(rename = "CIIA"))]
Ciia,
#[yaserde(rename = "EDIP")]
#[cfg_attr(feature = "serde", serde(rename = "EDIP"))]
Edip,
#[yaserde(rename = "TERI")]
#[cfg_attr(feature = "serde", serde(rename = "TERI"))]
Teri,
__Unknown__(String),
}
impl Default for IccfallbackReason2Code {
fn default() -> IccfallbackReason2Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for IccfallbackReason2Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Iso18245MerchantCategoryCode (pub String);
crate::simple_type!(Iso18245MerchantCategoryCode);
impl Validate for Iso18245MerchantCategoryCode {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Iso2AlanguageCode (pub String);
crate::simple_type!(Iso2AlanguageCode);
impl Validate for Iso2AlanguageCode {}
#[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 Iso8583AccountEntryDeviceTypeCode (pub String);
crate::simple_type!(Iso8583AccountEntryDeviceTypeCode);
impl Validate for Iso8583AccountEntryDeviceTypeCode {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Iso8583AccountIdentifierTypeCode (pub String);
crate::simple_type!(Iso8583AccountIdentifierTypeCode);
impl Validate for Iso8583AccountIdentifierTypeCode {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Iso8583AccountTypeCode (pub String);
crate::simple_type!(Iso8583AccountTypeCode);
impl Validate for Iso8583AccountTypeCode {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Iso8583ActionCode (pub String);
crate::simple_type!(Iso8583ActionCode);
impl Validate for Iso8583ActionCode {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Iso8583AdditionalServiceResultCode (pub String);
crate::simple_type!(Iso8583AdditionalServiceResultCode);
impl Validate for Iso8583AdditionalServiceResultCode {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Iso8583AmountTypeCode (pub String);
crate::simple_type!(Iso8583AmountTypeCode);
impl Validate for Iso8583AmountTypeCode {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Iso8583FeeTypeCode (pub String);
crate::simple_type!(Iso8583FeeTypeCode);
impl Validate for Iso8583FeeTypeCode {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Iso8583MessageReasonCode (pub String);
crate::simple_type!(Iso8583MessageReasonCode);
impl Validate for Iso8583MessageReasonCode {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Iso8583PinentryCapabilityCode (pub String);
crate::simple_type!(Iso8583PinentryCapabilityCode);
impl Validate for Iso8583PinentryCapabilityCode {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Iso8583PosconditionCode (pub String);
crate::simple_type!(Iso8583PosconditionCode);
impl Validate for Iso8583PosconditionCode {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Iso8583ResponseCode (pub String);
crate::simple_type!(Iso8583ResponseCode);
impl Validate for Iso8583ResponseCode {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Iso8583ShippingIndicatorCode (pub String);
crate::simple_type!(Iso8583ShippingIndicatorCode);
impl Validate for Iso8583ShippingIndicatorCode {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Iso8583TransactionTypeCode (pub String);
crate::simple_type!(Iso8583TransactionTypeCode);
impl Validate for Iso8583TransactionTypeCode {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct IsocountrySubDivisionCode (pub String);
crate::simple_type!(IsocountrySubDivisionCode);
impl Validate for IsocountrySubDivisionCode {}
#[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 Isomax3ACountryCode (pub String);
crate::simple_type!(Isomax3ACountryCode);
impl Validate for Isomax3ACountryCode {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Isomax3ALanguageCode (pub String);
crate::simple_type!(Isomax3ALanguageCode);
impl Validate for Isomax3ALanguageCode {}
#[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 IsoyearMonth (pub String);
crate::simple_type!(IsoyearMonth);
impl Validate for IsoyearMonth {}
#[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.001.001.05")]
pub struct Instalment8 {
#[yaserde(rename = "PmtSeqNb")]
#[cfg_attr(feature = "serde", serde(rename = "PmtSeqNb"))]
pub pmt_seq_nb: Number,
#[yaserde(rename = "Plan")]
#[cfg_attr(feature = "serde", serde(rename = "Plan"))]
pub plan: Vec<InstalmentPlan1>,
}
impl Validate for Instalment8 {}
#[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.001.001.05")]
pub struct InstalmentAmountData1 {
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: InstalmentAmountDetailsType4Code,
#[yaserde(rename = "SubTp")]
#[cfg_attr(feature = "serde", serde(rename = "SubTp"))]
pub sub_tp: Max35Text,
#[yaserde(rename = "Amt")]
#[cfg_attr(feature = "serde", serde(rename = "Amt"))]
pub amt: ImpliedCurrencyAndAmount,
#[yaserde(rename = "CdtDbt")]
#[cfg_attr(feature = "serde", serde(rename = "CdtDbt"))]
pub cdt_dbt: CreditDebit3Code,
#[yaserde(rename = "Pctg")]
#[cfg_attr(feature = "serde", serde(rename = "Pctg"))]
pub pctg: PercentageRate,
}
impl Validate for InstalmentAmountData1 {}
#[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.001.001.05")]
pub enum InstalmentAmountDetailsType4Code {
#[yaserde(rename = "AFCO")]
#[cfg_attr(feature = "serde", serde(rename = "AFCO"))]
Afco,
#[yaserde(rename = "EXPN")]
#[cfg_attr(feature = "serde", serde(rename = "EXPN"))]
Expn,
#[yaserde(rename = "FEES")]
#[cfg_attr(feature = "serde", serde(rename = "FEES"))]
Fees,
#[yaserde(rename = "FUNA")]
#[cfg_attr(feature = "serde", serde(rename = "FUNA"))]
Funa,
#[yaserde(rename = "INSU")]
#[cfg_attr(feature = "serde", serde(rename = "INSU"))]
Insu,
#[yaserde(rename = "INTR")]
#[cfg_attr(feature = "serde", serde(rename = "INTR"))]
Intr,
#[yaserde(rename = "OTHC")]
#[cfg_attr(feature = "serde", serde(rename = "OTHC"))]
Othc,
#[yaserde(rename = "PRNC")]
#[cfg_attr(feature = "serde", serde(rename = "PRNC"))]
Prnc,
#[yaserde(rename = "RQST")]
#[cfg_attr(feature = "serde", serde(rename = "RQST"))]
Rqst,
#[yaserde(rename = "TAXX")]
#[cfg_attr(feature = "serde", serde(rename = "TAXX"))]
Taxx,
#[yaserde(rename = "DCNT")]
#[cfg_attr(feature = "serde", serde(rename = "DCNT"))]
Dcnt,
__Unknown__(String),
}
impl Default for InstalmentAmountDetailsType4Code {
fn default() -> InstalmentAmountDetailsType4Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for InstalmentAmountDetailsType4Code {}
#[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.001.001.05")]
pub struct InstalmentPlan1 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Max70Text,
#[yaserde(rename = "Ownr")]
#[cfg_attr(feature = "serde", serde(rename = "Ownr"))]
pub ownr: PlanOwner2Code,
#[yaserde(rename = "OwnrNm")]
#[cfg_attr(feature = "serde", serde(rename = "OwnrNm"))]
pub ownr_nm: Max256Text,
#[yaserde(rename = "RegnSysId")]
#[cfg_attr(feature = "serde", serde(rename = "RegnSysId"))]
pub regn_sys_id: Max35Text,
#[yaserde(rename = "PmtTp")]
#[cfg_attr(feature = "serde", serde(rename = "PmtTp"))]
pub pmt_tp: Max35Text,
#[yaserde(rename = "Dfrrd")]
#[cfg_attr(feature = "serde", serde(rename = "Dfrrd"))]
pub dfrrd: TrueFalseIndicator,
#[yaserde(rename = "PrdUnit")]
#[cfg_attr(feature = "serde", serde(rename = "PrdUnit"))]
pub prd_unit: Frequency18Code,
#[yaserde(rename = "DfrrdPrds")]
#[cfg_attr(feature = "serde", serde(rename = "DfrrdPrds"))]
pub dfrrd_prds: Number,
#[yaserde(rename = "MnthlyIntrstRate")]
#[cfg_attr(feature = "serde", serde(rename = "MnthlyIntrstRate"))]
pub mnthly_intrst_rate: BaseOneRate,
#[yaserde(rename = "AnlIntrstRate")]
#[cfg_attr(feature = "serde", serde(rename = "AnlIntrstRate"))]
pub anl_intrst_rate: BaseOneRate,
#[yaserde(rename = "FrstPmtDt")]
#[cfg_attr(feature = "serde", serde(rename = "FrstPmtDt"))]
pub frst_pmt_dt: Isodate,
#[yaserde(rename = "FrstAmt")]
#[cfg_attr(feature = "serde", serde(rename = "FrstAmt"))]
pub frst_amt: ImpliedCurrencyAndAmount,
#[yaserde(rename = "NrmlPmtAmt")]
#[cfg_attr(feature = "serde", serde(rename = "NrmlPmtAmt"))]
pub nrml_pmt_amt: ImpliedCurrencyAndAmount,
#[yaserde(rename = "TtlNbOfPmts")]
#[cfg_attr(feature = "serde", serde(rename = "TtlNbOfPmts"))]
pub ttl_nb_of_pmts: Number,
#[yaserde(rename = "Ccy")]
#[cfg_attr(feature = "serde", serde(rename = "Ccy"))]
pub ccy: Iso3NumericCurrencyCode,
#[yaserde(rename = "GracePrdUnitTp")]
#[cfg_attr(feature = "serde", serde(rename = "GracePrdUnitTp"))]
pub grace_prd_unit_tp: GracePeriodUnitType2Code,
#[yaserde(rename = "NbOfGracePrdUnits")]
#[cfg_attr(feature = "serde", serde(rename = "NbOfGracePrdUnits"))]
pub nb_of_grace_prd_units: Max3NumericText,
#[yaserde(rename = "CstmrSelctdGracePrd")]
#[cfg_attr(feature = "serde", serde(rename = "CstmrSelctdGracePrd"))]
pub cstmr_selctd_grace_prd: TrueFalseIndicator,
#[yaserde(rename = "AmtDtls")]
#[cfg_attr(feature = "serde", serde(rename = "AmtDtls"))]
pub amt_dtls: Vec<InstalmentAmountData1>,
#[yaserde(rename = "GrdTtlAmt")]
#[cfg_attr(feature = "serde", serde(rename = "GrdTtlAmt"))]
pub grd_ttl_amt: ImpliedCurrencyAndAmount,
#[yaserde(rename = "PrvtData")]
#[cfg_attr(feature = "serde", serde(rename = "PrvtData"))]
pub prvt_data: Vec<AticalaxProcessing>,
#[yaserde(rename = "NtlData")]
#[cfg_attr(feature = "serde", serde(rename = "NtlData"))]
pub ntl_data: Vec<AticalaxProcessing>,
}
impl Validate for InstalmentPlan1 {}
#[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.001.001.05")]
pub struct Invoice4 {
#[yaserde(rename = "Nb")]
#[cfg_attr(feature = "serde", serde(rename = "Nb"))]
pub nb: Max70Text,
#[yaserde(rename = "Dt")]
#[cfg_attr(feature = "serde", serde(rename = "Dt"))]
pub dt: Isodate,
#[yaserde(rename = "CreDtTm")]
#[cfg_attr(feature = "serde", serde(rename = "CreDtTm"))]
pub cre_dt_tm: IsodateTime,
#[yaserde(rename = "SummryCmmdtyId")]
#[cfg_attr(feature = "serde", serde(rename = "SummryCmmdtyId"))]
pub summry_cmmdty_id: Max35Text,
#[yaserde(rename = "SellrNm")]
#[cfg_attr(feature = "serde", serde(rename = "SellrNm"))]
pub sellr_nm: Max105Text,
#[yaserde(rename = "SellrId")]
#[cfg_attr(feature = "serde", serde(rename = "SellrId"))]
pub sellr_id: Max35Text,
#[yaserde(rename = "SellrBizNm")]
#[cfg_attr(feature = "serde", serde(rename = "SellrBizNm"))]
pub sellr_biz_nm: Max35Text,
#[yaserde(rename = "SellrLglCorpNm")]
#[cfg_attr(feature = "serde", serde(rename = "SellrLglCorpNm"))]
pub sellr_lgl_corp_nm: Max99Text,
#[yaserde(rename = "SellrLclData")]
#[cfg_attr(feature = "serde", serde(rename = "SellrLclData"))]
pub sellr_lcl_data: Vec<LocalData20>,
#[yaserde(rename = "SellrAdr")]
#[cfg_attr(feature = "serde", serde(rename = "SellrAdr"))]
pub sellr_adr: Address4,
#[yaserde(rename = "SellrCtct")]
#[cfg_attr(feature = "serde", serde(rename = "SellrCtct"))]
pub sellr_ctct: ContactBusiness1,
#[yaserde(rename = "SellrTaxRegnId")]
#[cfg_attr(feature = "serde", serde(rename = "SellrTaxRegnId"))]
pub sellr_tax_regn_id: Max70Text,
#[yaserde(rename = "SellrAddtlInf")]
#[cfg_attr(feature = "serde", serde(rename = "SellrAddtlInf"))]
pub sellr_addtl_inf: Max1000Text,
#[yaserde(rename = "BuyrNm")]
#[cfg_attr(feature = "serde", serde(rename = "BuyrNm"))]
pub buyr_nm: Max105Text,
#[yaserde(rename = "BuyrId")]
#[cfg_attr(feature = "serde", serde(rename = "BuyrId"))]
pub buyr_id: Max35Text,
#[yaserde(rename = "BuyrBizNm")]
#[cfg_attr(feature = "serde", serde(rename = "BuyrBizNm"))]
pub buyr_biz_nm: Max35Text,
#[yaserde(rename = "BuyrLglCorpNm")]
#[cfg_attr(feature = "serde", serde(rename = "BuyrLglCorpNm"))]
pub buyr_lgl_corp_nm: Max99Text,
#[yaserde(rename = "BuyrLclData")]
#[cfg_attr(feature = "serde", serde(rename = "BuyrLclData"))]
pub buyr_lcl_data: Vec<LocalData20>,
#[yaserde(rename = "BuyrAdr")]
#[cfg_attr(feature = "serde", serde(rename = "BuyrAdr"))]
pub buyr_adr: Address4,
#[yaserde(rename = "BuyrCtct")]
#[cfg_attr(feature = "serde", serde(rename = "BuyrCtct"))]
pub buyr_ctct: ContactBusiness1,
#[yaserde(rename = "BuyrTaxRegnId")]
#[cfg_attr(feature = "serde", serde(rename = "BuyrTaxRegnId"))]
pub buyr_tax_regn_id: Max70Text,
#[yaserde(rename = "BuyrAddtlInf")]
#[cfg_attr(feature = "serde", serde(rename = "BuyrAddtlInf"))]
pub buyr_addtl_inf: Max1000Text,
#[yaserde(rename = "FrghtAmt")]
#[cfg_attr(feature = "serde", serde(rename = "FrghtAmt"))]
pub frght_amt: ImpliedCurrencyAndAmount,
#[yaserde(rename = "TaxTtl")]
#[cfg_attr(feature = "serde", serde(rename = "TaxTtl"))]
pub tax_ttl: Vec<Tax44>,
#[yaserde(rename = "TaxRclmMtd")]
#[cfg_attr(feature = "serde", serde(rename = "TaxRclmMtd"))]
pub tax_rclm_mtd: TaxReclaimMethod1Code,
#[yaserde(rename = "PrvtData")]
#[cfg_attr(feature = "serde", serde(rename = "PrvtData"))]
pub prvt_data: Vec<AticalaxProcessing>,
#[yaserde(rename = "NtlData")]
#[cfg_attr(feature = "serde", serde(rename = "NtlData"))]
pub ntl_data: Vec<AticalaxProcessing>,
#[yaserde(rename = "LineItm")]
#[cfg_attr(feature = "serde", serde(rename = "LineItm"))]
pub line_itm: Vec<InvoiceLineItem4>,
}
impl Validate for Invoice4 {}
#[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.001.001.05")]
pub struct InvoiceLineItem4 {
#[yaserde(rename = "Dt")]
#[cfg_attr(feature = "serde", serde(rename = "Dt"))]
pub dt: Isodate,
#[yaserde(rename = "OrdrDt")]
#[cfg_attr(feature = "serde", serde(rename = "OrdrDt"))]
pub ordr_dt: Isodate,
#[yaserde(rename = "CtrctNb")]
#[cfg_attr(feature = "serde", serde(rename = "CtrctNb"))]
pub ctrct_nb: Max70Text,
#[yaserde(rename = "ShppgDt")]
#[cfg_attr(feature = "serde", serde(rename = "ShppgDt"))]
pub shppg_dt: Isodate,
#[yaserde(rename = "Rbllg")]
#[cfg_attr(feature = "serde", serde(rename = "Rbllg"))]
pub rbllg: TrueFalseIndicator,
#[yaserde(rename = "MdclSvcs")]
#[cfg_attr(feature = "serde", serde(rename = "MdclSvcs"))]
pub mdcl_svcs: TrueFalseIndicator,
#[yaserde(rename = "ShipToIndstryCd")]
#[cfg_attr(feature = "serde", serde(rename = "ShipToIndstryCd"))]
pub ship_to_indstry_cd: Max50Text,
#[yaserde(rename = "PdctCd")]
#[cfg_attr(feature = "serde", serde(rename = "PdctCd"))]
pub pdct_cd: Max70Text,
#[yaserde(rename = "PdctQlfr")]
#[cfg_attr(feature = "serde", serde(rename = "PdctQlfr"))]
pub pdct_qlfr: Max35Text,
#[yaserde(rename = "Desc")]
#[cfg_attr(feature = "serde", serde(rename = "Desc"))]
pub desc: Max256Text,
#[yaserde(rename = "TpOfSpply")]
#[cfg_attr(feature = "serde", serde(rename = "TpOfSpply"))]
pub tp_of_spply: Max10Text,
#[yaserde(rename = "UnitOfMeasr")]
#[cfg_attr(feature = "serde", serde(rename = "UnitOfMeasr"))]
pub unit_of_measr: UnitOfMeasure1Code,
#[yaserde(rename = "OthrUnitOfMeasr")]
#[cfg_attr(feature = "serde", serde(rename = "OthrUnitOfMeasr"))]
pub othr_unit_of_measr: Max35Text,
#[yaserde(rename = "UnitPric")]
#[cfg_attr(feature = "serde", serde(rename = "UnitPric"))]
pub unit_pric: ImpliedCurrencyAndAmount,
#[yaserde(rename = "PdctQty")]
#[cfg_attr(feature = "serde", serde(rename = "PdctQty"))]
pub pdct_qty: DecimalNumber,
#[yaserde(rename = "AdjstmntAmt")]
#[cfg_attr(feature = "serde", serde(rename = "AdjstmntAmt"))]
pub adjstmnt_amt: ImpliedCurrencyAndAmount,
#[yaserde(rename = "AdjstmntCdtDbt")]
#[cfg_attr(feature = "serde", serde(rename = "AdjstmntCdtDbt"))]
pub adjstmnt_cdt_dbt: CreditDebit3Code,
#[yaserde(rename = "AdjstmntRsn")]
#[cfg_attr(feature = "serde", serde(rename = "AdjstmntRsn"))]
pub adjstmnt_rsn: Max35Text,
#[yaserde(rename = "Insrnc")]
#[cfg_attr(feature = "serde", serde(rename = "Insrnc"))]
pub insrnc: TrueFalseIndicator,
#[yaserde(rename = "InsrncAmt")]
#[cfg_attr(feature = "serde", serde(rename = "InsrncAmt"))]
pub insrnc_amt: ImpliedCurrencyAndAmount,
#[yaserde(rename = "Tax")]
#[cfg_attr(feature = "serde", serde(rename = "Tax"))]
pub tax: Vec<Tax44>,
#[yaserde(rename = "VATInvcRef")]
#[cfg_attr(feature = "serde", serde(rename = "VATInvcRef"))]
pub vat_invc_ref: Max35Text,
#[yaserde(rename = "TtlAmt")]
#[cfg_attr(feature = "serde", serde(rename = "TtlAmt"))]
pub ttl_amt: ImpliedCurrencyAndAmount,
#[yaserde(rename = "CdtDbt")]
#[cfg_attr(feature = "serde", serde(rename = "CdtDbt"))]
pub cdt_dbt: CreditDebit3Code,
#[yaserde(rename = "ZeroCostToCstmr")]
#[cfg_attr(feature = "serde", serde(rename = "ZeroCostToCstmr"))]
pub zero_cost_to_cstmr: TrueFalseIndicator,
#[yaserde(rename = "PrvtData")]
#[cfg_attr(feature = "serde", serde(rename = "PrvtData"))]
pub prvt_data: Vec<AticalaxProcessing>,
#[yaserde(rename = "NtlData")]
#[cfg_attr(feature = "serde", serde(rename = "NtlData"))]
pub ntl_data: Vec<AticalaxProcessing>,
}
impl Validate for InvoiceLineItem4 {}
#[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.001.001.05")]
pub struct IssuerData1 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Max11NumericText,
#[yaserde(rename = "BizId")]
#[cfg_attr(feature = "serde", serde(rename = "BizId"))]
pub biz_id: Max15AlphaNumericText,
#[yaserde(rename = "Ctry")]
#[cfg_attr(feature = "serde", serde(rename = "Ctry"))]
pub ctry: Iso3NumericCountryCode,
#[yaserde(rename = "BizNm")]
#[cfg_attr(feature = "serde", serde(rename = "BizNm"))]
pub biz_nm: Max35Text,
#[yaserde(rename = "LglCorpNm")]
#[cfg_attr(feature = "serde", serde(rename = "LglCorpNm"))]
pub lgl_corp_nm: Max99Text,
#[yaserde(rename = "Adr")]
#[cfg_attr(feature = "serde", serde(rename = "Adr"))]
pub adr: Address4,
#[yaserde(rename = "PrvtData")]
#[cfg_attr(feature = "serde", serde(rename = "PrvtData"))]
pub prvt_data: Vec<AticalaxProcessing>,
#[yaserde(rename = "NtlData")]
#[cfg_attr(feature = "serde", serde(rename = "NtlData"))]
pub ntl_data: Vec<AticalaxProcessing>,
#[yaserde(rename = "LclData")]
#[cfg_attr(feature = "serde", serde(rename = "LclData"))]
pub lcl_data: Vec<LocalData20>,
}
impl Validate for IssuerData1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct JulianDate (pub String);
crate::simple_type!(JulianDate);
impl Validate for JulianDate {}
#[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.001.001.05")]
pub struct Jurisdiction2 {
#[yaserde(rename = "DmstInd")]
#[cfg_attr(feature = "serde", serde(rename = "DmstInd"))]
pub dmst_ind: TrueFalseIndicator,
#[yaserde(rename = "DmstQlfctn")]
#[cfg_attr(feature = "serde", serde(rename = "DmstQlfctn"))]
pub dmst_qlfctn: Max35Text,
}
impl Validate for Jurisdiction2 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct LanguageCode (pub String);
crate::simple_type!(LanguageCode);
impl Validate for LanguageCode {}
#[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.001.001.05")]
pub enum LegalStructure1Code {
#[yaserde(rename = "STAE")]
#[cfg_attr(feature = "serde", serde(rename = "STAE"))]
Stae,
#[yaserde(rename = "PVIN")]
#[cfg_attr(feature = "serde", serde(rename = "PVIN"))]
Pvin,
#[yaserde(rename = "MUNI")]
#[cfg_attr(feature = "serde", serde(rename = "MUNI"))]
Muni,
#[yaserde(rename = "CNTY")]
#[cfg_attr(feature = "serde", serde(rename = "CNTY"))]
Cnty,
#[yaserde(rename = "NATI")]
#[cfg_attr(feature = "serde", serde(rename = "NATI"))]
Nati,
__Unknown__(String),
}
impl Default for LegalStructure1Code {
fn default() -> LegalStructure1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for LegalStructure1Code {}
#[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.001.001.05")]
pub enum LifeCycleSupport1Code {
#[yaserde(rename = "AUTH")]
#[cfg_attr(feature = "serde", serde(rename = "AUTH"))]
Auth,
#[yaserde(rename = "FINC")]
#[cfg_attr(feature = "serde", serde(rename = "FINC"))]
Finc,
__Unknown__(String),
}
impl Default for LifeCycleSupport1Code {
fn default() -> LifeCycleSupport1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for LifeCycleSupport1Code {}
#[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.001.001.05")]
pub struct LocalAddress1 {
#[yaserde(rename = "AdrLine1")]
#[cfg_attr(feature = "serde", serde(rename = "AdrLine1"))]
pub adr_line_1: Max200Text,
#[yaserde(rename = "AdrLine2")]
#[cfg_attr(feature = "serde", serde(rename = "AdrLine2"))]
pub adr_line_2: Max200Text,
#[yaserde(rename = "StrtNm")]
#[cfg_attr(feature = "serde", serde(rename = "StrtNm"))]
pub strt_nm: Max200Text,
#[yaserde(rename = "BldgNb")]
#[cfg_attr(feature = "serde", serde(rename = "BldgNb"))]
pub bldg_nb: Max35Text,
#[yaserde(rename = "PstlCd")]
#[cfg_attr(feature = "serde", serde(rename = "PstlCd"))]
pub pstl_cd: Max35Text,
#[yaserde(rename = "TwnNm")]
#[cfg_attr(feature = "serde", serde(rename = "TwnNm"))]
pub twn_nm: Max100Text,
#[yaserde(rename = "CtrySubDvsnMnrNm")]
#[cfg_attr(feature = "serde", serde(rename = "CtrySubDvsnMnrNm"))]
pub ctry_sub_dvsn_mnr_nm: Max100Text,
#[yaserde(rename = "CtrySubDvsnMjrNm")]
#[cfg_attr(feature = "serde", serde(rename = "CtrySubDvsnMjrNm"))]
pub ctry_sub_dvsn_mjr_nm: Max100Text,
}
impl Validate for LocalAddress1 {}
#[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.001.001.05")]
pub struct LocalAddress2 {
#[yaserde(rename = "Line1")]
#[cfg_attr(feature = "serde", serde(rename = "Line1"))]
pub line_1: Max200Text,
#[yaserde(rename = "Line2")]
#[cfg_attr(feature = "serde", serde(rename = "Line2"))]
pub line_2: Max200Text,
#[yaserde(rename = "StrtNm")]
#[cfg_attr(feature = "serde", serde(rename = "StrtNm"))]
pub strt_nm: Max200Text,
#[yaserde(rename = "BldgNb")]
#[cfg_attr(feature = "serde", serde(rename = "BldgNb"))]
pub bldg_nb: Max35Text,
#[yaserde(rename = "PstlCd")]
#[cfg_attr(feature = "serde", serde(rename = "PstlCd"))]
pub pstl_cd: Max35Text,
#[yaserde(rename = "TwnNm")]
#[cfg_attr(feature = "serde", serde(rename = "TwnNm"))]
pub twn_nm: Max100Text,
#[yaserde(rename = "CtrySubDvsnMnrNm")]
#[cfg_attr(feature = "serde", serde(rename = "CtrySubDvsnMnrNm"))]
pub ctry_sub_dvsn_mnr_nm: Max100Text,
#[yaserde(rename = "CtrySubDvsnMjrNm")]
#[cfg_attr(feature = "serde", serde(rename = "CtrySubDvsnMjrNm"))]
pub ctry_sub_dvsn_mjr_nm: Max100Text,
}
impl Validate for LocalAddress2 {}
#[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.001.001.05")]
pub struct LocalAmenity2 {
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: LocationAmenity2Code,
#[yaserde(rename = "AvlblInd")]
#[cfg_attr(feature = "serde", serde(rename = "AvlblInd"))]
pub avlbl_ind: TrueFalseIndicator,
}
impl Validate for LocalAmenity2 {}
#[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.001.001.05")]
pub struct LocalData10 {
#[yaserde(rename = "Lang")]
#[cfg_attr(feature = "serde", serde(rename = "Lang"))]
pub lang: Isomax3ALanguageCode,
#[yaserde(rename = "NcodgFrmt")]
#[cfg_attr(feature = "serde", serde(rename = "NcodgFrmt"))]
pub ncodg_frmt: Max35Text,
#[yaserde(rename = "Nm")]
#[cfg_attr(feature = "serde", serde(rename = "Nm"))]
pub nm: Max70Text,
#[yaserde(rename = "Adr")]
#[cfg_attr(feature = "serde", serde(rename = "Adr"))]
pub adr: LocalAddress1,
#[yaserde(rename = "AddtlCtct")]
#[cfg_attr(feature = "serde", serde(rename = "AddtlCtct"))]
pub addtl_ctct: Max512Text,
#[yaserde(rename = "AddtlData")]
#[cfg_attr(feature = "serde", serde(rename = "AddtlData"))]
pub addtl_data: Vec<AdditionalData1>,
}
impl Validate for LocalData10 {}
#[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.001.001.05")]
pub struct LocalData19 {
#[yaserde(rename = "Lang")]
#[cfg_attr(feature = "serde", serde(rename = "Lang"))]
pub lang: Isomax3ALanguageCode,
#[yaserde(rename = "NcodgFrmt")]
#[cfg_attr(feature = "serde", serde(rename = "NcodgFrmt"))]
pub ncodg_frmt: Max35Text,
#[yaserde(rename = "BizNm")]
#[cfg_attr(feature = "serde", serde(rename = "BizNm"))]
pub biz_nm: Max70Text,
#[yaserde(rename = "LglCorpNm")]
#[cfg_attr(feature = "serde", serde(rename = "LglCorpNm"))]
pub lgl_corp_nm: Max210Text,
#[yaserde(rename = "NmAndLctn")]
#[cfg_attr(feature = "serde", serde(rename = "NmAndLctn"))]
pub nm_and_lctn: Max200Text,
#[yaserde(rename = "Adr")]
#[cfg_attr(feature = "serde", serde(rename = "Adr"))]
pub adr: LocalAddress2,
#[yaserde(rename = "SvcLctn")]
#[cfg_attr(feature = "serde", serde(rename = "SvcLctn"))]
pub svc_lctn: LocalAddress1,
#[yaserde(rename = "AddtlAdr")]
#[cfg_attr(feature = "serde", serde(rename = "AddtlAdr"))]
pub addtl_adr: Max512Text,
#[yaserde(rename = "AddtlCtct")]
#[cfg_attr(feature = "serde", serde(rename = "AddtlCtct"))]
pub addtl_ctct: Max512Text,
#[yaserde(rename = "PrvtData")]
#[cfg_attr(feature = "serde", serde(rename = "PrvtData"))]
pub prvt_data: Vec<AticalaxProcessing>,
#[yaserde(rename = "NtlData")]
#[cfg_attr(feature = "serde", serde(rename = "NtlData"))]
pub ntl_data: Vec<AticalaxProcessing>,
}
impl Validate for LocalData19 {}
#[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.001.001.05")]
pub struct LocalData20 {
#[yaserde(rename = "Lang")]
#[cfg_attr(feature = "serde", serde(rename = "Lang"))]
pub lang: Isomax3ALanguageCode,
#[yaserde(rename = "NcodgFrmt")]
#[cfg_attr(feature = "serde", serde(rename = "NcodgFrmt"))]
pub ncodg_frmt: Max35Text,
#[yaserde(rename = "BizNm")]
#[cfg_attr(feature = "serde", serde(rename = "BizNm"))]
pub biz_nm: Max70Text,
#[yaserde(rename = "LglCorpNm")]
#[cfg_attr(feature = "serde", serde(rename = "LglCorpNm"))]
pub lgl_corp_nm: Max210Text,
#[yaserde(rename = "Adr")]
#[cfg_attr(feature = "serde", serde(rename = "Adr"))]
pub adr: LocalAddress2,
#[yaserde(rename = "PrvtData")]
#[cfg_attr(feature = "serde", serde(rename = "PrvtData"))]
pub prvt_data: Vec<AticalaxProcessing>,
#[yaserde(rename = "NtlData")]
#[cfg_attr(feature = "serde", serde(rename = "NtlData"))]
pub ntl_data: Vec<AticalaxProcessing>,
}
impl Validate for LocalData20 {}
#[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.001.001.05")]
pub struct LocalData21 {
#[yaserde(rename = "Lang")]
#[cfg_attr(feature = "serde", serde(rename = "Lang"))]
pub lang: Isomax3ALanguageCode,
#[yaserde(rename = "NcodgFrmt")]
#[cfg_attr(feature = "serde", serde(rename = "NcodgFrmt"))]
pub ncodg_frmt: Max35Text,
#[yaserde(rename = "Nm")]
#[cfg_attr(feature = "serde", serde(rename = "Nm"))]
pub nm: CardholderName2,
#[yaserde(rename = "AliasNm")]
#[cfg_attr(feature = "serde", serde(rename = "AliasNm"))]
pub alias_nm: Max140Text,
#[yaserde(rename = "Ocptn")]
#[cfg_attr(feature = "serde", serde(rename = "Ocptn"))]
pub ocptn: Max70Text,
#[yaserde(rename = "Adr")]
#[cfg_attr(feature = "serde", serde(rename = "Adr"))]
pub adr: LocalAddress2,
#[yaserde(rename = "PrvtData")]
#[cfg_attr(feature = "serde", serde(rename = "PrvtData"))]
pub prvt_data: Vec<AticalaxProcessing>,
#[yaserde(rename = "NtlData")]
#[cfg_attr(feature = "serde", serde(rename = "NtlData"))]
pub ntl_data: Vec<AticalaxProcessing>,
}
impl Validate for LocalData21 {}
#[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.001.001.05")]
pub struct LocalData22 {
#[yaserde(rename = "Lang")]
#[cfg_attr(feature = "serde", serde(rename = "Lang"))]
pub lang: Isomax3ALanguageCode,
#[yaserde(rename = "NcodgFrmt")]
#[cfg_attr(feature = "serde", serde(rename = "NcodgFrmt"))]
pub ncodg_frmt: Max35Text,
#[yaserde(rename = "TxDesc")]
#[cfg_attr(feature = "serde", serde(rename = "TxDesc"))]
pub tx_desc: Max2000Text,
#[yaserde(rename = "PrvtData")]
#[cfg_attr(feature = "serde", serde(rename = "PrvtData"))]
pub prvt_data: Vec<AticalaxProcessing>,
#[yaserde(rename = "NtlData")]
#[cfg_attr(feature = "serde", serde(rename = "NtlData"))]
pub ntl_data: Vec<AticalaxProcessing>,
}
impl Validate for LocalData22 {}
#[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.001.001.05")]
pub struct LocalData24 {
#[yaserde(rename = "Lang")]
#[cfg_attr(feature = "serde", serde(rename = "Lang"))]
pub lang: Isomax3ALanguageCode,
#[yaserde(rename = "NcodgFrmt")]
#[cfg_attr(feature = "serde", serde(rename = "NcodgFrmt"))]
pub ncodg_frmt: Max35Text,
#[yaserde(rename = "Nm")]
#[cfg_attr(feature = "serde", serde(rename = "Nm"))]
pub nm: CardholderName2,
#[yaserde(rename = "AliasNm")]
#[cfg_attr(feature = "serde", serde(rename = "AliasNm"))]
pub alias_nm: Max140Text,
#[yaserde(rename = "Ocptn")]
#[cfg_attr(feature = "serde", serde(rename = "Ocptn"))]
pub ocptn: Max70Text,
#[yaserde(rename = "Adr")]
#[cfg_attr(feature = "serde", serde(rename = "Adr"))]
pub adr: LocalAddress2,
#[yaserde(rename = "ShppgAdr")]
#[cfg_attr(feature = "serde", serde(rename = "ShppgAdr"))]
pub shppg_adr: Vec<LocalAddress1>,
#[yaserde(rename = "PrvtData")]
#[cfg_attr(feature = "serde", serde(rename = "PrvtData"))]
pub prvt_data: Vec<AticalaxProcessing>,
#[yaserde(rename = "NtlData")]
#[cfg_attr(feature = "serde", serde(rename = "NtlData"))]
pub ntl_data: Vec<AticalaxProcessing>,
}
impl Validate for LocalData24 {}
#[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.001.001.05")]
pub enum LocationAmenity2Code {
#[yaserde(rename = "AADA")]
#[cfg_attr(feature = "serde", serde(rename = "AADA"))]
Aada,
#[yaserde(rename = "AFLA")]
#[cfg_attr(feature = "serde", serde(rename = "AFLA"))]
Afla,
#[yaserde(rename = "AVLA")]
#[cfg_attr(feature = "serde", serde(rename = "AVLA"))]
Avla,
#[yaserde(rename = "CRWA")]
#[cfg_attr(feature = "serde", serde(rename = "CRWA"))]
Crwa,
#[yaserde(rename = "CVSA")]
#[cfg_attr(feature = "serde", serde(rename = "CVSA"))]
Cvsa,
#[yaserde(rename = "DISA")]
#[cfg_attr(feature = "serde", serde(rename = "DISA"))]
Disa,
#[yaserde(rename = "EWAA")]
#[cfg_attr(feature = "serde", serde(rename = "EWAA"))]
Ewaa,
#[yaserde(rename = "MRLA")]
#[cfg_attr(feature = "serde", serde(rename = "MRLA"))]
Mrla,
#[yaserde(rename = "PAPA")]
#[cfg_attr(feature = "serde", serde(rename = "PAPA"))]
Papa,
#[yaserde(rename = "TSHA")]
#[cfg_attr(feature = "serde", serde(rename = "TSHA"))]
Tsha,
#[yaserde(rename = "TSRA")]
#[cfg_attr(feature = "serde", serde(rename = "TSRA"))]
Tsra,
#[yaserde(rename = "TSSA")]
#[cfg_attr(feature = "serde", serde(rename = "TSSA"))]
Tssa,
#[yaserde(rename = "TFHA")]
#[cfg_attr(feature = "serde", serde(rename = "TFHA"))]
Tfha,
#[yaserde(rename = "VSWA")]
#[cfg_attr(feature = "serde", serde(rename = "VSWA"))]
Vswa,
#[yaserde(rename = "VHPA")]
#[cfg_attr(feature = "serde", serde(rename = "VHPA"))]
Vhpa,
#[yaserde(rename = "VMRA")]
#[cfg_attr(feature = "serde", serde(rename = "VMRA"))]
Vmra,
__Unknown__(String),
}
impl Default for LocationAmenity2Code {
fn default() -> LocationAmenity2Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for LocationAmenity2Code {}
#[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.001.001.05")]
pub struct Lodging5 {
#[yaserde(rename = "FolioNb")]
#[cfg_attr(feature = "serde", serde(rename = "FolioNb"))]
pub folio_nb: Max35Text,
#[yaserde(rename = "PrprtyTp")]
#[cfg_attr(feature = "serde", serde(rename = "PrprtyTp"))]
pub prprty_tp: LodgingActivity2Code,
#[yaserde(rename = "PrstgsPrprty")]
#[cfg_attr(feature = "serde", serde(rename = "PrstgsPrprty"))]
pub prstgs_prprty: Max35Text,
#[yaserde(rename = "PrprtyNm")]
#[cfg_attr(feature = "serde", serde(rename = "PrprtyNm"))]
pub prprty_nm: Max35Text,
#[yaserde(rename = "PrprtyId")]
#[cfg_attr(feature = "serde", serde(rename = "PrprtyId"))]
pub prprty_id: Max35Text,
#[yaserde(rename = "PrprtyBizNm")]
#[cfg_attr(feature = "serde", serde(rename = "PrprtyBizNm"))]
pub prprty_biz_nm: Max35Text,
#[yaserde(rename = "PrprtyLglCorpNm")]
#[cfg_attr(feature = "serde", serde(rename = "PrprtyLglCorpNm"))]
pub prprty_lgl_corp_nm: Max99Text,
#[yaserde(rename = "PrprtyAdr")]
#[cfg_attr(feature = "serde", serde(rename = "PrprtyAdr"))]
pub prprty_adr: Address4,
#[yaserde(rename = "PrprtyLctnCd")]
#[cfg_attr(feature = "serde", serde(rename = "PrprtyLctnCd"))]
pub prprty_lctn_cd: Max35Text,
#[yaserde(rename = "PrprtyLclTmZone")]
#[cfg_attr(feature = "serde", serde(rename = "PrprtyLclTmZone"))]
pub prprty_lcl_tm_zone: Max70Text,
#[yaserde(rename = "PrprtyLclData")]
#[cfg_attr(feature = "serde", serde(rename = "PrprtyLclData"))]
pub prprty_lcl_data: Vec<LocalData20>,
#[yaserde(rename = "PrprtyLclCcy")]
#[cfg_attr(feature = "serde", serde(rename = "PrprtyLclCcy"))]
pub prprty_lcl_ccy: Iso3NumericCurrencyCode,
#[yaserde(rename = "PrprtyCtct")]
#[cfg_attr(feature = "serde", serde(rename = "PrprtyCtct"))]
pub prprty_ctct: ContactBusiness1,
#[yaserde(rename = "PrprtyFireSftyAct")]
#[cfg_attr(feature = "serde", serde(rename = "PrprtyFireSftyAct"))]
pub prprty_fire_sfty_act: TrueFalseIndicator,
#[yaserde(rename = "Cstmr")]
#[cfg_attr(feature = "serde", serde(rename = "Cstmr"))]
pub cstmr: Vec<Customer10>,
#[yaserde(rename = "NbOfRooms")]
#[cfg_attr(feature = "serde", serde(rename = "NbOfRooms"))]
pub nb_of_rooms: Max4NumericText,
#[yaserde(rename = "Room")]
#[cfg_attr(feature = "serde", serde(rename = "Room"))]
pub room: Vec<LodgingRoom2>,
#[yaserde(rename = "Drtn")]
#[cfg_attr(feature = "serde", serde(rename = "Drtn"))]
pub drtn: Max4NumericText,
#[yaserde(rename = "Arrvl")]
#[cfg_attr(feature = "serde", serde(rename = "Arrvl"))]
pub arrvl: DepartureOrArrival2,
#[yaserde(rename = "Dprture")]
#[cfg_attr(feature = "serde", serde(rename = "Dprture"))]
pub dprture: DepartureOrArrival1,
#[yaserde(rename = "NoShow")]
#[cfg_attr(feature = "serde", serde(rename = "NoShow"))]
pub no_show: TrueFalseIndicator,
#[yaserde(rename = "Insrnc")]
#[cfg_attr(feature = "serde", serde(rename = "Insrnc"))]
pub insrnc: TrueFalseIndicator,
#[yaserde(rename = "InsrncAmt")]
#[cfg_attr(feature = "serde", serde(rename = "InsrncAmt"))]
pub insrnc_amt: ImpliedCurrencyAndAmount,
#[yaserde(rename = "TtlTax")]
#[cfg_attr(feature = "serde", serde(rename = "TtlTax"))]
pub ttl_tax: Vec<Tax44>,
#[yaserde(rename = "TtlAmt")]
#[cfg_attr(feature = "serde", serde(rename = "TtlAmt"))]
pub ttl_amt: ImpliedCurrencyAndAmount,
#[yaserde(rename = "AuthrsdAmt")]
#[cfg_attr(feature = "serde", serde(rename = "AuthrsdAmt"))]
pub authrsd_amt: Vec<AuthorisedAmount2>,
#[yaserde(rename = "SummryCmmdtyId")]
#[cfg_attr(feature = "serde", serde(rename = "SummryCmmdtyId"))]
pub summry_cmmdty_id: Max35Text,
#[yaserde(rename = "LltyPrgrmm")]
#[cfg_attr(feature = "serde", serde(rename = "LltyPrgrmm"))]
pub llty_prgrmm: Vec<LoyaltyProgramme4>,
#[yaserde(rename = "PrvtData")]
#[cfg_attr(feature = "serde", serde(rename = "PrvtData"))]
pub prvt_data: Vec<AticalaxProcessing>,
#[yaserde(rename = "NtlData")]
#[cfg_attr(feature = "serde", serde(rename = "NtlData"))]
pub ntl_data: Vec<AticalaxProcessing>,
#[yaserde(rename = "LineItm")]
#[cfg_attr(feature = "serde", serde(rename = "LineItm"))]
pub line_itm: Vec<LodgingLineItem4>,
}
impl Validate for Lodging5 {}
#[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.001.001.05")]
pub enum LodgingActivity2Code {
#[yaserde(rename = "APTM")]
#[cfg_attr(feature = "serde", serde(rename = "APTM"))]
Aptm,
#[yaserde(rename = "BEBR")]
#[cfg_attr(feature = "serde", serde(rename = "BEBR"))]
Bebr,
#[yaserde(rename = "COTT")]
#[cfg_attr(feature = "serde", serde(rename = "COTT"))]
Cott,
#[yaserde(rename = "CRUI")]
#[cfg_attr(feature = "serde", serde(rename = "CRUI"))]
Crui,
#[yaserde(rename = "HOME")]
#[cfg_attr(feature = "serde", serde(rename = "HOME"))]
Home,
#[yaserde(rename = "HOST")]
#[cfg_attr(feature = "serde", serde(rename = "HOST"))]
Host,
#[yaserde(rename = "HOTL")]
#[cfg_attr(feature = "serde", serde(rename = "HOTL"))]
Hotl,
#[yaserde(rename = "LODG")]
#[cfg_attr(feature = "serde", serde(rename = "LODG"))]
Lodg,
#[yaserde(rename = "MOTL")]
#[cfg_attr(feature = "serde", serde(rename = "MOTL"))]
Motl,
#[yaserde(rename = "RESO")]
#[cfg_attr(feature = "serde", serde(rename = "RESO"))]
Reso,
#[yaserde(rename = "ROAB")]
#[cfg_attr(feature = "serde", serde(rename = "ROAB"))]
Roab,
#[yaserde(rename = "TOSH")]
#[cfg_attr(feature = "serde", serde(rename = "TOSH"))]
Tosh,
__Unknown__(String),
}
impl Default for LodgingActivity2Code {
fn default() -> LodgingActivity2Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for LodgingActivity2Code {}
#[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.001.001.05")]
pub struct LodgingLineItem4 {
#[yaserde(rename = "Dt")]
#[cfg_attr(feature = "serde", serde(rename = "Dt"))]
pub dt: Isodate,
#[yaserde(rename = "Tm")]
#[cfg_attr(feature = "serde", serde(rename = "Tm"))]
pub tm: Isotime,
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: LodgingService1Code,
#[yaserde(rename = "OthrTp")]
#[cfg_attr(feature = "serde", serde(rename = "OthrTp"))]
pub othr_tp: Max35Text,
#[yaserde(rename = "PstChckOut")]
#[cfg_attr(feature = "serde", serde(rename = "PstChckOut"))]
pub pst_chck_out: TrueFalseIndicator,
#[yaserde(rename = "CdtDbt")]
#[cfg_attr(feature = "serde", serde(rename = "CdtDbt"))]
pub cdt_dbt: CreditDebit3Code,
#[yaserde(rename = "UnitAmt")]
#[cfg_attr(feature = "serde", serde(rename = "UnitAmt"))]
pub unit_amt: ImpliedCurrencyAndAmount,
#[yaserde(rename = "Drtn")]
#[cfg_attr(feature = "serde", serde(rename = "Drtn"))]
pub drtn: Max4NumericText,
#[yaserde(rename = "SubTtlAmt")]
#[cfg_attr(feature = "serde", serde(rename = "SubTtlAmt"))]
pub sub_ttl_amt: ImpliedCurrencyAndAmount,
#[yaserde(rename = "Tax")]
#[cfg_attr(feature = "serde", serde(rename = "Tax"))]
pub tax: Vec<Tax44>,
#[yaserde(rename = "PrvtData")]
#[cfg_attr(feature = "serde", serde(rename = "PrvtData"))]
pub prvt_data: Vec<AticalaxProcessing>,
#[yaserde(rename = "NtlData")]
#[cfg_attr(feature = "serde", serde(rename = "NtlData"))]
pub ntl_data: Vec<AticalaxProcessing>,
}
impl Validate for LodgingLineItem4 {}
#[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.001.001.05")]
pub struct LodgingRoom2 {
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: Max35Text,
#[yaserde(rename = "Lctn")]
#[cfg_attr(feature = "serde", serde(rename = "Lctn"))]
pub lctn: Max35Text,
#[yaserde(rename = "BedTp")]
#[cfg_attr(feature = "serde", serde(rename = "BedTp"))]
pub bed_tp: Max70Text,
#[yaserde(rename = "Gsts")]
#[cfg_attr(feature = "serde", serde(rename = "Gsts"))]
pub gsts: Max3NumericText,
#[yaserde(rename = "Adlts")]
#[cfg_attr(feature = "serde", serde(rename = "Adlts"))]
pub adlts: Max3NumericText,
#[yaserde(rename = "Chldrn")]
#[cfg_attr(feature = "serde", serde(rename = "Chldrn"))]
pub chldrn: Max3NumericText,
#[yaserde(rename = "DalyRate")]
#[cfg_attr(feature = "serde", serde(rename = "DalyRate"))]
pub daly_rate: ImpliedCurrencyAndAmount,
}
impl Validate for LodgingRoom2 {}
#[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.001.001.05")]
pub enum LodgingService1Code {
#[yaserde(rename = "ACCO")]
#[cfg_attr(feature = "serde", serde(rename = "ACCO"))]
Acco,
#[yaserde(rename = "AUDI")]
#[cfg_attr(feature = "serde", serde(rename = "AUDI"))]
Audi,
#[yaserde(rename = "BANQ")]
#[cfg_attr(feature = "serde", serde(rename = "BANQ"))]
Banq,
#[yaserde(rename = "BREK")]
#[cfg_attr(feature = "serde", serde(rename = "BREK"))]
Brek,
#[yaserde(rename = "BUSS")]
#[cfg_attr(feature = "serde", serde(rename = "BUSS"))]
Buss,
#[yaserde(rename = "CONC")]
#[cfg_attr(feature = "serde", serde(rename = "CONC"))]
Conc,
#[yaserde(rename = "EARA")]
#[cfg_attr(feature = "serde", serde(rename = "EARA"))]
Eara,
#[yaserde(rename = "EARD")]
#[cfg_attr(feature = "serde", serde(rename = "EARD"))]
Eard,
#[yaserde(rename = "ENTR")]
#[cfg_attr(feature = "serde", serde(rename = "ENTR"))]
Entr,
#[yaserde(rename = "FCAA")]
#[cfg_attr(feature = "serde", serde(rename = "FCAA"))]
Fcaa,
#[yaserde(rename = "GAME")]
#[cfg_attr(feature = "serde", serde(rename = "GAME"))]
Game,
#[yaserde(rename = "GARA")]
#[cfg_attr(feature = "serde", serde(rename = "GARA"))]
Gara,
#[yaserde(rename = "GIFT")]
#[cfg_attr(feature = "serde", serde(rename = "GIFT"))]
Gift,
#[yaserde(rename = "HEAL")]
#[cfg_attr(feature = "serde", serde(rename = "HEAL"))]
Heal,
#[yaserde(rename = "INTE")]
#[cfg_attr(feature = "serde", serde(rename = "INTE"))]
Inte,
#[yaserde(rename = "LAUN")]
#[cfg_attr(feature = "serde", serde(rename = "LAUN"))]
Laun,
#[yaserde(rename = "LONG")]
#[cfg_attr(feature = "serde", serde(rename = "LONG"))]
Long,
#[yaserde(rename = "MINI")]
#[cfg_attr(feature = "serde", serde(rename = "MINI"))]
Mini,
#[yaserde(rename = "NOSH")]
#[cfg_attr(feature = "serde", serde(rename = "NOSH"))]
Nosh,
#[yaserde(rename = "OTHR")]
#[cfg_attr(feature = "serde", serde(rename = "OTHR"))]
Othr,
#[yaserde(rename = "PARK")]
#[cfg_attr(feature = "serde", serde(rename = "PARK"))]
Park,
#[yaserde(rename = "PHON")]
#[cfg_attr(feature = "serde", serde(rename = "PHON"))]
Phon,
#[yaserde(rename = "REST")]
#[cfg_attr(feature = "serde", serde(rename = "REST"))]
Rest,
#[yaserde(rename = "RMSE")]
#[cfg_attr(feature = "serde", serde(rename = "RMSE"))]
Rmse,
#[yaserde(rename = "SPAS")]
#[cfg_attr(feature = "serde", serde(rename = "SPAS"))]
Spas,
#[yaserde(rename = "THRD")]
#[cfg_attr(feature = "serde", serde(rename = "THRD"))]
Thrd,
#[yaserde(rename = "TRAN")]
#[cfg_attr(feature = "serde", serde(rename = "TRAN"))]
Tran,
#[yaserde(rename = "VODS")]
#[cfg_attr(feature = "serde", serde(rename = "VODS"))]
Vods,
__Unknown__(String),
}
impl Default for LodgingService1Code {
fn default() -> LodgingService1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for LodgingService1Code {}
#[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.001.001.05")]
pub struct LoyaltyProgramme4 {
#[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,
#[yaserde(rename = "PtcptId")]
#[cfg_attr(feature = "serde", serde(rename = "PtcptId"))]
pub ptcpt_id: Max70Text,
}
impl Validate for LoyaltyProgramme4 {}
#[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.001.001.05")]
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(PartialEq, Debug, Clone, YaSerialize, YaDeserialize)]#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.001.001.05")]
pub enum Moto2Code {
#[yaserde(rename = "MAOR")]
#[cfg_attr(feature = "serde", serde(rename = "MAOR"))]
Maor,
#[yaserde(rename = "MOTO")]
#[cfg_attr(feature = "serde", serde(rename = "MOTO"))]
Moto,
#[yaserde(rename = "TPOR")]
#[cfg_attr(feature = "serde", serde(rename = "TPOR"))]
Tpor,
__Unknown__(String),
}
impl Default for Moto2Code {
fn default() -> Moto2Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for Moto2Code {}
#[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 Max100Text (pub String);
crate::simple_type!(Max100Text);
impl Validate for Max100Text {
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() > 100 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 100 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max104Text (pub String);
crate::simple_type!(Max104Text);
impl Validate for Max104Text {
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() > 104 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 104 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max105Text (pub String);
crate::simple_type!(Max105Text);
impl Validate for Max105Text {
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() > 105 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 105 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max10KHexBinaryText (pub String);
crate::simple_type!(Max10KHexBinaryText);
impl Validate for Max10KHexBinaryText {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max10KText (pub String);
crate::simple_type!(Max10KText);
impl Validate for Max10KText {
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() > 10000 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 10000 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max10NumberFraction2 (pub String);
crate::simple_type!(Max10NumberFraction2);
impl Validate for Max10NumberFraction2 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max10NumericText (pub String);
crate::simple_type!(Max10NumericText);
impl Validate for Max10NumericText {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max10PositiveNumber (pub String);
crate::simple_type!(Max10PositiveNumber);
impl Validate for Max10PositiveNumber {
fn validate(&self) -> Result<(), String> {
if self.0 < "1".parse::<String>().unwrap() {
return Err(format!("MinInclusive validation error: invalid value of 0! \nExpected: 0 >= 1.\nActual: 0 == {}", self.0));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max10Text (pub String);
crate::simple_type!(Max10Text);
impl Validate for Max10Text {
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() > 10 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 10 \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 Max15AlphaNumericText (pub String);
crate::simple_type!(Max15AlphaNumericText);
impl Validate for Max15AlphaNumericText {
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() > 15 {
return Err(format!("MaxLength 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 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 Max15Text (pub String);
crate::simple_type!(Max15Text);
impl Validate for Max15Text {
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() > 15 {
return Err(format!("MaxLength 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 Max16Binary (pub String);
crate::simple_type!(Max16Binary);
impl Validate for Max16Binary {
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 Max16HexBinaryText (pub String);
crate::simple_type!(Max16HexBinaryText);
impl Validate for Max16HexBinaryText {}
#[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 Max19HexBinaryText (pub String);
crate::simple_type!(Max19HexBinaryText);
impl Validate for Max19HexBinaryText {}
#[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 Max1Number (pub String);
crate::simple_type!(Max1Number);
impl Validate for Max1Number {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max2000Text (pub String);
crate::simple_type!(Max2000Text);
impl Validate for Max2000Text {
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() > 2000 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 2000 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max200Text (pub String);
crate::simple_type!(Max200Text);
impl Validate for Max200Text {
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() > 200 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 200 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[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 Max20Text (pub String);
crate::simple_type!(Max20Text);
impl Validate for Max20Text {
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() > 20 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 20 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max210Text (pub String);
crate::simple_type!(Max210Text);
impl Validate for Max210Text {
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() > 210 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 210 \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 Max256Text (pub String);
crate::simple_type!(Max256Text);
impl Validate for Max256Text {
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() > 256 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 256 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[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 Max35NumericText (pub String);
crate::simple_type!(Max35NumericText);
impl Validate for Max35NumericText {}
#[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 Max36Text (pub String);
crate::simple_type!(Max36Text);
impl Validate for Max36Text {
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() > 36 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 36 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max37Text (pub String);
crate::simple_type!(Max37Text);
impl Validate for Max37Text {
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() > 37 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 37 \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 Max3Text (pub String);
crate::simple_type!(Max3Text);
impl Validate for Max3Text {
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() > 3 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 3 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max40Text (pub String);
crate::simple_type!(Max40Text);
impl Validate for Max40Text {
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() > 40 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 40 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max45Text (pub String);
crate::simple_type!(Max45Text);
impl Validate for Max45Text {
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() > 45 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 45 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max48Text (pub String);
crate::simple_type!(Max48Text);
impl Validate for Max48Text {
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() > 48 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 48 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max4AlphaNumericText (pub String);
crate::simple_type!(Max4AlphaNumericText);
impl Validate for Max4AlphaNumericText {
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() > 4 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 4 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[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 Max4Text (pub String);
crate::simple_type!(Max4Text);
impl Validate for Max4Text {
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() > 4 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 4 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[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 Max500Text (pub String);
crate::simple_type!(Max500Text);
impl Validate for Max500Text {
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 Max50Text (pub String);
crate::simple_type!(Max50Text);
impl Validate for Max50Text {
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() > 50 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 50 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max512Text (pub String);
crate::simple_type!(Max512Text);
impl Validate for Max512Text {
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() > 512 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 512 \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 Max5PositiveNumber (pub String);
crate::simple_type!(Max5PositiveNumber);
impl Validate for Max5PositiveNumber {
fn validate(&self) -> Result<(), String> {
if self.0 < "1".parse::<String>().unwrap() {
return Err(format!("MinInclusive validation error: invalid value of 0! \nExpected: 0 >= 1.\nActual: 0 == {}", self.0));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max64Text (pub String);
crate::simple_type!(Max64Text);
impl Validate for Max64Text {
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() > 64 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 64 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max6NumberFraction2 (pub String);
crate::simple_type!(Max6NumberFraction2);
impl Validate for Max6NumberFraction2 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max6NumericText (pub String);
crate::simple_type!(Max6NumericText);
impl Validate for Max6NumericText {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max6Text (pub String);
crate::simple_type!(Max6Text);
impl Validate for Max6Text {
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() > 6 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 6 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[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 Max76Text (pub String);
crate::simple_type!(Max76Text);
impl Validate for Max76Text {
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() > 76 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 76 \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.001.001.05")]
pub enum MessageClass2Code {
#[yaserde(rename = "ADDE")]
#[cfg_attr(feature = "serde", serde(rename = "ADDE"))]
Adde,
#[yaserde(rename = "AMDT")]
#[cfg_attr(feature = "serde", serde(rename = "AMDT"))]
Amdt,
#[yaserde(rename = "AUTH")]
#[cfg_attr(feature = "serde", serde(rename = "AUTH"))]
Auth,
#[yaserde(rename = "CMGT")]
#[cfg_attr(feature = "serde", serde(rename = "CMGT"))]
Cmgt,
#[yaserde(rename = "CBCK")]
#[cfg_attr(feature = "serde", serde(rename = "CBCK"))]
Cbck,
#[yaserde(rename = "FEEC")]
#[cfg_attr(feature = "serde", serde(rename = "FEEC"))]
Feec,
#[yaserde(rename = "FINL")]
#[cfg_attr(feature = "serde", serde(rename = "FINL"))]
Finl,
#[yaserde(rename = "INVR")]
#[cfg_attr(feature = "serde", serde(rename = "INVR"))]
Invr,
__Unknown__(String),
}
impl Default for MessageClass2Code {
fn default() -> MessageClass2Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for MessageClass2Code {}
#[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.001.001.05")]
pub enum MessageFunction16Code {
#[yaserde(rename = "ADVC")]
#[cfg_attr(feature = "serde", serde(rename = "ADVC"))]
Advc,
#[yaserde(rename = "NOTI")]
#[cfg_attr(feature = "serde", serde(rename = "NOTI"))]
Noti,
#[yaserde(rename = "CAAD")]
#[cfg_attr(feature = "serde", serde(rename = "CAAD"))]
Caad,
#[yaserde(rename = "CANO")]
#[cfg_attr(feature = "serde", serde(rename = "CANO"))]
Cano,
#[yaserde(rename = "REQU")]
#[cfg_attr(feature = "serde", serde(rename = "REQU"))]
Requ,
__Unknown__(String),
}
impl Default for MessageFunction16Code {
fn default() -> MessageFunction16Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for MessageFunction16Code {}
#[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 Min5Max8Text (pub String);
crate::simple_type!(Min5Max8Text);
impl Validate for Min5Max8Text {
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() > 8 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 8 \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(PartialEq, Debug, Clone, YaSerialize, YaDeserialize)]#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.001.001.05")]
pub enum OfficialDocumentType2Code {
#[yaserde(rename = "ARNU")]
#[cfg_attr(feature = "serde", serde(rename = "ARNU"))]
Arnu,
#[yaserde(rename = "AUTH")]
#[cfg_attr(feature = "serde", serde(rename = "AUTH"))]
Auth,
#[yaserde(rename = "DIPL")]
#[cfg_attr(feature = "serde", serde(rename = "DIPL"))]
Dipl,
#[yaserde(rename = "DVLC")]
#[cfg_attr(feature = "serde", serde(rename = "DVLC"))]
Dvlc,
#[yaserde(rename = "EURO")]
#[cfg_attr(feature = "serde", serde(rename = "EURO"))]
Euro,
#[yaserde(rename = "IDEN")]
#[cfg_attr(feature = "serde", serde(rename = "IDEN"))]
Iden,
#[yaserde(rename = "INTE")]
#[cfg_attr(feature = "serde", serde(rename = "INTE"))]
Inte,
#[yaserde(rename = "INPO")]
#[cfg_attr(feature = "serde", serde(rename = "INPO"))]
Inpo,
#[yaserde(rename = "LZPR")]
#[cfg_attr(feature = "serde", serde(rename = "LZPR"))]
Lzpr,
#[yaserde(rename = "PASS")]
#[cfg_attr(feature = "serde", serde(rename = "PASS"))]
Pass,
#[yaserde(rename = "VISA")]
#[cfg_attr(feature = "serde", serde(rename = "VISA"))]
Visa,
#[yaserde(rename = "PERM")]
#[cfg_attr(feature = "serde", serde(rename = "PERM"))]
Perm,
#[yaserde(rename = "REFU")]
#[cfg_attr(feature = "serde", serde(rename = "REFU"))]
Refu,
__Unknown__(String),
}
impl Default for OfficialDocumentType2Code {
fn default() -> OfficialDocumentType2Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for OfficialDocumentType2Code {}
#[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.001.001.05")]
pub struct OnBoardDiagnostics1 {
#[yaserde(rename = "NgnIdleTm")]
#[cfg_attr(feature = "serde", serde(rename = "NgnIdleTm"))]
pub ngn_idle_tm: Max10NumberFraction2,
#[yaserde(rename = "NgnTtlIdleTm")]
#[cfg_attr(feature = "serde", serde(rename = "NgnTtlIdleTm"))]
pub ngn_ttl_idle_tm: Max10NumberFraction2,
#[yaserde(rename = "NgnHrs")]
#[cfg_attr(feature = "serde", serde(rename = "NgnHrs"))]
pub ngn_hrs: Max10NumberFraction2,
#[yaserde(rename = "NgnTtlTm")]
#[cfg_attr(feature = "serde", serde(rename = "NgnTtlTm"))]
pub ngn_ttl_tm: Max6NumberFraction2,
#[yaserde(rename = "NgnLd")]
#[cfg_attr(feature = "serde", serde(rename = "NgnLd"))]
pub ngn_ld: Max12NumericText,
#[yaserde(rename = "NgnRPM")]
#[cfg_attr(feature = "serde", serde(rename = "NgnRPM"))]
pub ngn_rpm: Max5NumericText,
#[yaserde(rename = "NgnOilTmprtr")]
#[cfg_attr(feature = "serde", serde(rename = "NgnOilTmprtr"))]
pub ngn_oil_tmprtr: Max6NumberFraction2,
#[yaserde(rename = "NgnOilPrssr")]
#[cfg_attr(feature = "serde", serde(rename = "NgnOilPrssr"))]
pub ngn_oil_prssr: Max3NumericText,
#[yaserde(rename = "NgnOilLifeRmng")]
#[cfg_attr(feature = "serde", serde(rename = "NgnOilLifeRmng"))]
pub ngn_oil_life_rmng: Max3NumericText,
#[yaserde(rename = "ChckNgnWrngSts")]
#[cfg_attr(feature = "serde", serde(rename = "ChckNgnWrngSts"))]
pub chck_ngn_wrng_sts: Max35Text,
#[yaserde(rename = "FuelTankLvlStart")]
#[cfg_attr(feature = "serde", serde(rename = "FuelTankLvlStart"))]
pub fuel_tank_lvl_start: Max4NumericText,
#[yaserde(rename = "FuelGaugeLvl")]
#[cfg_attr(feature = "serde", serde(rename = "FuelGaugeLvl"))]
pub fuel_gauge_lvl: Max4NumericText,
#[yaserde(rename = "FuelEcnmy")]
#[cfg_attr(feature = "serde", serde(rename = "FuelEcnmy"))]
pub fuel_ecnmy: Max6NumberFraction2,
#[yaserde(rename = "RfrgrtnHrs")]
#[cfg_attr(feature = "serde", serde(rename = "RfrgrtnHrs"))]
pub rfrgrtn_hrs: Max10NumberFraction2,
#[yaserde(rename = "RfrgrtnTmprtr")]
#[cfg_attr(feature = "serde", serde(rename = "RfrgrtnTmprtr"))]
pub rfrgrtn_tmprtr: Max6NumberFraction2,
#[yaserde(rename = "CoolntTmprtr")]
#[cfg_attr(feature = "serde", serde(rename = "CoolntTmprtr"))]
pub coolnt_tmprtr: Max6NumberFraction2,
#[yaserde(rename = "BttryVltg")]
#[cfg_attr(feature = "serde", serde(rename = "BttryVltg"))]
pub bttry_vltg: Max4NumericText,
#[yaserde(rename = "HardBrakg")]
#[cfg_attr(feature = "serde", serde(rename = "HardBrakg"))]
pub hard_brakg: Max4NumericText,
#[yaserde(rename = "HardAcclrtn")]
#[cfg_attr(feature = "serde", serde(rename = "HardAcclrtn"))]
pub hard_acclrtn: Max4NumericText,
}
impl Validate for OnBoardDiagnostics1 {}
#[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.001.001.05")]
pub enum OnLineCapability2Code {
#[yaserde(rename = "OFLN")]
#[cfg_attr(feature = "serde", serde(rename = "OFLN"))]
Ofln,
#[yaserde(rename = "ONLN")]
#[cfg_attr(feature = "serde", serde(rename = "ONLN"))]
Onln,
#[yaserde(rename = "BOTH")]
#[cfg_attr(feature = "serde", serde(rename = "BOTH"))]
Both,
__Unknown__(String),
}
impl Default for OnLineCapability2Code {
fn default() -> OnLineCapability2Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for OnLineCapability2Code {}
#[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.001.001.05")]
pub struct OriginalDataElements6 {
#[yaserde(rename = "MsgClss")]
#[cfg_attr(feature = "serde", serde(rename = "MsgClss"))]
pub msg_clss: MessageClass2Code,
#[yaserde(rename = "MsgFctn")]
#[cfg_attr(feature = "serde", serde(rename = "MsgFctn"))]
pub msg_fctn: MessageFunction16Code,
#[yaserde(rename = "AcqrrId")]
#[cfg_attr(feature = "serde", serde(rename = "AcqrrId"))]
pub acqrr_id: Max11NumericText,
#[yaserde(rename = "SndrId")]
#[cfg_attr(feature = "serde", serde(rename = "SndrId"))]
pub sndr_id: Max11NumericText,
#[yaserde(rename = "TxTp")]
#[cfg_attr(feature = "serde", serde(rename = "TxTp"))]
pub tx_tp: Iso8583TransactionTypeCode,
#[yaserde(rename = "TxId")]
#[cfg_attr(feature = "serde", serde(rename = "TxId"))]
pub tx_id: OriginalTransactionIdentification2,
#[yaserde(rename = "ConvsDtTm")]
#[cfg_attr(feature = "serde", serde(rename = "ConvsDtTm"))]
pub convs_dt_tm: DateTime2,
#[yaserde(rename = "TxAmts")]
#[cfg_attr(feature = "serde", serde(rename = "TxAmts"))]
pub tx_amts: OriginalTransactionAmounts4,
#[yaserde(rename = "AddtlFee")]
#[cfg_attr(feature = "serde", serde(rename = "AddtlFee"))]
pub addtl_fee: Vec<AdditionalFee4>,
#[yaserde(rename = "RspnCd")]
#[cfg_attr(feature = "serde", serde(rename = "RspnCd"))]
pub rspn_cd: Iso8583ResponseCode,
#[yaserde(rename = "ApprvlCd")]
#[cfg_attr(feature = "serde", serde(rename = "ApprvlCd"))]
pub apprvl_cd: Exact6AlphaNumericText,
#[yaserde(rename = "DfrrdSttlmDt")]
#[cfg_attr(feature = "serde", serde(rename = "DfrrdSttlmDt"))]
pub dfrrd_sttlm_dt: Isodate,
}
impl Validate for OriginalDataElements6 {}
#[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.001.001.05")]
pub struct OriginalTransactionAmounts4 {
#[yaserde(rename = "AmtQlfr")]
#[cfg_attr(feature = "serde", serde(rename = "AmtQlfr"))]
pub amt_qlfr: TypeOfAmount22Code,
#[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 = "CrdhldrBllgAmt")]
#[cfg_attr(feature = "serde", serde(rename = "CrdhldrBllgAmt"))]
pub crdhldr_bllg_amt: ImpliedCurrencyAndAmount,
#[yaserde(rename = "CrdhldrBllgCcy")]
#[cfg_attr(feature = "serde", serde(rename = "CrdhldrBllgCcy"))]
pub crdhldr_bllg_ccy: Iso3NumericCurrencyCode,
#[yaserde(rename = "CrdhldrBllgFctvXchgRate")]
#[cfg_attr(feature = "serde", serde(rename = "CrdhldrBllgFctvXchgRate"))]
pub crdhldr_bllg_fctv_xchg_rate: BaseOne25Rate,
#[yaserde(rename = "RcncltnAmt")]
#[cfg_attr(feature = "serde", serde(rename = "RcncltnAmt"))]
pub rcncltn_amt: ImpliedCurrencyAndAmount,
#[yaserde(rename = "RcncltnCcy")]
#[cfg_attr(feature = "serde", serde(rename = "RcncltnCcy"))]
pub rcncltn_ccy: Iso3NumericCurrencyCode,
#[yaserde(rename = "RcncltnFctvXchgRate")]
#[cfg_attr(feature = "serde", serde(rename = "RcncltnFctvXchgRate"))]
pub rcncltn_fctv_xchg_rate: BaseOne25Rate,
}
impl Validate for OriginalTransactionAmounts4 {}
#[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.001.001.05")]
pub struct OriginalTransactionIdentification2 {
#[yaserde(rename = "LclDt")]
#[cfg_attr(feature = "serde", serde(rename = "LclDt"))]
pub lcl_dt: Isodate,
#[yaserde(rename = "LclTm")]
#[cfg_attr(feature = "serde", serde(rename = "LclTm"))]
pub lcl_tm: Isotime,
#[yaserde(rename = "TmZone")]
#[cfg_attr(feature = "serde", serde(rename = "TmZone"))]
pub tm_zone: Max70Text,
#[yaserde(rename = "PurchsIdrTp")]
#[cfg_attr(feature = "serde", serde(rename = "PurchsIdrTp"))]
pub purchs_idr_tp: PurchaseIdentifierType3Code,
#[yaserde(rename = "PurchsIdr")]
#[cfg_attr(feature = "serde", serde(rename = "PurchsIdr"))]
pub purchs_idr: Max99Text,
#[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 = "LifeCyclSpprt")]
#[cfg_attr(feature = "serde", serde(rename = "LifeCyclSpprt"))]
pub life_cycl_spprt: LifeCycleSupport1Code,
#[yaserde(rename = "LifeCyclId")]
#[cfg_attr(feature = "serde", serde(rename = "LifeCyclId"))]
pub life_cycl_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,
#[yaserde(rename = "LifeCyclIdMssng")]
#[cfg_attr(feature = "serde", serde(rename = "LifeCyclIdMssng"))]
pub life_cycl_id_mssng: Max70Text,
#[yaserde(rename = "AcqrrRefData")]
#[cfg_attr(feature = "serde", serde(rename = "AcqrrRefData"))]
pub acqrr_ref_data: Max140Text,
#[yaserde(rename = "AcqrrRefNb")]
#[cfg_attr(feature = "serde", serde(rename = "AcqrrRefNb"))]
pub acqrr_ref_nb: Max23NumericText,
#[yaserde(rename = "IssrRefData")]
#[cfg_attr(feature = "serde", serde(rename = "IssrRefData"))]
pub issr_ref_data: Max1000Text,
}
impl Validate for OriginalTransactionIdentification2 {}
#[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.001.001.05")]
pub struct OriginatorData2 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Max11NumericText,
#[yaserde(rename = "BizId")]
#[cfg_attr(feature = "serde", serde(rename = "BizId"))]
pub biz_id: Max15AlphaNumericText,
#[yaserde(rename = "Ctry")]
#[cfg_attr(feature = "serde", serde(rename = "Ctry"))]
pub ctry: Iso3NumericCountryCode,
#[yaserde(rename = "BizNm")]
#[cfg_attr(feature = "serde", serde(rename = "BizNm"))]
pub biz_nm: Max35Text,
#[yaserde(rename = "LglCorpNm")]
#[cfg_attr(feature = "serde", serde(rename = "LglCorpNm"))]
pub lgl_corp_nm: Max99Text,
#[yaserde(rename = "Adr")]
#[cfg_attr(feature = "serde", serde(rename = "Adr"))]
pub adr: Address4,
#[yaserde(rename = "PrvtData")]
#[cfg_attr(feature = "serde", serde(rename = "PrvtData"))]
pub prvt_data: Vec<AticalaxProcessing>,
#[yaserde(rename = "NtlData")]
#[cfg_attr(feature = "serde", serde(rename = "NtlData"))]
pub ntl_data: Vec<AticalaxProcessing>,
#[yaserde(rename = "LclData")]
#[cfg_attr(feature = "serde", serde(rename = "LclData"))]
pub lcl_data: Vec<LocalData20>,
}
impl Validate for OriginatorData2 {}
#[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.001.001.05")]
pub enum OutputFormat1Code {
#[yaserde(rename = "MREF")]
#[cfg_attr(feature = "serde", serde(rename = "MREF"))]
Mref,
#[yaserde(rename = "TEXT")]
#[cfg_attr(feature = "serde", serde(rename = "TEXT"))]
Text,
#[yaserde(rename = "HTML")]
#[cfg_attr(feature = "serde", serde(rename = "HTML"))]
Html,
__Unknown__(String),
}
impl Default for OutputFormat1Code {
fn default() -> OutputFormat1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for OutputFormat1Code {}
#[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.001.001.05")]
pub struct Pindata1 {
#[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 = "PINBlckFrmt")]
#[cfg_attr(feature = "serde", serde(rename = "PINBlckFrmt"))]
pub pin_blck_frmt: Max2NumericText,
#[yaserde(rename = "NcrptdPINBlck")]
#[cfg_attr(feature = "serde", serde(rename = "NcrptdPINBlck"))]
pub ncrptd_pin_blck: Max16HexBinaryText,
}
impl Validate for Pindata1 {}
#[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.001.001.05")]
pub enum PoicomponentType5Code {
#[yaserde(rename = "AQPP")]
#[cfg_attr(feature = "serde", serde(rename = "AQPP"))]
Aqpp,
#[yaserde(rename = "APPR")]
#[cfg_attr(feature = "serde", serde(rename = "APPR"))]
Appr,
#[yaserde(rename = "TLPR")]
#[cfg_attr(feature = "serde", serde(rename = "TLPR"))]
Tlpr,
#[yaserde(rename = "SCPR")]
#[cfg_attr(feature = "serde", serde(rename = "SCPR"))]
Scpr,
#[yaserde(rename = "SERV")]
#[cfg_attr(feature = "serde", serde(rename = "SERV"))]
Serv,
#[yaserde(rename = "TERM")]
#[cfg_attr(feature = "serde", serde(rename = "TERM"))]
Term,
#[yaserde(rename = "DVCE")]
#[cfg_attr(feature = "serde", serde(rename = "DVCE"))]
Dvce,
#[yaserde(rename = "SECM")]
#[cfg_attr(feature = "serde", serde(rename = "SECM"))]
Secm,
#[yaserde(rename = "APLI")]
#[cfg_attr(feature = "serde", serde(rename = "APLI"))]
Apli,
#[yaserde(rename = "EMVK")]
#[cfg_attr(feature = "serde", serde(rename = "EMVK"))]
Emvk,
#[yaserde(rename = "EMVO")]
#[cfg_attr(feature = "serde", serde(rename = "EMVO"))]
Emvo,
#[yaserde(rename = "MDWR")]
#[cfg_attr(feature = "serde", serde(rename = "MDWR"))]
Mdwr,
#[yaserde(rename = "DRVR")]
#[cfg_attr(feature = "serde", serde(rename = "DRVR"))]
Drvr,
#[yaserde(rename = "OPST")]
#[cfg_attr(feature = "serde", serde(rename = "OPST"))]
Opst,
#[yaserde(rename = "MRPR")]
#[cfg_attr(feature = "serde", serde(rename = "MRPR"))]
Mrpr,
#[yaserde(rename = "CRTF")]
#[cfg_attr(feature = "serde", serde(rename = "CRTF"))]
Crtf,
#[yaserde(rename = "TMSP")]
#[cfg_attr(feature = "serde", serde(rename = "TMSP"))]
Tmsp,
#[yaserde(rename = "SACP")]
#[cfg_attr(feature = "serde", serde(rename = "SACP"))]
Sacp,
#[yaserde(rename = "SAPR")]
#[cfg_attr(feature = "serde", serde(rename = "SAPR"))]
Sapr,
__Unknown__(String),
}
impl Default for PoicomponentType5Code {
fn default() -> PoicomponentType5Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for PoicomponentType5Code {}
#[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.001.001.05")]
pub enum PartyType20Code {
#[yaserde(rename = "ACCP")]
#[cfg_attr(feature = "serde", serde(rename = "ACCP"))]
Accp,
#[yaserde(rename = "ACQR")]
#[cfg_attr(feature = "serde", serde(rename = "ACQR"))]
Acqr,
#[yaserde(rename = "CRDH")]
#[cfg_attr(feature = "serde", serde(rename = "CRDH"))]
Crdh,
#[yaserde(rename = "CISS")]
#[cfg_attr(feature = "serde", serde(rename = "CISS"))]
Ciss,
#[yaserde(rename = "AGNT")]
#[cfg_attr(feature = "serde", serde(rename = "AGNT"))]
Agnt,
__Unknown__(String),
}
impl Default for PartyType20Code {
fn default() -> PartyType20Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for PartyType20Code {}
#[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.001.001.05")]
pub struct PassengerTransport4 {
#[yaserde(rename = "DocNb")]
#[cfg_attr(feature = "serde", serde(rename = "DocNb"))]
pub doc_nb: Max35Text,
#[yaserde(rename = "RsvatnSys")]
#[cfg_attr(feature = "serde", serde(rename = "RsvatnSys"))]
pub rsvatn_sys: Max4Text,
#[yaserde(rename = "RsvatnNb")]
#[cfg_attr(feature = "serde", serde(rename = "RsvatnNb"))]
pub rsvatn_nb: Max35Text,
#[yaserde(rename = "OrgnlRsvatnSys")]
#[cfg_attr(feature = "serde", serde(rename = "OrgnlRsvatnSys"))]
pub orgnl_rsvatn_sys: Max4Text,
#[yaserde(rename = "OrgnlRsvatnNb")]
#[cfg_attr(feature = "serde", serde(rename = "OrgnlRsvatnNb"))]
pub orgnl_rsvatn_nb: Max35Text,
#[yaserde(rename = "TrvlAuthstnCd")]
#[cfg_attr(feature = "serde", serde(rename = "TrvlAuthstnCd"))]
pub trvl_authstn_cd: Max70Text,
#[yaserde(rename = "TcktIssr")]
#[cfg_attr(feature = "serde", serde(rename = "TcktIssr"))]
pub tckt_issr: Max35Text,
#[yaserde(rename = "OpnTckt")]
#[cfg_attr(feature = "serde", serde(rename = "OpnTckt"))]
pub opn_tckt: TrueFalseIndicator,
#[yaserde(rename = "CstmrRef")]
#[cfg_attr(feature = "serde", serde(rename = "CstmrRef"))]
pub cstmr_ref: Vec<CustomerReference1>,
#[yaserde(rename = "Pssngr")]
#[cfg_attr(feature = "serde", serde(rename = "Pssngr"))]
pub pssngr: Vec<Customer10>,
#[yaserde(rename = "Dprture")]
#[cfg_attr(feature = "serde", serde(rename = "Dprture"))]
pub dprture: DepartureOrArrival1,
#[yaserde(rename = "Drtn")]
#[cfg_attr(feature = "serde", serde(rename = "Drtn"))]
pub drtn: Max4NumericText,
#[yaserde(rename = "Insrnc")]
#[cfg_attr(feature = "serde", serde(rename = "Insrnc"))]
pub insrnc: TrueFalseIndicator,
#[yaserde(rename = "TtlAmt")]
#[cfg_attr(feature = "serde", serde(rename = "TtlAmt"))]
pub ttl_amt: Vec<AmountAndTax1>,
#[yaserde(rename = "SummryCmmdtyId")]
#[cfg_attr(feature = "serde", serde(rename = "SummryCmmdtyId"))]
pub summry_cmmdty_id: Max35Text,
#[yaserde(rename = "LltyPrgrmm")]
#[cfg_attr(feature = "serde", serde(rename = "LltyPrgrmm"))]
pub llty_prgrmm: LoyaltyProgramme4,
#[yaserde(rename = "TripLeg")]
#[cfg_attr(feature = "serde", serde(rename = "TripLeg"))]
pub trip_leg: Vec<TripLeg4>,
#[yaserde(rename = "AncllryPurchs")]
#[cfg_attr(feature = "serde", serde(rename = "AncllryPurchs"))]
pub ancllry_purchs: Vec<AncillaryPurchase4>,
#[yaserde(rename = "HirdVhclDtls")]
#[cfg_attr(feature = "serde", serde(rename = "HirdVhclDtls"))]
pub hird_vhcl_dtls: Vec<HiredVehicle4>,
#[yaserde(rename = "PrvtData")]
#[cfg_attr(feature = "serde", serde(rename = "PrvtData"))]
pub prvt_data: Vec<AticalaxProcessing>,
#[yaserde(rename = "NtlData")]
#[cfg_attr(feature = "serde", serde(rename = "NtlData"))]
pub ntl_data: Vec<AticalaxProcessing>,
}
impl Validate for PassengerTransport4 {}
#[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.001.001.05")]
pub struct PayeeData1 {
#[yaserde(rename = "FI")]
#[cfg_attr(feature = "serde", serde(rename = "FI"))]
pub fi: FinancialInstitution10,
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Max35Text,
#[yaserde(rename = "Dsgnt")]
#[cfg_attr(feature = "serde", serde(rename = "Dsgnt"))]
pub dsgnt: Max2NumericText,
#[yaserde(rename = "NttyTp")]
#[cfg_attr(feature = "serde", serde(rename = "NttyTp"))]
pub ntty_tp: Max3Text,
#[yaserde(rename = "AcctIdrTp")]
#[cfg_attr(feature = "serde", serde(rename = "AcctIdrTp"))]
pub acct_idr_tp: Iso8583AccountIdentifierTypeCode,
#[yaserde(rename = "AcctIdr")]
#[cfg_attr(feature = "serde", serde(rename = "AcctIdr"))]
pub acct_idr: Max70Text,
#[yaserde(rename = "Crdntls")]
#[cfg_attr(feature = "serde", serde(rename = "Crdntls"))]
pub crdntls: Vec<Credentials3>,
#[yaserde(rename = "Nm")]
#[cfg_attr(feature = "serde", serde(rename = "Nm"))]
pub nm: Max105Text,
#[yaserde(rename = "GvnNm")]
#[cfg_attr(feature = "serde", serde(rename = "GvnNm"))]
pub gvn_nm: Max35Text,
#[yaserde(rename = "MddlNm")]
#[cfg_attr(feature = "serde", serde(rename = "MddlNm"))]
pub mddl_nm: Max35Text,
#[yaserde(rename = "LastNm")]
#[cfg_attr(feature = "serde", serde(rename = "LastNm"))]
pub last_nm: Max35Text,
#[yaserde(rename = "Adr")]
#[cfg_attr(feature = "serde", serde(rename = "Adr"))]
pub adr: Address4,
#[yaserde(rename = "Ctct")]
#[cfg_attr(feature = "serde", serde(rename = "Ctct"))]
pub ctct: ContactPersonal2,
#[yaserde(rename = "Ntlty")]
#[cfg_attr(feature = "serde", serde(rename = "Ntlty"))]
pub ntlty: Isomax3ACountryCode,
#[yaserde(rename = "CtryOfBirth")]
#[cfg_attr(feature = "serde", serde(rename = "CtryOfBirth"))]
pub ctry_of_birth: Isomax3ACountryCode,
#[yaserde(rename = "DtOfBirth")]
#[cfg_attr(feature = "serde", serde(rename = "DtOfBirth"))]
pub dt_of_birth: Isodate,
#[yaserde(rename = "AliasNm")]
#[cfg_attr(feature = "serde", serde(rename = "AliasNm"))]
pub alias_nm: Max70Text,
#[yaserde(rename = "Ocptn")]
#[cfg_attr(feature = "serde", serde(rename = "Ocptn"))]
pub ocptn: Max35Text,
#[yaserde(rename = "PrvtData")]
#[cfg_attr(feature = "serde", serde(rename = "PrvtData"))]
pub prvt_data: Vec<AticalaxProcessing>,
#[yaserde(rename = "NtlData")]
#[cfg_attr(feature = "serde", serde(rename = "NtlData"))]
pub ntl_data: Vec<AticalaxProcessing>,
#[yaserde(rename = "LclData")]
#[cfg_attr(feature = "serde", serde(rename = "LclData"))]
pub lcl_data: LocalData21,
}
impl Validate for PayeeData1 {}
#[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.001.001.05")]
pub struct PayerData1 {
#[yaserde(rename = "FI")]
#[cfg_attr(feature = "serde", serde(rename = "FI"))]
pub fi: FinancialInstitution10,
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Max35Text,
#[yaserde(rename = "Dsgnt")]
#[cfg_attr(feature = "serde", serde(rename = "Dsgnt"))]
pub dsgnt: Max2NumericText,
#[yaserde(rename = "NttyTp")]
#[cfg_attr(feature = "serde", serde(rename = "NttyTp"))]
pub ntty_tp: Max3Text,
#[yaserde(rename = "AcctIdrTp")]
#[cfg_attr(feature = "serde", serde(rename = "AcctIdrTp"))]
pub acct_idr_tp: Iso8583AccountIdentifierTypeCode,
#[yaserde(rename = "AcctIdr")]
#[cfg_attr(feature = "serde", serde(rename = "AcctIdr"))]
pub acct_idr: Max70Text,
#[yaserde(rename = "Crdntls")]
#[cfg_attr(feature = "serde", serde(rename = "Crdntls"))]
pub crdntls: Vec<Credentials3>,
#[yaserde(rename = "Nm")]
#[cfg_attr(feature = "serde", serde(rename = "Nm"))]
pub nm: Max105Text,
#[yaserde(rename = "GvnNm")]
#[cfg_attr(feature = "serde", serde(rename = "GvnNm"))]
pub gvn_nm: Max35Text,
#[yaserde(rename = "MddlNm")]
#[cfg_attr(feature = "serde", serde(rename = "MddlNm"))]
pub mddl_nm: Max35Text,
#[yaserde(rename = "LastNm")]
#[cfg_attr(feature = "serde", serde(rename = "LastNm"))]
pub last_nm: Max35Text,
#[yaserde(rename = "Adr")]
#[cfg_attr(feature = "serde", serde(rename = "Adr"))]
pub adr: Address4,
#[yaserde(rename = "Ctct")]
#[cfg_attr(feature = "serde", serde(rename = "Ctct"))]
pub ctct: ContactPersonal2,
#[yaserde(rename = "Ntlty")]
#[cfg_attr(feature = "serde", serde(rename = "Ntlty"))]
pub ntlty: Isomax3ACountryCode,
#[yaserde(rename = "CtryOfBirth")]
#[cfg_attr(feature = "serde", serde(rename = "CtryOfBirth"))]
pub ctry_of_birth: Isomax3ACountryCode,
#[yaserde(rename = "DtOfBirth")]
#[cfg_attr(feature = "serde", serde(rename = "DtOfBirth"))]
pub dt_of_birth: Isodate,
#[yaserde(rename = "AliasNm")]
#[cfg_attr(feature = "serde", serde(rename = "AliasNm"))]
pub alias_nm: Max70Text,
#[yaserde(rename = "Ocptn")]
#[cfg_attr(feature = "serde", serde(rename = "Ocptn"))]
pub ocptn: Max35Text,
#[yaserde(rename = "PrvtData")]
#[cfg_attr(feature = "serde", serde(rename = "PrvtData"))]
pub prvt_data: Vec<AticalaxProcessing>,
#[yaserde(rename = "NtlData")]
#[cfg_attr(feature = "serde", serde(rename = "NtlData"))]
pub ntl_data: Vec<AticalaxProcessing>,
#[yaserde(rename = "LclData")]
#[cfg_attr(feature = "serde", serde(rename = "LclData"))]
pub lcl_data: LocalData21,
}
impl Validate for PayerData1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct PercentageRate (pub String);
crate::simple_type!(PercentageRate);
impl Validate for PercentageRate {}
#[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.001.001.05")]
pub enum PeriodUnit5Code {
#[yaserde(rename = "MNTH")]
#[cfg_attr(feature = "serde", serde(rename = "MNTH"))]
Mnth,
#[yaserde(rename = "WEEK")]
#[cfg_attr(feature = "serde", serde(rename = "WEEK"))]
Week,
#[yaserde(rename = "YEAR")]
#[cfg_attr(feature = "serde", serde(rename = "YEAR"))]
Year,
#[yaserde(rename = "DAYS")]
#[cfg_attr(feature = "serde", serde(rename = "DAYS"))]
Days,
#[yaserde(rename = "EXDY")]
#[cfg_attr(feature = "serde", serde(rename = "EXDY"))]
Exdy,
#[yaserde(rename = "MINU")]
#[cfg_attr(feature = "serde", serde(rename = "MINU"))]
Minu,
#[yaserde(rename = "HFDA")]
#[cfg_attr(feature = "serde", serde(rename = "HFDA"))]
Hfda,
#[yaserde(rename = "HOUR")]
#[cfg_attr(feature = "serde", serde(rename = "HOUR"))]
Hour,
__Unknown__(String),
}
impl Default for PeriodUnit5Code {
fn default() -> PeriodUnit5Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for PeriodUnit5Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct PhoneNumber (pub String);
crate::simple_type!(PhoneNumber);
impl Validate for PhoneNumber {}
#[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.001.001.05")]
pub enum PlanOwner2Code {
#[yaserde(rename = "ACCP")]
#[cfg_attr(feature = "serde", serde(rename = "ACCP"))]
Accp,
#[yaserde(rename = "ACQR")]
#[cfg_attr(feature = "serde", serde(rename = "ACQR"))]
Acqr,
#[yaserde(rename = "ISSR")]
#[cfg_attr(feature = "serde", serde(rename = "ISSR"))]
Issr,
__Unknown__(String),
}
impl Default for PlanOwner2Code {
fn default() -> PlanOwner2Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for PlanOwner2Code {}
#[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.001.001.05")]
pub struct PointOfInteractionComponent16 {
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: PoicomponentType5Code,
#[yaserde(rename = "ItmNb")]
#[cfg_attr(feature = "serde", serde(rename = "ItmNb"))]
pub itm_nb: Max35Text,
#[yaserde(rename = "PrvdrId")]
#[cfg_attr(feature = "serde", serde(rename = "PrvdrId"))]
pub prvdr_id: Max35Text,
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Max35Text,
#[yaserde(rename = "SrlNb")]
#[cfg_attr(feature = "serde", serde(rename = "SrlNb"))]
pub srl_nb: Max70Text,
}
impl Validate for PointOfInteractionComponent16 {}
#[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.001.001.05")]
pub enum PresentationMedium2Code {
#[yaserde(rename = "BIOM")]
#[cfg_attr(feature = "serde", serde(rename = "BIOM"))]
Biom,
#[yaserde(rename = "ELEC")]
#[cfg_attr(feature = "serde", serde(rename = "ELEC"))]
Elec,
#[yaserde(rename = "PAPR")]
#[cfg_attr(feature = "serde", serde(rename = "PAPR"))]
Papr,
#[yaserde(rename = "BOTH")]
#[cfg_attr(feature = "serde", serde(rename = "BOTH"))]
Both,
__Unknown__(String),
}
impl Default for PresentationMedium2Code {
fn default() -> PresentationMedium2Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for PresentationMedium2Code {}
#[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.001.001.05")]
pub struct ProcessingResult28 {
#[yaserde(rename = "RspnSrcId")]
#[cfg_attr(feature = "serde", serde(rename = "RspnSrcId"))]
pub rspn_src_id: Max35Text,
#[yaserde(rename = "RspnSrcTp")]
#[cfg_attr(feature = "serde", serde(rename = "RspnSrcTp"))]
pub rspn_src_tp: AticapartyType1Code,
#[yaserde(rename = "RspnSrcCtry")]
#[cfg_attr(feature = "serde", serde(rename = "RspnSrcCtry"))]
pub rspn_src_ctry: Isomax3ACountryCode,
#[yaserde(rename = "RspnSrcNm")]
#[cfg_attr(feature = "serde", serde(rename = "RspnSrcNm"))]
pub rspn_src_nm: Max35Text,
#[yaserde(rename = "RspnCd")]
#[cfg_attr(feature = "serde", serde(rename = "RspnCd"))]
pub rspn_cd: Iso8583ResponseCode,
#[yaserde(rename = "ApprvlCd")]
#[cfg_attr(feature = "serde", serde(rename = "ApprvlCd"))]
pub apprvl_cd: Exact6AlphaNumericText,
#[yaserde(rename = "RspnRsn")]
#[cfg_attr(feature = "serde", serde(rename = "RspnRsn"))]
pub rspn_rsn: Max35Text,
#[yaserde(rename = "TempScrCardDataReusePrtd")]
#[cfg_attr(feature = "serde", serde(rename = "TempScrCardDataReusePrtd"))]
pub temp_scr_card_data_reuse_prtd: TrueFalseIndicator,
#[yaserde(rename = "ActnCd")]
#[cfg_attr(feature = "serde", serde(rename = "ActnCd"))]
pub actn_cd: Iso8583ActionCode,
#[yaserde(rename = "PrvtData")]
#[cfg_attr(feature = "serde", serde(rename = "PrvtData"))]
pub prvt_data: Vec<AticalaxProcessing>,
#[yaserde(rename = "NtlData")]
#[cfg_attr(feature = "serde", serde(rename = "NtlData"))]
pub ntl_data: Vec<AticalaxProcessing>,
}
impl Validate for ProcessingResult28 {}
#[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.001.001.05")]
pub struct Product8 {
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: Max70Text,
#[yaserde(rename = "SummryCmmdtyId")]
#[cfg_attr(feature = "serde", serde(rename = "SummryCmmdtyId"))]
pub summry_cmmdty_id: Max35Text,
}
impl Validate for Product8 {}
#[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.001.001.05")]
pub enum ProductCodeType1Code {
#[yaserde(rename = "EA13")]
#[cfg_attr(feature = "serde", serde(rename = "EA13"))]
Ea13,
#[yaserde(rename = "EAN8")]
#[cfg_attr(feature = "serde", serde(rename = "EAN8"))]
Ean8,
#[yaserde(rename = "GTIN")]
#[cfg_attr(feature = "serde", serde(rename = "GTIN"))]
Gtin,
#[yaserde(rename = "OTHR")]
#[cfg_attr(feature = "serde", serde(rename = "OTHR"))]
Othr,
#[yaserde(rename = "PLUP")]
#[cfg_attr(feature = "serde", serde(rename = "PLUP"))]
Plup,
#[yaserde(rename = "RS14")]
#[cfg_attr(feature = "serde", serde(rename = "RS14"))]
Rs14,
#[yaserde(rename = "UPCA")]
#[cfg_attr(feature = "serde", serde(rename = "UPCA"))]
Upca,
#[yaserde(rename = "UPCE")]
#[cfg_attr(feature = "serde", serde(rename = "UPCE"))]
Upce,
__Unknown__(String),
}
impl Default for ProductCodeType1Code {
fn default() -> ProductCodeType1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for ProductCodeType1Code {}
#[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.001.001.05")]
pub struct ProgrammeMode7 {
#[yaserde(rename = "PropsdId")]
#[cfg_attr(feature = "serde", serde(rename = "PropsdId"))]
pub propsd_id: Vec<Max35Text>,
#[yaserde(rename = "ApldId")]
#[cfg_attr(feature = "serde", serde(rename = "ApldId"))]
pub apld_id: Max35Text,
#[yaserde(rename = "IdSelctdBy")]
#[cfg_attr(feature = "serde", serde(rename = "IdSelctdBy"))]
pub id_selctd_by: PartyType20Code,
#[yaserde(rename = "PrvtData")]
#[cfg_attr(feature = "serde", serde(rename = "PrvtData"))]
pub prvt_data: Vec<AticalaxProcessing>,
#[yaserde(rename = "NtlData")]
#[cfg_attr(feature = "serde", serde(rename = "NtlData"))]
pub ntl_data: Vec<AticalaxProcessing>,
}
impl Validate for ProgrammeMode7 {}
#[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.001.001.05")]
pub struct PromotionData1 {
#[yaserde(rename = "Prvdr")]
#[cfg_attr(feature = "serde", serde(rename = "Prvdr"))]
pub prvdr: AticapartyType1Code,
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: Max35Text,
#[yaserde(rename = "Desc")]
#[cfg_attr(feature = "serde", serde(rename = "Desc"))]
pub desc: Max140Text,
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: Max35Text,
#[yaserde(rename = "Start")]
#[cfg_attr(feature = "serde", serde(rename = "Start"))]
pub start: IsodateTime,
#[yaserde(rename = "End")]
#[cfg_attr(feature = "serde", serde(rename = "End"))]
pub end: IsodateTime,
#[yaserde(rename = "Amt")]
#[cfg_attr(feature = "serde", serde(rename = "Amt"))]
pub amt: ImpliedCurrencyAndAmount,
#[yaserde(rename = "RedMtd")]
#[cfg_attr(feature = "serde", serde(rename = "RedMtd"))]
pub red_mtd: Max35Text,
#[yaserde(rename = "Chanl")]
#[cfg_attr(feature = "serde", serde(rename = "Chanl"))]
pub chanl: Max35Text,
#[yaserde(rename = "Ctgy")]
#[cfg_attr(feature = "serde", serde(rename = "Ctgy"))]
pub ctgy: Max35Text,
#[yaserde(rename = "Stckbl")]
#[cfg_attr(feature = "serde", serde(rename = "Stckbl"))]
pub stckbl: TrueFalseIndicator,
#[yaserde(rename = "TermsURL")]
#[cfg_attr(feature = "serde", serde(rename = "TermsURL"))]
pub terms_url: Max256Text,
}
impl Validate for PromotionData1 {}
#[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.001.001.05")]
pub enum ProtectionMethod2Code {
#[yaserde(rename = "SELM")]
#[cfg_attr(feature = "serde", serde(rename = "SELM"))]
Selm,
#[yaserde(rename = "SNCL")]
#[cfg_attr(feature = "serde", serde(rename = "SNCL"))]
Sncl,
#[yaserde(rename = "SOFT")]
#[cfg_attr(feature = "serde", serde(rename = "SOFT"))]
Soft,
#[yaserde(rename = "TEEN")]
#[cfg_attr(feature = "serde", serde(rename = "TEEN"))]
Teen,
#[yaserde(rename = "TPMD")]
#[cfg_attr(feature = "serde", serde(rename = "TPMD"))]
Tpmd,
#[yaserde(rename = "VTEE")]
#[cfg_attr(feature = "serde", serde(rename = "VTEE"))]
Vtee,
__Unknown__(String),
}
impl Default for ProtectionMethod2Code {
fn default() -> ProtectionMethod2Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for ProtectionMethod2Code {}
#[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.001.001.05")]
pub enum PurchaseIdentifierType3Code {
#[yaserde(rename = "SUIN")]
#[cfg_attr(feature = "serde", serde(rename = "SUIN"))]
Suin,
#[yaserde(rename = "RELO")]
#[cfg_attr(feature = "serde", serde(rename = "RELO"))]
Relo,
#[yaserde(rename = "INNU")]
#[cfg_attr(feature = "serde", serde(rename = "INNU"))]
Innu,
#[yaserde(rename = "PUID")]
#[cfg_attr(feature = "serde", serde(rename = "PUID"))]
Puid,
#[yaserde(rename = "RENU")]
#[cfg_attr(feature = "serde", serde(rename = "RENU"))]
Renu,
#[yaserde(rename = "RSNU")]
#[cfg_attr(feature = "serde", serde(rename = "RSNU"))]
Rsnu,
#[yaserde(rename = "TINU")]
#[cfg_attr(feature = "serde", serde(rename = "TINU"))]
Tinu,
#[yaserde(rename = "SUOR")]
#[cfg_attr(feature = "serde", serde(rename = "SUOR"))]
Suor,
#[yaserde(rename = "CONU")]
#[cfg_attr(feature = "serde", serde(rename = "CONU"))]
Conu,
#[yaserde(rename = "FONU")]
#[cfg_attr(feature = "serde", serde(rename = "FONU"))]
Fonu,
#[yaserde(rename = "PRNU")]
#[cfg_attr(feature = "serde", serde(rename = "PRNU"))]
Prnu,
#[yaserde(rename = "ORNU")]
#[cfg_attr(feature = "serde", serde(rename = "ORNU"))]
Ornu,
#[yaserde(rename = "CUOR")]
#[cfg_attr(feature = "serde", serde(rename = "CUOR"))]
Cuor,
#[yaserde(rename = "CUPO")]
#[cfg_attr(feature = "serde", serde(rename = "CUPO"))]
Cupo,
#[yaserde(rename = "REAG")]
#[cfg_attr(feature = "serde", serde(rename = "REAG"))]
Reag,
#[yaserde(rename = "TRNU")]
#[cfg_attr(feature = "serde", serde(rename = "TRNU"))]
Trnu,
#[yaserde(rename = "TREF")]
#[cfg_attr(feature = "serde", serde(rename = "TREF"))]
Tref,
__Unknown__(String),
}
impl Default for PurchaseIdentifierType3Code {
fn default() -> PurchaseIdentifierType3Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for PurchaseIdentifierType3Code {}
#[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.001.001.05")]
pub enum QrcodePresentmentMode2Code {
#[yaserde(rename = "CPMD")]
#[cfg_attr(feature = "serde", serde(rename = "CPMD"))]
Cpmd,
#[yaserde(rename = "MPMD")]
#[cfg_attr(feature = "serde", serde(rename = "MPMD"))]
Mpmd,
__Unknown__(String),
}
impl Default for QrcodePresentmentMode2Code {
fn default() -> QrcodePresentmentMode2Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for QrcodePresentmentMode2Code {}
#[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.001.001.05")]
pub enum ReceiptType1Code {
#[yaserde(rename = "EMAL")]
#[cfg_attr(feature = "serde", serde(rename = "EMAL"))]
Emal,
#[yaserde(rename = "OTHR")]
#[cfg_attr(feature = "serde", serde(rename = "OTHR"))]
Othr,
#[yaserde(rename = "PAPR")]
#[cfg_attr(feature = "serde", serde(rename = "PAPR"))]
Papr,
#[yaserde(rename = "SMSM")]
#[cfg_attr(feature = "serde", serde(rename = "SMSM"))]
Smsm,
#[yaserde(rename = "URID")]
#[cfg_attr(feature = "serde", serde(rename = "URID"))]
Urid,
__Unknown__(String),
}
impl Default for ReceiptType1Code {
fn default() -> ReceiptType1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for ReceiptType1Code {}
#[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.001.001.05")]
pub struct ReceiverData1 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Max11NumericText,
#[yaserde(rename = "BizId")]
#[cfg_attr(feature = "serde", serde(rename = "BizId"))]
pub biz_id: Max15AlphaNumericText,
#[yaserde(rename = "Ctry")]
#[cfg_attr(feature = "serde", serde(rename = "Ctry"))]
pub ctry: Iso3NumericCountryCode,
#[yaserde(rename = "BizNm")]
#[cfg_attr(feature = "serde", serde(rename = "BizNm"))]
pub biz_nm: Max35Text,
#[yaserde(rename = "LglCorpNm")]
#[cfg_attr(feature = "serde", serde(rename = "LglCorpNm"))]
pub lgl_corp_nm: Max99Text,
#[yaserde(rename = "Adr")]
#[cfg_attr(feature = "serde", serde(rename = "Adr"))]
pub adr: Address4,
#[yaserde(rename = "PrvtData")]
#[cfg_attr(feature = "serde", serde(rename = "PrvtData"))]
pub prvt_data: Vec<AticalaxProcessing>,
#[yaserde(rename = "NtlData")]
#[cfg_attr(feature = "serde", serde(rename = "NtlData"))]
pub ntl_data: Vec<AticalaxProcessing>,
#[yaserde(rename = "LclData")]
#[cfg_attr(feature = "serde", serde(rename = "LclData"))]
pub lcl_data: Vec<LocalData20>,
}
impl Validate for ReceiverData1 {}
#[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.001.001.05")]
pub struct RecommendationAction2 {
#[yaserde(rename = "Actn")]
#[cfg_attr(feature = "serde", serde(rename = "Actn"))]
pub actn: RecommendedActionCode1,
#[yaserde(rename = "Dtls")]
#[cfg_attr(feature = "serde", serde(rename = "Dtls"))]
pub dtls: Max256Text,
}
impl Validate for RecommendationAction2 {}
#[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.001.001.05")]
pub enum RecommendedActionCode1 {
#[yaserde(rename = "APPV")]
#[cfg_attr(feature = "serde", serde(rename = "APPV"))]
Appv,
#[yaserde(rename = "BLCK")]
#[cfg_attr(feature = "serde", serde(rename = "BLCK"))]
Blck,
#[yaserde(rename = "CPTR")]
#[cfg_attr(feature = "serde", serde(rename = "CPTR"))]
Cptr,
#[yaserde(rename = "DCLN")]
#[cfg_attr(feature = "serde", serde(rename = "DCLN"))]
Dcln,
#[yaserde(rename = "RQID")]
#[cfg_attr(feature = "serde", serde(rename = "RQID"))]
Rqid,
#[yaserde(rename = "NDCL")]
#[cfg_attr(feature = "serde", serde(rename = "NDCL"))]
Ndcl,
#[yaserde(rename = "RFRL")]
#[cfg_attr(feature = "serde", serde(rename = "RFRL"))]
Rfrl,
#[yaserde(rename = "STUA")]
#[cfg_attr(feature = "serde", serde(rename = "STUA"))]
Stua,
__Unknown__(String),
}
impl Default for RecommendedActionCode1 {
fn default() -> RecommendedActionCode1 {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for RecommendedActionCode1 {}
#[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.001.001.05")]
pub struct Reconciliation5 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Max50Text,
#[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 Reconciliation5 {}
#[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.001.001.05")]
pub struct RecurringPaymentData1 {
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: Exact1NumericText,
#[yaserde(rename = "PerTxAmtInd")]
#[cfg_attr(feature = "serde", serde(rename = "PerTxAmtInd"))]
pub per_tx_amt_ind: Exact1NumericText,
#[yaserde(rename = "NbOfRcrngPmt")]
#[cfg_attr(feature = "serde", serde(rename = "NbOfRcrngPmt"))]
pub nb_of_rcrng_pmt: Exact2NumericText,
#[yaserde(rename = "Frqcy")]
#[cfg_attr(feature = "serde", serde(rename = "Frqcy"))]
pub frqcy: Exact2NumericText,
#[yaserde(rename = "RegnRefNb")]
#[cfg_attr(feature = "serde", serde(rename = "RegnRefNb"))]
pub regn_ref_nb: Max35Text,
#[yaserde(rename = "MaxRcrngPmtAmt")]
#[cfg_attr(feature = "serde", serde(rename = "MaxRcrngPmtAmt"))]
pub max_rcrng_pmt_amt: ImpliedCurrencyAndAmount,
#[yaserde(rename = "VldtnInd")]
#[cfg_attr(feature = "serde", serde(rename = "VldtnInd"))]
pub vldtn_ind: Exact1NumericText,
#[yaserde(rename = "PrvtData")]
#[cfg_attr(feature = "serde", serde(rename = "PrvtData"))]
pub prvt_data: Vec<AticalaxProcessing>,
#[yaserde(rename = "NtlData")]
#[cfg_attr(feature = "serde", serde(rename = "NtlData"))]
pub ntl_data: Vec<AticalaxProcessing>,
}
impl Validate for RecurringPaymentData1 {}
#[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.001.001.05")]
pub struct RentalRate3 {
#[yaserde(rename = "Prd")]
#[cfg_attr(feature = "serde", serde(rename = "Prd"))]
pub prd: PeriodUnit5Code,
#[yaserde(rename = "Rate")]
#[cfg_attr(feature = "serde", serde(rename = "Rate"))]
pub rate: ImpliedCurrencyAndAmount,
#[yaserde(rename = "PrdCnt")]
#[cfg_attr(feature = "serde", serde(rename = "PrdCnt"))]
pub prd_cnt: Max4NumericText,
}
impl Validate for RentalRate3 {}
#[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.001.001.05")]
pub enum RiskAssessment1Code {
#[yaserde(rename = "APPC")]
#[cfg_attr(feature = "serde", serde(rename = "APPC"))]
Appc,
#[yaserde(rename = "APPH")]
#[cfg_attr(feature = "serde", serde(rename = "APPH"))]
Apph,
#[yaserde(rename = "APPU")]
#[cfg_attr(feature = "serde", serde(rename = "APPU"))]
Appu,
#[yaserde(rename = "DONT")]
#[cfg_attr(feature = "serde", serde(rename = "DONT"))]
Dont,
__Unknown__(String),
}
impl Default for RiskAssessment1Code {
fn default() -> RiskAssessment1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for RiskAssessment1Code {}
#[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.001.001.05")]
pub struct RiskAssessment4 {
#[yaserde(rename = "NttyId")]
#[cfg_attr(feature = "serde", serde(rename = "NttyId"))]
pub ntty_id: Max35Text,
#[yaserde(rename = "NttyTp")]
#[cfg_attr(feature = "serde", serde(rename = "NttyTp"))]
pub ntty_tp: AticapartyType1Code,
#[yaserde(rename = "NttyCtry")]
#[cfg_attr(feature = "serde", serde(rename = "NttyCtry"))]
pub ntty_ctry: Iso3NumericCountryCode,
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: Max35Text,
#[yaserde(rename = "HghRskTx")]
#[cfg_attr(feature = "serde", serde(rename = "HghRskTx"))]
pub hgh_rsk_tx: TrueFalseIndicator,
#[yaserde(rename = "Rsn")]
#[cfg_attr(feature = "serde", serde(rename = "Rsn"))]
pub rsn: Vec<Max35Text>,
#[yaserde(rename = "Rslt")]
#[cfg_attr(feature = "serde", serde(rename = "Rslt"))]
pub rslt: Max35Text,
#[yaserde(rename = "Cond")]
#[cfg_attr(feature = "serde", serde(rename = "Cond"))]
pub cond: AticalaxProcessing,
#[yaserde(rename = "Rcmmndtn")]
#[cfg_attr(feature = "serde", serde(rename = "Rcmmndtn"))]
pub rcmmndtn: Vec<RecommendationAction2>,
#[yaserde(rename = "PrvtData")]
#[cfg_attr(feature = "serde", serde(rename = "PrvtData"))]
pub prvt_data: Vec<AticalaxProcessing>,
#[yaserde(rename = "NtlData")]
#[cfg_attr(feature = "serde", serde(rename = "NtlData"))]
pub ntl_data: Vec<AticalaxProcessing>,
}
impl Validate for RiskAssessment4 {}
#[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.001.001.05")]
pub struct RiskContext4 {
#[yaserde(rename = "InptData")]
#[cfg_attr(feature = "serde", serde(rename = "InptData"))]
pub inpt_data: Vec<RiskInputData3>,
#[yaserde(rename = "Assmnt")]
#[cfg_attr(feature = "serde", serde(rename = "Assmnt"))]
pub assmnt: Vec<RiskAssessment4>,
}
impl Validate for RiskContext4 {}
#[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.001.001.05")]
pub struct RiskInputData3 {
#[yaserde(rename = "NttyTp")]
#[cfg_attr(feature = "serde", serde(rename = "NttyTp"))]
pub ntty_tp: AticapartyType1Code,
#[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: Max10KText,
}
impl Validate for RiskInputData3 {}
#[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.001.001.05")]
pub struct Sale4 {
#[yaserde(rename = "SummryCmmdtyId")]
#[cfg_attr(feature = "serde", serde(rename = "SummryCmmdtyId"))]
pub summry_cmmdty_id: Max35Text,
#[yaserde(rename = "LltyPrgrmm")]
#[cfg_attr(feature = "serde", serde(rename = "LltyPrgrmm"))]
pub llty_prgrmm: LoyaltyProgramme4,
#[yaserde(rename = "Adjstmnt")]
#[cfg_attr(feature = "serde", serde(rename = "Adjstmnt"))]
pub adjstmnt: Vec<Adjustment13>,
#[yaserde(rename = "LineItm")]
#[cfg_attr(feature = "serde", serde(rename = "LineItm"))]
pub line_itm: Vec<SaleItem5>,
}
impl Validate for Sale4 {}
#[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.001.001.05")]
pub struct SaleItem5 {
#[yaserde(rename = "PdctTp")]
#[cfg_attr(feature = "serde", serde(rename = "PdctTp"))]
pub pdct_tp: Max35Text,
#[yaserde(rename = "PdctCd")]
#[cfg_attr(feature = "serde", serde(rename = "PdctCd"))]
pub pdct_cd: Max70Text,
#[yaserde(rename = "PdctCdTp")]
#[cfg_attr(feature = "serde", serde(rename = "PdctCdTp"))]
pub pdct_cd_tp: ProductCodeType1Code,
#[yaserde(rename = "AddtlPdctCd")]
#[cfg_attr(feature = "serde", serde(rename = "AddtlPdctCd"))]
pub addtl_pdct_cd: Max70Text,
#[yaserde(rename = "AddtlPdctCdTp")]
#[cfg_attr(feature = "serde", serde(rename = "AddtlPdctCdTp"))]
pub addtl_pdct_cd_tp: Max35Text,
#[yaserde(rename = "PdctCdModfr")]
#[cfg_attr(feature = "serde", serde(rename = "PdctCdModfr"))]
pub pdct_cd_modfr: DecimalNumber,
#[yaserde(rename = "PdctDesc")]
#[cfg_attr(feature = "serde", serde(rename = "PdctDesc"))]
pub pdct_desc: Max140Text,
#[yaserde(rename = "UnitOfMeasr")]
#[cfg_attr(feature = "serde", serde(rename = "UnitOfMeasr"))]
pub unit_of_measr: UnitOfMeasure1Code,
#[yaserde(rename = "OthrUnitOfMeasr")]
#[cfg_attr(feature = "serde", serde(rename = "OthrUnitOfMeasr"))]
pub othr_unit_of_measr: Max35Text,
#[yaserde(rename = "PdctQty")]
#[cfg_attr(feature = "serde", serde(rename = "PdctQty"))]
pub pdct_qty: DecimalNumber,
#[yaserde(rename = "NonAdjstdUnitPric")]
#[cfg_attr(feature = "serde", serde(rename = "NonAdjstdUnitPric"))]
pub non_adjstd_unit_pric: ImpliedCurrencyAndAmount,
#[yaserde(rename = "NonAdjstdTtlAmt")]
#[cfg_attr(feature = "serde", serde(rename = "NonAdjstdTtlAmt"))]
pub non_adjstd_ttl_amt: ImpliedCurrencyAndAmount,
#[yaserde(rename = "Adjstmnt")]
#[cfg_attr(feature = "serde", serde(rename = "Adjstmnt"))]
pub adjstmnt: Vec<Adjustment14>,
#[yaserde(rename = "AdjstdAmt")]
#[cfg_attr(feature = "serde", serde(rename = "AdjstdAmt"))]
pub adjstd_amt: ImpliedCurrencyAndAmount,
#[yaserde(rename = "InsrncInd")]
#[cfg_attr(feature = "serde", serde(rename = "InsrncInd"))]
pub insrnc_ind: TrueFalseIndicator,
#[yaserde(rename = "InsrncAmt")]
#[cfg_attr(feature = "serde", serde(rename = "InsrncAmt"))]
pub insrnc_amt: ImpliedCurrencyAndAmount,
#[yaserde(rename = "Tax")]
#[cfg_attr(feature = "serde", serde(rename = "Tax"))]
pub tax: Vec<Tax44>,
#[yaserde(rename = "TtlAmt")]
#[cfg_attr(feature = "serde", serde(rename = "TtlAmt"))]
pub ttl_amt: ImpliedCurrencyAndAmount,
}
impl Validate for SaleItem5 {}
#[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.001.001.05")]
pub enum SecurityCharacteristics2Code {
#[yaserde(rename = "CETE")]
#[cfg_attr(feature = "serde", serde(rename = "CETE"))]
Cete,
#[yaserde(rename = "CPTE")]
#[cfg_attr(feature = "serde", serde(rename = "CPTE"))]
Cpte,
#[yaserde(rename = "CENC")]
#[cfg_attr(feature = "serde", serde(rename = "CENC"))]
Cenc,
#[yaserde(rename = "CMAC")]
#[cfg_attr(feature = "serde", serde(rename = "CMAC"))]
Cmac,
#[yaserde(rename = "ETEE")]
#[cfg_attr(feature = "serde", serde(rename = "ETEE"))]
Etee,
#[yaserde(rename = "METE")]
#[cfg_attr(feature = "serde", serde(rename = "METE"))]
Mete,
#[yaserde(rename = "MPTE")]
#[cfg_attr(feature = "serde", serde(rename = "MPTE"))]
Mpte,
#[yaserde(rename = "OPNN")]
#[cfg_attr(feature = "serde", serde(rename = "OPNN"))]
Opnn,
#[yaserde(rename = "PMAC")]
#[cfg_attr(feature = "serde", serde(rename = "PMAC"))]
Pmac,
#[yaserde(rename = "PKIE")]
#[cfg_attr(feature = "serde", serde(rename = "PKIE"))]
Pkie,
#[yaserde(rename = "PRAE")]
#[cfg_attr(feature = "serde", serde(rename = "PRAE"))]
Prae,
#[yaserde(rename = "PRAM")]
#[cfg_attr(feature = "serde", serde(rename = "PRAM"))]
Pram,
#[yaserde(rename = "PRVN")]
#[cfg_attr(feature = "serde", serde(rename = "PRVN"))]
Prvn,
#[yaserde(rename = "STAM")]
#[cfg_attr(feature = "serde", serde(rename = "STAM"))]
Stam,
#[yaserde(rename = "APTE")]
#[cfg_attr(feature = "serde", serde(rename = "APTE"))]
Apte,
#[yaserde(rename = "AETE")]
#[cfg_attr(feature = "serde", serde(rename = "AETE"))]
Aete,
__Unknown__(String),
}
impl Default for SecurityCharacteristics2Code {
fn default() -> SecurityCharacteristics2Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for SecurityCharacteristics2Code {}
#[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.001.001.05")]
pub struct SenderData1 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Max11NumericText,
#[yaserde(rename = "BizId")]
#[cfg_attr(feature = "serde", serde(rename = "BizId"))]
pub biz_id: Max15AlphaNumericText,
#[yaserde(rename = "Ctry")]
#[cfg_attr(feature = "serde", serde(rename = "Ctry"))]
pub ctry: Iso3NumericCountryCode,
#[yaserde(rename = "BizNm")]
#[cfg_attr(feature = "serde", serde(rename = "BizNm"))]
pub biz_nm: Max35Text,
#[yaserde(rename = "LglCorpNm")]
#[cfg_attr(feature = "serde", serde(rename = "LglCorpNm"))]
pub lgl_corp_nm: Max99Text,
#[yaserde(rename = "Adr")]
#[cfg_attr(feature = "serde", serde(rename = "Adr"))]
pub adr: Address4,
#[yaserde(rename = "PrvtData")]
#[cfg_attr(feature = "serde", serde(rename = "PrvtData"))]
pub prvt_data: Vec<AticalaxProcessing>,
#[yaserde(rename = "NtlData")]
#[cfg_attr(feature = "serde", serde(rename = "NtlData"))]
pub ntl_data: Vec<AticalaxProcessing>,
#[yaserde(rename = "LclData")]
#[cfg_attr(feature = "serde", serde(rename = "LclData"))]
pub lcl_data: Vec<LocalData20>,
}
impl Validate for SenderData1 {}
#[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.001.001.05")]
pub struct SettlementService7 {
#[yaserde(rename = "PropsdTp")]
#[cfg_attr(feature = "serde", serde(rename = "PropsdTp"))]
pub propsd_tp: Max35Text,
#[yaserde(rename = "PropsdId")]
#[cfg_attr(feature = "serde", serde(rename = "PropsdId"))]
pub propsd_id: Max35Text,
#[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 = "DfrrdDt")]
#[cfg_attr(feature = "serde", serde(rename = "DfrrdDt"))]
pub dfrrd_dt: Isodate,
#[yaserde(rename = "Dt")]
#[cfg_attr(feature = "serde", serde(rename = "Dt"))]
pub dt: Isodate,
#[yaserde(rename = "Tm")]
#[cfg_attr(feature = "serde", serde(rename = "Tm"))]
pub tm: Isotime,
#[yaserde(rename = "Prd")]
#[cfg_attr(feature = "serde", serde(rename = "Prd"))]
pub prd: Max35Text,
#[yaserde(rename = "CutOffTm")]
#[cfg_attr(feature = "serde", serde(rename = "CutOffTm"))]
pub cut_off_tm: IsodateTime,
#[yaserde(rename = "RptgNttyTp")]
#[cfg_attr(feature = "serde", serde(rename = "RptgNttyTp"))]
pub rptg_ntty_tp: Max35Text,
#[yaserde(rename = "RptgNttyId")]
#[cfg_attr(feature = "serde", serde(rename = "RptgNttyId"))]
pub rptg_ntty_id: Max35Text,
#[yaserde(rename = "PrvtData")]
#[cfg_attr(feature = "serde", serde(rename = "PrvtData"))]
pub prvt_data: Vec<AticalaxProcessing>,
#[yaserde(rename = "NtlData")]
#[cfg_attr(feature = "serde", serde(rename = "NtlData"))]
pub ntl_data: Vec<AticalaxProcessing>,
}
impl Validate for SettlementService7 {}
#[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.001.001.05")]
pub struct ShippingData4 {
#[yaserde(rename = "InvcNb")]
#[cfg_attr(feature = "serde", serde(rename = "InvcNb"))]
pub invc_nb: Max70Text,
#[yaserde(rename = "InvcCreDtTm")]
#[cfg_attr(feature = "serde", serde(rename = "InvcCreDtTm"))]
pub invc_cre_dt_tm: IsodateTime,
#[yaserde(rename = "SvcDscrptrCd")]
#[cfg_attr(feature = "serde", serde(rename = "SvcDscrptrCd"))]
pub svc_dscrptr_cd: Max40Text,
#[yaserde(rename = "IncntivAmt")]
#[cfg_attr(feature = "serde", serde(rename = "IncntivAmt"))]
pub incntiv_amt: ImpliedCurrencyAndAmount,
#[yaserde(rename = "MiscExpnss")]
#[cfg_attr(feature = "serde", serde(rename = "MiscExpnss"))]
pub misc_expnss: ImpliedCurrencyAndAmount,
#[yaserde(rename = "Insrnc")]
#[cfg_attr(feature = "serde", serde(rename = "Insrnc"))]
pub insrnc: TrueFalseIndicator,
#[yaserde(rename = "InsrncAmt")]
#[cfg_attr(feature = "serde", serde(rename = "InsrncAmt"))]
pub insrnc_amt: ImpliedCurrencyAndAmount,
#[yaserde(rename = "NetAmt")]
#[cfg_attr(feature = "serde", serde(rename = "NetAmt"))]
pub net_amt: ImpliedCurrencyAndAmount,
#[yaserde(rename = "Tax")]
#[cfg_attr(feature = "serde", serde(rename = "Tax"))]
pub tax: Vec<Tax44>,
#[yaserde(rename = "SummryCmmdtyId")]
#[cfg_attr(feature = "serde", serde(rename = "SummryCmmdtyId"))]
pub summry_cmmdty_id: Max35Text,
#[yaserde(rename = "NbOfPackgs")]
#[cfg_attr(feature = "serde", serde(rename = "NbOfPackgs"))]
pub nb_of_packgs: Max6NumericText,
#[yaserde(rename = "Packg")]
#[cfg_attr(feature = "serde", serde(rename = "Packg"))]
pub packg: Vec<ShippingPackage4>,
#[yaserde(rename = "PrvtData")]
#[cfg_attr(feature = "serde", serde(rename = "PrvtData"))]
pub prvt_data: Vec<AticalaxProcessing>,
#[yaserde(rename = "NtlData")]
#[cfg_attr(feature = "serde", serde(rename = "NtlData"))]
pub ntl_data: Vec<AticalaxProcessing>,
}
impl Validate for ShippingData4 {}
#[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.001.001.05")]
pub struct ShippingPackage4 {
#[yaserde(rename = "TrckgNb")]
#[cfg_attr(feature = "serde", serde(rename = "TrckgNb"))]
pub trckg_nb: Max70Text,
#[yaserde(rename = "SpplrNm")]
#[cfg_attr(feature = "serde", serde(rename = "SpplrNm"))]
pub spplr_nm: Max70Text,
#[yaserde(rename = "SpplrId")]
#[cfg_attr(feature = "serde", serde(rename = "SpplrId"))]
pub spplr_id: Max35Text,
#[yaserde(rename = "SpplrBizNm")]
#[cfg_attr(feature = "serde", serde(rename = "SpplrBizNm"))]
pub spplr_biz_nm: Max35Text,
#[yaserde(rename = "SpplrLglCorpNm")]
#[cfg_attr(feature = "serde", serde(rename = "SpplrLglCorpNm"))]
pub spplr_lgl_corp_nm: Max99Text,
#[yaserde(rename = "SpplrAdr")]
#[cfg_attr(feature = "serde", serde(rename = "SpplrAdr"))]
pub spplr_adr: Address4,
#[yaserde(rename = "SpplrLclData")]
#[cfg_attr(feature = "serde", serde(rename = "SpplrLclData"))]
pub spplr_lcl_data: Vec<LocalData20>,
#[yaserde(rename = "SpplrCtct")]
#[cfg_attr(feature = "serde", serde(rename = "SpplrCtct"))]
pub spplr_ctct: ContactBusiness2,
#[yaserde(rename = "SpplrInstrs")]
#[cfg_attr(feature = "serde", serde(rename = "SpplrInstrs"))]
pub spplr_instrs: Max350Text,
#[yaserde(rename = "PckpDt")]
#[cfg_attr(feature = "serde", serde(rename = "PckpDt"))]
pub pckp_dt: Isodate,
#[yaserde(rename = "PckpTm")]
#[cfg_attr(feature = "serde", serde(rename = "PckpTm"))]
pub pckp_tm: Isotime,
#[yaserde(rename = "DlvryNoteNb")]
#[cfg_attr(feature = "serde", serde(rename = "DlvryNoteNb"))]
pub dlvry_note_nb: Max35Text,
#[yaserde(rename = "DlvryAdr")]
#[cfg_attr(feature = "serde", serde(rename = "DlvryAdr"))]
pub dlvry_adr: Address4,
#[yaserde(rename = "DlvryCtct")]
#[cfg_attr(feature = "serde", serde(rename = "DlvryCtct"))]
pub dlvry_ctct: ContactPersonal1,
#[yaserde(rename = "DlvryInstrs")]
#[cfg_attr(feature = "serde", serde(rename = "DlvryInstrs"))]
pub dlvry_instrs: Max350Text,
#[yaserde(rename = "DlvryDt")]
#[cfg_attr(feature = "serde", serde(rename = "DlvryDt"))]
pub dlvry_dt: Isodate,
#[yaserde(rename = "DlvryTm")]
#[cfg_attr(feature = "serde", serde(rename = "DlvryTm"))]
pub dlvry_tm: Isotime,
#[yaserde(rename = "WghtUnit")]
#[cfg_attr(feature = "serde", serde(rename = "WghtUnit"))]
pub wght_unit: UnitOfMeasure1Code,
#[yaserde(rename = "OthrWghtUnit")]
#[cfg_attr(feature = "serde", serde(rename = "OthrWghtUnit"))]
pub othr_wght_unit: Max35Text,
#[yaserde(rename = "NbOfUnits")]
#[cfg_attr(feature = "serde", serde(rename = "NbOfUnits"))]
pub nb_of_units: DecimalNumber,
#[yaserde(rename = "Pdct")]
#[cfg_attr(feature = "serde", serde(rename = "Pdct"))]
pub pdct: Vec<Product8>,
#[yaserde(rename = "Insrnc")]
#[cfg_attr(feature = "serde", serde(rename = "Insrnc"))]
pub insrnc: TrueFalseIndicator,
#[yaserde(rename = "InsrncAmt")]
#[cfg_attr(feature = "serde", serde(rename = "InsrncAmt"))]
pub insrnc_amt: ImpliedCurrencyAndAmount,
}
impl Validate for ShippingPackage4 {}
#[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.001.001.05")]
pub struct Software2 {
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: SoftwareType2Code,
#[yaserde(rename = "SubTp")]
#[cfg_attr(feature = "serde", serde(rename = "SubTp"))]
pub sub_tp: Max35Text,
#[yaserde(rename = "Vrsn")]
#[cfg_attr(feature = "serde", serde(rename = "Vrsn"))]
pub vrsn: Max256Text,
}
impl Validate for Software2 {}
#[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.001.001.05")]
pub enum SoftwareType2Code {
#[yaserde(rename = "MFFW")]
#[cfg_attr(feature = "serde", serde(rename = "MFFW"))]
Mffw,
#[yaserde(rename = "MFSW")]
#[cfg_attr(feature = "serde", serde(rename = "MFSW"))]
Mfsw,
#[yaserde(rename = "APSW")]
#[cfg_attr(feature = "serde", serde(rename = "APSW"))]
Apsw,
__Unknown__(String),
}
impl Default for SoftwareType2Code {
fn default() -> SoftwareType2Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for SoftwareType2Code {}
#[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.001.001.05")]
pub enum StorageLocation2Code {
#[yaserde(rename = "CAWL")]
#[cfg_attr(feature = "serde", serde(rename = "CAWL"))]
Cawl,
#[yaserde(rename = "DVCE")]
#[cfg_attr(feature = "serde", serde(rename = "DVCE"))]
Dvce,
#[yaserde(rename = "ISWL")]
#[cfg_attr(feature = "serde", serde(rename = "ISWL"))]
Iswl,
#[yaserde(rename = "ONFL")]
#[cfg_attr(feature = "serde", serde(rename = "ONFL"))]
Onfl,
#[yaserde(rename = "TPWL")]
#[cfg_attr(feature = "serde", serde(rename = "TPWL"))]
Tpwl,
__Unknown__(String),
}
impl Default for StorageLocation2Code {
fn default() -> StorageLocation2Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for StorageLocation2Code {}
#[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.001.001.05")]
pub struct StrongCustomerAuthentication2 {
#[yaserde(rename = "SbjtToSCA")]
#[cfg_attr(feature = "serde", serde(rename = "SbjtToSCA"))]
pub sbjt_to_sca: TrueFalseIndicator,
#[yaserde(rename = "Xmptn")]
#[cfg_attr(feature = "serde", serde(rename = "Xmptn"))]
pub xmptn: Vec<Exemption2>,
#[yaserde(rename = "DlgtdAuthrty")]
#[cfg_attr(feature = "serde", serde(rename = "DlgtdAuthrty"))]
pub dlgtd_authrty: AttestationValue1Code,
#[yaserde(rename = "Wvr")]
#[cfg_attr(feature = "serde", serde(rename = "Wvr"))]
pub wvr: AttestationValue1Code,
#[yaserde(rename = "RsnAuthntcnNotPrfrmd")]
#[cfg_attr(feature = "serde", serde(rename = "RsnAuthntcnNotPrfrmd"))]
pub rsn_authntcn_not_prfrmd: Max4Text,
}
impl Validate for StrongCustomerAuthentication2 {}
#[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.001.001.05")]
pub struct SubMerchant1 {
#[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 = "Frgn")]
#[cfg_attr(feature = "serde", serde(rename = "Frgn"))]
pub frgn: Max3Text,
#[yaserde(rename = "BizNm")]
#[cfg_attr(feature = "serde", serde(rename = "BizNm"))]
pub biz_nm: Max140Text,
#[yaserde(rename = "LglCorpNm")]
#[cfg_attr(feature = "serde", serde(rename = "LglCorpNm"))]
pub lgl_corp_nm: Max99Text,
#[yaserde(rename = "Adr")]
#[cfg_attr(feature = "serde", serde(rename = "Adr"))]
pub adr: Address4,
#[yaserde(rename = "GeogcLctn")]
#[cfg_attr(feature = "serde", serde(rename = "GeogcLctn"))]
pub geogc_lctn: GeographicPointInDecimalDegreesText,
#[yaserde(rename = "PrvtData")]
#[cfg_attr(feature = "serde", serde(rename = "PrvtData"))]
pub prvt_data: Vec<AticalaxProcessing>,
#[yaserde(rename = "NtlData")]
#[cfg_attr(feature = "serde", serde(rename = "NtlData"))]
pub ntl_data: Vec<AticalaxProcessing>,
#[yaserde(rename = "LclData")]
#[cfg_attr(feature = "serde", serde(rename = "LclData"))]
pub lcl_data: Vec<LocalData20>,
}
impl Validate for SubMerchant1 {}
#[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.001.001.05")]
pub struct Tax44 {
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: AddendumTaxType4Code,
#[yaserde(rename = "Desc")]
#[cfg_attr(feature = "serde", serde(rename = "Desc"))]
pub desc: Max35Text,
#[yaserde(rename = "Xmptn")]
#[cfg_attr(feature = "serde", serde(rename = "Xmptn"))]
pub xmptn: TrueFalseIndicator,
#[yaserde(rename = "XmptRsn")]
#[cfg_attr(feature = "serde", serde(rename = "XmptRsn"))]
pub xmpt_rsn: Max35Text,
#[yaserde(rename = "Amt")]
#[cfg_attr(feature = "serde", serde(rename = "Amt"))]
pub amt: ImpliedCurrencyAndAmount,
#[yaserde(rename = "Rate")]
#[cfg_attr(feature = "serde", serde(rename = "Rate"))]
pub rate: PercentageRate,
#[yaserde(rename = "InclInTtl")]
#[cfg_attr(feature = "serde", serde(rename = "InclInTtl"))]
pub incl_in_ttl: TrueFalseIndicator,
#[yaserde(rename = "CdtDbt")]
#[cfg_attr(feature = "serde", serde(rename = "CdtDbt"))]
pub cdt_dbt: CreditDebit3Code,
}
impl Validate for Tax44 {}
#[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.001.001.05")]
pub enum TaxReclaimMethod1Code {
#[yaserde(rename = "INPP")]
#[cfg_attr(feature = "serde", serde(rename = "INPP"))]
Inpp,
#[yaserde(rename = "INPS")]
#[cfg_attr(feature = "serde", serde(rename = "INPS"))]
Inps,
#[yaserde(rename = "INSU")]
#[cfg_attr(feature = "serde", serde(rename = "INSU"))]
Insu,
#[yaserde(rename = "OTHR")]
#[cfg_attr(feature = "serde", serde(rename = "OTHR"))]
Othr,
__Unknown__(String),
}
impl Default for TaxReclaimMethod1Code {
fn default() -> TaxReclaimMethod1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for TaxReclaimMethod1Code {}
#[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.001.001.05")]
pub struct TelecomBillingEventAmount1 {
#[yaserde(rename = "Desc")]
#[cfg_attr(feature = "serde", serde(rename = "Desc"))]
pub desc: Max35Text,
#[yaserde(rename = "Amt")]
#[cfg_attr(feature = "serde", serde(rename = "Amt"))]
pub amt: ImpliedCurrencyAndAmount,
#[yaserde(rename = "CdtDbt")]
#[cfg_attr(feature = "serde", serde(rename = "CdtDbt"))]
pub cdt_dbt: CreditDebit3Code,
}
impl Validate for TelecomBillingEventAmount1 {}
#[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.001.001.05")]
pub struct TelecomLineItemAmount1 {
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: TypeOfAmount25Code,
#[yaserde(rename = "Amt")]
#[cfg_attr(feature = "serde", serde(rename = "Amt"))]
pub amt: ImpliedCurrencyAndAmount,
#[yaserde(rename = "CdtDbt")]
#[cfg_attr(feature = "serde", serde(rename = "CdtDbt"))]
pub cdt_dbt: CreditDebit3Code,
}
impl Validate for TelecomLineItemAmount1 {}
#[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.001.001.05")]
pub struct TelecomServices4 {
#[yaserde(rename = "CstmrAcctNb")]
#[cfg_attr(feature = "serde", serde(rename = "CstmrAcctNb"))]
pub cstmr_acct_nb: Max35Text,
#[yaserde(rename = "CstmrNm")]
#[cfg_attr(feature = "serde", serde(rename = "CstmrNm"))]
pub cstmr_nm: Max105Text,
#[yaserde(rename = "CstmrPhne")]
#[cfg_attr(feature = "serde", serde(rename = "CstmrPhne"))]
pub cstmr_phne: PhoneNumber,
#[yaserde(rename = "BllgStart")]
#[cfg_attr(feature = "serde", serde(rename = "BllgStart"))]
pub bllg_start: Isodate,
#[yaserde(rename = "BllgEnd")]
#[cfg_attr(feature = "serde", serde(rename = "BllgEnd"))]
pub bllg_end: Isodate,
#[yaserde(rename = "BllgEvt")]
#[cfg_attr(feature = "serde", serde(rename = "BllgEvt"))]
pub bllg_evt: Vec<TelecomBillingEventAmount1>,
#[yaserde(rename = "TtlTax")]
#[cfg_attr(feature = "serde", serde(rename = "TtlTax"))]
pub ttl_tax: Vec<Tax44>,
#[yaserde(rename = "TtlAmt")]
#[cfg_attr(feature = "serde", serde(rename = "TtlAmt"))]
pub ttl_amt: ImpliedCurrencyAndAmount,
#[yaserde(rename = "LineItm")]
#[cfg_attr(feature = "serde", serde(rename = "LineItm"))]
pub line_itm: Vec<TelecomServicesLineItem4>,
#[yaserde(rename = "PrvtData")]
#[cfg_attr(feature = "serde", serde(rename = "PrvtData"))]
pub prvt_data: Vec<AticalaxProcessing>,
#[yaserde(rename = "NtlData")]
#[cfg_attr(feature = "serde", serde(rename = "NtlData"))]
pub ntl_data: Vec<AticalaxProcessing>,
}
impl Validate for TelecomServices4 {}
#[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.001.001.05")]
pub struct TelecomServicesLineItem4 {
#[yaserde(rename = "StartDtTm")]
#[cfg_attr(feature = "serde", serde(rename = "StartDtTm"))]
pub start_dt_tm: Isodate,
#[yaserde(rename = "TmPrd")]
#[cfg_attr(feature = "serde", serde(rename = "TmPrd"))]
pub tm_prd: Max35Text,
#[yaserde(rename = "Drtn")]
#[cfg_attr(feature = "serde", serde(rename = "Drtn"))]
pub drtn: Isotime,
#[yaserde(rename = "CallFrTp")]
#[cfg_attr(feature = "serde", serde(rename = "CallFrTp"))]
pub call_fr_tp: TelephonyCallType2Code,
#[yaserde(rename = "CallFrPhne")]
#[cfg_attr(feature = "serde", serde(rename = "CallFrPhne"))]
pub call_fr_phne: PhoneNumber,
#[yaserde(rename = "CallFrCity")]
#[cfg_attr(feature = "serde", serde(rename = "CallFrCity"))]
pub call_fr_city: Max35Text,
#[yaserde(rename = "CallFrCtrySubDvsnMjr")]
#[cfg_attr(feature = "serde", serde(rename = "CallFrCtrySubDvsnMjr"))]
pub call_fr_ctry_sub_dvsn_mjr: IsocountrySubDivisionCode,
#[yaserde(rename = "CallFrCtrySubDvsnMnr")]
#[cfg_attr(feature = "serde", serde(rename = "CallFrCtrySubDvsnMnr"))]
pub call_fr_ctry_sub_dvsn_mnr: IsocountrySubDivisionCode,
#[yaserde(rename = "CallFrCtry")]
#[cfg_attr(feature = "serde", serde(rename = "CallFrCtry"))]
pub call_fr_ctry: Isomax3ACountryCode,
#[yaserde(rename = "CallToTp")]
#[cfg_attr(feature = "serde", serde(rename = "CallToTp"))]
pub call_to_tp: TelephonyCallType2Code,
#[yaserde(rename = "CallToPhne")]
#[cfg_attr(feature = "serde", serde(rename = "CallToPhne"))]
pub call_to_phne: PhoneNumber,
#[yaserde(rename = "CallToCity")]
#[cfg_attr(feature = "serde", serde(rename = "CallToCity"))]
pub call_to_city: Max35Text,
#[yaserde(rename = "CallToCtrySubDvsnMjr")]
#[cfg_attr(feature = "serde", serde(rename = "CallToCtrySubDvsnMjr"))]
pub call_to_ctry_sub_dvsn_mjr: IsocountrySubDivisionCode,
#[yaserde(rename = "CallToCtrySubDvsnMnr")]
#[cfg_attr(feature = "serde", serde(rename = "CallToCtrySubDvsnMnr"))]
pub call_to_ctry_sub_dvsn_mnr: IsocountrySubDivisionCode,
#[yaserde(rename = "CallToCtry")]
#[cfg_attr(feature = "serde", serde(rename = "CallToCtry"))]
pub call_to_ctry: Isomax3ACountryCode,
#[yaserde(rename = "Chrg")]
#[cfg_attr(feature = "serde", serde(rename = "Chrg"))]
pub chrg: Vec<TelecomLineItemAmount1>,
#[yaserde(rename = "Tax")]
#[cfg_attr(feature = "serde", serde(rename = "Tax"))]
pub tax: Vec<Tax44>,
#[yaserde(rename = "TtlAmt")]
#[cfg_attr(feature = "serde", serde(rename = "TtlAmt"))]
pub ttl_amt: ImpliedCurrencyAndAmount,
#[yaserde(rename = "Desc")]
#[cfg_attr(feature = "serde", serde(rename = "Desc"))]
pub desc: Max256Text,
#[yaserde(rename = "PrvtData")]
#[cfg_attr(feature = "serde", serde(rename = "PrvtData"))]
pub prvt_data: Vec<AticalaxProcessing>,
#[yaserde(rename = "NtlData")]
#[cfg_attr(feature = "serde", serde(rename = "NtlData"))]
pub ntl_data: Vec<AticalaxProcessing>,
}
impl Validate for TelecomServicesLineItem4 {}
#[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.001.001.05")]
pub enum TelephonyCallType2Code {
#[yaserde(rename = "VCML")]
#[cfg_attr(feature = "serde", serde(rename = "VCML"))]
Vcml,
#[yaserde(rename = "TFPC")]
#[cfg_attr(feature = "serde", serde(rename = "TFPC"))]
Tfpc,
#[yaserde(rename = "PAGE")]
#[cfg_attr(feature = "serde", serde(rename = "PAGE"))]
Page,
#[yaserde(rename = "OGPC")]
#[cfg_attr(feature = "serde", serde(rename = "OGPC"))]
Ogpc,
#[yaserde(rename = "OTCL")]
#[cfg_attr(feature = "serde", serde(rename = "OTCL"))]
Otcl,
#[yaserde(rename = "ICPC")]
#[cfg_attr(feature = "serde", serde(rename = "ICPC"))]
Icpc,
__Unknown__(String),
}
impl Default for TelephonyCallType2Code {
fn default() -> TelephonyCallType2Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for TelephonyCallType2Code {}
#[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.001.001.05")]
pub struct TemporaryServiceChargeRate1 {
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: TemporaryServicesCharge2Code,
#[yaserde(rename = "Rate")]
#[cfg_attr(feature = "serde", serde(rename = "Rate"))]
pub rate: ImpliedCurrencyAndAmount,
#[yaserde(rename = "Hrs")]
#[cfg_attr(feature = "serde", serde(rename = "Hrs"))]
pub hrs: Max6NumericText,
}
impl Validate for TemporaryServiceChargeRate1 {}
#[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.001.001.05")]
pub struct TemporaryServices4 {
#[yaserde(rename = "CpnyNm")]
#[cfg_attr(feature = "serde", serde(rename = "CpnyNm"))]
pub cpny_nm: Max70Text,
#[yaserde(rename = "CpnyDept")]
#[cfg_attr(feature = "serde", serde(rename = "CpnyDept"))]
pub cpny_dept: Max70Text,
#[yaserde(rename = "CpnyId")]
#[cfg_attr(feature = "serde", serde(rename = "CpnyId"))]
pub cpny_id: Max35Text,
#[yaserde(rename = "CpnyBizNm")]
#[cfg_attr(feature = "serde", serde(rename = "CpnyBizNm"))]
pub cpny_biz_nm: Max35Text,
#[yaserde(rename = "CpnyLglCorpNm")]
#[cfg_attr(feature = "serde", serde(rename = "CpnyLglCorpNm"))]
pub cpny_lgl_corp_nm: Max99Text,
#[yaserde(rename = "CpnyAdr")]
#[cfg_attr(feature = "serde", serde(rename = "CpnyAdr"))]
pub cpny_adr: Address4,
#[yaserde(rename = "CpnyLclData")]
#[cfg_attr(feature = "serde", serde(rename = "CpnyLclData"))]
pub cpny_lcl_data: Vec<LocalData20>,
#[yaserde(rename = "CpnySprvsr")]
#[cfg_attr(feature = "serde", serde(rename = "CpnySprvsr"))]
pub cpny_sprvsr: Max70Text,
#[yaserde(rename = "MplyeePrsnlId")]
#[cfg_attr(feature = "serde", serde(rename = "MplyeePrsnlId"))]
pub mplyee_prsnl_id: Max35Text,
#[yaserde(rename = "MplyeeId")]
#[cfg_attr(feature = "serde", serde(rename = "MplyeeId"))]
pub mplyee_id: PhoneNumber,
#[yaserde(rename = "MplyeeNm")]
#[cfg_attr(feature = "serde", serde(rename = "MplyeeNm"))]
pub mplyee_nm: Max70Text,
#[yaserde(rename = "MplyeePrfssnlLvl")]
#[cfg_attr(feature = "serde", serde(rename = "MplyeePrfssnlLvl"))]
pub mplyee_prfssnl_lvl: Max35Text,
#[yaserde(rename = "JobCd")]
#[cfg_attr(feature = "serde", serde(rename = "JobCd"))]
pub job_cd: Max35Text,
#[yaserde(rename = "JobDesc")]
#[cfg_attr(feature = "serde", serde(rename = "JobDesc"))]
pub job_desc: Max256Text,
#[yaserde(rename = "JobStartDt")]
#[cfg_attr(feature = "serde", serde(rename = "JobStartDt"))]
pub job_start_dt: Isodate,
#[yaserde(rename = "JobDrtn")]
#[cfg_attr(feature = "serde", serde(rename = "JobDrtn"))]
pub job_drtn: Max5NumericText,
#[yaserde(rename = "JobEndDt")]
#[cfg_attr(feature = "serde", serde(rename = "JobEndDt"))]
pub job_end_dt: Isodate,
#[yaserde(rename = "FlatRateInd")]
#[cfg_attr(feature = "serde", serde(rename = "FlatRateInd"))]
pub flat_rate_ind: TrueFalseIndicator,
#[yaserde(rename = "DscntAmt")]
#[cfg_attr(feature = "serde", serde(rename = "DscntAmt"))]
pub dscnt_amt: ImpliedCurrencyAndAmount,
#[yaserde(rename = "SummryCmmdtyId")]
#[cfg_attr(feature = "serde", serde(rename = "SummryCmmdtyId"))]
pub summry_cmmdty_id: Max35Text,
#[yaserde(rename = "TmSheet")]
#[cfg_attr(feature = "serde", serde(rename = "TmSheet"))]
pub tm_sheet: Max35Text,
#[yaserde(rename = "WkEndg")]
#[cfg_attr(feature = "serde", serde(rename = "WkEndg"))]
pub wk_endg: Isodate,
#[yaserde(rename = "ChrgRate")]
#[cfg_attr(feature = "serde", serde(rename = "ChrgRate"))]
pub chrg_rate: Vec<TemporaryServiceChargeRate1>,
#[yaserde(rename = "MiscExpnss")]
#[cfg_attr(feature = "serde", serde(rename = "MiscExpnss"))]
pub misc_expnss: Vec<Amount13>,
#[yaserde(rename = "SbttlAmt")]
#[cfg_attr(feature = "serde", serde(rename = "SbttlAmt"))]
pub sbttl_amt: ImpliedCurrencyAndAmount,
#[yaserde(rename = "Tax")]
#[cfg_attr(feature = "serde", serde(rename = "Tax"))]
pub tax: Vec<Tax44>,
#[yaserde(rename = "TtlAmt")]
#[cfg_attr(feature = "serde", serde(rename = "TtlAmt"))]
pub ttl_amt: ImpliedCurrencyAndAmount,
#[yaserde(rename = "PrvtData")]
#[cfg_attr(feature = "serde", serde(rename = "PrvtData"))]
pub prvt_data: Vec<AticalaxProcessing>,
#[yaserde(rename = "NtlData")]
#[cfg_attr(feature = "serde", serde(rename = "NtlData"))]
pub ntl_data: Vec<AticalaxProcessing>,
}
impl Validate for TemporaryServices4 {}
#[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.001.001.05")]
pub enum TemporaryServicesCharge2Code {
#[yaserde(rename = "WKND")]
#[cfg_attr(feature = "serde", serde(rename = "WKND"))]
Wknd,
#[yaserde(rename = "REGL")]
#[cfg_attr(feature = "serde", serde(rename = "REGL"))]
Regl,
#[yaserde(rename = "OVRT")]
#[cfg_attr(feature = "serde", serde(rename = "OVRT"))]
Ovrt,
#[yaserde(rename = "ONCL")]
#[cfg_attr(feature = "serde", serde(rename = "ONCL"))]
Oncl,
#[yaserde(rename = "NITE")]
#[cfg_attr(feature = "serde", serde(rename = "NITE"))]
Nite,
#[yaserde(rename = "HOLI")]
#[cfg_attr(feature = "serde", serde(rename = "HOLI"))]
Holi,
#[yaserde(rename = "HAZD")]
#[cfg_attr(feature = "serde", serde(rename = "HAZD"))]
Hazd,
__Unknown__(String),
}
impl Default for TemporaryServicesCharge2Code {
fn default() -> TemporaryServicesCharge2Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for TemporaryServicesCharge2Code {}
#[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.001.001.05")]
pub struct Terminal10 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Max16Text,
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: TerminalType2Code,
#[yaserde(rename = "SubTp")]
#[cfg_attr(feature = "serde", serde(rename = "SubTp"))]
pub sub_tp: Iso8583AccountEntryDeviceTypeCode,
#[yaserde(rename = "RdngCpblty")]
#[cfg_attr(feature = "serde", serde(rename = "RdngCpblty"))]
pub rdng_cpblty: Vec<CardDataReading11Code>,
#[yaserde(rename = "WrtgCpblty")]
#[cfg_attr(feature = "serde", serde(rename = "WrtgCpblty"))]
pub wrtg_cpblty: Vec<CardDataWriting2Code>,
#[yaserde(rename = "PINLngthCpblty")]
#[cfg_attr(feature = "serde", serde(rename = "PINLngthCpblty"))]
pub pin_lngth_cpblty: Number,
#[yaserde(rename = "PINNtryCpblty")]
#[cfg_attr(feature = "serde", serde(rename = "PINNtryCpblty"))]
pub pin_ntry_cpblty: Iso8583PinentryCapabilityCode,
#[yaserde(rename = "ApprvlCdLngth")]
#[cfg_attr(feature = "serde", serde(rename = "ApprvlCdLngth"))]
pub apprvl_cd_lngth: Number,
#[yaserde(rename = "MxScrptLngth")]
#[cfg_attr(feature = "serde", serde(rename = "MxScrptLngth"))]
pub mx_scrpt_lngth: Number,
#[yaserde(rename = "CardCaptrCpbl")]
#[cfg_attr(feature = "serde", serde(rename = "CardCaptrCpbl"))]
pub card_captr_cpbl: TrueFalseIndicator,
#[yaserde(rename = "OnLineCpblty")]
#[cfg_attr(feature = "serde", serde(rename = "OnLineCpblty"))]
pub on_line_cpblty: OnLineCapability2Code,
#[yaserde(rename = "MsgCpblty")]
#[cfg_attr(feature = "serde", serde(rename = "MsgCpblty"))]
pub msg_cpblty: Vec<DisplayCapabilities6>,
#[yaserde(rename = "CrdhldrVrfctnCpblty")]
#[cfg_attr(feature = "serde", serde(rename = "CrdhldrVrfctnCpblty"))]
pub crdhldr_vrfctn_cpblty: Vec<CardholderVerificationCapability6Code>,
#[yaserde(rename = "TempScrStorg")]
#[cfg_attr(feature = "serde", serde(rename = "TempScrStorg"))]
pub temp_scr_storg: TrueFalseIndicator,
#[yaserde(rename = "IntgtnTp")]
#[cfg_attr(feature = "serde", serde(rename = "IntgtnTp"))]
pub intgtn_tp: TerminalIntegrationCategory1Code,
#[yaserde(rename = "GeogcLctn")]
#[cfg_attr(feature = "serde", serde(rename = "GeogcLctn"))]
pub geogc_lctn: GeographicPointInDecimalDegreesText,
#[yaserde(rename = "Outdr")]
#[cfg_attr(feature = "serde", serde(rename = "Outdr"))]
pub outdr: TrueFalseIndicator,
#[yaserde(rename = "OffPrmiss")]
#[cfg_attr(feature = "serde", serde(rename = "OffPrmiss"))]
pub off_prmiss: TrueFalseIndicator,
#[yaserde(rename = "OnBrd")]
#[cfg_attr(feature = "serde", serde(rename = "OnBrd"))]
pub on_brd: TrueFalseIndicator,
#[yaserde(rename = "SrlNb")]
#[cfg_attr(feature = "serde", serde(rename = "SrlNb"))]
pub srl_nb: Max35Text,
#[yaserde(rename = "Sftwr")]
#[cfg_attr(feature = "serde", serde(rename = "Sftwr"))]
pub sftwr: Vec<Software2>,
#[yaserde(rename = "CertfctnId")]
#[cfg_attr(feature = "serde", serde(rename = "CertfctnId"))]
pub certfctn_id: Max256Text,
#[yaserde(rename = "TermnlLineNcrptnCertfd")]
#[cfg_attr(feature = "serde", serde(rename = "TermnlLineNcrptnCertfd"))]
pub termnl_line_ncrptn_certfd: TrueFalseIndicator,
#[yaserde(rename = "UnqKeyPerTermnlCertfd")]
#[cfg_attr(feature = "serde", serde(rename = "UnqKeyPerTermnlCertfd"))]
pub unq_key_per_termnl_certfd: TrueFalseIndicator,
#[yaserde(rename = "NcrptnMtd")]
#[cfg_attr(feature = "serde", serde(rename = "NcrptnMtd"))]
pub ncrptn_mtd: Max35Text,
#[yaserde(rename = "SnglTap")]
#[cfg_attr(feature = "serde", serde(rename = "SnglTap"))]
pub sngl_tap: TrueFalseIndicator,
#[yaserde(rename = "Ctry")]
#[cfg_attr(feature = "serde", serde(rename = "Ctry"))]
pub ctry: Isomax3ACountryCode,
#[yaserde(rename = "PrvtData")]
#[cfg_attr(feature = "serde", serde(rename = "PrvtData"))]
pub prvt_data: Vec<AticalaxProcessing>,
#[yaserde(rename = "NtlData")]
#[cfg_attr(feature = "serde", serde(rename = "NtlData"))]
pub ntl_data: Vec<AticalaxProcessing>,
}
impl Validate for Terminal10 {}
#[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.001.001.05")]
pub enum TerminalIntegrationCategory1Code {
#[yaserde(rename = "MPOI")]
#[cfg_attr(feature = "serde", serde(rename = "MPOI"))]
Mpoi,
#[yaserde(rename = "MSLE")]
#[cfg_attr(feature = "serde", serde(rename = "MSLE"))]
Msle,
#[yaserde(rename = "SSLE")]
#[cfg_attr(feature = "serde", serde(rename = "SSLE"))]
Ssle,
__Unknown__(String),
}
impl Default for TerminalIntegrationCategory1Code {
fn default() -> TerminalIntegrationCategory1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for TerminalIntegrationCategory1Code {}
#[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.001.001.05")]
pub enum TerminalType2Code {
#[yaserde(rename = "ATMT")]
#[cfg_attr(feature = "serde", serde(rename = "ATMT"))]
Atmt,
#[yaserde(rename = "MPOS")]
#[cfg_attr(feature = "serde", serde(rename = "MPOS"))]
Mpos,
#[yaserde(rename = "POST")]
#[cfg_attr(feature = "serde", serde(rename = "POST"))]
Post,
__Unknown__(String),
}
impl Default for TerminalType2Code {
fn default() -> TerminalType2Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for TerminalType2Code {}
#[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.001.001.05")]
pub struct Token4 {
#[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: IsoyearMonth,
#[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 = "TknRefId")]
#[cfg_attr(feature = "serde", serde(rename = "TknRefId"))]
pub tkn_ref_id: Max35Text,
}
impl Validate for Token4 {}
#[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.001.001.05")]
pub struct Token5 {
#[yaserde(rename = "PmtTkn")]
#[cfg_attr(feature = "serde", serde(rename = "PmtTkn"))]
pub pmt_tkn: Max19NumericText,
#[yaserde(rename = "TknTp")]
#[cfg_attr(feature = "serde", serde(rename = "TknTp"))]
pub tkn_tp: Max3Text,
#[yaserde(rename = "TknXpryDt")]
#[cfg_attr(feature = "serde", serde(rename = "TknXpryDt"))]
pub tkn_xpry_dt: IsoyearMonth,
#[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 = "TknRefId")]
#[cfg_attr(feature = "serde", serde(rename = "TknRefId"))]
pub tkn_ref_id: Max35Text,
#[yaserde(rename = "TknInittdInd")]
#[cfg_attr(feature = "serde", serde(rename = "TknInittdInd"))]
pub tkn_inittd_ind: TrueFalseIndicator,
#[yaserde(rename = "StorgLctn")]
#[cfg_attr(feature = "serde", serde(rename = "StorgLctn"))]
pub storg_lctn: StorageLocation2Code,
#[yaserde(rename = "PrtcnMtd")]
#[cfg_attr(feature = "serde", serde(rename = "PrtcnMtd"))]
pub prtcn_mtd: ProtectionMethod2Code,
#[yaserde(rename = "NonPmt")]
#[cfg_attr(feature = "serde", serde(rename = "NonPmt"))]
pub non_pmt: TrueFalseIndicator,
#[yaserde(rename = "TknRqstrNm")]
#[cfg_attr(feature = "serde", serde(rename = "TknRqstrNm"))]
pub tkn_rqstr_nm: Max70Text,
#[yaserde(rename = "UpdtdChanl")]
#[cfg_attr(feature = "serde", serde(rename = "UpdtdChanl"))]
pub updtd_chanl: Max35Text,
#[yaserde(rename = "Sts")]
#[cfg_attr(feature = "serde", serde(rename = "Sts"))]
pub sts: Max35Text,
#[yaserde(rename = "TknActvtnDtTm")]
#[cfg_attr(feature = "serde", serde(rename = "TknActvtnDtTm"))]
pub tkn_actvtn_dt_tm: IsodateTime,
#[yaserde(rename = "OrgnlTkn")]
#[cfg_attr(feature = "serde", serde(rename = "OrgnlTkn"))]
pub orgnl_tkn: Token4,
#[yaserde(rename = "PrvtData")]
#[cfg_attr(feature = "serde", serde(rename = "PrvtData"))]
pub prvt_data: Vec<AticalaxProcessing>,
#[yaserde(rename = "NtlData")]
#[cfg_attr(feature = "serde", serde(rename = "NtlData"))]
pub ntl_data: Vec<AticalaxProcessing>,
}
impl Validate for Token5 {}
#[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.001.001.05")]
pub struct Track2Data1Choice {
#[yaserde(rename = "TxtVal")]
#[cfg_attr(feature = "serde", serde(rename = "TxtVal"))]
pub txt_val: Option<Max37Text>,
#[yaserde(rename = "HexBinryVal")]
#[cfg_attr(feature = "serde", serde(rename = "HexBinryVal"))]
pub hex_binry_val: Option<Max19HexBinaryText>,
}
impl Validate for Track2Data1Choice {}
#[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.001.001.05")]
pub struct TransactionAmounts5 {
#[yaserde(rename = "AmtQlfr")]
#[cfg_attr(feature = "serde", serde(rename = "AmtQlfr"))]
pub amt_qlfr: TypeOfAmount22Code,
#[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 = "CrdhldrBllgAmt")]
#[cfg_attr(feature = "serde", serde(rename = "CrdhldrBllgAmt"))]
pub crdhldr_bllg_amt: ImpliedCurrencyAndAmount,
#[yaserde(rename = "CrdhldrBllgCcy")]
#[cfg_attr(feature = "serde", serde(rename = "CrdhldrBllgCcy"))]
pub crdhldr_bllg_ccy: Iso3NumericCurrencyCode,
#[yaserde(rename = "CrdhldrBllgFctvXchgRate")]
#[cfg_attr(feature = "serde", serde(rename = "CrdhldrBllgFctvXchgRate"))]
pub crdhldr_bllg_fctv_xchg_rate: BaseOne25Rate,
#[yaserde(rename = "RcncltnAmt")]
#[cfg_attr(feature = "serde", serde(rename = "RcncltnAmt"))]
pub rcncltn_amt: ImpliedCurrencyAndAmount,
#[yaserde(rename = "RcncltnCcy")]
#[cfg_attr(feature = "serde", serde(rename = "RcncltnCcy"))]
pub rcncltn_ccy: Iso3NumericCurrencyCode,
#[yaserde(rename = "RcncltnFctvXchgRate")]
#[cfg_attr(feature = "serde", serde(rename = "RcncltnFctvXchgRate"))]
pub rcncltn_fctv_xchg_rate: BaseOne25Rate,
#[yaserde(rename = "DtldAmt")]
#[cfg_attr(feature = "serde", serde(rename = "DtldAmt"))]
pub dtld_amt: Vec<DetailedAmount24>,
}
impl Validate for TransactionAmounts5 {}
#[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.001.001.05")]
pub enum TransactionAttribute3Code {
#[yaserde(rename = "AGGR")]
#[cfg_attr(feature = "serde", serde(rename = "AGGR"))]
Aggr,
#[yaserde(rename = "CADB")]
#[cfg_attr(feature = "serde", serde(rename = "CADB"))]
Cadb,
#[yaserde(rename = "CPLT")]
#[cfg_attr(feature = "serde", serde(rename = "CPLT"))]
Cplt,
#[yaserde(rename = "DBRC")]
#[cfg_attr(feature = "serde", serde(rename = "DBRC"))]
Dbrc,
#[yaserde(rename = "DBRP")]
#[cfg_attr(feature = "serde", serde(rename = "DBRP"))]
Dbrp,
#[yaserde(rename = "DFRD")]
#[cfg_attr(feature = "serde", serde(rename = "DFRD"))]
Dfrd,
#[yaserde(rename = "INCR")]
#[cfg_attr(feature = "serde", serde(rename = "INCR"))]
Incr,
#[yaserde(rename = "FRCP")]
#[cfg_attr(feature = "serde", serde(rename = "FRCP"))]
Frcp,
#[yaserde(rename = "INST")]
#[cfg_attr(feature = "serde", serde(rename = "INST"))]
Inst,
#[yaserde(rename = "PAUT")]
#[cfg_attr(feature = "serde", serde(rename = "PAUT"))]
Paut,
#[yaserde(rename = "PACP")]
#[cfg_attr(feature = "serde", serde(rename = "PACP"))]
Pacp,
#[yaserde(rename = "PPYT")]
#[cfg_attr(feature = "serde", serde(rename = "PPYT"))]
Ppyt,
#[yaserde(rename = "RCPT")]
#[cfg_attr(feature = "serde", serde(rename = "RCPT"))]
Rcpt,
#[yaserde(rename = "SUBR")]
#[cfg_attr(feature = "serde", serde(rename = "SUBR"))]
Subr,
#[yaserde(rename = "TPUP")]
#[cfg_attr(feature = "serde", serde(rename = "TPUP"))]
Tpup,
#[yaserde(rename = "UCOF")]
#[cfg_attr(feature = "serde", serde(rename = "UCOF"))]
Ucof,
__Unknown__(String),
}
impl Default for TransactionAttribute3Code {
fn default() -> TransactionAttribute3Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for TransactionAttribute3Code {}
#[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.001.001.05")]
pub struct TransactionCharacteristics5 {
#[yaserde(rename = "TxTp")]
#[cfg_attr(feature = "serde", serde(rename = "TxTp"))]
pub tx_tp: Iso8583TransactionTypeCode,
#[yaserde(rename = "TxSubTp")]
#[cfg_attr(feature = "serde", serde(rename = "TxSubTp"))]
pub tx_sub_tp: Max35Text,
#[yaserde(rename = "TxAttr")]
#[cfg_attr(feature = "serde", serde(rename = "TxAttr"))]
pub tx_attr: Vec<TransactionAttribute3Code>,
#[yaserde(rename = "Cxl")]
#[cfg_attr(feature = "serde", serde(rename = "Cxl"))]
pub cxl: TrueFalseIndicator,
#[yaserde(rename = "Colltn")]
#[cfg_attr(feature = "serde", serde(rename = "Colltn"))]
pub colltn: TrueFalseIndicator,
#[yaserde(rename = "SbsqntTxTp")]
#[cfg_attr(feature = "serde", serde(rename = "SbsqntTxTp"))]
pub sbsqnt_tx_tp: Iso8583TransactionTypeCode,
#[yaserde(rename = "MsgRsn")]
#[cfg_attr(feature = "serde", serde(rename = "MsgRsn"))]
pub msg_rsn: Vec<Iso8583MessageReasonCode>,
#[yaserde(rename = "AltrnMsgRsn")]
#[cfg_attr(feature = "serde", serde(rename = "AltrnMsgRsn"))]
pub altrn_msg_rsn: Vec<Max256Text>,
#[yaserde(rename = "PreAuthstnTmLmt")]
#[cfg_attr(feature = "serde", serde(rename = "PreAuthstnTmLmt"))]
pub pre_authstn_tm_lmt: Max6NumericText,
#[yaserde(rename = "TxDesc")]
#[cfg_attr(feature = "serde", serde(rename = "TxDesc"))]
pub tx_desc: Max1000Text,
#[yaserde(rename = "RtgTblId")]
#[cfg_attr(feature = "serde", serde(rename = "RtgTblId"))]
pub rtg_tbl_id: Max35Text,
#[yaserde(rename = "PrvtData")]
#[cfg_attr(feature = "serde", serde(rename = "PrvtData"))]
pub prvt_data: Vec<AticalaxProcessing>,
#[yaserde(rename = "NtlData")]
#[cfg_attr(feature = "serde", serde(rename = "NtlData"))]
pub ntl_data: Vec<AticalaxProcessing>,
#[yaserde(rename = "LclData")]
#[cfg_attr(feature = "serde", serde(rename = "LclData"))]
pub lcl_data: Vec<LocalData22>,
}
impl Validate for TransactionCharacteristics5 {}
#[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.001.001.05")]
pub struct TransactionIdentification58 {
#[yaserde(rename = "LclDt")]
#[cfg_attr(feature = "serde", serde(rename = "LclDt"))]
pub lcl_dt: Isodate,
#[yaserde(rename = "LclTm")]
#[cfg_attr(feature = "serde", serde(rename = "LclTm"))]
pub lcl_tm: Isotime,
#[yaserde(rename = "TmZone")]
#[cfg_attr(feature = "serde", serde(rename = "TmZone"))]
pub tm_zone: Max70Text,
#[yaserde(rename = "PurchsIdrTp")]
#[cfg_attr(feature = "serde", serde(rename = "PurchsIdrTp"))]
pub purchs_idr_tp: PurchaseIdentifierType3Code,
#[yaserde(rename = "PurchsIdr")]
#[cfg_attr(feature = "serde", serde(rename = "PurchsIdr"))]
pub purchs_idr: Max99Text,
#[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 = "LifeCyclSpprt")]
#[cfg_attr(feature = "serde", serde(rename = "LifeCyclSpprt"))]
pub life_cycl_spprt: LifeCycleSupport1Code,
#[yaserde(rename = "LifeCyclId")]
#[cfg_attr(feature = "serde", serde(rename = "LifeCyclId"))]
pub life_cycl_id: Max36Text,
#[yaserde(rename = "AssoctdTxLifeCyclId")]
#[cfg_attr(feature = "serde", serde(rename = "AssoctdTxLifeCyclId"))]
pub assoctd_tx_life_cycl_id: Max36Text,
#[yaserde(rename = "LifeCyclIdVldtn")]
#[cfg_attr(feature = "serde", serde(rename = "LifeCyclIdVldtn"))]
pub life_cycl_id_vldtn: Max37Text,
#[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: Max36Text,
#[yaserde(rename = "LifeCyclIdMssng")]
#[cfg_attr(feature = "serde", serde(rename = "LifeCyclIdMssng"))]
pub life_cycl_id_mssng: Max70Text,
#[yaserde(rename = "AcqrrRefData")]
#[cfg_attr(feature = "serde", serde(rename = "AcqrrRefData"))]
pub acqrr_ref_data: Max140Text,
#[yaserde(rename = "AcqrrRefNb")]
#[cfg_attr(feature = "serde", serde(rename = "AcqrrRefNb"))]
pub acqrr_ref_nb: Max23NumericText,
#[yaserde(rename = "IssrRefData")]
#[cfg_attr(feature = "serde", serde(rename = "IssrRefData"))]
pub issr_ref_data: Max1000Text,
#[yaserde(rename = "AssoctdData")]
#[cfg_attr(feature = "serde", serde(rename = "AssoctdData"))]
pub assoctd_data: TrueFalseIndicator,
#[yaserde(rename = "AssoctdDataRef")]
#[cfg_attr(feature = "serde", serde(rename = "AssoctdDataRef"))]
pub assoctd_data_ref: Max70Text,
#[yaserde(rename = "AssoctdDataDstn")]
#[cfg_attr(feature = "serde", serde(rename = "AssoctdDataDstn"))]
pub assoctd_data_dstn: Max35Text,
#[yaserde(rename = "PrvtData")]
#[cfg_attr(feature = "serde", serde(rename = "PrvtData"))]
pub prvt_data: Vec<AticalaxProcessing>,
#[yaserde(rename = "NtlData")]
#[cfg_attr(feature = "serde", serde(rename = "NtlData"))]
pub ntl_data: Vec<AticalaxProcessing>,
}
impl Validate for TransactionIdentification58 {}
#[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.001.001.05")]
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.001.001.05")]
pub struct TransactionSpecificData1 {
#[yaserde(rename = "Sale")]
#[cfg_attr(feature = "serde", serde(rename = "Sale"))]
pub sale: Sale4,
#[yaserde(rename = "Fleet")]
#[cfg_attr(feature = "serde", serde(rename = "Fleet"))]
pub fleet: FleetData7,
#[yaserde(rename = "Invc")]
#[cfg_attr(feature = "serde", serde(rename = "Invc"))]
pub invc: Invoice4,
#[yaserde(rename = "TrvlAgcy")]
#[cfg_attr(feature = "serde", serde(rename = "TrvlAgcy"))]
pub trvl_agcy: Vec<TravelAgency5>,
#[yaserde(rename = "PssngrTrnsprt")]
#[cfg_attr(feature = "serde", serde(rename = "PssngrTrnsprt"))]
pub pssngr_trnsprt: PassengerTransport4,
#[yaserde(rename = "VhclRntl")]
#[cfg_attr(feature = "serde", serde(rename = "VhclRntl"))]
pub vhcl_rntl: Vec<VehicleRentalService4>,
#[yaserde(rename = "Ldgg")]
#[cfg_attr(feature = "serde", serde(rename = "Ldgg"))]
pub ldgg: Vec<Lodging5>,
#[yaserde(rename = "ShppgData")]
#[cfg_attr(feature = "serde", serde(rename = "ShppgData"))]
pub shppg_data: ShippingData4,
#[yaserde(rename = "TelecomSvcs")]
#[cfg_attr(feature = "serde", serde(rename = "TelecomSvcs"))]
pub telecom_svcs: TelecomServices4,
#[yaserde(rename = "TempSvcs")]
#[cfg_attr(feature = "serde", serde(rename = "TempSvcs"))]
pub temp_svcs: Vec<TemporaryServices4>,
#[yaserde(rename = "PrvtData")]
#[cfg_attr(feature = "serde", serde(rename = "PrvtData"))]
pub prvt_data: Vec<AticalaxProcessing>,
#[yaserde(rename = "NtlData")]
#[cfg_attr(feature = "serde", serde(rename = "NtlData"))]
pub ntl_data: Vec<AticalaxProcessing>,
}
impl Validate for TransactionSpecificData1 {}
#[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.001.001.05")]
pub struct TransactorData1 {
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: ExternalTransactorType1Code,
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Max11NumericText,
#[yaserde(rename = "BizId")]
#[cfg_attr(feature = "serde", serde(rename = "BizId"))]
pub biz_id: Max15AlphaNumericText,
#[yaserde(rename = "BizNm")]
#[cfg_attr(feature = "serde", serde(rename = "BizNm"))]
pub biz_nm: Max35Text,
#[yaserde(rename = "LglCorpNm")]
#[cfg_attr(feature = "serde", serde(rename = "LglCorpNm"))]
pub lgl_corp_nm: Max99Text,
#[yaserde(rename = "Adr")]
#[cfg_attr(feature = "serde", serde(rename = "Adr"))]
pub adr: Address4,
#[yaserde(rename = "PrvtData")]
#[cfg_attr(feature = "serde", serde(rename = "PrvtData"))]
pub prvt_data: Vec<AticalaxProcessing>,
#[yaserde(rename = "NtlData")]
#[cfg_attr(feature = "serde", serde(rename = "NtlData"))]
pub ntl_data: Vec<AticalaxProcessing>,
#[yaserde(rename = "LclData")]
#[cfg_attr(feature = "serde", serde(rename = "LclData"))]
pub lcl_data: Vec<LocalData20>,
#[yaserde(rename = "SubMrchnt")]
#[cfg_attr(feature = "serde", serde(rename = "SubMrchnt"))]
pub sub_mrchnt: Vec<SubMerchant1>,
}
impl Validate for TransactorData1 {}
#[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.001.001.05")]
pub enum TransportType2Code {
#[yaserde(rename = "AIRR")]
#[cfg_attr(feature = "serde", serde(rename = "AIRR"))]
Airr,
#[yaserde(rename = "BUSS")]
#[cfg_attr(feature = "serde", serde(rename = "BUSS"))]
Buss,
#[yaserde(rename = "RAIL")]
#[cfg_attr(feature = "serde", serde(rename = "RAIL"))]
Rail,
#[yaserde(rename = "SHIP")]
#[cfg_attr(feature = "serde", serde(rename = "SHIP"))]
Ship,
__Unknown__(String),
}
impl Default for TransportType2Code {
fn default() -> TransportType2Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for TransportType2Code {}
#[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.001.001.05")]
pub struct TravelAgency5 {
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: Max35Text,
#[yaserde(rename = "Assgnr")]
#[cfg_attr(feature = "serde", serde(rename = "Assgnr"))]
pub assgnr: Max35Text,
#[yaserde(rename = "IATACd")]
#[cfg_attr(feature = "serde", serde(rename = "IATACd"))]
pub iata_cd: Max35Text,
#[yaserde(rename = "Nm")]
#[cfg_attr(feature = "serde", serde(rename = "Nm"))]
pub nm: Max70Text,
#[yaserde(rename = "ShrtNm")]
#[cfg_attr(feature = "serde", serde(rename = "ShrtNm"))]
pub shrt_nm: Max35Text,
#[yaserde(rename = "Adr")]
#[cfg_attr(feature = "serde", serde(rename = "Adr"))]
pub adr: Address4,
#[yaserde(rename = "Ctct")]
#[cfg_attr(feature = "serde", serde(rename = "Ctct"))]
pub ctct: ContactBusiness2,
#[yaserde(rename = "TrvlPackg")]
#[cfg_attr(feature = "serde", serde(rename = "TrvlPackg"))]
pub trvl_packg: Vec<TravelAgencyPackage2>,
#[yaserde(rename = "PrvtData")]
#[cfg_attr(feature = "serde", serde(rename = "PrvtData"))]
pub prvt_data: Vec<AticalaxProcessing>,
#[yaserde(rename = "NtlData")]
#[cfg_attr(feature = "serde", serde(rename = "NtlData"))]
pub ntl_data: Vec<AticalaxProcessing>,
}
impl Validate for TravelAgency5 {}
#[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.001.001.05")]
pub struct TravelAgencyPackage2 {
#[yaserde(rename = "RsvatnNb")]
#[cfg_attr(feature = "serde", serde(rename = "RsvatnNb"))]
pub rsvatn_nb: Max35Text,
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: Max70Text,
#[yaserde(rename = "NbInPty")]
#[cfg_attr(feature = "serde", serde(rename = "NbInPty"))]
pub nb_in_pty: Max10NumericText,
#[yaserde(rename = "CstmrRef")]
#[cfg_attr(feature = "serde", serde(rename = "CstmrRef"))]
pub cstmr_ref: Vec<CustomerReference1>,
#[yaserde(rename = "DataSrc")]
#[cfg_attr(feature = "serde", serde(rename = "DataSrc"))]
pub data_src: Max35Text,
#[yaserde(rename = "DlvryOrdrNb")]
#[cfg_attr(feature = "serde", serde(rename = "DlvryOrdrNb"))]
pub dlvry_ordr_nb: Max35Text,
#[yaserde(rename = "CdtCardSlipNb")]
#[cfg_attr(feature = "serde", serde(rename = "CdtCardSlipNb"))]
pub cdt_card_slip_nb: Max35Text,
#[yaserde(rename = "Insrnc")]
#[cfg_attr(feature = "serde", serde(rename = "Insrnc"))]
pub insrnc: TrueFalseIndicator,
#[yaserde(rename = "InsrncAmt")]
#[cfg_attr(feature = "serde", serde(rename = "InsrncAmt"))]
pub insrnc_amt: ImpliedCurrencyAndAmount,
#[yaserde(rename = "Fee")]
#[cfg_attr(feature = "serde", serde(rename = "Fee"))]
pub fee: ImpliedCurrencyAndAmount,
}
impl Validate for TravelAgencyPackage2 {}
#[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.001.001.05")]
pub struct TravelDocument3 {
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: OfficialDocumentType2Code,
#[yaserde(rename = "Form")]
#[cfg_attr(feature = "serde", serde(rename = "Form"))]
pub form: PresentationMedium2Code,
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Max70Text,
#[yaserde(rename = "Assgnr")]
#[cfg_attr(feature = "serde", serde(rename = "Assgnr"))]
pub assgnr: Max70Text,
#[yaserde(rename = "IssncDt")]
#[cfg_attr(feature = "serde", serde(rename = "IssncDt"))]
pub issnc_dt: Isodate,
#[yaserde(rename = "XprtnDt")]
#[cfg_attr(feature = "serde", serde(rename = "XprtnDt"))]
pub xprtn_dt: Isodate,
#[yaserde(rename = "Ctry")]
#[cfg_attr(feature = "serde", serde(rename = "Ctry"))]
pub ctry: Isomax3ACountryCode,
}
impl Validate for TravelDocument3 {}
#[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.001.001.05")]
pub struct TripLeg4 {
#[yaserde(rename = "SeqNb")]
#[cfg_attr(feature = "serde", serde(rename = "SeqNb"))]
pub seq_nb: Max35NumericText,
#[yaserde(rename = "TcktNb")]
#[cfg_attr(feature = "serde", serde(rename = "TcktNb"))]
pub tckt_nb: Max35Text,
#[yaserde(rename = "TcktIssr")]
#[cfg_attr(feature = "serde", serde(rename = "TcktIssr"))]
pub tckt_issr: Max35Text,
#[yaserde(rename = "TcktIsseDt")]
#[cfg_attr(feature = "serde", serde(rename = "TcktIsseDt"))]
pub tckt_isse_dt: Isodate,
#[yaserde(rename = "TcktIsseLctn")]
#[cfg_attr(feature = "serde", serde(rename = "TcktIsseLctn"))]
pub tckt_isse_lctn: Max140Text,
#[yaserde(rename = "CnjnctnTcktNb")]
#[cfg_attr(feature = "serde", serde(rename = "CnjnctnTcktNb"))]
pub cnjnctn_tckt_nb: Max35Text,
#[yaserde(rename = "RstrctdTckt")]
#[cfg_attr(feature = "serde", serde(rename = "RstrctdTckt"))]
pub rstrctd_tckt: TrueFalseIndicator,
#[yaserde(rename = "OpnTckt")]
#[cfg_attr(feature = "serde", serde(rename = "OpnTckt"))]
pub opn_tckt: TrueFalseIndicator,
#[yaserde(rename = "TcktRstrctns")]
#[cfg_attr(feature = "serde", serde(rename = "TcktRstrctns"))]
pub tckt_rstrctns: Max70Text,
#[yaserde(rename = "XchgdTckt")]
#[cfg_attr(feature = "serde", serde(rename = "XchgdTckt"))]
pub xchgd_tckt: TrueFalseIndicator,
#[yaserde(rename = "XchgdTcktNb")]
#[cfg_attr(feature = "serde", serde(rename = "XchgdTcktNb"))]
pub xchgd_tckt_nb: Max35Text,
#[yaserde(rename = "RcrdLctrNb")]
#[cfg_attr(feature = "serde", serde(rename = "RcrdLctrNb"))]
pub rcrd_lctr_nb: Max35Text,
#[yaserde(rename = "RsvatnSys")]
#[cfg_attr(feature = "serde", serde(rename = "RsvatnSys"))]
pub rsvatn_sys: Max4Text,
#[yaserde(rename = "RsvatnNb")]
#[cfg_attr(feature = "serde", serde(rename = "RsvatnNb"))]
pub rsvatn_nb: Max35Text,
#[yaserde(rename = "OrgnlRsvatnSys")]
#[cfg_attr(feature = "serde", serde(rename = "OrgnlRsvatnSys"))]
pub orgnl_rsvatn_sys: Max4Text,
#[yaserde(rename = "OrgnlRsvatnNb")]
#[cfg_attr(feature = "serde", serde(rename = "OrgnlRsvatnNb"))]
pub orgnl_rsvatn_nb: Max35Text,
#[yaserde(rename = "Doc")]
#[cfg_attr(feature = "serde", serde(rename = "Doc"))]
pub doc: AticalaxProcessing,
#[yaserde(rename = "TrnsprtTp")]
#[cfg_attr(feature = "serde", serde(rename = "TrnsprtTp"))]
pub trnsprt_tp: TransportType2Code,
#[yaserde(rename = "CmmdtyCd")]
#[cfg_attr(feature = "serde", serde(rename = "CmmdtyCd"))]
pub cmmdty_cd: Max4Text,
#[yaserde(rename = "CrrierNm")]
#[cfg_attr(feature = "serde", serde(rename = "CrrierNm"))]
pub crrier_nm: Max70Text,
#[yaserde(rename = "CrrierCd")]
#[cfg_attr(feature = "serde", serde(rename = "CrrierCd"))]
pub crrier_cd: Max35Text,
#[yaserde(rename = "IATACd")]
#[cfg_attr(feature = "serde", serde(rename = "IATACd"))]
pub iata_cd: Max35Text,
#[yaserde(rename = "RouteNb")]
#[cfg_attr(feature = "serde", serde(rename = "RouteNb"))]
pub route_nb: Max35Text,
#[yaserde(rename = "SvcClss")]
#[cfg_attr(feature = "serde", serde(rename = "SvcClss"))]
pub svc_clss: Max35Text,
#[yaserde(rename = "Dprture")]
#[cfg_attr(feature = "serde", serde(rename = "Dprture"))]
pub dprture: DepartureOrArrival1,
#[yaserde(rename = "Arrvl")]
#[cfg_attr(feature = "serde", serde(rename = "Arrvl"))]
pub arrvl: DepartureOrArrival1,
#[yaserde(rename = "Drtn")]
#[cfg_attr(feature = "serde", serde(rename = "Drtn"))]
pub drtn: Max4NumericText,
#[yaserde(rename = "StopOver")]
#[cfg_attr(feature = "serde", serde(rename = "StopOver"))]
pub stop_over: TrueFalseIndicator,
#[yaserde(rename = "NonDrctRouteCd")]
#[cfg_attr(feature = "serde", serde(rename = "NonDrctRouteCd"))]
pub non_drct_route_cd: Max35Text,
#[yaserde(rename = "FairBsisCd")]
#[cfg_attr(feature = "serde", serde(rename = "FairBsisCd"))]
pub fair_bsis_cd: Max35Text,
#[yaserde(rename = "Insrnc")]
#[cfg_attr(feature = "serde", serde(rename = "Insrnc"))]
pub insrnc: TrueFalseIndicator,
#[yaserde(rename = "Amt")]
#[cfg_attr(feature = "serde", serde(rename = "Amt"))]
pub amt: Vec<AmountAndTax1>,
#[yaserde(rename = "CdtRsnCd")]
#[cfg_attr(feature = "serde", serde(rename = "CdtRsnCd"))]
pub cdt_rsn_cd: Max35Text,
#[yaserde(rename = "PrcdrId")]
#[cfg_attr(feature = "serde", serde(rename = "PrcdrId"))]
pub prcdr_id: Max35Text,
#[yaserde(rename = "LltyPrgrmm")]
#[cfg_attr(feature = "serde", serde(rename = "LltyPrgrmm"))]
pub llty_prgrmm: LoyaltyProgramme4,
#[yaserde(rename = "PrvtData")]
#[cfg_attr(feature = "serde", serde(rename = "PrvtData"))]
pub prvt_data: Vec<AticalaxProcessing>,
#[yaserde(rename = "NtlData")]
#[cfg_attr(feature = "serde", serde(rename = "NtlData"))]
pub ntl_data: Vec<AticalaxProcessing>,
}
impl Validate for TripLeg4 {}
#[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.001.001.05")]
pub enum TypeOfAmount22Code {
#[yaserde(rename = "ACTL")]
#[cfg_attr(feature = "serde", serde(rename = "ACTL"))]
Actl,
#[yaserde(rename = "DFLT")]
#[cfg_attr(feature = "serde", serde(rename = "DFLT"))]
Dflt,
#[yaserde(rename = "DPST")]
#[cfg_attr(feature = "serde", serde(rename = "DPST"))]
Dpst,
#[yaserde(rename = "ESTM")]
#[cfg_attr(feature = "serde", serde(rename = "ESTM"))]
Estm,
#[yaserde(rename = "MAXI")]
#[cfg_attr(feature = "serde", serde(rename = "MAXI"))]
Maxi,
#[yaserde(rename = "PRXY")]
#[cfg_attr(feature = "serde", serde(rename = "PRXY"))]
Prxy,
#[yaserde(rename = "RESD")]
#[cfg_attr(feature = "serde", serde(rename = "RESD"))]
Resd,
__Unknown__(String),
}
impl Default for TypeOfAmount22Code {
fn default() -> TypeOfAmount22Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for TypeOfAmount22Code {}
#[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.001.001.05")]
pub enum TypeOfAmount24Code {
#[yaserde(rename = "AMTH")]
#[cfg_attr(feature = "serde", serde(rename = "AMTH"))]
Amth,
#[yaserde(rename = "BAGG")]
#[cfg_attr(feature = "serde", serde(rename = "BAGG"))]
Bagg,
#[yaserde(rename = "CARG")]
#[cfg_attr(feature = "serde", serde(rename = "CARG"))]
Carg,
#[yaserde(rename = "CHTC")]
#[cfg_attr(feature = "serde", serde(rename = "CHTC"))]
Chtc,
#[yaserde(rename = "CLUB")]
#[cfg_attr(feature = "serde", serde(rename = "CLUB"))]
Club,
#[yaserde(rename = "DUTY")]
#[cfg_attr(feature = "serde", serde(rename = "DUTY"))]
Duty,
#[yaserde(rename = "EXTK")]
#[cfg_attr(feature = "serde", serde(rename = "EXTK"))]
Extk,
#[yaserde(rename = "EXTF")]
#[cfg_attr(feature = "serde", serde(rename = "EXTF"))]
Extf,
#[yaserde(rename = "EXTR")]
#[cfg_attr(feature = "serde", serde(rename = "EXTR"))]
Extr,
#[yaserde(rename = "FARE")]
#[cfg_attr(feature = "serde", serde(rename = "FARE"))]
Fare,
#[yaserde(rename = "FDBV")]
#[cfg_attr(feature = "serde", serde(rename = "FDBV"))]
Fdbv,
#[yaserde(rename = "INSU")]
#[cfg_attr(feature = "serde", serde(rename = "INSU"))]
Insu,
#[yaserde(rename = "MISC")]
#[cfg_attr(feature = "serde", serde(rename = "MISC"))]
Misc,
#[yaserde(rename = "PETC")]
#[cfg_attr(feature = "serde", serde(rename = "PETC"))]
Petc,
#[yaserde(rename = "PHNE")]
#[cfg_attr(feature = "serde", serde(rename = "PHNE"))]
Phne,
#[yaserde(rename = "PRPY")]
#[cfg_attr(feature = "serde", serde(rename = "PRPY"))]
Prpy,
#[yaserde(rename = "TOTL")]
#[cfg_attr(feature = "serde", serde(rename = "TOTL"))]
Totl,
#[yaserde(rename = "TOUR")]
#[cfg_attr(feature = "serde", serde(rename = "TOUR"))]
Tour,
#[yaserde(rename = "UPGD")]
#[cfg_attr(feature = "serde", serde(rename = "UPGD"))]
Upgd,
#[yaserde(rename = "TKDL")]
#[cfg_attr(feature = "serde", serde(rename = "TKDL"))]
Tkdl,
#[yaserde(rename = "FEES")]
#[cfg_attr(feature = "serde", serde(rename = "FEES"))]
Fees,
__Unknown__(String),
}
impl Default for TypeOfAmount24Code {
fn default() -> TypeOfAmount24Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for TypeOfAmount24Code {}
#[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.001.001.05")]
pub enum TypeOfAmount25Code {
#[yaserde(rename = "CONN")]
#[cfg_attr(feature = "serde", serde(rename = "CONN"))]
Conn,
#[yaserde(rename = "INSU")]
#[cfg_attr(feature = "serde", serde(rename = "INSU"))]
Insu,
#[yaserde(rename = "LNDS")]
#[cfg_attr(feature = "serde", serde(rename = "LNDS"))]
Lnds,
#[yaserde(rename = "MISC")]
#[cfg_attr(feature = "serde", serde(rename = "MISC"))]
Misc,
#[yaserde(rename = "USGE")]
#[cfg_attr(feature = "serde", serde(rename = "USGE"))]
Usge,
__Unknown__(String),
}
impl Default for TypeOfAmount25Code {
fn default() -> TypeOfAmount25Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for TypeOfAmount25Code {}
#[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.001.001.05")]
pub enum UnitOfMeasure10Code {
#[yaserde(rename = "KMET")]
#[cfg_attr(feature = "serde", serde(rename = "KMET"))]
Kmet,
#[yaserde(rename = "MILE")]
#[cfg_attr(feature = "serde", serde(rename = "MILE"))]
Mile,
__Unknown__(String),
}
impl Default for UnitOfMeasure10Code {
fn default() -> UnitOfMeasure10Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for UnitOfMeasure10Code {}
#[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.001.001.05")]
pub enum UnitOfMeasure14Code {
#[yaserde(rename = "KILO")]
#[cfg_attr(feature = "serde", serde(rename = "KILO"))]
Kilo,
#[yaserde(rename = "PIEC")]
#[cfg_attr(feature = "serde", serde(rename = "PIEC"))]
Piec,
#[yaserde(rename = "TONS")]
#[cfg_attr(feature = "serde", serde(rename = "TONS"))]
Tons,
#[yaserde(rename = "METR")]
#[cfg_attr(feature = "serde", serde(rename = "METR"))]
Metr,
#[yaserde(rename = "INCH")]
#[cfg_attr(feature = "serde", serde(rename = "INCH"))]
Inch,
#[yaserde(rename = "YARD")]
#[cfg_attr(feature = "serde", serde(rename = "YARD"))]
Yard,
#[yaserde(rename = "GBGA")]
#[cfg_attr(feature = "serde", serde(rename = "GBGA"))]
Gbga,
#[yaserde(rename = "GRAM")]
#[cfg_attr(feature = "serde", serde(rename = "GRAM"))]
Gram,
#[yaserde(rename = "CMET")]
#[cfg_attr(feature = "serde", serde(rename = "CMET"))]
Cmet,
#[yaserde(rename = "SMET")]
#[cfg_attr(feature = "serde", serde(rename = "SMET"))]
Smet,
#[yaserde(rename = "FOOT")]
#[cfg_attr(feature = "serde", serde(rename = "FOOT"))]
Foot,
#[yaserde(rename = "MILE")]
#[cfg_attr(feature = "serde", serde(rename = "MILE"))]
Mile,
#[yaserde(rename = "SQIN")]
#[cfg_attr(feature = "serde", serde(rename = "SQIN"))]
Sqin,
#[yaserde(rename = "SQFO")]
#[cfg_attr(feature = "serde", serde(rename = "SQFO"))]
Sqfo,
#[yaserde(rename = "SQMI")]
#[cfg_attr(feature = "serde", serde(rename = "SQMI"))]
Sqmi,
#[yaserde(rename = "GBOU")]
#[cfg_attr(feature = "serde", serde(rename = "GBOU"))]
Gbou,
#[yaserde(rename = "USOU")]
#[cfg_attr(feature = "serde", serde(rename = "USOU"))]
Usou,
#[yaserde(rename = "GBPI")]
#[cfg_attr(feature = "serde", serde(rename = "GBPI"))]
Gbpi,
#[yaserde(rename = "USPI")]
#[cfg_attr(feature = "serde", serde(rename = "USPI"))]
Uspi,
#[yaserde(rename = "GBQA")]
#[cfg_attr(feature = "serde", serde(rename = "GBQA"))]
Gbqa,
#[yaserde(rename = "USQA")]
#[cfg_attr(feature = "serde", serde(rename = "USQA"))]
Usqa,
#[yaserde(rename = "USGA")]
#[cfg_attr(feature = "serde", serde(rename = "USGA"))]
Usga,
#[yaserde(rename = "MMET")]
#[cfg_attr(feature = "serde", serde(rename = "MMET"))]
Mmet,
#[yaserde(rename = "KMET")]
#[cfg_attr(feature = "serde", serde(rename = "KMET"))]
Kmet,
#[yaserde(rename = "SQYA")]
#[cfg_attr(feature = "serde", serde(rename = "SQYA"))]
Sqya,
#[yaserde(rename = "ACRE")]
#[cfg_attr(feature = "serde", serde(rename = "ACRE"))]
Acre,
#[yaserde(rename = "ARES")]
#[cfg_attr(feature = "serde", serde(rename = "ARES"))]
Ares,
#[yaserde(rename = "SMIL")]
#[cfg_attr(feature = "serde", serde(rename = "SMIL"))]
Smil,
#[yaserde(rename = "SCMT")]
#[cfg_attr(feature = "serde", serde(rename = "SCMT"))]
Scmt,
#[yaserde(rename = "HECT")]
#[cfg_attr(feature = "serde", serde(rename = "HECT"))]
Hect,
#[yaserde(rename = "SQKI")]
#[cfg_attr(feature = "serde", serde(rename = "SQKI"))]
Sqki,
#[yaserde(rename = "MILI")]
#[cfg_attr(feature = "serde", serde(rename = "MILI"))]
Mili,
#[yaserde(rename = "CELI")]
#[cfg_attr(feature = "serde", serde(rename = "CELI"))]
Celi,
#[yaserde(rename = "LITR")]
#[cfg_attr(feature = "serde", serde(rename = "LITR"))]
Litr,
#[yaserde(rename = "PUND")]
#[cfg_attr(feature = "serde", serde(rename = "PUND"))]
Pund,
#[yaserde(rename = "KWHO")]
#[cfg_attr(feature = "serde", serde(rename = "KWHO"))]
Kwho,
#[yaserde(rename = "CHMT")]
#[cfg_attr(feature = "serde", serde(rename = "CHMT"))]
Chmt,
__Unknown__(String),
}
impl Default for UnitOfMeasure14Code {
fn default() -> UnitOfMeasure14Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for UnitOfMeasure14Code {}
#[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.001.001.05")]
pub enum UnitOfMeasure1Code {
#[yaserde(rename = "PIEC")]
#[cfg_attr(feature = "serde", serde(rename = "PIEC"))]
Piec,
#[yaserde(rename = "TONS")]
#[cfg_attr(feature = "serde", serde(rename = "TONS"))]
Tons,
#[yaserde(rename = "FOOT")]
#[cfg_attr(feature = "serde", serde(rename = "FOOT"))]
Foot,
#[yaserde(rename = "GBGA")]
#[cfg_attr(feature = "serde", serde(rename = "GBGA"))]
Gbga,
#[yaserde(rename = "USGA")]
#[cfg_attr(feature = "serde", serde(rename = "USGA"))]
Usga,
#[yaserde(rename = "GRAM")]
#[cfg_attr(feature = "serde", serde(rename = "GRAM"))]
Gram,
#[yaserde(rename = "INCH")]
#[cfg_attr(feature = "serde", serde(rename = "INCH"))]
Inch,
#[yaserde(rename = "KILO")]
#[cfg_attr(feature = "serde", serde(rename = "KILO"))]
Kilo,
#[yaserde(rename = "PUND")]
#[cfg_attr(feature = "serde", serde(rename = "PUND"))]
Pund,
#[yaserde(rename = "METR")]
#[cfg_attr(feature = "serde", serde(rename = "METR"))]
Metr,
#[yaserde(rename = "CMET")]
#[cfg_attr(feature = "serde", serde(rename = "CMET"))]
Cmet,
#[yaserde(rename = "MMET")]
#[cfg_attr(feature = "serde", serde(rename = "MMET"))]
Mmet,
#[yaserde(rename = "LITR")]
#[cfg_attr(feature = "serde", serde(rename = "LITR"))]
Litr,
#[yaserde(rename = "CELI")]
#[cfg_attr(feature = "serde", serde(rename = "CELI"))]
Celi,
#[yaserde(rename = "MILI")]
#[cfg_attr(feature = "serde", serde(rename = "MILI"))]
Mili,
#[yaserde(rename = "GBOU")]
#[cfg_attr(feature = "serde", serde(rename = "GBOU"))]
Gbou,
#[yaserde(rename = "USOU")]
#[cfg_attr(feature = "serde", serde(rename = "USOU"))]
Usou,
#[yaserde(rename = "GBQA")]
#[cfg_attr(feature = "serde", serde(rename = "GBQA"))]
Gbqa,
#[yaserde(rename = "USQA")]
#[cfg_attr(feature = "serde", serde(rename = "USQA"))]
Usqa,
#[yaserde(rename = "GBPI")]
#[cfg_attr(feature = "serde", serde(rename = "GBPI"))]
Gbpi,
#[yaserde(rename = "USPI")]
#[cfg_attr(feature = "serde", serde(rename = "USPI"))]
Uspi,
#[yaserde(rename = "MILE")]
#[cfg_attr(feature = "serde", serde(rename = "MILE"))]
Mile,
#[yaserde(rename = "KMET")]
#[cfg_attr(feature = "serde", serde(rename = "KMET"))]
Kmet,
#[yaserde(rename = "YARD")]
#[cfg_attr(feature = "serde", serde(rename = "YARD"))]
Yard,
#[yaserde(rename = "SQKI")]
#[cfg_attr(feature = "serde", serde(rename = "SQKI"))]
Sqki,
#[yaserde(rename = "HECT")]
#[cfg_attr(feature = "serde", serde(rename = "HECT"))]
Hect,
#[yaserde(rename = "ARES")]
#[cfg_attr(feature = "serde", serde(rename = "ARES"))]
Ares,
#[yaserde(rename = "SMET")]
#[cfg_attr(feature = "serde", serde(rename = "SMET"))]
Smet,
#[yaserde(rename = "SCMT")]
#[cfg_attr(feature = "serde", serde(rename = "SCMT"))]
Scmt,
#[yaserde(rename = "SMIL")]
#[cfg_attr(feature = "serde", serde(rename = "SMIL"))]
Smil,
#[yaserde(rename = "SQMI")]
#[cfg_attr(feature = "serde", serde(rename = "SQMI"))]
Sqmi,
#[yaserde(rename = "SQYA")]
#[cfg_attr(feature = "serde", serde(rename = "SQYA"))]
Sqya,
#[yaserde(rename = "SQFO")]
#[cfg_attr(feature = "serde", serde(rename = "SQFO"))]
Sqfo,
#[yaserde(rename = "SQIN")]
#[cfg_attr(feature = "serde", serde(rename = "SQIN"))]
Sqin,
#[yaserde(rename = "ACRE")]
#[cfg_attr(feature = "serde", serde(rename = "ACRE"))]
Acre,
__Unknown__(String),
}
impl Default for UnitOfMeasure1Code {
fn default() -> UnitOfMeasure1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for UnitOfMeasure1Code {}
#[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.001.001.05")]
pub enum UserInterface1Code {
#[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,
__Unknown__(String),
}
impl Default for UserInterface1Code {
fn default() -> UserInterface1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for UserInterface1Code {}
#[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.001.001.05")]
pub struct Vehicle2 {
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: Max35Text,
#[yaserde(rename = "NtryMd")]
#[cfg_attr(feature = "serde", serde(rename = "NtryMd"))]
pub ntry_md: CardDataReading5Code,
#[yaserde(rename = "Data")]
#[cfg_attr(feature = "serde", serde(rename = "Data"))]
pub data: Max35Text,
}
impl Validate for Vehicle2 {}
#[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.001.001.05")]
pub struct VehicleRentalAdditionalAmount1 {
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: CarRentalServiceType3Code,
#[yaserde(rename = "Amt")]
#[cfg_attr(feature = "serde", serde(rename = "Amt"))]
pub amt: ImpliedCurrencyAndAmount,
#[yaserde(rename = "CdtDbt")]
#[cfg_attr(feature = "serde", serde(rename = "CdtDbt"))]
pub cdt_dbt: CreditDebit3Code,
#[yaserde(rename = "CstmrNtfd")]
#[cfg_attr(feature = "serde", serde(rename = "CstmrNtfd"))]
pub cstmr_ntfd: TrueFalseIndicator,
}
impl Validate for VehicleRentalAdditionalAmount1 {}
#[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.001.001.05")]
pub struct VehicleRentalService4 {
#[yaserde(rename = "CpnyNm")]
#[cfg_attr(feature = "serde", serde(rename = "CpnyNm"))]
pub cpny_nm: Max70Text,
#[yaserde(rename = "CpnyId")]
#[cfg_attr(feature = "serde", serde(rename = "CpnyId"))]
pub cpny_id: Max35Text,
#[yaserde(rename = "CpnyBizNm")]
#[cfg_attr(feature = "serde", serde(rename = "CpnyBizNm"))]
pub cpny_biz_nm: Max35Text,
#[yaserde(rename = "CpnyLglCorpNm")]
#[cfg_attr(feature = "serde", serde(rename = "CpnyLglCorpNm"))]
pub cpny_lgl_corp_nm: Max99Text,
#[yaserde(rename = "CpnyAdr")]
#[cfg_attr(feature = "serde", serde(rename = "CpnyAdr"))]
pub cpny_adr: Address4,
#[yaserde(rename = "CpnyLclData")]
#[cfg_attr(feature = "serde", serde(rename = "CpnyLclData"))]
pub cpny_lcl_data: Vec<LocalData20>,
#[yaserde(rename = "CpnyCtct")]
#[cfg_attr(feature = "serde", serde(rename = "CpnyCtct"))]
pub cpny_ctct: ContactBusiness2,
#[yaserde(rename = "CpnyTp")]
#[cfg_attr(feature = "serde", serde(rename = "CpnyTp"))]
pub cpny_tp: CarRentalActivity2Code,
#[yaserde(rename = "RntrNm")]
#[cfg_attr(feature = "serde", serde(rename = "RntrNm"))]
pub rntr_nm: Max105Text,
#[yaserde(rename = "RntrCorpNm")]
#[cfg_attr(feature = "serde", serde(rename = "RntrCorpNm"))]
pub rntr_corp_nm: Max70Text,
#[yaserde(rename = "RntrCorpIdr")]
#[cfg_attr(feature = "serde", serde(rename = "RntrCorpIdr"))]
pub rntr_corp_idr: Max35Text,
#[yaserde(rename = "RntrCorpIdrAssgnr")]
#[cfg_attr(feature = "serde", serde(rename = "RntrCorpIdrAssgnr"))]
pub rntr_corp_idr_assgnr: CustomerAssigner1Code,
#[yaserde(rename = "PmryDrvr")]
#[cfg_attr(feature = "serde", serde(rename = "PmryDrvr"))]
pub pmry_drvr: DriverInParty4,
#[yaserde(rename = "AddtlDrvr")]
#[cfg_attr(feature = "serde", serde(rename = "AddtlDrvr"))]
pub addtl_drvr: Vec<DriverInParty4>,
#[yaserde(rename = "LltyPrgrmm")]
#[cfg_attr(feature = "serde", serde(rename = "LltyPrgrmm"))]
pub llty_prgrmm: Vec<LoyaltyProgramme4>,
#[yaserde(rename = "SummryCmmdtyId")]
#[cfg_attr(feature = "serde", serde(rename = "SummryCmmdtyId"))]
pub summry_cmmdty_id: Max35Text,
#[yaserde(rename = "NoShow")]
#[cfg_attr(feature = "serde", serde(rename = "NoShow"))]
pub no_show: TrueFalseIndicator,
#[yaserde(rename = "RntlAgrmtNb")]
#[cfg_attr(feature = "serde", serde(rename = "RntlAgrmtNb"))]
pub rntl_agrmt_nb: Max35Text,
#[yaserde(rename = "RntlLctn")]
#[cfg_attr(feature = "serde", serde(rename = "RntlLctn"))]
pub rntl_lctn: Address4,
#[yaserde(rename = "Adjstd")]
#[cfg_attr(feature = "serde", serde(rename = "Adjstd"))]
pub adjstd: TrueFalseIndicator,
#[yaserde(rename = "PckpLctn")]
#[cfg_attr(feature = "serde", serde(rename = "PckpLctn"))]
pub pckp_lctn: Vec<Address4>,
#[yaserde(rename = "ChckOutDt")]
#[cfg_attr(feature = "serde", serde(rename = "ChckOutDt"))]
pub chck_out_dt: Isodate,
#[yaserde(rename = "ChckOutTm")]
#[cfg_attr(feature = "serde", serde(rename = "ChckOutTm"))]
pub chck_out_tm: Isotime,
#[yaserde(rename = "RtrLctn")]
#[cfg_attr(feature = "serde", serde(rename = "RtrLctn"))]
pub rtr_lctn: Address4,
#[yaserde(rename = "ChckInDt")]
#[cfg_attr(feature = "serde", serde(rename = "ChckInDt"))]
pub chck_in_dt: Isodate,
#[yaserde(rename = "ChckInTm")]
#[cfg_attr(feature = "serde", serde(rename = "ChckInTm"))]
pub chck_in_tm: Isotime,
#[yaserde(rename = "Drtn")]
#[cfg_attr(feature = "serde", serde(rename = "Drtn"))]
pub drtn: Max4NumericText,
#[yaserde(rename = "ClssInvcd")]
#[cfg_attr(feature = "serde", serde(rename = "ClssInvcd"))]
pub clss_invcd: Max35Text,
#[yaserde(rename = "MakeInvcd")]
#[cfg_attr(feature = "serde", serde(rename = "MakeInvcd"))]
pub make_invcd: Max35NumericText,
#[yaserde(rename = "MdlInvcd")]
#[cfg_attr(feature = "serde", serde(rename = "MdlInvcd"))]
pub mdl_invcd: Max35NumericText,
#[yaserde(rename = "RegnNbInvcd")]
#[cfg_attr(feature = "serde", serde(rename = "RegnNbInvcd"))]
pub regn_nb_invcd: Max35Text,
#[yaserde(rename = "ClssPrvdd")]
#[cfg_attr(feature = "serde", serde(rename = "ClssPrvdd"))]
pub clss_prvdd: Max35Text,
#[yaserde(rename = "MakePrvdd")]
#[cfg_attr(feature = "serde", serde(rename = "MakePrvdd"))]
pub make_prvdd: Max35NumericText,
#[yaserde(rename = "MdlPrvdd")]
#[cfg_attr(feature = "serde", serde(rename = "MdlPrvdd"))]
pub mdl_prvdd: Max35NumericText,
#[yaserde(rename = "RegnNbPrvdd")]
#[cfg_attr(feature = "serde", serde(rename = "RegnNbPrvdd"))]
pub regn_nb_prvdd: Max35Text,
#[yaserde(rename = "DstncUnit")]
#[cfg_attr(feature = "serde", serde(rename = "DstncUnit"))]
pub dstnc_unit: UnitOfMeasure10Code,
#[yaserde(rename = "OdmtrStart")]
#[cfg_attr(feature = "serde", serde(rename = "OdmtrStart"))]
pub odmtr_start: Max10NumericText,
#[yaserde(rename = "OdmtrRtr")]
#[cfg_attr(feature = "serde", serde(rename = "OdmtrRtr"))]
pub odmtr_rtr: Max10NumericText,
#[yaserde(rename = "TtlDstnc")]
#[cfg_attr(feature = "serde", serde(rename = "TtlDstnc"))]
pub ttl_dstnc: Max10NumericText,
#[yaserde(rename = "FreeDstnc")]
#[cfg_attr(feature = "serde", serde(rename = "FreeDstnc"))]
pub free_dstnc: Max10NumericText,
#[yaserde(rename = "DstncRate")]
#[cfg_attr(feature = "serde", serde(rename = "DstncRate"))]
pub dstnc_rate: ImpliedCurrencyAndAmount,
#[yaserde(rename = "RntlRate")]
#[cfg_attr(feature = "serde", serde(rename = "RntlRate"))]
pub rntl_rate: Vec<RentalRate3>,
#[yaserde(rename = "Insrnc")]
#[cfg_attr(feature = "serde", serde(rename = "Insrnc"))]
pub insrnc: TrueFalseIndicator,
#[yaserde(rename = "AddtlAmt")]
#[cfg_attr(feature = "serde", serde(rename = "AddtlAmt"))]
pub addtl_amt: Vec<VehicleRentalAdditionalAmount1>,
#[yaserde(rename = "Tax")]
#[cfg_attr(feature = "serde", serde(rename = "Tax"))]
pub tax: Vec<Tax44>,
#[yaserde(rename = "PrvtData")]
#[cfg_attr(feature = "serde", serde(rename = "PrvtData"))]
pub prvt_data: Vec<AticalaxProcessing>,
#[yaserde(rename = "NtlData")]
#[cfg_attr(feature = "serde", serde(rename = "NtlData"))]
pub ntl_data: Vec<AticalaxProcessing>,
}
impl Validate for VehicleRentalService4 {}
#[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.001.001.05")]
pub enum Verification4Code {
#[yaserde(rename = "FAIL")]
#[cfg_attr(feature = "serde", serde(rename = "FAIL"))]
Fail,
#[yaserde(rename = "FUTA")]
#[cfg_attr(feature = "serde", serde(rename = "FUTA"))]
Futa,
#[yaserde(rename = "MISS")]
#[cfg_attr(feature = "serde", serde(rename = "MISS"))]
Miss,
#[yaserde(rename = "NOSP")]
#[cfg_attr(feature = "serde", serde(rename = "NOSP"))]
Nosp,
#[yaserde(rename = "NOVF")]
#[cfg_attr(feature = "serde", serde(rename = "NOVF"))]
Novf,
#[yaserde(rename = "PART")]
#[cfg_attr(feature = "serde", serde(rename = "PART"))]
Part,
#[yaserde(rename = "SUCC")]
#[cfg_attr(feature = "serde", serde(rename = "SUCC"))]
Succ,
#[yaserde(rename = "ERRR")]
#[cfg_attr(feature = "serde", serde(rename = "ERRR"))]
Errr,
__Unknown__(String),
}
impl Default for Verification4Code {
fn default() -> Verification4Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for Verification4Code {}
#[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.001.001.05")]
pub struct Verification8 {
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: ExternalAuthenticationMethod1Code,
#[yaserde(rename = "SubTp")]
#[cfg_attr(feature = "serde", serde(rename = "SubTp"))]
pub sub_tp: Max35Text,
#[yaserde(rename = "Data")]
#[cfg_attr(feature = "serde", serde(rename = "Data"))]
pub data: Vec<VerificationValue1>,
#[yaserde(rename = "PINData")]
#[cfg_attr(feature = "serde", serde(rename = "PINData"))]
pub pin_data: Pindata1,
#[yaserde(rename = "Ntty")]
#[cfg_attr(feature = "serde", serde(rename = "Ntty"))]
pub ntty: VerificationEntity3Code,
#[yaserde(rename = "Rslt")]
#[cfg_attr(feature = "serde", serde(rename = "Rslt"))]
pub rslt: Verification4Code,
#[yaserde(rename = "RsltDtls")]
#[cfg_attr(feature = "serde", serde(rename = "RsltDtls"))]
pub rslt_dtls: AticalaxProcessing,
}
impl Validate for Verification8 {}
#[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.001.001.05")]
pub enum VerificationEntity3Code {
#[yaserde(rename = "MERC")]
#[cfg_attr(feature = "serde", serde(rename = "MERC"))]
Merc,
#[yaserde(rename = "ACQR")]
#[cfg_attr(feature = "serde", serde(rename = "ACQR"))]
Acqr,
#[yaserde(rename = "AGNT")]
#[cfg_attr(feature = "serde", serde(rename = "AGNT"))]
Agnt,
#[yaserde(rename = "ISSR")]
#[cfg_attr(feature = "serde", serde(rename = "ISSR"))]
Issr,
#[yaserde(rename = "CDAD")]
#[cfg_attr(feature = "serde", serde(rename = "CDAD"))]
Cdad,
#[yaserde(rename = "ICCA")]
#[cfg_attr(feature = "serde", serde(rename = "ICCA"))]
Icca,
__Unknown__(String),
}
impl Default for VerificationEntity3Code {
fn default() -> VerificationEntity3Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for VerificationEntity3Code {}
#[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.001.001.05")]
pub struct VerificationValue1 {
#[yaserde(rename = "Nm")]
#[cfg_attr(feature = "serde", serde(rename = "Nm"))]
pub nm: Max35Text,
#[yaserde(rename = "TxtVal")]
#[cfg_attr(feature = "serde", serde(rename = "TxtVal"))]
pub txt_val: Max2048Text,
#[yaserde(rename = "BinryVal")]
#[cfg_attr(feature = "serde", serde(rename = "BinryVal"))]
pub binry_val: Max5000Binary,
#[yaserde(rename = "HexBinryVal")]
#[cfg_attr(feature = "serde", serde(rename = "HexBinryVal"))]
pub hex_binry_val: Max9999HexBinaryText,
#[yaserde(rename = "DtTm")]
#[cfg_attr(feature = "serde", serde(rename = "DtTm"))]
pub dt_tm: IsodateTime,
#[yaserde(rename = "VldtyEndDt")]
#[cfg_attr(feature = "serde", serde(rename = "VldtyEndDt"))]
pub vldty_end_dt: Isodate,
#[yaserde(rename = "VldtyEndTm")]
#[cfg_attr(feature = "serde", serde(rename = "VldtyEndTm"))]
pub vldty_end_tm: Isotime,
}
impl Validate for VerificationValue1 {}
#[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.001.001.05")]
pub struct Wallet4 {
#[yaserde(rename = "PrvdrNm")]
#[cfg_attr(feature = "serde", serde(rename = "PrvdrNm"))]
pub prvdr_nm: Max70Text,
#[yaserde(rename = "PrvdrBizNm")]
#[cfg_attr(feature = "serde", serde(rename = "PrvdrBizNm"))]
pub prvdr_biz_nm: Max35Text,
#[yaserde(rename = "PrvdrId")]
#[cfg_attr(feature = "serde", serde(rename = "PrvdrId"))]
pub prvdr_id: Max35Text,
#[yaserde(rename = "PrvdrLglCorpNm")]
#[cfg_attr(feature = "serde", serde(rename = "PrvdrLglCorpNm"))]
pub prvdr_lgl_corp_nm: Max99Text,
#[yaserde(rename = "PrvdrAdr")]
#[cfg_attr(feature = "serde", serde(rename = "PrvdrAdr"))]
pub prvdr_adr: Address4,
#[yaserde(rename = "PrvdrLclData")]
#[cfg_attr(feature = "serde", serde(rename = "PrvdrLclData"))]
pub prvdr_lcl_data: Vec<LocalData20>,
#[yaserde(rename = "PANAge")]
#[cfg_attr(feature = "serde", serde(rename = "PANAge"))]
pub pan_age: Max5PositiveNumber,
#[yaserde(rename = "UsrAcctAge")]
#[cfg_attr(feature = "serde", serde(rename = "UsrAcctAge"))]
pub usr_acct_age: Max5PositiveNumber,
#[yaserde(rename = "AcctAge")]
#[cfg_attr(feature = "serde", serde(rename = "AcctAge"))]
pub acct_age: Max5PositiveNumber,
#[yaserde(rename = "DaysSncLastActvty")]
#[cfg_attr(feature = "serde", serde(rename = "DaysSncLastActvty"))]
pub days_snc_last_actvty: Max5PositiveNumber,
#[yaserde(rename = "Actvty")]
#[cfg_attr(feature = "serde", serde(rename = "Actvty"))]
pub actvty: Max10PositiveNumber,
#[yaserde(rename = "ActvtyIntrvl")]
#[cfg_attr(feature = "serde", serde(rename = "ActvtyIntrvl"))]
pub actvty_intrvl: Frequency12Code,
#[yaserde(rename = "LastWlltChng")]
#[cfg_attr(feature = "serde", serde(rename = "LastWlltChng"))]
pub last_wllt_chng: Max5PositiveNumber,
#[yaserde(rename = "SspdCrds")]
#[cfg_attr(feature = "serde", serde(rename = "SspdCrds"))]
pub sspd_crds: Max5PositiveNumber,
#[yaserde(rename = "AcctCtry")]
#[cfg_attr(feature = "serde", serde(rename = "AcctCtry"))]
pub acct_ctry: Isomax3ACountryCode,
#[yaserde(rename = "CardDataNtryMd")]
#[cfg_attr(feature = "serde", serde(rename = "CardDataNtryMd"))]
pub card_data_ntry_md: CardDataReading12Code,
#[yaserde(rename = "AcctEmailAge")]
#[cfg_attr(feature = "serde", serde(rename = "AcctEmailAge"))]
pub acct_email_age: Max5PositiveNumber,
#[yaserde(rename = "PrvdrRskAssmnt")]
#[cfg_attr(feature = "serde", serde(rename = "PrvdrRskAssmnt"))]
pub prvdr_rsk_assmnt: RiskAssessment1Code,
#[yaserde(rename = "PrvdrRskAssmntMdlVrsn")]
#[cfg_attr(feature = "serde", serde(rename = "PrvdrRskAssmntMdlVrsn"))]
pub prvdr_rsk_assmnt_mdl_vrsn: Max35Text,
#[yaserde(rename = "PrvdrPhneScore")]
#[cfg_attr(feature = "serde", serde(rename = "PrvdrPhneScore"))]
pub prvdr_phne_score: Max5PositiveNumber,
#[yaserde(rename = "PrvdrDvcScore")]
#[cfg_attr(feature = "serde", serde(rename = "PrvdrDvcScore"))]
pub prvdr_dvc_score: Max5PositiveNumber,
#[yaserde(rename = "PrvdrAcctScore")]
#[cfg_attr(feature = "serde", serde(rename = "PrvdrAcctScore"))]
pub prvdr_acct_score: Max5PositiveNumber,
#[yaserde(rename = "PrvdrRsnCd")]
#[cfg_attr(feature = "serde", serde(rename = "PrvdrRsnCd"))]
pub prvdr_rsn_cd: Max35Text,
#[yaserde(rename = "PrvtData")]
#[cfg_attr(feature = "serde", serde(rename = "PrvtData"))]
pub prvt_data: Vec<AticalaxProcessing>,
#[yaserde(rename = "NtlData")]
#[cfg_attr(feature = "serde", serde(rename = "NtlData"))]
pub ntl_data: Vec<AticalaxProcessing>,
}
impl Validate for Wallet4 {}
impl crate::MxMessage for Document {
const BUSINESS_AREA: crate::BusinessArea = crate::BusinessArea::cain;
const FUNCTIONALITY: &'static str = "001";
const VARIANT: &'static str = "001";
const VERSION: &'static str = "05";
const MESSAGE_NAME: &'static str = "cain.001.001.05";
const NAMESPACE: &'static str = "urn:iso:std:iso:20022:tech:xsd:cain.001.001.05";
}