#![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.027.001.04")]
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.027.001.04")]
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.027.001.04")]
pub struct AcceptorData2 {
#[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 = "SubmittdAdr")]
#[cfg_attr(feature = "serde", serde(rename = "SubmittdAdr"))]
pub submittd_adr: Address4,
#[yaserde(rename = "ApldAdr")]
#[cfg_attr(feature = "serde", serde(rename = "ApldAdr"))]
pub apld_adr: Address4,
#[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 = "LclData")]
#[cfg_attr(feature = "serde", serde(rename = "LclData"))]
pub lcl_data: Vec<LocalData18>,
#[yaserde(rename = "AddtlTxRefNb")]
#[cfg_attr(feature = "serde", serde(rename = "AddtlTxRefNb"))]
pub addtl_tx_ref_nb: Max70Text,
#[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 AcceptorData2 {}
#[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.027.001.04")]
pub struct AcceptorData3 {
#[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 = "URLAdr")]
#[cfg_attr(feature = "serde", serde(rename = "URLAdr"))]
pub url_adr: Max256Text,
#[yaserde(rename = "PhneNb")]
#[cfg_attr(feature = "serde", serde(rename = "PhneNb"))]
pub phne_nb: 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 = "LclData")]
#[cfg_attr(feature = "serde", serde(rename = "LclData"))]
pub lcl_data: LocalData19,
#[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 = "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 AcceptorData3 {}
#[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.027.001.04")]
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.027.001.04")]
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(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.027.001.04")]
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.027.001.04")]
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.027.001.04")]
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.027.001.04")]
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.027.001.04")]
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.027.001.04")]
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.027.001.04")]
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.027.001.04")]
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.027.001.04")]
pub struct CardData17 {
#[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 = "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 = "PANRefIdr")]
#[cfg_attr(feature = "serde", serde(rename = "PANRefIdr"))]
pub pan_ref_idr: Max35Text,
#[yaserde(rename = "PANFourLastDgts")]
#[cfg_attr(feature = "serde", serde(rename = "PANFourLastDgts"))]
pub pan_four_last_dgts: Max4NumericText,
#[yaserde(rename = "Ctry")]
#[cfg_attr(feature = "serde", serde(rename = "Ctry"))]
pub ctry: Iso3NumericCountryCode,
#[yaserde(rename = "Ccy")]
#[cfg_attr(feature = "serde", serde(rename = "Ccy"))]
pub ccy: Iso3NumericCurrencyCode,
#[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 CardData17 {}
#[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.027.001.04")]
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.027.001.04")]
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.027.001.04")]
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.027.001.04")]
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.027.001.04")]
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.027.001.04")]
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.027.001.04")]
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.027.001.04")]
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.027.001.04")]
pub struct ChargeBackInitiationV04 {
#[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: TransactionCharacteristics6,
#[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: CardData17,
#[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: TransactionIdentification59,
#[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: TransactionAmounts5,
#[yaserde(rename = "Accptr")]
#[cfg_attr(feature = "serde", serde(rename = "Accptr"))]
pub accptr: AcceptorData2,
#[yaserde(rename = "Txtr")]
#[cfg_attr(feature = "serde", serde(rename = "Txtr"))]
pub txtr: TransactorData1,
#[yaserde(rename = "Termnl")]
#[cfg_attr(feature = "serde", serde(rename = "Termnl"))]
pub termnl: Terminal12,
#[yaserde(rename = "Cntxt")]
#[cfg_attr(feature = "serde", serde(rename = "Cntxt"))]
pub cntxt: Context25,
#[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 = "OrgnlTxAmts")]
#[cfg_attr(feature = "serde", serde(rename = "OrgnlTxAmts"))]
pub orgnl_tx_amts: OriginalTransactionAmounts4,
#[yaserde(rename = "Tkn")]
#[cfg_attr(feature = "serde", serde(rename = "Tkn"))]
pub tkn: Token5,
#[yaserde(rename = "Wllt")]
#[cfg_attr(feature = "serde", serde(rename = "Wllt"))]
pub wllt: Wallet4,
#[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 = "DsptData")]
#[cfg_attr(feature = "serde", serde(rename = "DsptData"))]
pub dspt_data: Vec<DisputeData5>,
#[yaserde(rename = "Dcmnttn")]
#[cfg_attr(feature = "serde", serde(rename = "Dcmnttn"))]
pub dcmnttn: Vec<DisputeDocumentation2>,
#[yaserde(rename = "OrgnlTx")]
#[cfg_attr(feature = "serde", serde(rename = "OrgnlTx"))]
pub orgnl_tx: OriginalTransaction4,
#[yaserde(rename = "PrcgRslt")]
#[cfg_attr(feature = "serde", serde(rename = "PrcgRslt"))]
pub prcg_rslt: ProcessingResult31,
#[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 ChargeBackInitiationV04 {}
#[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.027.001.04")]
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.027.001.04")]
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.027.001.04")]
pub struct Context25 {
#[yaserde(rename = "CardDataNtryMd")]
#[cfg_attr(feature = "serde", serde(rename = "CardDataNtryMd"))]
pub card_data_ntry_md: CardDataReading11Code,
#[yaserde(rename = "OthrCardDataNtryMd")]
#[cfg_attr(feature = "serde", serde(rename = "OthrCardDataNtryMd"))]
pub othr_card_data_ntry_md: Max35Text,
#[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 = "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 = "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 = "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 = "StorgLctn")]
#[cfg_attr(feature = "serde", serde(rename = "StorgLctn"))]
pub storg_lctn: Max35Text,
#[yaserde(rename = "AuthntcnOutg")]
#[cfg_attr(feature = "serde", serde(rename = "AuthntcnOutg"))]
pub authntcn_outg: TrueFalseIndicator,
#[yaserde(rename = "PmtCrdntlMrchntRltsh")]
#[cfg_attr(feature = "serde", serde(rename = "PmtCrdntlMrchntRltsh"))]
pub pmt_crdntl_mrchnt_rltsh: 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 = "ICCFllbck")]
#[cfg_attr(feature = "serde", serde(rename = "ICCFllbck"))]
pub icc_fllbck: 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 Context25 {}
#[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.027.001.04")]
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.027.001.04")]
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.027.001.04")]
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.027.001.04")]
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.027.001.04")]
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.027.001.04")]
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, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.027.001.04")]
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.027.001.04")]
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.027.001.04")]
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.027.001.04")]
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.027.001.04")]
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.027.001.04")]
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.027.001.04")]
pub struct DisputeData5 {
#[yaserde(rename = "Cycl")]
#[cfg_attr(feature = "serde", serde(rename = "Cycl"))]
pub cycl: Exact1NumericText,
#[yaserde(rename = "Cond")]
#[cfg_attr(feature = "serde", serde(rename = "Cond"))]
pub cond: Max35Text,
#[yaserde(rename = "Sts")]
#[cfg_attr(feature = "serde", serde(rename = "Sts"))]
pub sts: Max35Text,
#[yaserde(rename = "Prtl")]
#[cfg_attr(feature = "serde", serde(rename = "Prtl"))]
pub prtl: TrueFalseIndicator,
#[yaserde(rename = "AgtBndlCaseRef")]
#[cfg_attr(feature = "serde", serde(rename = "AgtBndlCaseRef"))]
pub agt_bndl_case_ref: Max20Text,
#[yaserde(rename = "AgtCaseRef")]
#[cfg_attr(feature = "serde", serde(rename = "AgtCaseRef"))]
pub agt_case_ref: Max20Text,
#[yaserde(rename = "AcqrrCaseRef")]
#[cfg_attr(feature = "serde", serde(rename = "AcqrrCaseRef"))]
pub acqrr_case_ref: Max20Text,
#[yaserde(rename = "IssrCaseRef")]
#[cfg_attr(feature = "serde", serde(rename = "IssrCaseRef"))]
pub issr_case_ref: Max20Text,
#[yaserde(rename = "DcmnttnSts")]
#[cfg_attr(feature = "serde", serde(rename = "DcmnttnSts"))]
pub dcmnttn_sts: Max35Text,
#[yaserde(rename = "RjctRsn")]
#[cfg_attr(feature = "serde", serde(rename = "RjctRsn"))]
pub rjct_rsn: Vec<Max35Text>,
#[yaserde(rename = "ChrgbckElgblty")]
#[cfg_attr(feature = "serde", serde(rename = "ChrgbckElgblty"))]
pub chrgbck_elgblty: Max35Text,
#[yaserde(rename = "MsgTxt")]
#[cfg_attr(feature = "serde", serde(rename = "MsgTxt"))]
pub msg_txt: Max50Text,
#[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 DisputeData5 {}
#[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.027.001.04")]
pub struct DisputeDocumentation2 {
#[yaserde(rename = "Frmt")]
#[cfg_attr(feature = "serde", serde(rename = "Frmt"))]
pub frmt: OutputFormat6Code,
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: Max35Text,
#[yaserde(rename = "Val")]
#[cfg_attr(feature = "serde", serde(rename = "Val"))]
pub val: Max20KText,
}
impl Validate for DisputeDocumentation2 {}
#[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.027.001.04")]
pub struct Document {
#[yaserde(rename = "ChrgBckInitn")]
#[cfg_attr(feature = "serde", serde(rename = "ChrgBckInitn"))]
pub chrg_bck_initn: ChargeBackInitiationV04,
}
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.027.001.04")]
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.027.001.04")]
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.027.001.04")]
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.027.001.04")]
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.027.001.04")]
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, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.027.001.04")]
pub struct ErrorDetails4 {
#[yaserde(rename = "ErrCd")]
#[cfg_attr(feature = "serde", serde(rename = "ErrCd"))]
pub err_cd: Iso8583MessageErrorCode,
#[yaserde(rename = "svrtyCd")]
#[cfg_attr(feature = "serde", serde(rename = "svrtyCd"))]
pub svrty_cd: Max2NumericText,
#[yaserde(rename = "Desc")]
#[cfg_attr(feature = "serde", serde(rename = "Desc"))]
pub desc: Max500Text,
#[yaserde(rename = "DataElmtInErr")]
#[cfg_attr(feature = "serde", serde(rename = "DataElmtInErr"))]
pub data_elmt_in_err: Vec<Max4000Text>,
}
impl Validate for ErrorDetails4 {}
#[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 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.027.001.04")]
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.027.001.04")]
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)]
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.027.001.04")]
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(PartialEq, Debug, Clone, YaSerialize, YaDeserialize)]#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.027.001.04")]
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(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.027.001.04")]
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.027.001.04")]
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.027.001.04")]
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.027.001.04")]
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.027.001.04")]
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.027.001.04")]
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.027.001.04")]
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(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.027.001.04")]
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(PartialEq, Debug, Clone, YaSerialize, YaDeserialize)]#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.027.001.04")]
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 Iso8583MessageErrorCode (pub String);
crate::simple_type!(Iso8583MessageErrorCode);
impl Validate for Iso8583MessageErrorCode {}
#[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.027.001.04")]
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.027.001.04")]
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.027.001.04")]
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.027.001.04")]
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.027.001.04")]
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.027.001.04")]
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.027.001.04")]
pub struct LocalData18 {
#[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 LocalData18 {}
#[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.027.001.04")]
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.027.001.04")]
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.027.001.04")]
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.027.001.04")]
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.027.001.04")]
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(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.027.001.04")]
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.027.001.04")]
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 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 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 Max16Text (pub String);
crate::simple_type!(Max16Text);
impl Validate for Max16Text {
fn validate(&self) -> Result<(), String> {
#[allow(clippy::len_zero)]
if self.0.len() < 1 {
return Err(format!("MinLength validation error. \nExpected: 0 length >= 1 \nActual: 0 length == {}", self.0.len()));
}
if self.0.len() > 16 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 16 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max19NumericText (pub String);
crate::simple_type!(Max19NumericText);
impl Validate for Max19NumericText {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct 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 Max20KText (pub String);
crate::simple_type!(Max20KText);
impl Validate for Max20KText {
fn validate(&self) -> Result<(), String> {
#[allow(clippy::len_zero)]
if self.0.len() < 1 {
return Err(format!("MinLength validation error. \nExpected: 0 length >= 1 \nActual: 0 length == {}", self.0.len()));
}
if self.0.len() > 20000 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 20000 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct 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 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 Max4000Text (pub String);
crate::simple_type!(Max4000Text);
impl Validate for Max4000Text {
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() > 4000 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 4000 \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 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 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 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 Max70Text (pub String);
crate::simple_type!(Max70Text);
impl Validate for Max70Text {
fn validate(&self) -> Result<(), String> {
#[allow(clippy::len_zero)]
if self.0.len() < 1 {
return Err(format!("MinLength validation error. \nExpected: 0 length >= 1 \nActual: 0 length == {}", self.0.len()));
}
if self.0.len() > 70 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 70 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max8HexBinaryText (pub String);
crate::simple_type!(Max8HexBinaryText);
impl Validate for Max8HexBinaryText {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max8NumericText (pub String);
crate::simple_type!(Max8NumericText);
impl Validate for Max8NumericText {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max9999HexBinaryText (pub String);
crate::simple_type!(Max9999HexBinaryText);
impl Validate for Max9999HexBinaryText {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max99Text (pub String);
crate::simple_type!(Max99Text);
impl Validate for Max99Text {
fn validate(&self) -> Result<(), String> {
#[allow(clippy::len_zero)]
if self.0.len() < 1 {
return Err(format!("MinLength validation error. \nExpected: 0 length >= 1 \nActual: 0 length == {}", self.0.len()));
}
if self.0.len() > 99 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 99 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(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.027.001.04")]
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.027.001.04")]
pub struct OriginalTransaction4 {
#[yaserde(rename = "TxChrtcs")]
#[cfg_attr(feature = "serde", serde(rename = "TxChrtcs"))]
pub tx_chrtcs: OriginalTransactionCharacteristics2,
#[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: CardData17,
#[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: TransactionIdentification60,
#[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 = "Accptr")]
#[cfg_attr(feature = "serde", serde(rename = "Accptr"))]
pub accptr: AcceptorData3,
#[yaserde(rename = "Termnl")]
#[cfg_attr(feature = "serde", serde(rename = "Termnl"))]
pub termnl: Terminal13,
#[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 = "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 = "Vrfctn")]
#[cfg_attr(feature = "serde", serde(rename = "Vrfctn"))]
pub vrfctn: Vec<Verification9>,
#[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 = "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 = "DsptData")]
#[cfg_attr(feature = "serde", serde(rename = "DsptData"))]
pub dspt_data: Vec<DisputeData5>,
#[yaserde(rename = "Dcmnttn")]
#[cfg_attr(feature = "serde", serde(rename = "Dcmnttn"))]
pub dcmnttn: Vec<DisputeDocumentation2>,
#[yaserde(rename = "PrcgRslt")]
#[cfg_attr(feature = "serde", serde(rename = "PrcgRslt"))]
pub prcg_rslt: ProcessingResult29,
}
impl Validate for OriginalTransaction4 {}
#[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.027.001.04")]
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.027.001.04")]
pub struct OriginalTransactionCharacteristics2 {
#[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 = "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 = "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 OriginalTransactionCharacteristics2 {}
#[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.027.001.04")]
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.027.001.04")]
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(PartialEq, Debug, Clone, YaSerialize, YaDeserialize)]#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.027.001.04")]
pub enum OutputFormat6Code {
#[yaserde(rename = "FLNM")]
#[cfg_attr(feature = "serde", serde(rename = "FLNM"))]
Flnm,
#[yaserde(rename = "MREF")]
#[cfg_attr(feature = "serde", serde(rename = "MREF"))]
Mref,
#[yaserde(rename = "SMSI")]
#[cfg_attr(feature = "serde", serde(rename = "SMSI"))]
Smsi,
#[yaserde(rename = "TEXT")]
#[cfg_attr(feature = "serde", serde(rename = "TEXT"))]
Text,
#[yaserde(rename = "URLI")]
#[cfg_attr(feature = "serde", serde(rename = "URLI"))]
Urli,
#[yaserde(rename = "HTML")]
#[cfg_attr(feature = "serde", serde(rename = "HTML"))]
Html,
__Unknown__(String),
}
impl Default for OutputFormat6Code {
fn default() -> OutputFormat6Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for OutputFormat6Code {}
#[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.027.001.04")]
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.027.001.04")]
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.027.001.04")]
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.027.001.04")]
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 PhoneNumber (pub String);
crate::simple_type!(PhoneNumber);
impl Validate for PhoneNumber {}
#[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.027.001.04")]
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(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.027.001.04")]
pub struct ProcessingResult29 {
#[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 = "RspnRsn")]
#[cfg_attr(feature = "serde", serde(rename = "RspnRsn"))]
pub rspn_rsn: Max4Text,
#[yaserde(rename = "ActnCd")]
#[cfg_attr(feature = "serde", serde(rename = "ActnCd"))]
pub actn_cd: Iso8583ActionCode,
#[yaserde(rename = "ApprvlCd")]
#[cfg_attr(feature = "serde", serde(rename = "ApprvlCd"))]
pub apprvl_cd: Exact6AlphaNumericText,
#[yaserde(rename = "TempScrCardDataReusePrtd")]
#[cfg_attr(feature = "serde", serde(rename = "TempScrCardDataReusePrtd"))]
pub temp_scr_card_data_reuse_prtd: TrueFalseIndicator,
#[yaserde(rename = "ErrDtl")]
#[cfg_attr(feature = "serde", serde(rename = "ErrDtl"))]
pub err_dtl: Vec<ErrorDetails4>,
#[yaserde(rename = "CrdhldrRctData")]
#[cfg_attr(feature = "serde", serde(rename = "CrdhldrRctData"))]
pub crdhldr_rct_data: Max99Text,
#[yaserde(rename = "CardAccptrRctData")]
#[cfg_attr(feature = "serde", serde(rename = "CardAccptrRctData"))]
pub card_accptr_rct_data: Max99Text,
#[yaserde(rename = "CrdhldrDispData")]
#[cfg_attr(feature = "serde", serde(rename = "CrdhldrDispData"))]
pub crdhldr_disp_data: Max99Text,
#[yaserde(rename = "CardAccptrDispData")]
#[cfg_attr(feature = "serde", serde(rename = "CardAccptrDispData"))]
pub card_accptr_disp_data: Max99Text,
#[yaserde(rename = "CardIssrTelNb")]
#[cfg_attr(feature = "serde", serde(rename = "CardIssrTelNb"))]
pub card_issr_tel_nb: PhoneNumber,
#[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 ProcessingResult29 {}
#[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.027.001.04")]
pub struct ProcessingResult31 {
#[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 = "ActnCd")]
#[cfg_attr(feature = "serde", serde(rename = "ActnCd"))]
pub actn_cd: Iso8583ActionCode,
#[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 = "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 ProcessingResult31 {}
#[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.027.001.04")]
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(PartialEq, Debug, Clone, YaSerialize, YaDeserialize)]#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.027.001.04")]
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.027.001.04")]
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.027.001.04")]
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.027.001.04")]
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.027.001.04")]
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.027.001.04")]
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.027.001.04")]
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.027.001.04")]
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(PartialEq, Debug, Clone, YaSerialize, YaDeserialize)]#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.027.001.04")]
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.027.001.04")]
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.027.001.04")]
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.027.001.04")]
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(PartialEq, Debug, Clone, YaSerialize, YaDeserialize)]#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.027.001.04")]
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.027.001.04")]
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.027.001.04")]
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.027.001.04")]
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.027.001.04")]
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.027.001.04")]
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.027.001.04")]
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.027.001.04")]
pub struct Terminal12 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Max16Text,
#[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 Terminal12 {}
#[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.027.001.04")]
pub struct Terminal13 {
#[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 = "PINNtrySctyChrtc")]
#[cfg_attr(feature = "serde", serde(rename = "PINNtrySctyChrtc"))]
pub pin_ntry_scty_chrtc: 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 = "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 Terminal13 {}
#[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.027.001.04")]
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.027.001.04")]
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.027.001.04")]
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.027.001.04")]
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.027.001.04")]
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.027.001.04")]
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.027.001.04")]
pub struct TransactionCharacteristics6 {
#[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 = "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 = "TxDesc")]
#[cfg_attr(feature = "serde", serde(rename = "TxDesc"))]
pub tx_desc: Max1000Text,
#[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 TransactionCharacteristics6 {}
#[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.027.001.04")]
pub struct TransactionIdentification59 {
#[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,
#[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 TransactionIdentification59 {}
#[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.027.001.04")]
pub struct TransactionIdentification60 {
#[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,
#[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 TransactionIdentification60 {}
#[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.027.001.04")]
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.027.001.04")]
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(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.027.001.04")]
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.027.001.04")]
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(PartialEq, Debug, Clone, YaSerialize, YaDeserialize)]#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.027.001.04")]
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.027.001.04")]
pub struct Verification9 {
#[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 = "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: Vec<AticalaxProcessing>,
#[yaserde(rename = "AddtlInf")]
#[cfg_attr(feature = "serde", serde(rename = "AddtlInf"))]
pub addtl_inf: Max35Text,
}
impl Validate for Verification9 {}
#[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.027.001.04")]
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.027.001.04")]
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 = "027";
const VARIANT: &'static str = "001";
const VERSION: &'static str = "04";
const MESSAGE_NAME: &'static str = "cain.027.001.04";
const NAMESPACE: &'static str = "urn:iso:std:iso:20022:tech:xsd:cain.027.001.04";
}