#![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(PartialEq, Debug, Clone, YaSerialize, YaDeserialize)]#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:catm.001.001.03")]
pub enum Algorithm10Code {
#[yaserde(rename = "MACC")]
#[cfg_attr(feature = "serde", serde(rename = "MACC"))]
Macc,
#[yaserde(rename = "MCCS")]
#[cfg_attr(feature = "serde", serde(rename = "MCCS"))]
Mccs,
#[yaserde(rename = "CMA1")]
#[cfg_attr(feature = "serde", serde(rename = "CMA1"))]
Cma1,
__Unknown__(String),
}
impl Default for Algorithm10Code {
fn default() -> Algorithm10Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for Algorithm10Code {}
#[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:catm.001.001.03")]
pub enum Algorithm4Code {
#[yaserde(rename = "ERS2")]
#[cfg_attr(feature = "serde", serde(rename = "ERS2"))]
Ers2,
__Unknown__(String),
}
impl Default for Algorithm4Code {
fn default() -> Algorithm4Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for Algorithm4Code {}
#[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:catm.001.001.03")]
pub enum Algorithm5Code {
#[yaserde(rename = "HS25")]
#[cfg_attr(feature = "serde", serde(rename = "HS25"))]
Hs25,
#[yaserde(rename = "HS38")]
#[cfg_attr(feature = "serde", serde(rename = "HS38"))]
Hs38,
#[yaserde(rename = "HS51")]
#[cfg_attr(feature = "serde", serde(rename = "HS51"))]
Hs51,
__Unknown__(String),
}
impl Default for Algorithm5Code {
fn default() -> Algorithm5Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for Algorithm5Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(PartialEq, Debug, Clone, YaSerialize, YaDeserialize)]#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:catm.001.001.03")]
pub enum Algorithm6Code {
#[yaserde(rename = "EA2C")]
#[cfg_attr(feature = "serde", serde(rename = "EA2C"))]
Ea2C,
#[yaserde(rename = "E3DC")]
#[cfg_attr(feature = "serde", serde(rename = "E3DC"))]
E3Dc,
__Unknown__(String),
}
impl Default for Algorithm6Code {
fn default() -> Algorithm6Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for Algorithm6Code {}
#[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:catm.001.001.03")]
pub enum Algorithm7Code {
#[yaserde(rename = "ERSA")]
#[cfg_attr(feature = "serde", serde(rename = "ERSA"))]
Ersa,
#[yaserde(rename = "RSAO")]
#[cfg_attr(feature = "serde", serde(rename = "RSAO"))]
Rsao,
__Unknown__(String),
}
impl Default for Algorithm7Code {
fn default() -> Algorithm7Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for Algorithm7Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(PartialEq, Debug, Clone, YaSerialize, YaDeserialize)]#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:catm.001.001.03")]
pub enum Algorithm8Code {
#[yaserde(rename = "MGF1")]
#[cfg_attr(feature = "serde", serde(rename = "MGF1"))]
Mgf1,
__Unknown__(String),
}
impl Default for Algorithm8Code {
fn default() -> Algorithm8Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for Algorithm8Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(PartialEq, Debug, Clone, YaSerialize, YaDeserialize)]#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:catm.001.001.03")]
pub enum Algorithm9Code {
#[yaserde(rename = "EA2C")]
#[cfg_attr(feature = "serde", serde(rename = "EA2C"))]
Ea2C,
#[yaserde(rename = "E3DC")]
#[cfg_attr(feature = "serde", serde(rename = "E3DC"))]
E3Dc,
#[yaserde(rename = "DKP9")]
#[cfg_attr(feature = "serde", serde(rename = "DKP9"))]
Dkp9,
#[yaserde(rename = "UKPT")]
#[cfg_attr(feature = "serde", serde(rename = "UKPT"))]
Ukpt,
#[yaserde(rename = "UKA1")]
#[cfg_attr(feature = "serde", serde(rename = "UKA1"))]
Uka1,
__Unknown__(String),
}
impl Default for Algorithm9Code {
fn default() -> Algorithm9Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for Algorithm9Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:catm.001.001.03")]
pub struct AlgorithmIdentification10 {
#[yaserde(rename = "Algo")]
#[cfg_attr(feature = "serde", serde(rename = "Algo"))]
pub algo: Algorithm10Code,
#[yaserde(rename = "Param")]
#[cfg_attr(feature = "serde", serde(rename = "Param"))]
pub param: Parameter1,
}
impl Validate for AlgorithmIdentification10 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:catm.001.001.03")]
pub struct AlgorithmIdentification4 {
#[yaserde(rename = "Algo")]
#[cfg_attr(feature = "serde", serde(rename = "Algo"))]
pub algo: Algorithm4Code,
}
impl Validate for AlgorithmIdentification4 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:catm.001.001.03")]
pub struct AlgorithmIdentification5 {
#[yaserde(rename = "Algo")]
#[cfg_attr(feature = "serde", serde(rename = "Algo"))]
pub algo: Algorithm5Code,
}
impl Validate for AlgorithmIdentification5 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:catm.001.001.03")]
pub struct AlgorithmIdentification6 {
#[yaserde(rename = "Algo")]
#[cfg_attr(feature = "serde", serde(rename = "Algo"))]
pub algo: Algorithm6Code,
#[yaserde(rename = "Param")]
#[cfg_attr(feature = "serde", serde(rename = "Param"))]
pub param: Parameter1,
}
impl Validate for AlgorithmIdentification6 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:catm.001.001.03")]
pub struct AlgorithmIdentification7 {
#[yaserde(rename = "Algo")]
#[cfg_attr(feature = "serde", serde(rename = "Algo"))]
pub algo: Algorithm7Code,
#[yaserde(rename = "Param")]
#[cfg_attr(feature = "serde", serde(rename = "Param"))]
pub param: Parameter2,
}
impl Validate for AlgorithmIdentification7 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:catm.001.001.03")]
pub struct AlgorithmIdentification8 {
#[yaserde(rename = "Algo")]
#[cfg_attr(feature = "serde", serde(rename = "Algo"))]
pub algo: Algorithm8Code,
#[yaserde(rename = "Param")]
#[cfg_attr(feature = "serde", serde(rename = "Param"))]
pub param: Parameter3,
}
impl Validate for AlgorithmIdentification8 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:catm.001.001.03")]
pub struct AlgorithmIdentification9 {
#[yaserde(rename = "Algo")]
#[cfg_attr(feature = "serde", serde(rename = "Algo"))]
pub algo: Algorithm9Code,
#[yaserde(rename = "Param")]
#[cfg_attr(feature = "serde", serde(rename = "Param"))]
pub param: Parameter1,
}
impl Validate for AlgorithmIdentification9 {}
#[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:catm.001.001.03")]
pub enum AttendanceContext1Code {
#[yaserde(rename = "ATTD")]
#[cfg_attr(feature = "serde", serde(rename = "ATTD"))]
Attd,
#[yaserde(rename = "SATT")]
#[cfg_attr(feature = "serde", serde(rename = "SATT"))]
Satt,
#[yaserde(rename = "UATT")]
#[cfg_attr(feature = "serde", serde(rename = "UATT"))]
Uatt,
__Unknown__(String),
}
impl Default for AttendanceContext1Code {
fn default() -> AttendanceContext1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for AttendanceContext1Code {}
#[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:catm.001.001.03")]
pub enum AttributeType1Code {
#[yaserde(rename = "CNAT")]
#[cfg_attr(feature = "serde", serde(rename = "CNAT"))]
Cnat,
#[yaserde(rename = "LATT")]
#[cfg_attr(feature = "serde", serde(rename = "LATT"))]
Latt,
#[yaserde(rename = "OATT")]
#[cfg_attr(feature = "serde", serde(rename = "OATT"))]
Oatt,
#[yaserde(rename = "OUAT")]
#[cfg_attr(feature = "serde", serde(rename = "OUAT"))]
Ouat,
#[yaserde(rename = "CATT")]
#[cfg_attr(feature = "serde", serde(rename = "CATT"))]
Catt,
__Unknown__(String),
}
impl Default for AttributeType1Code {
fn default() -> AttributeType1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for AttributeType1Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:catm.001.001.03")]
pub struct AuthenticatedData3 {
#[yaserde(rename = "Vrsn")]
#[cfg_attr(feature = "serde", serde(rename = "Vrsn"))]
pub vrsn: Number,
#[yaserde(rename = "Rcpt")]
#[cfg_attr(feature = "serde", serde(rename = "Rcpt"))]
pub rcpt: Vec<Recipient3Choice>,
#[yaserde(rename = "MACAlgo")]
#[cfg_attr(feature = "serde", serde(rename = "MACAlgo"))]
pub mac_algo: AlgorithmIdentification10,
#[yaserde(rename = "NcpsltdCntt")]
#[cfg_attr(feature = "serde", serde(rename = "NcpsltdCntt"))]
pub ncpsltd_cntt: EncapsulatedContent2,
#[yaserde(rename = "MAC")]
#[cfg_attr(feature = "serde", serde(rename = "MAC"))]
pub mac: Max35Binary,
}
impl Validate for AuthenticatedData3 {}
#[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:catm.001.001.03")]
pub enum CardDataReading1Code {
#[yaserde(rename = "TAGC")]
#[cfg_attr(feature = "serde", serde(rename = "TAGC"))]
Tagc,
#[yaserde(rename = "PHYS")]
#[cfg_attr(feature = "serde", serde(rename = "PHYS"))]
Phys,
#[yaserde(rename = "BRCD")]
#[cfg_attr(feature = "serde", serde(rename = "BRCD"))]
Brcd,
#[yaserde(rename = "MGST")]
#[cfg_attr(feature = "serde", serde(rename = "MGST"))]
Mgst,
#[yaserde(rename = "CICC")]
#[cfg_attr(feature = "serde", serde(rename = "CICC"))]
Cicc,
#[yaserde(rename = "DFLE")]
#[cfg_attr(feature = "serde", serde(rename = "DFLE"))]
Dfle,
#[yaserde(rename = "CTLS")]
#[cfg_attr(feature = "serde", serde(rename = "CTLS"))]
Ctls,
#[yaserde(rename = "ECTL")]
#[cfg_attr(feature = "serde", serde(rename = "ECTL"))]
Ectl,
__Unknown__(String),
}
impl Default for CardDataReading1Code {
fn default() -> CardDataReading1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for CardDataReading1Code {}
#[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:catm.001.001.03")]
pub enum CardholderVerificationCapability1Code {
#[yaserde(rename = "MNSG")]
#[cfg_attr(feature = "serde", serde(rename = "MNSG"))]
Mnsg,
#[yaserde(rename = "NPIN")]
#[cfg_attr(feature = "serde", serde(rename = "NPIN"))]
Npin,
#[yaserde(rename = "FCPN")]
#[cfg_attr(feature = "serde", serde(rename = "FCPN"))]
Fcpn,
#[yaserde(rename = "FEPN")]
#[cfg_attr(feature = "serde", serde(rename = "FEPN"))]
Fepn,
#[yaserde(rename = "FDSG")]
#[cfg_attr(feature = "serde", serde(rename = "FDSG"))]
Fdsg,
#[yaserde(rename = "FBIO")]
#[cfg_attr(feature = "serde", serde(rename = "FBIO"))]
Fbio,
#[yaserde(rename = "MNVR")]
#[cfg_attr(feature = "serde", serde(rename = "MNVR"))]
Mnvr,
#[yaserde(rename = "FBIG")]
#[cfg_attr(feature = "serde", serde(rename = "FBIG"))]
Fbig,
#[yaserde(rename = "APKI")]
#[cfg_attr(feature = "serde", serde(rename = "APKI"))]
Apki,
#[yaserde(rename = "PKIS")]
#[cfg_attr(feature = "serde", serde(rename = "PKIS"))]
Pkis,
#[yaserde(rename = "CHDT")]
#[cfg_attr(feature = "serde", serde(rename = "CHDT"))]
Chdt,
#[yaserde(rename = "SCEC")]
#[cfg_attr(feature = "serde", serde(rename = "SCEC"))]
Scec,
__Unknown__(String),
}
impl Default for CardholderVerificationCapability1Code {
fn default() -> CardholderVerificationCapability1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for CardholderVerificationCapability1Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:catm.001.001.03")]
pub struct CertificateIdentifier1 {
#[yaserde(rename = "IssrAndSrlNb")]
#[cfg_attr(feature = "serde", serde(rename = "IssrAndSrlNb"))]
pub issr_and_srl_nb: IssuerAndSerialNumber1,
}
impl Validate for CertificateIdentifier1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:catm.001.001.03")]
pub struct CertificateIssuer1 {
#[yaserde(rename = "RltvDstngshdNm")]
#[cfg_attr(feature = "serde", serde(rename = "RltvDstngshdNm"))]
pub rltv_dstngshd_nm: Vec<RelativeDistinguishedName1>,
}
impl Validate for CertificateIssuer1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:catm.001.001.03")]
pub struct CommunicationCharacteristics2 {
#[yaserde(rename = "ComTp")]
#[cfg_attr(feature = "serde", serde(rename = "ComTp"))]
pub com_tp: PoicommunicationType1Code,
#[yaserde(rename = "RmotPty")]
#[cfg_attr(feature = "serde", serde(rename = "RmotPty"))]
pub rmot_pty: Vec<PartyType7Code>,
#[yaserde(rename = "Actv")]
#[cfg_attr(feature = "serde", serde(rename = "Actv"))]
pub actv: TrueFalseIndicator,
}
impl Validate for CommunicationCharacteristics2 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:catm.001.001.03")]
pub struct ContentInformationType7 {
#[yaserde(rename = "CnttTp")]
#[cfg_attr(feature = "serde", serde(rename = "CnttTp"))]
pub cntt_tp: ContentType1Code,
#[yaserde(rename = "EnvlpdData")]
#[cfg_attr(feature = "serde", serde(rename = "EnvlpdData"))]
pub envlpd_data: EnvelopedData3,
}
impl Validate for ContentInformationType7 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:catm.001.001.03")]
pub struct ContentInformationType9 {
#[yaserde(rename = "CnttTp")]
#[cfg_attr(feature = "serde", serde(rename = "CnttTp"))]
pub cntt_tp: ContentType1Code,
#[yaserde(rename = "EnvlpdData")]
#[cfg_attr(feature = "serde", serde(rename = "EnvlpdData"))]
pub envlpd_data: EnvelopedData3,
#[yaserde(rename = "AuthntcdData")]
#[cfg_attr(feature = "serde", serde(rename = "AuthntcdData"))]
pub authntcd_data: AuthenticatedData3,
#[yaserde(rename = "SgndData")]
#[cfg_attr(feature = "serde", serde(rename = "SgndData"))]
pub sgnd_data: SignedData3,
#[yaserde(rename = "DgstdData")]
#[cfg_attr(feature = "serde", serde(rename = "DgstdData"))]
pub dgstd_data: DigestedData3,
}
impl Validate for ContentInformationType9 {}
#[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:catm.001.001.03")]
pub enum ContentType1Code {
#[yaserde(rename = "DATA")]
#[cfg_attr(feature = "serde", serde(rename = "DATA"))]
Data,
#[yaserde(rename = "SIGN")]
#[cfg_attr(feature = "serde", serde(rename = "SIGN"))]
Sign,
#[yaserde(rename = "EVLP")]
#[cfg_attr(feature = "serde", serde(rename = "EVLP"))]
Evlp,
#[yaserde(rename = "DGST")]
#[cfg_attr(feature = "serde", serde(rename = "DGST"))]
Dgst,
#[yaserde(rename = "ECRP")]
#[cfg_attr(feature = "serde", serde(rename = "ECRP"))]
Ecrp,
#[yaserde(rename = "AUTH")]
#[cfg_attr(feature = "serde", serde(rename = "AUTH"))]
Auth,
__Unknown__(String),
}
impl Default for ContentType1Code {
fn default() -> ContentType1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for ContentType1Code {}
#[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:catm.001.001.03")]
pub enum DataSetCategory3Code {
#[yaserde(rename = "AQPR")]
#[cfg_attr(feature = "serde", serde(rename = "AQPR"))]
Aqpr,
#[yaserde(rename = "APPR")]
#[cfg_attr(feature = "serde", serde(rename = "APPR"))]
Appr,
#[yaserde(rename = "TXCP")]
#[cfg_attr(feature = "serde", serde(rename = "TXCP"))]
Txcp,
#[yaserde(rename = "AKCP")]
#[cfg_attr(feature = "serde", serde(rename = "AKCP"))]
Akcp,
#[yaserde(rename = "DLGT")]
#[cfg_attr(feature = "serde", serde(rename = "DLGT"))]
Dlgt,
#[yaserde(rename = "MGTP")]
#[cfg_attr(feature = "serde", serde(rename = "MGTP"))]
Mgtp,
#[yaserde(rename = "MRPR")]
#[cfg_attr(feature = "serde", serde(rename = "MRPR"))]
Mrpr,
#[yaserde(rename = "SCPR")]
#[cfg_attr(feature = "serde", serde(rename = "SCPR"))]
Scpr,
#[yaserde(rename = "SWPK")]
#[cfg_attr(feature = "serde", serde(rename = "SWPK"))]
Swpk,
#[yaserde(rename = "STRP")]
#[cfg_attr(feature = "serde", serde(rename = "STRP"))]
Strp,
#[yaserde(rename = "TRPR")]
#[cfg_attr(feature = "serde", serde(rename = "TRPR"))]
Trpr,
#[yaserde(rename = "VDPR")]
#[cfg_attr(feature = "serde", serde(rename = "VDPR"))]
Vdpr,
__Unknown__(String),
}
impl Default for DataSetCategory3Code {
fn default() -> DataSetCategory3Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for DataSetCategory3Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:catm.001.001.03")]
pub struct DataSetIdentification3 {
#[yaserde(rename = "Nm")]
#[cfg_attr(feature = "serde", serde(rename = "Nm"))]
pub nm: Max256Text,
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: DataSetCategory3Code,
#[yaserde(rename = "Vrsn")]
#[cfg_attr(feature = "serde", serde(rename = "Vrsn"))]
pub vrsn: Max256Text,
#[yaserde(rename = "CreDtTm")]
#[cfg_attr(feature = "serde", serde(rename = "CreDtTm"))]
pub cre_dt_tm: IsodateTime,
}
impl Validate for DataSetIdentification3 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct DecimalNumber (pub String);
crate::simple_type!(DecimalNumber);
impl Validate for DecimalNumber {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:catm.001.001.03")]
pub struct DigestedData3 {
#[yaserde(rename = "Vrsn")]
#[cfg_attr(feature = "serde", serde(rename = "Vrsn"))]
pub vrsn: Number,
#[yaserde(rename = "DgstAlgo")]
#[cfg_attr(feature = "serde", serde(rename = "DgstAlgo"))]
pub dgst_algo: Vec<AlgorithmIdentification5>,
#[yaserde(rename = "NcpsltdCntt")]
#[cfg_attr(feature = "serde", serde(rename = "NcpsltdCntt"))]
pub ncpsltd_cntt: EncapsulatedContent2,
#[yaserde(rename = "Dgst")]
#[cfg_attr(feature = "serde", serde(rename = "Dgst"))]
pub dgst: Max140Text,
}
impl Validate for DigestedData3 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:catm.001.001.03")]
pub struct DisplayCapabilities2 {
#[yaserde(rename = "DispTp")]
#[cfg_attr(feature = "serde", serde(rename = "DispTp"))]
pub disp_tp: UserInterface2Code,
#[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,
}
impl Validate for DisplayCapabilities2 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:catm.001.001.03")]
pub struct Document {
#[yaserde(rename = "StsRpt")]
#[cfg_attr(feature = "serde", serde(rename = "StsRpt"))]
pub sts_rpt: StatusReportV03,
}
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:catm.001.001.03")]
pub struct EncapsulatedContent2 {
#[yaserde(rename = "CnttTp")]
#[cfg_attr(feature = "serde", serde(rename = "CnttTp"))]
pub cntt_tp: ContentType1Code,
#[yaserde(rename = "Cntt")]
#[cfg_attr(feature = "serde", serde(rename = "Cntt"))]
pub cntt: Max100KBinary,
}
impl Validate for EncapsulatedContent2 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:catm.001.001.03")]
pub struct EncryptedContent2 {
#[yaserde(rename = "CnttTp")]
#[cfg_attr(feature = "serde", serde(rename = "CnttTp"))]
pub cntt_tp: ContentType1Code,
#[yaserde(rename = "CnttNcrptnAlgo")]
#[cfg_attr(feature = "serde", serde(rename = "CnttNcrptnAlgo"))]
pub cntt_ncrptn_algo: AlgorithmIdentification6,
#[yaserde(rename = "NcrptdData")]
#[cfg_attr(feature = "serde", serde(rename = "NcrptdData"))]
pub ncrptd_data: Max10000Binary,
}
impl Validate for EncryptedContent2 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:catm.001.001.03")]
pub struct EnvelopedData3 {
#[yaserde(rename = "Vrsn")]
#[cfg_attr(feature = "serde", serde(rename = "Vrsn"))]
pub vrsn: Number,
#[yaserde(rename = "Rcpt")]
#[cfg_attr(feature = "serde", serde(rename = "Rcpt"))]
pub rcpt: Vec<Recipient3Choice>,
#[yaserde(rename = "NcrptdCntt")]
#[cfg_attr(feature = "serde", serde(rename = "NcrptdCntt"))]
pub ncrptd_cntt: EncryptedContent2,
}
impl Validate for EnvelopedData3 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Exact10Text (pub String);
crate::simple_type!(Exact10Text);
impl Validate for Exact10Text {
fn validate(&self) -> Result<(), String> {
if self.0.len() != 10 {
return Err(format!("Length 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, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:catm.001.001.03")]
pub struct GenericIdentification35 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Max35Text,
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: PartyType5Code,
#[yaserde(rename = "Issr")]
#[cfg_attr(feature = "serde", serde(rename = "Issr"))]
pub issr: PartyType6Code,
#[yaserde(rename = "ShrtNm")]
#[cfg_attr(feature = "serde", serde(rename = "ShrtNm"))]
pub shrt_nm: Max35Text,
}
impl Validate for GenericIdentification35 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:catm.001.001.03")]
pub struct GenericIdentification48 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Max35Text,
#[yaserde(rename = "Vrsn")]
#[cfg_attr(feature = "serde", serde(rename = "Vrsn"))]
pub vrsn: Max35Text,
#[yaserde(rename = "Issr")]
#[cfg_attr(feature = "serde", serde(rename = "Issr"))]
pub issr: Max35Text,
}
impl Validate for GenericIdentification48 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:catm.001.001.03")]
pub struct Header4 {
#[yaserde(rename = "DwnldTrf")]
#[cfg_attr(feature = "serde", serde(rename = "DwnldTrf"))]
pub dwnld_trf: TrueFalseIndicator,
#[yaserde(rename = "FrmtVrsn")]
#[cfg_attr(feature = "serde", serde(rename = "FrmtVrsn"))]
pub frmt_vrsn: Max6Text,
#[yaserde(rename = "XchgId")]
#[cfg_attr(feature = "serde", serde(rename = "XchgId"))]
pub xchg_id: Max3NumericText,
#[yaserde(rename = "CreDtTm")]
#[cfg_attr(feature = "serde", serde(rename = "CreDtTm"))]
pub cre_dt_tm: IsodateTime,
#[yaserde(rename = "InitgPty")]
#[cfg_attr(feature = "serde", serde(rename = "InitgPty"))]
pub initg_pty: GenericIdentification35,
#[yaserde(rename = "RcptPty")]
#[cfg_attr(feature = "serde", serde(rename = "RcptPty"))]
pub rcpt_pty: GenericIdentification35,
}
impl Validate for Header4 {}
#[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 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, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:catm.001.001.03")]
pub struct IssuerAndSerialNumber1 {
#[yaserde(rename = "Issr")]
#[cfg_attr(feature = "serde", serde(rename = "Issr"))]
pub issr: CertificateIssuer1,
#[yaserde(rename = "SrlNb")]
#[cfg_attr(feature = "serde", serde(rename = "SrlNb"))]
pub srl_nb: Max35Binary,
}
impl Validate for IssuerAndSerialNumber1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:catm.001.001.03")]
pub struct Kek3 {
#[yaserde(rename = "Vrsn")]
#[cfg_attr(feature = "serde", serde(rename = "Vrsn"))]
pub vrsn: Number,
#[yaserde(rename = "KEKId")]
#[cfg_attr(feature = "serde", serde(rename = "KEKId"))]
pub kek_id: Kekidentifier1,
#[yaserde(rename = "KeyNcrptnAlgo")]
#[cfg_attr(feature = "serde", serde(rename = "KeyNcrptnAlgo"))]
pub key_ncrptn_algo: AlgorithmIdentification9,
#[yaserde(rename = "NcrptdKey")]
#[cfg_attr(feature = "serde", serde(rename = "NcrptdKey"))]
pub ncrptd_key: Max140Binary,
}
impl Validate for Kek3 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:catm.001.001.03")]
pub struct Kekidentifier1 {
#[yaserde(rename = "KeyId")]
#[cfg_attr(feature = "serde", serde(rename = "KeyId"))]
pub key_id: Max140Text,
#[yaserde(rename = "KeyVrsn")]
#[cfg_attr(feature = "serde", serde(rename = "KeyVrsn"))]
pub key_vrsn: Exact10Text,
#[yaserde(rename = "DerivtnId")]
#[cfg_attr(feature = "serde", serde(rename = "DerivtnId"))]
pub derivtn_id: Min5Max16Binary,
}
impl Validate for Kekidentifier1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:catm.001.001.03")]
pub struct KeyTransport3 {
#[yaserde(rename = "Vrsn")]
#[cfg_attr(feature = "serde", serde(rename = "Vrsn"))]
pub vrsn: Number,
#[yaserde(rename = "RcptId")]
#[cfg_attr(feature = "serde", serde(rename = "RcptId"))]
pub rcpt_id: CertificateIdentifier1,
#[yaserde(rename = "KeyNcrptnAlgo")]
#[cfg_attr(feature = "serde", serde(rename = "KeyNcrptnAlgo"))]
pub key_ncrptn_algo: AlgorithmIdentification7,
#[yaserde(rename = "NcrptdKey")]
#[cfg_attr(feature = "serde", serde(rename = "NcrptdKey"))]
pub ncrptd_key: Max3000Binary,
}
impl Validate for KeyTransport3 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max10000Binary (pub String);
crate::simple_type!(Max10000Binary);
impl Validate for Max10000Binary {
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 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 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 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 Max3000Binary (pub String);
crate::simple_type!(Max3000Binary);
impl Validate for Max3000Binary {
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() > 3000 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 3000 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max35Binary (pub String);
crate::simple_type!(Max35Binary);
impl Validate for Max35Binary {
fn validate(&self) -> Result<(), String> {
#[allow(clippy::len_zero)]
if self.0.len() < 1 {
return Err(format!("MinLength validation error. \nExpected: 0 length >= 1 \nActual: 0 length == {}", self.0.len()));
}
if self.0.len() > 35 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 35 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max35Text (pub String);
crate::simple_type!(Max35Text);
impl Validate for Max35Text {
fn validate(&self) -> Result<(), String> {
#[allow(clippy::len_zero)]
if self.0.len() < 1 {
return Err(format!("MinLength validation error. \nExpected: 0 length >= 1 \nActual: 0 length == {}", self.0.len()));
}
if self.0.len() > 35 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 35 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max3NumericText (pub String);
crate::simple_type!(Max3NumericText);
impl Validate for Max3NumericText {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max500Binary (pub String);
crate::simple_type!(Max500Binary);
impl Validate for Max500Binary {
fn validate(&self) -> Result<(), String> {
#[allow(clippy::len_zero)]
if self.0.len() < 1 {
return Err(format!("MinLength validation error. \nExpected: 0 length >= 1 \nActual: 0 length == {}", self.0.len()));
}
if self.0.len() > 500 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 500 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max6Text (pub String);
crate::simple_type!(Max6Text);
impl Validate for Max6Text {
fn validate(&self) -> Result<(), String> {
#[allow(clippy::len_zero)]
if self.0.len() < 1 {
return Err(format!("MinLength validation error. \nExpected: 0 length >= 1 \nActual: 0 length == {}", self.0.len()));
}
if self.0.len() > 6 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 6 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max70Text (pub String);
crate::simple_type!(Max70Text);
impl Validate for Max70Text {
fn validate(&self) -> Result<(), String> {
#[allow(clippy::len_zero)]
if self.0.len() < 1 {
return Err(format!("MinLength validation error. \nExpected: 0 length >= 1 \nActual: 0 length == {}", self.0.len()));
}
if self.0.len() > 70 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 70 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max9NumericText (pub String);
crate::simple_type!(Max9NumericText);
impl Validate for Max9NumericText {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:catm.001.001.03")]
pub struct MemoryCharacteristics1 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Max35Text,
#[yaserde(rename = "TtlSz")]
#[cfg_attr(feature = "serde", serde(rename = "TtlSz"))]
pub ttl_sz: DecimalNumber,
#[yaserde(rename = "FreeSz")]
#[cfg_attr(feature = "serde", serde(rename = "FreeSz"))]
pub free_sz: DecimalNumber,
#[yaserde(rename = "Unit")]
#[cfg_attr(feature = "serde", serde(rename = "Unit"))]
pub unit: MemoryUnit1Code,
}
impl Validate for MemoryCharacteristics1 {}
#[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:catm.001.001.03")]
pub enum MemoryUnit1Code {
#[yaserde(rename = "BYTE")]
#[cfg_attr(feature = "serde", serde(rename = "BYTE"))]
Byte,
#[yaserde(rename = "EXAB")]
#[cfg_attr(feature = "serde", serde(rename = "EXAB"))]
Exab,
#[yaserde(rename = "GIGA")]
#[cfg_attr(feature = "serde", serde(rename = "GIGA"))]
Giga,
#[yaserde(rename = "KILO")]
#[cfg_attr(feature = "serde", serde(rename = "KILO"))]
Kilo,
#[yaserde(rename = "MEGA")]
#[cfg_attr(feature = "serde", serde(rename = "MEGA"))]
Mega,
#[yaserde(rename = "PETA")]
#[cfg_attr(feature = "serde", serde(rename = "PETA"))]
Peta,
#[yaserde(rename = "TERA")]
#[cfg_attr(feature = "serde", serde(rename = "TERA"))]
Tera,
__Unknown__(String),
}
impl Default for MemoryUnit1Code {
fn default() -> MemoryUnit1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for MemoryUnit1Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Min5Max16Binary (pub String);
crate::simple_type!(Min5Max16Binary);
impl Validate for Min5Max16Binary {
fn validate(&self) -> Result<(), String> {
#[allow(clippy::len_zero)]
if self.0.len() < 5 {
return Err(format!("MinLength validation error. \nExpected: 0 length >= 5 \nActual: 0 length == {}", self.0.len()));
}
if self.0.len() > 16 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 16 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Number (pub String);
crate::simple_type!(Number);
impl Validate for Number {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(PartialEq, Debug, Clone, YaSerialize, YaDeserialize)]#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:catm.001.001.03")]
pub enum OnLineCapability1Code {
#[yaserde(rename = "OFLN")]
#[cfg_attr(feature = "serde", serde(rename = "OFLN"))]
Ofln,
#[yaserde(rename = "ONLN")]
#[cfg_attr(feature = "serde", serde(rename = "ONLN"))]
Onln,
#[yaserde(rename = "SMON")]
#[cfg_attr(feature = "serde", serde(rename = "SMON"))]
Smon,
__Unknown__(String),
}
impl Default for OnLineCapability1Code {
fn default() -> OnLineCapability1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for OnLineCapability1Code {}
#[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:catm.001.001.03")]
pub enum PoicommunicationType1Code {
#[yaserde(rename = "BLTH")]
#[cfg_attr(feature = "serde", serde(rename = "BLTH"))]
Blth,
#[yaserde(rename = "ETHR")]
#[cfg_attr(feature = "serde", serde(rename = "ETHR"))]
Ethr,
#[yaserde(rename = "GPRS")]
#[cfg_attr(feature = "serde", serde(rename = "GPRS"))]
Gprs,
#[yaserde(rename = "GSMF")]
#[cfg_attr(feature = "serde", serde(rename = "GSMF"))]
Gsmf,
#[yaserde(rename = "PSTN")]
#[cfg_attr(feature = "serde", serde(rename = "PSTN"))]
Pstn,
#[yaserde(rename = "RS23")]
#[cfg_attr(feature = "serde", serde(rename = "RS23"))]
Rs23,
#[yaserde(rename = "USBD")]
#[cfg_attr(feature = "serde", serde(rename = "USBD"))]
Usbd,
#[yaserde(rename = "USBH")]
#[cfg_attr(feature = "serde", serde(rename = "USBH"))]
Usbh,
#[yaserde(rename = "WIFI")]
#[cfg_attr(feature = "serde", serde(rename = "WIFI"))]
Wifi,
__Unknown__(String),
}
impl Default for PoicommunicationType1Code {
fn default() -> PoicommunicationType1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for PoicommunicationType1Code {}
#[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:catm.001.001.03")]
pub enum PoicomponentAssessment1Code {
#[yaserde(rename = "APPL")]
#[cfg_attr(feature = "serde", serde(rename = "APPL"))]
Appl,
#[yaserde(rename = "CERT")]
#[cfg_attr(feature = "serde", serde(rename = "CERT"))]
Cert,
#[yaserde(rename = "EVAL")]
#[cfg_attr(feature = "serde", serde(rename = "EVAL"))]
Eval,
__Unknown__(String),
}
impl Default for PoicomponentAssessment1Code {
fn default() -> PoicomponentAssessment1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for PoicomponentAssessment1Code {}
#[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:catm.001.001.03")]
pub enum PoicomponentStatus1Code {
#[yaserde(rename = "WAIT")]
#[cfg_attr(feature = "serde", serde(rename = "WAIT"))]
Wait,
#[yaserde(rename = "OUTD")]
#[cfg_attr(feature = "serde", serde(rename = "OUTD"))]
Outd,
#[yaserde(rename = "OPER")]
#[cfg_attr(feature = "serde", serde(rename = "OPER"))]
Oper,
#[yaserde(rename = "DACT")]
#[cfg_attr(feature = "serde", serde(rename = "DACT"))]
Dact,
__Unknown__(String),
}
impl Default for PoicomponentStatus1Code {
fn default() -> PoicomponentStatus1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for PoicomponentStatus1Code {}
#[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:catm.001.001.03")]
pub enum PoicomponentType3Code {
#[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,
__Unknown__(String),
}
impl Default for PoicomponentType3Code {
fn default() -> PoicomponentType3Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for PoicomponentType3Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:catm.001.001.03")]
pub struct Parameter1 {
#[yaserde(rename = "InitlstnVctr")]
#[cfg_attr(feature = "serde", serde(rename = "InitlstnVctr"))]
pub initlstn_vctr: Max500Binary,
}
impl Validate for Parameter1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:catm.001.001.03")]
pub struct Parameter2 {
#[yaserde(rename = "DgstAlgo")]
#[cfg_attr(feature = "serde", serde(rename = "DgstAlgo"))]
pub dgst_algo: Algorithm5Code,
#[yaserde(rename = "MskGnrtrAlgo")]
#[cfg_attr(feature = "serde", serde(rename = "MskGnrtrAlgo"))]
pub msk_gnrtr_algo: AlgorithmIdentification8,
}
impl Validate for Parameter2 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:catm.001.001.03")]
pub struct Parameter3 {
#[yaserde(rename = "DgstAlgo")]
#[cfg_attr(feature = "serde", serde(rename = "DgstAlgo"))]
pub dgst_algo: Algorithm5Code,
}
impl Validate for Parameter3 {}
#[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:catm.001.001.03")]
pub enum PartyType5Code {
#[yaserde(rename = "OPOI")]
#[cfg_attr(feature = "serde", serde(rename = "OPOI"))]
Opoi,
#[yaserde(rename = "ACCP")]
#[cfg_attr(feature = "serde", serde(rename = "ACCP"))]
Accp,
#[yaserde(rename = "MERC")]
#[cfg_attr(feature = "serde", serde(rename = "MERC"))]
Merc,
#[yaserde(rename = "ACQR")]
#[cfg_attr(feature = "serde", serde(rename = "ACQR"))]
Acqr,
#[yaserde(rename = "ITAG")]
#[cfg_attr(feature = "serde", serde(rename = "ITAG"))]
Itag,
#[yaserde(rename = "MTMG")]
#[cfg_attr(feature = "serde", serde(rename = "MTMG"))]
Mtmg,
#[yaserde(rename = "TMGT")]
#[cfg_attr(feature = "serde", serde(rename = "TMGT"))]
Tmgt,
__Unknown__(String),
}
impl Default for PartyType5Code {
fn default() -> PartyType5Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for PartyType5Code {}
#[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:catm.001.001.03")]
pub enum PartyType6Code {
#[yaserde(rename = "ACCP")]
#[cfg_attr(feature = "serde", serde(rename = "ACCP"))]
Accp,
#[yaserde(rename = "MERC")]
#[cfg_attr(feature = "serde", serde(rename = "MERC"))]
Merc,
#[yaserde(rename = "ACQR")]
#[cfg_attr(feature = "serde", serde(rename = "ACQR"))]
Acqr,
#[yaserde(rename = "ITAG")]
#[cfg_attr(feature = "serde", serde(rename = "ITAG"))]
Itag,
#[yaserde(rename = "MTMG")]
#[cfg_attr(feature = "serde", serde(rename = "MTMG"))]
Mtmg,
#[yaserde(rename = "TMGT")]
#[cfg_attr(feature = "serde", serde(rename = "TMGT"))]
Tmgt,
__Unknown__(String),
}
impl Default for PartyType6Code {
fn default() -> PartyType6Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for PartyType6Code {}
#[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:catm.001.001.03")]
pub enum PartyType7Code {
#[yaserde(rename = "ACQR")]
#[cfg_attr(feature = "serde", serde(rename = "ACQR"))]
Acqr,
#[yaserde(rename = "ITAG")]
#[cfg_attr(feature = "serde", serde(rename = "ITAG"))]
Itag,
#[yaserde(rename = "PCPT")]
#[cfg_attr(feature = "serde", serde(rename = "PCPT"))]
Pcpt,
#[yaserde(rename = "TMGT")]
#[cfg_attr(feature = "serde", serde(rename = "TMGT"))]
Tmgt,
#[yaserde(rename = "SALE")]
#[cfg_attr(feature = "serde", serde(rename = "SALE"))]
Sale,
__Unknown__(String),
}
impl Default for PartyType7Code {
fn default() -> PartyType7Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for PartyType7Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:catm.001.001.03")]
pub struct PointOfInteractionCapabilities2 {
#[yaserde(rename = "CardRdngCpblties")]
#[cfg_attr(feature = "serde", serde(rename = "CardRdngCpblties"))]
pub card_rdng_cpblties: Vec<CardDataReading1Code>,
#[yaserde(rename = "CrdhldrVrfctnCpblties")]
#[cfg_attr(feature = "serde", serde(rename = "CrdhldrVrfctnCpblties"))]
pub crdhldr_vrfctn_cpblties: Vec<CardholderVerificationCapability1Code>,
#[yaserde(rename = "OnLineCpblties")]
#[cfg_attr(feature = "serde", serde(rename = "OnLineCpblties"))]
pub on_line_cpblties: OnLineCapability1Code,
#[yaserde(rename = "DispCpblties")]
#[cfg_attr(feature = "serde", serde(rename = "DispCpblties"))]
pub disp_cpblties: Vec<DisplayCapabilities2>,
#[yaserde(rename = "PrtLineWidth")]
#[cfg_attr(feature = "serde", serde(rename = "PrtLineWidth"))]
pub prt_line_width: Number,
#[yaserde(rename = "AvlblLang")]
#[cfg_attr(feature = "serde", serde(rename = "AvlblLang"))]
pub avlbl_lang: Vec<Iso2AlanguageCode>,
}
impl Validate for PointOfInteractionCapabilities2 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:catm.001.001.03")]
pub struct PointOfInteractionComponent4 {
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: PoicomponentType3Code,
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: PointOfInteractionComponentIdentification1,
#[yaserde(rename = "Sts")]
#[cfg_attr(feature = "serde", serde(rename = "Sts"))]
pub sts: PointOfInteractionComponentStatus1,
#[yaserde(rename = "StdCmplc")]
#[cfg_attr(feature = "serde", serde(rename = "StdCmplc"))]
pub std_cmplc: Vec<GenericIdentification48>,
#[yaserde(rename = "Chrtcs")]
#[cfg_attr(feature = "serde", serde(rename = "Chrtcs"))]
pub chrtcs: PointOfInteractionComponentCharacteristics2,
#[yaserde(rename = "Assmnt")]
#[cfg_attr(feature = "serde", serde(rename = "Assmnt"))]
pub assmnt: Vec<PointOfInteractionComponentAssessment1>,
}
impl Validate for PointOfInteractionComponent4 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:catm.001.001.03")]
pub struct PointOfInteractionComponentAssessment1 {
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: PoicomponentAssessment1Code,
#[yaserde(rename = "Assgnr")]
#[cfg_attr(feature = "serde", serde(rename = "Assgnr"))]
pub assgnr: Vec<Max35Text>,
#[yaserde(rename = "DlvryDt")]
#[cfg_attr(feature = "serde", serde(rename = "DlvryDt"))]
pub dlvry_dt: IsodateTime,
#[yaserde(rename = "XprtnDt")]
#[cfg_attr(feature = "serde", serde(rename = "XprtnDt"))]
pub xprtn_dt: IsodateTime,
#[yaserde(rename = "Nb")]
#[cfg_attr(feature = "serde", serde(rename = "Nb"))]
pub nb: Max35Text,
}
impl Validate for PointOfInteractionComponentAssessment1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:catm.001.001.03")]
pub struct PointOfInteractionComponentCharacteristics2 {
#[yaserde(rename = "Mmry")]
#[cfg_attr(feature = "serde", serde(rename = "Mmry"))]
pub mmry: Vec<MemoryCharacteristics1>,
#[yaserde(rename = "Com")]
#[cfg_attr(feature = "serde", serde(rename = "Com"))]
pub com: Vec<CommunicationCharacteristics2>,
#[yaserde(rename = "SctyAccsMdls")]
#[cfg_attr(feature = "serde", serde(rename = "SctyAccsMdls"))]
pub scty_accs_mdls: Number,
#[yaserde(rename = "SbcbrIdntyMdls")]
#[cfg_attr(feature = "serde", serde(rename = "SbcbrIdntyMdls"))]
pub sbcbr_idnty_mdls: Number,
#[yaserde(rename = "KeyChckVal")]
#[cfg_attr(feature = "serde", serde(rename = "KeyChckVal"))]
pub key_chck_val: Max35Binary,
}
impl Validate for PointOfInteractionComponentCharacteristics2 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:catm.001.001.03")]
pub struct PointOfInteractionComponentIdentification1 {
#[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: Max35Text,
}
impl Validate for PointOfInteractionComponentIdentification1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:catm.001.001.03")]
pub struct PointOfInteractionComponentStatus1 {
#[yaserde(rename = "VrsnNb")]
#[cfg_attr(feature = "serde", serde(rename = "VrsnNb"))]
pub vrsn_nb: Max35Text,
#[yaserde(rename = "Sts")]
#[cfg_attr(feature = "serde", serde(rename = "Sts"))]
pub sts: PoicomponentStatus1Code,
}
impl Validate for PointOfInteractionComponentStatus1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:catm.001.001.03")]
pub struct Recipient3Choice {
#[yaserde(rename = "KeyTrnsprt")]
#[cfg_attr(feature = "serde", serde(rename = "KeyTrnsprt"))]
pub key_trnsprt: Option<KeyTransport3>,
#[yaserde(rename = "KEK")]
#[cfg_attr(feature = "serde", serde(rename = "KEK"))]
pub kek: Option<Kek3>,
#[yaserde(rename = "KeyIdr")]
#[cfg_attr(feature = "serde", serde(rename = "KeyIdr"))]
pub key_idr: Option<Kekidentifier1>,
}
impl Validate for Recipient3Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:catm.001.001.03")]
pub struct RelativeDistinguishedName1 {
#[yaserde(rename = "AttrTp")]
#[cfg_attr(feature = "serde", serde(rename = "AttrTp"))]
pub attr_tp: AttributeType1Code,
#[yaserde(rename = "AttrVal")]
#[cfg_attr(feature = "serde", serde(rename = "AttrVal"))]
pub attr_val: Max140Text,
}
impl Validate for RelativeDistinguishedName1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:catm.001.001.03")]
pub struct SignedData3 {
#[yaserde(rename = "Vrsn")]
#[cfg_attr(feature = "serde", serde(rename = "Vrsn"))]
pub vrsn: Number,
#[yaserde(rename = "DgstAlgo")]
#[cfg_attr(feature = "serde", serde(rename = "DgstAlgo"))]
pub dgst_algo: Vec<AlgorithmIdentification5>,
#[yaserde(rename = "NcpsltdCntt")]
#[cfg_attr(feature = "serde", serde(rename = "NcpsltdCntt"))]
pub ncpsltd_cntt: EncapsulatedContent2,
#[yaserde(rename = "Cert")]
#[cfg_attr(feature = "serde", serde(rename = "Cert"))]
pub cert: Vec<Max3000Binary>,
#[yaserde(rename = "Sgnr")]
#[cfg_attr(feature = "serde", serde(rename = "Sgnr"))]
pub sgnr: Vec<Signer2>,
}
impl Validate for SignedData3 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:catm.001.001.03")]
pub struct Signer2 {
#[yaserde(rename = "Vrsn")]
#[cfg_attr(feature = "serde", serde(rename = "Vrsn"))]
pub vrsn: Number,
#[yaserde(rename = "SgnrId")]
#[cfg_attr(feature = "serde", serde(rename = "SgnrId"))]
pub sgnr_id: CertificateIdentifier1,
#[yaserde(rename = "DgstAlgo")]
#[cfg_attr(feature = "serde", serde(rename = "DgstAlgo"))]
pub dgst_algo: AlgorithmIdentification5,
#[yaserde(rename = "SgntrAlgo")]
#[cfg_attr(feature = "serde", serde(rename = "SgntrAlgo"))]
pub sgntr_algo: AlgorithmIdentification4,
#[yaserde(rename = "Sgntr")]
#[cfg_attr(feature = "serde", serde(rename = "Sgntr"))]
pub sgntr: Max500Binary,
}
impl Validate for Signer2 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:catm.001.001.03")]
pub struct StatusReport3 {
#[yaserde(rename = "POIId")]
#[cfg_attr(feature = "serde", serde(rename = "POIId"))]
pub poi_id: GenericIdentification35,
#[yaserde(rename = "TermnlMgrId")]
#[cfg_attr(feature = "serde", serde(rename = "TermnlMgrId"))]
pub termnl_mgr_id: GenericIdentification35,
#[yaserde(rename = "DataSet")]
#[cfg_attr(feature = "serde", serde(rename = "DataSet"))]
pub data_set: Vec<TerminalManagementDataSet9>,
}
impl Validate for StatusReport3 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:catm.001.001.03")]
pub struct StatusReportContent3 {
#[yaserde(rename = "POICpblties")]
#[cfg_attr(feature = "serde", serde(rename = "POICpblties"))]
pub poi_cpblties: PointOfInteractionCapabilities2,
#[yaserde(rename = "POICmpnt")]
#[cfg_attr(feature = "serde", serde(rename = "POICmpnt"))]
pub poi_cmpnt: Vec<PointOfInteractionComponent4>,
#[yaserde(rename = "AttndncCntxt")]
#[cfg_attr(feature = "serde", serde(rename = "AttndncCntxt"))]
pub attndnc_cntxt: AttendanceContext1Code,
#[yaserde(rename = "POIDtTm")]
#[cfg_attr(feature = "serde", serde(rename = "POIDtTm"))]
pub poi_dt_tm: IsodateTime,
#[yaserde(rename = "DataSetReqrd")]
#[cfg_attr(feature = "serde", serde(rename = "DataSetReqrd"))]
pub data_set_reqrd: TerminalManagementDataSet8,
#[yaserde(rename = "Evt")]
#[cfg_attr(feature = "serde", serde(rename = "Evt"))]
pub evt: Vec<Tmsevent2>,
#[yaserde(rename = "Errs")]
#[cfg_attr(feature = "serde", serde(rename = "Errs"))]
pub errs: Vec<Max140Text>,
}
impl Validate for StatusReportContent3 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:catm.001.001.03")]
pub struct StatusReportV03 {
#[yaserde(rename = "Hdr")]
#[cfg_attr(feature = "serde", serde(rename = "Hdr"))]
pub hdr: Header4,
#[yaserde(rename = "StsRpt")]
#[cfg_attr(feature = "serde", serde(rename = "StsRpt"))]
pub sts_rpt: StatusReport3,
#[yaserde(rename = "SctyTrlr")]
#[cfg_attr(feature = "serde", serde(rename = "SctyTrlr"))]
pub scty_trlr: ContentInformationType9,
}
impl Validate for StatusReportV03 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:catm.001.001.03")]
pub struct TmsactionIdentification2 {
#[yaserde(rename = "ActnTp")]
#[cfg_attr(feature = "serde", serde(rename = "ActnTp"))]
pub actn_tp: TerminalManagementAction1Code,
#[yaserde(rename = "DataSetId")]
#[cfg_attr(feature = "serde", serde(rename = "DataSetId"))]
pub data_set_id: DataSetIdentification3,
}
impl Validate for TmsactionIdentification2 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:catm.001.001.03")]
pub struct Tmsevent2 {
#[yaserde(rename = "TmStmp")]
#[cfg_attr(feature = "serde", serde(rename = "TmStmp"))]
pub tm_stmp: IsodateTime,
#[yaserde(rename = "Rslt")]
#[cfg_attr(feature = "serde", serde(rename = "Rslt"))]
pub rslt: TerminalManagementActionResult1Code,
#[yaserde(rename = "ActnId")]
#[cfg_attr(feature = "serde", serde(rename = "ActnId"))]
pub actn_id: TmsactionIdentification2,
#[yaserde(rename = "AddtlErrInf")]
#[cfg_attr(feature = "serde", serde(rename = "AddtlErrInf"))]
pub addtl_err_inf: Max70Text,
}
impl Validate for Tmsevent2 {}
#[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:catm.001.001.03")]
pub enum TerminalManagementAction1Code {
#[yaserde(rename = "ACTV")]
#[cfg_attr(feature = "serde", serde(rename = "ACTV"))]
Actv,
#[yaserde(rename = "DCTV")]
#[cfg_attr(feature = "serde", serde(rename = "DCTV"))]
Dctv,
#[yaserde(rename = "DELT")]
#[cfg_attr(feature = "serde", serde(rename = "DELT"))]
Delt,
#[yaserde(rename = "DWNL")]
#[cfg_attr(feature = "serde", serde(rename = "DWNL"))]
Dwnl,
#[yaserde(rename = "INST")]
#[cfg_attr(feature = "serde", serde(rename = "INST"))]
Inst,
#[yaserde(rename = "RSTR")]
#[cfg_attr(feature = "serde", serde(rename = "RSTR"))]
Rstr,
#[yaserde(rename = "UPLD")]
#[cfg_attr(feature = "serde", serde(rename = "UPLD"))]
Upld,
__Unknown__(String),
}
impl Default for TerminalManagementAction1Code {
fn default() -> TerminalManagementAction1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for TerminalManagementAction1Code {}
#[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:catm.001.001.03")]
pub enum TerminalManagementActionResult1Code {
#[yaserde(rename = "ACCD")]
#[cfg_attr(feature = "serde", serde(rename = "ACCD"))]
Accd,
#[yaserde(rename = "CNTE")]
#[cfg_attr(feature = "serde", serde(rename = "CNTE"))]
Cnte,
#[yaserde(rename = "FMTE")]
#[cfg_attr(feature = "serde", serde(rename = "FMTE"))]
Fmte,
#[yaserde(rename = "INVC")]
#[cfg_attr(feature = "serde", serde(rename = "INVC"))]
Invc,
#[yaserde(rename = "LENE")]
#[cfg_attr(feature = "serde", serde(rename = "LENE"))]
Lene,
#[yaserde(rename = "OVER")]
#[cfg_attr(feature = "serde", serde(rename = "OVER"))]
Over,
#[yaserde(rename = "MISS")]
#[cfg_attr(feature = "serde", serde(rename = "MISS"))]
Miss,
#[yaserde(rename = "NSUP")]
#[cfg_attr(feature = "serde", serde(rename = "NSUP"))]
Nsup,
#[yaserde(rename = "SIGE")]
#[cfg_attr(feature = "serde", serde(rename = "SIGE"))]
Sige,
#[yaserde(rename = "SUCC")]
#[cfg_attr(feature = "serde", serde(rename = "SUCC"))]
Succ,
#[yaserde(rename = "SYNE")]
#[cfg_attr(feature = "serde", serde(rename = "SYNE"))]
Syne,
#[yaserde(rename = "TIMO")]
#[cfg_attr(feature = "serde", serde(rename = "TIMO"))]
Timo,
#[yaserde(rename = "UKDT")]
#[cfg_attr(feature = "serde", serde(rename = "UKDT"))]
Ukdt,
#[yaserde(rename = "UKRF")]
#[cfg_attr(feature = "serde", serde(rename = "UKRF"))]
Ukrf,
__Unknown__(String),
}
impl Default for TerminalManagementActionResult1Code {
fn default() -> TerminalManagementActionResult1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for TerminalManagementActionResult1Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:catm.001.001.03")]
pub struct TerminalManagementDataSet8 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: DataSetIdentification3,
#[yaserde(rename = "POIChllng")]
#[cfg_attr(feature = "serde", serde(rename = "POIChllng"))]
pub poi_chllng: Max140Binary,
#[yaserde(rename = "TMChllng")]
#[cfg_attr(feature = "serde", serde(rename = "TMChllng"))]
pub tm_chllng: Max140Binary,
#[yaserde(rename = "NcrptdKey")]
#[cfg_attr(feature = "serde", serde(rename = "NcrptdKey"))]
pub ncrptd_key: ContentInformationType7,
}
impl Validate for TerminalManagementDataSet8 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:catm.001.001.03")]
pub struct TerminalManagementDataSet9 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: DataSetIdentification3,
#[yaserde(rename = "SeqCntr")]
#[cfg_attr(feature = "serde", serde(rename = "SeqCntr"))]
pub seq_cntr: Max9NumericText,
#[yaserde(rename = "Cntt")]
#[cfg_attr(feature = "serde", serde(rename = "Cntt"))]
pub cntt: StatusReportContent3,
}
impl Validate for TerminalManagementDataSet9 {}
#[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:catm.001.001.03")]
pub enum UserInterface2Code {
#[yaserde(rename = "MDSP")]
#[cfg_attr(feature = "serde", serde(rename = "MDSP"))]
Mdsp,
#[yaserde(rename = "CDSP")]
#[cfg_attr(feature = "serde", serde(rename = "CDSP"))]
Cdsp,
__Unknown__(String),
}
impl Default for UserInterface2Code {
fn default() -> UserInterface2Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for UserInterface2Code {}
impl crate::MxMessage for Document {
const BUSINESS_AREA: crate::BusinessArea = crate::BusinessArea::catm;
const FUNCTIONALITY: &'static str = "001";
const VARIANT: &'static str = "001";
const VERSION: &'static str = "03";
const MESSAGE_NAME: &'static str = "catm.001.001.03";
const NAMESPACE: &'static str = "urn:iso:std:iso:20022:tech:xsd:catm.001.001.03";
}