#![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:camt.006.001.11")]
pub struct AccountIdentification4Choice {
#[yaserde(rename = "IBAN")]
#[cfg_attr(feature = "serde", serde(rename = "IBAN"))]
pub iban: Option<Iban2007Identifier>,
#[yaserde(rename = "Othr")]
#[cfg_attr(feature = "serde", serde(rename = "Othr"))]
pub othr: Option<GenericAccountIdentification1>,
}
impl Validate for AccountIdentification4Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:camt.006.001.11")]
pub struct AccountSchemeName1Choice {
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: Option<ExternalAccountIdentification1Code>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<Max35Text>,
}
impl Validate for AccountSchemeName1Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct ActiveCurrencyAndAmountSimpleType (pub String);
crate::simple_type!(ActiveCurrencyAndAmountSimpleType);
impl Validate for ActiveCurrencyAndAmountSimpleType {
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:camt.006.001.11")]
pub struct ActiveCurrencyAndAmount {
#[yaserde(text)]
pub value: String,
#[yaserde(attribute, rename = "Ccy")]
#[cfg_attr(feature = "serde", serde(rename = "Ccy"))]
pub ccy: ActiveCurrencyCode,
}
impl Validate for ActiveCurrencyAndAmount {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct ActiveCurrencyCode (pub String);
crate::simple_type!(ActiveCurrencyCode);
impl Validate for ActiveCurrencyCode {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct ActiveOrHistoricCurrencyAndAmountSimpleType (pub String);
crate::simple_type!(ActiveOrHistoricCurrencyAndAmountSimpleType);
impl Validate for ActiveOrHistoricCurrencyAndAmountSimpleType {
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:camt.006.001.11")]
pub struct ActiveOrHistoricCurrencyAndAmount {
#[yaserde(text)]
pub value: String,
#[yaserde(attribute, rename = "Ccy")]
#[cfg_attr(feature = "serde", serde(rename = "Ccy"))]
pub ccy: ActiveOrHistoricCurrencyCode,
}
impl Validate for ActiveOrHistoricCurrencyAndAmount {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct ActiveOrHistoricCurrencyCode (pub String);
crate::simple_type!(ActiveOrHistoricCurrencyCode);
impl Validate for ActiveOrHistoricCurrencyCode {}
#[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:camt.006.001.11")]
pub enum AddressType2Code {
#[yaserde(rename = "ADDR")]
#[cfg_attr(feature = "serde", serde(rename = "ADDR"))]
Addr,
#[yaserde(rename = "PBOX")]
#[cfg_attr(feature = "serde", serde(rename = "PBOX"))]
Pbox,
#[yaserde(rename = "HOME")]
#[cfg_attr(feature = "serde", serde(rename = "HOME"))]
Home,
#[yaserde(rename = "BIZZ")]
#[cfg_attr(feature = "serde", serde(rename = "BIZZ"))]
Bizz,
#[yaserde(rename = "MLTO")]
#[cfg_attr(feature = "serde", serde(rename = "MLTO"))]
Mlto,
#[yaserde(rename = "DLVY")]
#[cfg_attr(feature = "serde", serde(rename = "DLVY"))]
Dlvy,
__Unknown__(String),
}
impl Default for AddressType2Code {
fn default() -> AddressType2Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for AddressType2Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:camt.006.001.11")]
pub struct AddressType3Choice {
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: Option<AddressType2Code>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<GenericIdentification30>,
}
impl Validate for AddressType3Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:camt.006.001.11")]
pub struct Amount2Choice {
#[yaserde(rename = "AmtWthtCcy")]
#[cfg_attr(feature = "serde", serde(rename = "AmtWthtCcy"))]
pub amt_wtht_ccy: Option<ImpliedCurrencyAndAmount>,
#[yaserde(rename = "AmtWthCcy")]
#[cfg_attr(feature = "serde", serde(rename = "AmtWthCcy"))]
pub amt_wth_ccy: Option<ActiveCurrencyAndAmount>,
}
impl Validate for Amount2Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:camt.006.001.11")]
pub struct Amount3Choice {
#[yaserde(rename = "AmtWthCcy")]
#[cfg_attr(feature = "serde", serde(rename = "AmtWthCcy"))]
pub amt_wth_ccy: Option<ActiveOrHistoricCurrencyAndAmount>,
#[yaserde(rename = "AmtWthtCcy")]
#[cfg_attr(feature = "serde", serde(rename = "AmtWthtCcy"))]
pub amt_wtht_ccy: Option<ImpliedCurrencyAndAmount>,
}
impl Validate for Amount3Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct AnyBICDec2014Identifier (pub String);
crate::simple_type!(AnyBICDec2014Identifier);
impl Validate for AnyBICDec2014Identifier {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Bicfidec2014Identifier (pub String);
crate::simple_type!(Bicfidec2014Identifier);
impl Validate for Bicfidec2014Identifier {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:camt.006.001.11")]
pub struct BranchAndFinancialInstitutionIdentification8 {
#[yaserde(rename = "FinInstnId")]
#[cfg_attr(feature = "serde", serde(rename = "FinInstnId"))]
pub fin_instn_id: FinancialInstitutionIdentification23,
#[yaserde(rename = "BrnchId")]
#[cfg_attr(feature = "serde", serde(rename = "BrnchId"))]
pub brnch_id: BranchData5,
}
impl Validate for BranchAndFinancialInstitutionIdentification8 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:camt.006.001.11")]
pub struct BranchData5 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Max35Text,
#[yaserde(rename = "LEI")]
#[cfg_attr(feature = "serde", serde(rename = "LEI"))]
pub lei: Leiidentifier,
#[yaserde(rename = "Nm")]
#[cfg_attr(feature = "serde", serde(rename = "Nm"))]
pub nm: Max140Text,
#[yaserde(rename = "PstlAdr")]
#[cfg_attr(feature = "serde", serde(rename = "PstlAdr"))]
pub pstl_adr: PostalAddress27,
}
impl Validate for BranchData5 {}
#[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:camt.006.001.11")]
pub enum CancelledStatusReason1Code {
#[yaserde(rename = "CANI")]
#[cfg_attr(feature = "serde", serde(rename = "CANI"))]
Cani,
#[yaserde(rename = "CANS")]
#[cfg_attr(feature = "serde", serde(rename = "CANS"))]
Cans,
#[yaserde(rename = "CSUB")]
#[cfg_attr(feature = "serde", serde(rename = "CSUB"))]
Csub,
__Unknown__(String),
}
impl Default for CancelledStatusReason1Code {
fn default() -> CancelledStatusReason1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for CancelledStatusReason1Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:camt.006.001.11")]
pub struct CashAccount43 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: AccountIdentification4Choice,
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: CashAccountType2Choice,
#[yaserde(rename = "Ccy")]
#[cfg_attr(feature = "serde", serde(rename = "Ccy"))]
pub ccy: ActiveOrHistoricCurrencyCode,
#[yaserde(rename = "Nm")]
#[cfg_attr(feature = "serde", serde(rename = "Nm"))]
pub nm: Max70Text,
#[yaserde(rename = "Prxy")]
#[cfg_attr(feature = "serde", serde(rename = "Prxy"))]
pub prxy: ProxyAccountIdentification1,
#[yaserde(rename = "Ownr")]
#[cfg_attr(feature = "serde", serde(rename = "Ownr"))]
pub ownr: PartyIdentification272,
#[yaserde(rename = "Svcr")]
#[cfg_attr(feature = "serde", serde(rename = "Svcr"))]
pub svcr: BranchAndFinancialInstitutionIdentification8,
}
impl Validate for CashAccount43 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:camt.006.001.11")]
pub struct CashAccountAndEntry5 {
#[yaserde(rename = "Acct")]
#[cfg_attr(feature = "serde", serde(rename = "Acct"))]
pub acct: CashAccount43,
#[yaserde(rename = "Ntry")]
#[cfg_attr(feature = "serde", serde(rename = "Ntry"))]
pub ntry: CashEntry2,
}
impl Validate for CashAccountAndEntry5 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:camt.006.001.11")]
pub struct CashAccountType2Choice {
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: Option<ExternalCashAccountType1Code>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<Max35Text>,
}
impl Validate for CashAccountType2Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:camt.006.001.11")]
pub struct CashEntry2 {
#[yaserde(rename = "Amt")]
#[cfg_attr(feature = "serde", serde(rename = "Amt"))]
pub amt: ActiveCurrencyAndAmount,
#[yaserde(rename = "Dt")]
#[cfg_attr(feature = "serde", serde(rename = "Dt"))]
pub dt: DateAndDateTime2Choice,
#[yaserde(rename = "Sts")]
#[cfg_attr(feature = "serde", serde(rename = "Sts"))]
pub sts: EntryStatus1Code,
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Max35Text,
#[yaserde(rename = "StmtId")]
#[cfg_attr(feature = "serde", serde(rename = "StmtId"))]
pub stmt_id: Max35Text,
#[yaserde(rename = "AcctSvcrRef")]
#[cfg_attr(feature = "serde", serde(rename = "AcctSvcrRef"))]
pub acct_svcr_ref: Number,
#[yaserde(rename = "AddtlNtryInf")]
#[cfg_attr(feature = "serde", serde(rename = "AddtlNtryInf"))]
pub addtl_ntry_inf: Vec<Max140Text>,
}
impl Validate for CashEntry2 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:camt.006.001.11")]
pub struct ClearingSystemIdentification2Choice {
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: Option<ExternalClearingSystemIdentification1Code>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<Max35Text>,
}
impl Validate for ClearingSystemIdentification2Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:camt.006.001.11")]
pub struct ClearingSystemMemberIdentification2 {
#[yaserde(rename = "ClrSysId")]
#[cfg_attr(feature = "serde", serde(rename = "ClrSysId"))]
pub clr_sys_id: ClearingSystemIdentification2Choice,
#[yaserde(rename = "MmbId")]
#[cfg_attr(feature = "serde", serde(rename = "MmbId"))]
pub mmb_id: Max35Text,
}
impl Validate for ClearingSystemMemberIdentification2 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:camt.006.001.11")]
pub struct Contact13 {
#[yaserde(rename = "NmPrfx")]
#[cfg_attr(feature = "serde", serde(rename = "NmPrfx"))]
pub nm_prfx: NamePrefix2Code,
#[yaserde(rename = "Nm")]
#[cfg_attr(feature = "serde", serde(rename = "Nm"))]
pub nm: Max140Text,
#[yaserde(rename = "PhneNb")]
#[cfg_attr(feature = "serde", serde(rename = "PhneNb"))]
pub phne_nb: PhoneNumber,
#[yaserde(rename = "MobNb")]
#[cfg_attr(feature = "serde", serde(rename = "MobNb"))]
pub mob_nb: PhoneNumber,
#[yaserde(rename = "FaxNb")]
#[cfg_attr(feature = "serde", serde(rename = "FaxNb"))]
pub fax_nb: PhoneNumber,
#[yaserde(rename = "URLAdr")]
#[cfg_attr(feature = "serde", serde(rename = "URLAdr"))]
pub url_adr: Max2048Text,
#[yaserde(rename = "EmailAdr")]
#[cfg_attr(feature = "serde", serde(rename = "EmailAdr"))]
pub email_adr: Max256Text,
#[yaserde(rename = "EmailPurp")]
#[cfg_attr(feature = "serde", serde(rename = "EmailPurp"))]
pub email_purp: Max35Text,
#[yaserde(rename = "JobTitl")]
#[cfg_attr(feature = "serde", serde(rename = "JobTitl"))]
pub job_titl: Max35Text,
#[yaserde(rename = "Rspnsblty")]
#[cfg_attr(feature = "serde", serde(rename = "Rspnsblty"))]
pub rspnsblty: Max35Text,
#[yaserde(rename = "Dept")]
#[cfg_attr(feature = "serde", serde(rename = "Dept"))]
pub dept: Max70Text,
#[yaserde(rename = "Othr")]
#[cfg_attr(feature = "serde", serde(rename = "Othr"))]
pub othr: Vec<OtherContact1>,
#[yaserde(rename = "PrefrdMtd")]
#[cfg_attr(feature = "serde", serde(rename = "PrefrdMtd"))]
pub prefrd_mtd: PreferredContactMethod2Code,
}
impl Validate for Contact13 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct CountryCode (pub String);
crate::simple_type!(CountryCode);
impl Validate for CountryCode {}
#[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:camt.006.001.11")]
pub enum CreditDebitCode {
#[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 CreditDebitCode {
fn default() -> CreditDebitCode {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for CreditDebitCode {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:camt.006.001.11")]
pub struct DateAndDateTime2Choice {
#[yaserde(rename = "Dt")]
#[cfg_attr(feature = "serde", serde(rename = "Dt"))]
pub dt: Option<Isodate>,
#[yaserde(rename = "DtTm")]
#[cfg_attr(feature = "serde", serde(rename = "DtTm"))]
pub dt_tm: Option<IsodateTime>,
}
impl Validate for DateAndDateTime2Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:camt.006.001.11")]
pub struct DateAndPlaceOfBirth1 {
#[yaserde(rename = "BirthDt")]
#[cfg_attr(feature = "serde", serde(rename = "BirthDt"))]
pub birth_dt: Isodate,
#[yaserde(rename = "PrvcOfBirth")]
#[cfg_attr(feature = "serde", serde(rename = "PrvcOfBirth"))]
pub prvc_of_birth: Max35Text,
#[yaserde(rename = "CityOfBirth")]
#[cfg_attr(feature = "serde", serde(rename = "CityOfBirth"))]
pub city_of_birth: Max35Text,
#[yaserde(rename = "CtryOfBirth")]
#[cfg_attr(feature = "serde", serde(rename = "CtryOfBirth"))]
pub ctry_of_birth: CountryCode,
}
impl Validate for DateAndPlaceOfBirth1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:camt.006.001.11")]
pub struct DateTimePeriod1 {
#[yaserde(rename = "FrDtTm")]
#[cfg_attr(feature = "serde", serde(rename = "FrDtTm"))]
pub fr_dt_tm: IsodateTime,
#[yaserde(rename = "ToDtTm")]
#[cfg_attr(feature = "serde", serde(rename = "ToDtTm"))]
pub to_dt_tm: IsodateTime,
}
impl Validate for DateTimePeriod1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:camt.006.001.11")]
pub struct DateTimePeriod1Choice {
#[yaserde(rename = "FrDtTm")]
#[cfg_attr(feature = "serde", serde(rename = "FrDtTm"))]
pub fr_dt_tm: Option<IsodateTime>,
#[yaserde(rename = "ToDtTm")]
#[cfg_attr(feature = "serde", serde(rename = "ToDtTm"))]
pub to_dt_tm: Option<IsodateTime>,
#[yaserde(rename = "DtTmRg")]
#[cfg_attr(feature = "serde", serde(rename = "DtTmRg"))]
pub dt_tm_rg: Option<DateTimePeriod1>,
}
impl Validate for DateTimePeriod1Choice {}
#[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:camt.006.001.11")]
pub struct Document {
#[yaserde(rename = "RtrTx")]
#[cfg_attr(feature = "serde", serde(rename = "RtrTx"))]
pub rtr_tx: ReturnTransactionV11,
}
impl Validate for Document {}
#[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:camt.006.001.11")]
pub enum EntryStatus1Code {
#[yaserde(rename = "BOOK")]
#[cfg_attr(feature = "serde", serde(rename = "BOOK"))]
Book,
#[yaserde(rename = "PDNG")]
#[cfg_attr(feature = "serde", serde(rename = "PDNG"))]
Pdng,
#[yaserde(rename = "FUTR")]
#[cfg_attr(feature = "serde", serde(rename = "FUTR"))]
Futr,
__Unknown__(String),
}
impl Default for EntryStatus1Code {
fn default() -> EntryStatus1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for EntryStatus1Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct EntryTypeIdentifier (pub String);
crate::simple_type!(EntryTypeIdentifier);
impl Validate for EntryTypeIdentifier {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:camt.006.001.11")]
pub struct ErrorHandling3Choice {
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: Option<ExternalSystemErrorHandling1Code>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<Max35Text>,
}
impl Validate for ErrorHandling3Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:camt.006.001.11")]
pub struct ErrorHandling5 {
#[yaserde(rename = "Err")]
#[cfg_attr(feature = "serde", serde(rename = "Err"))]
pub err: ErrorHandling3Choice,
#[yaserde(rename = "Desc")]
#[cfg_attr(feature = "serde", serde(rename = "Desc"))]
pub desc: Max140Text,
}
impl Validate for ErrorHandling5 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Exact4AlphaNumericText (pub String);
crate::simple_type!(Exact4AlphaNumericText);
impl Validate for Exact4AlphaNumericText {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct ExternalAccountIdentification1Code (pub String);
crate::simple_type!(ExternalAccountIdentification1Code);
impl Validate for ExternalAccountIdentification1Code {
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 ExternalCashAccountType1Code (pub String);
crate::simple_type!(ExternalCashAccountType1Code);
impl Validate for ExternalCashAccountType1Code {
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 ExternalClearingSystemIdentification1Code (pub String);
crate::simple_type!(ExternalClearingSystemIdentification1Code);
impl Validate for ExternalClearingSystemIdentification1Code {
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() > 5 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 5 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct ExternalEnquiryRequestType1Code (pub String);
crate::simple_type!(ExternalEnquiryRequestType1Code);
impl Validate for ExternalEnquiryRequestType1Code {
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 ExternalFinancialInstitutionIdentification1Code (pub String);
crate::simple_type!(ExternalFinancialInstitutionIdentification1Code);
impl Validate for ExternalFinancialInstitutionIdentification1Code {
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 ExternalMarketInfrastructure1Code (pub String);
crate::simple_type!(ExternalMarketInfrastructure1Code);
impl Validate for ExternalMarketInfrastructure1Code {
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 ExternalOrganisationIdentification1Code (pub String);
crate::simple_type!(ExternalOrganisationIdentification1Code);
impl Validate for ExternalOrganisationIdentification1Code {
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 ExternalPaymentControlRequestType1Code (pub String);
crate::simple_type!(ExternalPaymentControlRequestType1Code);
impl Validate for ExternalPaymentControlRequestType1Code {
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 ExternalPersonIdentification1Code (pub String);
crate::simple_type!(ExternalPersonIdentification1Code);
impl Validate for ExternalPersonIdentification1Code {
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 ExternalProxyAccountType1Code (pub String);
crate::simple_type!(ExternalProxyAccountType1Code);
impl Validate for ExternalProxyAccountType1Code {
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 ExternalSystemErrorHandling1Code (pub String);
crate::simple_type!(ExternalSystemErrorHandling1Code);
impl Validate for ExternalSystemErrorHandling1Code {
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(PartialEq, Debug, Clone, YaSerialize, YaDeserialize)]#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:camt.006.001.11")]
pub enum FinalStatus1Code {
#[yaserde(rename = "STLD")]
#[cfg_attr(feature = "serde", serde(rename = "STLD"))]
Stld,
#[yaserde(rename = "RJTD")]
#[cfg_attr(feature = "serde", serde(rename = "RJTD"))]
Rjtd,
#[yaserde(rename = "CAND")]
#[cfg_attr(feature = "serde", serde(rename = "CAND"))]
Cand,
#[yaserde(rename = "FNLD")]
#[cfg_attr(feature = "serde", serde(rename = "FNLD"))]
Fnld,
__Unknown__(String),
}
impl Default for FinalStatus1Code {
fn default() -> FinalStatus1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for FinalStatus1Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:camt.006.001.11")]
pub struct FinancialIdentificationSchemeName1Choice {
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: Option<ExternalFinancialInstitutionIdentification1Code>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<Max35Text>,
}
impl Validate for FinancialIdentificationSchemeName1Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:camt.006.001.11")]
pub struct FinancialInstitutionIdentification23 {
#[yaserde(rename = "BICFI")]
#[cfg_attr(feature = "serde", serde(rename = "BICFI"))]
pub bicfi: Bicfidec2014Identifier,
#[yaserde(rename = "ClrSysMmbId")]
#[cfg_attr(feature = "serde", serde(rename = "ClrSysMmbId"))]
pub clr_sys_mmb_id: ClearingSystemMemberIdentification2,
#[yaserde(rename = "LEI")]
#[cfg_attr(feature = "serde", serde(rename = "LEI"))]
pub lei: Leiidentifier,
#[yaserde(rename = "Nm")]
#[cfg_attr(feature = "serde", serde(rename = "Nm"))]
pub nm: Max140Text,
#[yaserde(rename = "PstlAdr")]
#[cfg_attr(feature = "serde", serde(rename = "PstlAdr"))]
pub pstl_adr: PostalAddress27,
#[yaserde(rename = "Othr")]
#[cfg_attr(feature = "serde", serde(rename = "Othr"))]
pub othr: GenericFinancialIdentification1,
}
impl Validate for FinancialInstitutionIdentification23 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:camt.006.001.11")]
pub struct GenericAccountIdentification1 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Max34Text,
#[yaserde(rename = "SchmeNm")]
#[cfg_attr(feature = "serde", serde(rename = "SchmeNm"))]
pub schme_nm: AccountSchemeName1Choice,
#[yaserde(rename = "Issr")]
#[cfg_attr(feature = "serde", serde(rename = "Issr"))]
pub issr: Max35Text,
}
impl Validate for GenericAccountIdentification1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:camt.006.001.11")]
pub struct GenericFinancialIdentification1 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Max35Text,
#[yaserde(rename = "SchmeNm")]
#[cfg_attr(feature = "serde", serde(rename = "SchmeNm"))]
pub schme_nm: FinancialIdentificationSchemeName1Choice,
#[yaserde(rename = "Issr")]
#[cfg_attr(feature = "serde", serde(rename = "Issr"))]
pub issr: Max35Text,
}
impl Validate for GenericFinancialIdentification1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:camt.006.001.11")]
pub struct GenericIdentification1 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Max35Text,
#[yaserde(rename = "SchmeNm")]
#[cfg_attr(feature = "serde", serde(rename = "SchmeNm"))]
pub schme_nm: Max35Text,
#[yaserde(rename = "Issr")]
#[cfg_attr(feature = "serde", serde(rename = "Issr"))]
pub issr: Max35Text,
}
impl Validate for GenericIdentification1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:camt.006.001.11")]
pub struct GenericIdentification30 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Exact4AlphaNumericText,
#[yaserde(rename = "Issr")]
#[cfg_attr(feature = "serde", serde(rename = "Issr"))]
pub issr: Max35Text,
#[yaserde(rename = "SchmeNm")]
#[cfg_attr(feature = "serde", serde(rename = "SchmeNm"))]
pub schme_nm: Max35Text,
}
impl Validate for GenericIdentification30 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:camt.006.001.11")]
pub struct GenericOrganisationIdentification3 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Max256Text,
#[yaserde(rename = "SchmeNm")]
#[cfg_attr(feature = "serde", serde(rename = "SchmeNm"))]
pub schme_nm: OrganisationIdentificationSchemeName1Choice,
#[yaserde(rename = "Issr")]
#[cfg_attr(feature = "serde", serde(rename = "Issr"))]
pub issr: Max35Text,
}
impl Validate for GenericOrganisationIdentification3 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:camt.006.001.11")]
pub struct GenericPersonIdentification2 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Max256Text,
#[yaserde(rename = "SchmeNm")]
#[cfg_attr(feature = "serde", serde(rename = "SchmeNm"))]
pub schme_nm: PersonIdentificationSchemeName1Choice,
#[yaserde(rename = "Issr")]
#[cfg_attr(feature = "serde", serde(rename = "Issr"))]
pub issr: Max35Text,
}
impl Validate for GenericPersonIdentification2 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Iban2007Identifier (pub String);
crate::simple_type!(Iban2007Identifier);
impl Validate for Iban2007Identifier {}
#[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 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)]
pub struct Leiidentifier (pub String);
crate::simple_type!(Leiidentifier);
impl Validate for Leiidentifier {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:camt.006.001.11")]
pub struct LongPaymentIdentification4 {
#[yaserde(rename = "TxId")]
#[cfg_attr(feature = "serde", serde(rename = "TxId"))]
pub tx_id: Max35Text,
#[yaserde(rename = "UETR")]
#[cfg_attr(feature = "serde", serde(rename = "UETR"))]
pub uetr: Uuidv4Identifier,
#[yaserde(rename = "IntrBkSttlmAmt")]
#[cfg_attr(feature = "serde", serde(rename = "IntrBkSttlmAmt"))]
pub intr_bk_sttlm_amt: ImpliedCurrencyAndAmount,
#[yaserde(rename = "IntrBkSttlmDt")]
#[cfg_attr(feature = "serde", serde(rename = "IntrBkSttlmDt"))]
pub intr_bk_sttlm_dt: Isodate,
#[yaserde(rename = "PmtMtd")]
#[cfg_attr(feature = "serde", serde(rename = "PmtMtd"))]
pub pmt_mtd: PaymentOrigin1Choice,
#[yaserde(rename = "InstgAgt")]
#[cfg_attr(feature = "serde", serde(rename = "InstgAgt"))]
pub instg_agt: BranchAndFinancialInstitutionIdentification8,
#[yaserde(rename = "InstdAgt")]
#[cfg_attr(feature = "serde", serde(rename = "InstdAgt"))]
pub instd_agt: BranchAndFinancialInstitutionIdentification8,
#[yaserde(rename = "NtryTp")]
#[cfg_attr(feature = "serde", serde(rename = "NtryTp"))]
pub ntry_tp: EntryTypeIdentifier,
#[yaserde(rename = "EndToEndId")]
#[cfg_attr(feature = "serde", serde(rename = "EndToEndId"))]
pub end_to_end_id: Max35Text,
}
impl Validate for LongPaymentIdentification4 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:camt.006.001.11")]
pub struct MarketInfrastructureIdentification1Choice {
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: Option<ExternalMarketInfrastructure1Code>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<Max35Text>,
}
impl Validate for MarketInfrastructureIdentification1Choice {}
#[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 Max128Text (pub String);
crate::simple_type!(Max128Text);
impl Validate for Max128Text {
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() > 128 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 128 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max140Text (pub String);
crate::simple_type!(Max140Text);
impl Validate for Max140Text {
fn validate(&self) -> Result<(), String> {
#[allow(clippy::len_zero)]
if self.0.len() < 1 {
return Err(format!("MinLength validation error. \nExpected: 0 length >= 1 \nActual: 0 length == {}", self.0.len()));
}
if self.0.len() > 140 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 140 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max15NumericText (pub String);
crate::simple_type!(Max15NumericText);
impl Validate for Max15NumericText {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max16Text (pub String);
crate::simple_type!(Max16Text);
impl Validate for Max16Text {
fn validate(&self) -> Result<(), String> {
#[allow(clippy::len_zero)]
if self.0.len() < 1 {
return Err(format!("MinLength validation error. \nExpected: 0 length >= 1 \nActual: 0 length == {}", self.0.len()));
}
if self.0.len() > 16 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 16 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max20000Text (pub String);
crate::simple_type!(Max20000Text);
impl Validate for Max20000Text {
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 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 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 Max34Text (pub String);
crate::simple_type!(Max34Text);
impl Validate for Max34Text {
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() > 34 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 34 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max350Text (pub String);
crate::simple_type!(Max350Text);
impl Validate for Max350Text {
fn validate(&self) -> Result<(), String> {
#[allow(clippy::len_zero)]
if self.0.len() < 1 {
return Err(format!("MinLength validation error. \nExpected: 0 length >= 1 \nActual: 0 length == {}", self.0.len()));
}
if self.0.len() > 350 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 350 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct 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 Max4AlphaNumericText (pub String);
crate::simple_type!(Max4AlphaNumericText);
impl Validate for Max4AlphaNumericText {
fn validate(&self) -> Result<(), String> {
#[allow(clippy::len_zero)]
if self.0.len() < 1 {
return Err(format!("MinLength validation error. \nExpected: 0 length >= 1 \nActual: 0 length == {}", self.0.len()));
}
if self.0.len() > 4 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 4 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct 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 Max5NumericText (pub String);
crate::simple_type!(Max5NumericText);
impl Validate for Max5NumericText {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max70Text (pub String);
crate::simple_type!(Max70Text);
impl Validate for Max70Text {
fn validate(&self) -> Result<(), String> {
#[allow(clippy::len_zero)]
if self.0.len() < 1 {
return Err(format!("MinLength validation error. \nExpected: 0 length >= 1 \nActual: 0 length == {}", self.0.len()));
}
if self.0.len() > 70 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 70 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:camt.006.001.11")]
pub struct MessageHeader8 {
#[yaserde(rename = "MsgId")]
#[cfg_attr(feature = "serde", serde(rename = "MsgId"))]
pub msg_id: Max35Text,
#[yaserde(rename = "CreDtTm")]
#[cfg_attr(feature = "serde", serde(rename = "CreDtTm"))]
pub cre_dt_tm: IsodateTime,
#[yaserde(rename = "MsgPgntn")]
#[cfg_attr(feature = "serde", serde(rename = "MsgPgntn"))]
pub msg_pgntn: Pagination1,
#[yaserde(rename = "OrgnlBizQry")]
#[cfg_attr(feature = "serde", serde(rename = "OrgnlBizQry"))]
pub orgnl_biz_qry: OriginalBusinessQuery1,
#[yaserde(rename = "ReqTp")]
#[cfg_attr(feature = "serde", serde(rename = "ReqTp"))]
pub req_tp: RequestType4Choice,
#[yaserde(rename = "QryNm")]
#[cfg_attr(feature = "serde", serde(rename = "QryNm"))]
pub qry_nm: Max35Text,
}
impl Validate for MessageHeader8 {}
#[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:camt.006.001.11")]
pub enum NamePrefix2Code {
#[yaserde(rename = "DOCT")]
#[cfg_attr(feature = "serde", serde(rename = "DOCT"))]
Doct,
#[yaserde(rename = "MADM")]
#[cfg_attr(feature = "serde", serde(rename = "MADM"))]
Madm,
#[yaserde(rename = "MISS")]
#[cfg_attr(feature = "serde", serde(rename = "MISS"))]
Miss,
#[yaserde(rename = "MIST")]
#[cfg_attr(feature = "serde", serde(rename = "MIST"))]
Mist,
#[yaserde(rename = "MIKS")]
#[cfg_attr(feature = "serde", serde(rename = "MIKS"))]
Miks,
__Unknown__(String),
}
impl Default for NamePrefix2Code {
fn default() -> NamePrefix2Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for NamePrefix2Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Number (pub String);
crate::simple_type!(Number);
impl Validate for Number {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:camt.006.001.11")]
pub struct NumberAndSumOfTransactions2 {
#[yaserde(rename = "NbOfNtries")]
#[cfg_attr(feature = "serde", serde(rename = "NbOfNtries"))]
pub nb_of_ntries: Max15NumericText,
#[yaserde(rename = "Sum")]
#[cfg_attr(feature = "serde", serde(rename = "Sum"))]
pub sum: DecimalNumber,
#[yaserde(rename = "TtlNetNtryAmt")]
#[cfg_attr(feature = "serde", serde(rename = "TtlNetNtryAmt"))]
pub ttl_net_ntry_amt: DecimalNumber,
#[yaserde(rename = "CdtDbtInd")]
#[cfg_attr(feature = "serde", serde(rename = "CdtDbtInd"))]
pub cdt_dbt_ind: CreditDebitCode,
}
impl Validate for NumberAndSumOfTransactions2 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:camt.006.001.11")]
pub struct OrganisationIdentification39 {
#[yaserde(rename = "AnyBIC")]
#[cfg_attr(feature = "serde", serde(rename = "AnyBIC"))]
pub any_bic: AnyBICDec2014Identifier,
#[yaserde(rename = "LEI")]
#[cfg_attr(feature = "serde", serde(rename = "LEI"))]
pub lei: Leiidentifier,
#[yaserde(rename = "Othr")]
#[cfg_attr(feature = "serde", serde(rename = "Othr"))]
pub othr: Vec<GenericOrganisationIdentification3>,
}
impl Validate for OrganisationIdentification39 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:camt.006.001.11")]
pub struct OrganisationIdentificationSchemeName1Choice {
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: Option<ExternalOrganisationIdentification1Code>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<Max35Text>,
}
impl Validate for OrganisationIdentificationSchemeName1Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:camt.006.001.11")]
pub struct OriginalBusinessQuery1 {
#[yaserde(rename = "MsgId")]
#[cfg_attr(feature = "serde", serde(rename = "MsgId"))]
pub msg_id: Max35Text,
#[yaserde(rename = "MsgNmId")]
#[cfg_attr(feature = "serde", serde(rename = "MsgNmId"))]
pub msg_nm_id: Max35Text,
#[yaserde(rename = "CreDtTm")]
#[cfg_attr(feature = "serde", serde(rename = "CreDtTm"))]
pub cre_dt_tm: IsodateTime,
}
impl Validate for OriginalBusinessQuery1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:camt.006.001.11")]
pub struct OtherContact1 {
#[yaserde(rename = "ChanlTp")]
#[cfg_attr(feature = "serde", serde(rename = "ChanlTp"))]
pub chanl_tp: Max4Text,
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Max128Text,
}
impl Validate for OtherContact1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:camt.006.001.11")]
pub struct Pagination1 {
#[yaserde(rename = "PgNb")]
#[cfg_attr(feature = "serde", serde(rename = "PgNb"))]
pub pg_nb: Max5NumericText,
#[yaserde(rename = "LastPgInd")]
#[cfg_attr(feature = "serde", serde(rename = "LastPgInd"))]
pub last_pg_ind: YesNoIndicator,
}
impl Validate for Pagination1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:camt.006.001.11")]
pub struct Party50Choice {
#[yaserde(rename = "Pty")]
#[cfg_attr(feature = "serde", serde(rename = "Pty"))]
pub pty: Option<PartyIdentification272>,
#[yaserde(rename = "Agt")]
#[cfg_attr(feature = "serde", serde(rename = "Agt"))]
pub agt: Option<BranchAndFinancialInstitutionIdentification8>,
}
impl Validate for Party50Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:camt.006.001.11")]
pub struct Party52Choice {
#[yaserde(rename = "OrgId")]
#[cfg_attr(feature = "serde", serde(rename = "OrgId"))]
pub org_id: Option<OrganisationIdentification39>,
#[yaserde(rename = "PrvtId")]
#[cfg_attr(feature = "serde", serde(rename = "PrvtId"))]
pub prvt_id: Option<PersonIdentification18>,
}
impl Validate for Party52Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:camt.006.001.11")]
pub struct PartyIdentification272 {
#[yaserde(rename = "Nm")]
#[cfg_attr(feature = "serde", serde(rename = "Nm"))]
pub nm: Max140Text,
#[yaserde(rename = "PstlAdr")]
#[cfg_attr(feature = "serde", serde(rename = "PstlAdr"))]
pub pstl_adr: PostalAddress27,
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Party52Choice,
#[yaserde(rename = "CtryOfRes")]
#[cfg_attr(feature = "serde", serde(rename = "CtryOfRes"))]
pub ctry_of_res: CountryCode,
#[yaserde(rename = "CtctDtls")]
#[cfg_attr(feature = "serde", serde(rename = "CtctDtls"))]
pub ctct_dtls: Contact13,
}
impl Validate for PartyIdentification272 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:camt.006.001.11")]
pub struct PaymentCommon6 {
#[yaserde(rename = "PmtFr")]
#[cfg_attr(feature = "serde", serde(rename = "PmtFr"))]
pub pmt_fr: System3,
#[yaserde(rename = "PmtTo")]
#[cfg_attr(feature = "serde", serde(rename = "PmtTo"))]
pub pmt_to: System3,
#[yaserde(rename = "CmonSts")]
#[cfg_attr(feature = "serde", serde(rename = "CmonSts"))]
pub cmon_sts: Vec<PaymentStatus6>,
#[yaserde(rename = "ReqdExctnDt")]
#[cfg_attr(feature = "serde", serde(rename = "ReqdExctnDt"))]
pub reqd_exctn_dt: DateAndDateTime2Choice,
#[yaserde(rename = "NtryDt")]
#[cfg_attr(feature = "serde", serde(rename = "NtryDt"))]
pub ntry_dt: DateAndDateTime2Choice,
#[yaserde(rename = "CdtDbtInd")]
#[cfg_attr(feature = "serde", serde(rename = "CdtDbtInd"))]
pub cdt_dbt_ind: CreditDebitCode,
#[yaserde(rename = "PmtMtd")]
#[cfg_attr(feature = "serde", serde(rename = "PmtMtd"))]
pub pmt_mtd: PaymentOrigin1Choice,
}
impl Validate for PaymentCommon6 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:camt.006.001.11")]
pub struct PaymentIdentification8Choice {
#[yaserde(rename = "TxId")]
#[cfg_attr(feature = "serde", serde(rename = "TxId"))]
pub tx_id: Option<Max35Text>,
#[yaserde(rename = "UETR")]
#[cfg_attr(feature = "serde", serde(rename = "UETR"))]
pub uetr: Option<Uuidv4Identifier>,
#[yaserde(rename = "QId")]
#[cfg_attr(feature = "serde", serde(rename = "QId"))]
pub qid: Option<QueueTransactionIdentification1>,
#[yaserde(rename = "LngBizId")]
#[cfg_attr(feature = "serde", serde(rename = "LngBizId"))]
pub lng_biz_id: Option<LongPaymentIdentification4>,
#[yaserde(rename = "ShrtBizId")]
#[cfg_attr(feature = "serde", serde(rename = "ShrtBizId"))]
pub shrt_biz_id: Option<ShortPaymentIdentification4>,
#[yaserde(rename = "PrtryId")]
#[cfg_attr(feature = "serde", serde(rename = "PrtryId"))]
pub prtry_id: Option<Max70Text>,
}
impl Validate for PaymentIdentification8Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:camt.006.001.11")]
pub struct PaymentInstruction47 {
#[yaserde(rename = "MsgId")]
#[cfg_attr(feature = "serde", serde(rename = "MsgId"))]
pub msg_id: Max35Text,
#[yaserde(rename = "ReqdExctnDt")]
#[cfg_attr(feature = "serde", serde(rename = "ReqdExctnDt"))]
pub reqd_exctn_dt: DateAndDateTime2Choice,
#[yaserde(rename = "Sts")]
#[cfg_attr(feature = "serde", serde(rename = "Sts"))]
pub sts: Vec<PaymentStatus6>,
#[yaserde(rename = "InstdAmt")]
#[cfg_attr(feature = "serde", serde(rename = "InstdAmt"))]
pub instd_amt: Amount3Choice,
#[yaserde(rename = "IntrBkSttlmAmt")]
#[cfg_attr(feature = "serde", serde(rename = "IntrBkSttlmAmt"))]
pub intr_bk_sttlm_amt: Amount2Choice,
#[yaserde(rename = "Purp")]
#[cfg_attr(feature = "serde", serde(rename = "Purp"))]
pub purp: Max10Text,
#[yaserde(rename = "PmtMtd")]
#[cfg_attr(feature = "serde", serde(rename = "PmtMtd"))]
pub pmt_mtd: PaymentOrigin1Choice,
#[yaserde(rename = "Prty")]
#[cfg_attr(feature = "serde", serde(rename = "Prty"))]
pub prty: Priority1Choice,
#[yaserde(rename = "PrcgVldtyTm")]
#[cfg_attr(feature = "serde", serde(rename = "PrcgVldtyTm"))]
pub prcg_vldty_tm: DateTimePeriod1Choice,
#[yaserde(rename = "InstrCpy")]
#[cfg_attr(feature = "serde", serde(rename = "InstrCpy"))]
pub instr_cpy: Max20000Text,
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: PaymentType4Choice,
#[yaserde(rename = "GnrtdOrdr")]
#[cfg_attr(feature = "serde", serde(rename = "GnrtdOrdr"))]
pub gnrtd_ordr: TrueFalseIndicator,
#[yaserde(rename = "TxId")]
#[cfg_attr(feature = "serde", serde(rename = "TxId"))]
pub tx_id: Max35Text,
#[yaserde(rename = "IntrBkSttlmDt")]
#[cfg_attr(feature = "serde", serde(rename = "IntrBkSttlmDt"))]
pub intr_bk_sttlm_dt: Isodate,
#[yaserde(rename = "EndToEndId")]
#[cfg_attr(feature = "serde", serde(rename = "EndToEndId"))]
pub end_to_end_id: Max35Text,
#[yaserde(rename = "Pties")]
#[cfg_attr(feature = "serde", serde(rename = "Pties"))]
pub pties: PaymentTransactionParty4,
}
impl Validate for PaymentInstruction47 {}
#[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:camt.006.001.11")]
pub enum PaymentInstrument1Code {
#[yaserde(rename = "BDT")]
#[cfg_attr(feature = "serde", serde(rename = "BDT"))]
Bdt,
#[yaserde(rename = "BCT")]
#[cfg_attr(feature = "serde", serde(rename = "BCT"))]
Bct,
#[yaserde(rename = "CDT")]
#[cfg_attr(feature = "serde", serde(rename = "CDT"))]
Cdt,
#[yaserde(rename = "CCT")]
#[cfg_attr(feature = "serde", serde(rename = "CCT"))]
Cct,
#[yaserde(rename = "CHK")]
#[cfg_attr(feature = "serde", serde(rename = "CHK"))]
Chk,
#[yaserde(rename = "BKT")]
#[cfg_attr(feature = "serde", serde(rename = "BKT"))]
Bkt,
#[yaserde(rename = "DCP")]
#[cfg_attr(feature = "serde", serde(rename = "DCP"))]
Dcp,
#[yaserde(rename = "CCP")]
#[cfg_attr(feature = "serde", serde(rename = "CCP"))]
Ccp,
#[yaserde(rename = "RTI")]
#[cfg_attr(feature = "serde", serde(rename = "RTI"))]
Rti,
#[yaserde(rename = "CAN")]
#[cfg_attr(feature = "serde", serde(rename = "CAN"))]
Can,
__Unknown__(String),
}
impl Default for PaymentInstrument1Code {
fn default() -> PaymentInstrument1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for PaymentInstrument1Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:camt.006.001.11")]
pub struct PaymentOrigin1Choice {
#[yaserde(rename = "FINMT")]
#[cfg_attr(feature = "serde", serde(rename = "FINMT"))]
pub finmt: Option<Max3NumericText>,
#[yaserde(rename = "XMLMsgNm")]
#[cfg_attr(feature = "serde", serde(rename = "XMLMsgNm"))]
pub xmlmsg_nm: Option<Max35Text>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<Max35Text>,
#[yaserde(rename = "Instrm")]
#[cfg_attr(feature = "serde", serde(rename = "Instrm"))]
pub instrm: Option<PaymentInstrument1Code>,
}
impl Validate for PaymentOrigin1Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:camt.006.001.11")]
pub struct PaymentStatus6 {
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: PaymentStatusCode6Choice,
#[yaserde(rename = "DtTm")]
#[cfg_attr(feature = "serde", serde(rename = "DtTm"))]
pub dt_tm: DateAndDateTime2Choice,
#[yaserde(rename = "Rsn")]
#[cfg_attr(feature = "serde", serde(rename = "Rsn"))]
pub rsn: Vec<PaymentStatusReason1Choice>,
}
impl Validate for PaymentStatus6 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:camt.006.001.11")]
pub struct PaymentStatusCode6Choice {
#[yaserde(rename = "Pdg")]
#[cfg_attr(feature = "serde", serde(rename = "Pdg"))]
pub pdg: Option<PendingStatus4Code>,
#[yaserde(rename = "Fnl")]
#[cfg_attr(feature = "serde", serde(rename = "Fnl"))]
pub fnl: Option<FinalStatus1Code>,
#[yaserde(rename = "RTGS")]
#[cfg_attr(feature = "serde", serde(rename = "RTGS"))]
pub rtgs: Option<Max4AlphaNumericText>,
#[yaserde(rename = "Sttlm")]
#[cfg_attr(feature = "serde", serde(rename = "Sttlm"))]
pub sttlm: Option<Max4AlphaNumericText>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<Max35Text>,
}
impl Validate for PaymentStatusCode6Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:camt.006.001.11")]
pub struct PaymentStatusReason1Choice {
#[yaserde(rename = "Umtchd")]
#[cfg_attr(feature = "serde", serde(rename = "Umtchd"))]
pub umtchd: Option<UnmatchedStatusReason1Code>,
#[yaserde(rename = "Canc")]
#[cfg_attr(feature = "serde", serde(rename = "Canc"))]
pub canc: Option<CancelledStatusReason1Code>,
#[yaserde(rename = "Sspd")]
#[cfg_attr(feature = "serde", serde(rename = "Sspd"))]
pub sspd: Option<SuspendedStatusReason1Code>,
#[yaserde(rename = "PdgFlngSttlm")]
#[cfg_attr(feature = "serde", serde(rename = "PdgFlngSttlm"))]
pub pdg_flng_sttlm: Option<PendingFailingSettlement1Code>,
#[yaserde(rename = "PdgSttlm")]
#[cfg_attr(feature = "serde", serde(rename = "PdgSttlm"))]
pub pdg_sttlm: Option<PendingSettlement2Code>,
#[yaserde(rename = "PrtryRjctn")]
#[cfg_attr(feature = "serde", serde(rename = "PrtryRjctn"))]
pub prtry_rjctn: Option<ProprietaryStatusJustification2>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<Max35Text>,
}
impl Validate for PaymentStatusReason1Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:camt.006.001.11")]
pub struct PaymentTransactionParty4 {
#[yaserde(rename = "InstgAgt")]
#[cfg_attr(feature = "serde", serde(rename = "InstgAgt"))]
pub instg_agt: BranchAndFinancialInstitutionIdentification8,
#[yaserde(rename = "InstdAgt")]
#[cfg_attr(feature = "serde", serde(rename = "InstdAgt"))]
pub instd_agt: BranchAndFinancialInstitutionIdentification8,
#[yaserde(rename = "UltmtDbtr")]
#[cfg_attr(feature = "serde", serde(rename = "UltmtDbtr"))]
pub ultmt_dbtr: Party50Choice,
#[yaserde(rename = "Dbtr")]
#[cfg_attr(feature = "serde", serde(rename = "Dbtr"))]
pub dbtr: Party50Choice,
#[yaserde(rename = "DbtrAgt")]
#[cfg_attr(feature = "serde", serde(rename = "DbtrAgt"))]
pub dbtr_agt: BranchAndFinancialInstitutionIdentification8,
#[yaserde(rename = "InstgRmbrsmntAgt")]
#[cfg_attr(feature = "serde", serde(rename = "InstgRmbrsmntAgt"))]
pub instg_rmbrsmnt_agt: BranchAndFinancialInstitutionIdentification8,
#[yaserde(rename = "InstdRmbrsmntAgt")]
#[cfg_attr(feature = "serde", serde(rename = "InstdRmbrsmntAgt"))]
pub instd_rmbrsmnt_agt: BranchAndFinancialInstitutionIdentification8,
#[yaserde(rename = "IntrmyAgt1")]
#[cfg_attr(feature = "serde", serde(rename = "IntrmyAgt1"))]
pub intrmy_agt_1: BranchAndFinancialInstitutionIdentification8,
#[yaserde(rename = "IntrmyAgt2")]
#[cfg_attr(feature = "serde", serde(rename = "IntrmyAgt2"))]
pub intrmy_agt_2: BranchAndFinancialInstitutionIdentification8,
#[yaserde(rename = "IntrmyAgt3")]
#[cfg_attr(feature = "serde", serde(rename = "IntrmyAgt3"))]
pub intrmy_agt_3: BranchAndFinancialInstitutionIdentification8,
#[yaserde(rename = "CdtrAgt")]
#[cfg_attr(feature = "serde", serde(rename = "CdtrAgt"))]
pub cdtr_agt: BranchAndFinancialInstitutionIdentification8,
#[yaserde(rename = "Cdtr")]
#[cfg_attr(feature = "serde", serde(rename = "Cdtr"))]
pub cdtr: Party50Choice,
#[yaserde(rename = "UltmtCdtr")]
#[cfg_attr(feature = "serde", serde(rename = "UltmtCdtr"))]
pub ultmt_cdtr: Party50Choice,
}
impl Validate for PaymentTransactionParty4 {}
#[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:camt.006.001.11")]
pub enum PaymentType3Code {
#[yaserde(rename = "CBS")]
#[cfg_attr(feature = "serde", serde(rename = "CBS"))]
Cbs,
#[yaserde(rename = "BCK")]
#[cfg_attr(feature = "serde", serde(rename = "BCK"))]
Bck,
#[yaserde(rename = "BAL")]
#[cfg_attr(feature = "serde", serde(rename = "BAL"))]
Bal,
#[yaserde(rename = "CLS")]
#[cfg_attr(feature = "serde", serde(rename = "CLS"))]
Cls,
#[yaserde(rename = "CTR")]
#[cfg_attr(feature = "serde", serde(rename = "CTR"))]
Ctr,
#[yaserde(rename = "CBH")]
#[cfg_attr(feature = "serde", serde(rename = "CBH"))]
Cbh,
#[yaserde(rename = "CBP")]
#[cfg_attr(feature = "serde", serde(rename = "CBP"))]
Cbp,
#[yaserde(rename = "DPG")]
#[cfg_attr(feature = "serde", serde(rename = "DPG"))]
Dpg,
#[yaserde(rename = "DPN")]
#[cfg_attr(feature = "serde", serde(rename = "DPN"))]
Dpn,
#[yaserde(rename = "EXP")]
#[cfg_attr(feature = "serde", serde(rename = "EXP"))]
Exp,
#[yaserde(rename = "TCH")]
#[cfg_attr(feature = "serde", serde(rename = "TCH"))]
Tch,
#[yaserde(rename = "LMT")]
#[cfg_attr(feature = "serde", serde(rename = "LMT"))]
Lmt,
#[yaserde(rename = "LIQ")]
#[cfg_attr(feature = "serde", serde(rename = "LIQ"))]
Liq,
#[yaserde(rename = "DPP")]
#[cfg_attr(feature = "serde", serde(rename = "DPP"))]
Dpp,
#[yaserde(rename = "DPH")]
#[cfg_attr(feature = "serde", serde(rename = "DPH"))]
Dph,
#[yaserde(rename = "DPS")]
#[cfg_attr(feature = "serde", serde(rename = "DPS"))]
Dps,
#[yaserde(rename = "STF")]
#[cfg_attr(feature = "serde", serde(rename = "STF"))]
Stf,
#[yaserde(rename = "TRP")]
#[cfg_attr(feature = "serde", serde(rename = "TRP"))]
Trp,
#[yaserde(rename = "TCS")]
#[cfg_attr(feature = "serde", serde(rename = "TCS"))]
Tcs,
#[yaserde(rename = "LOA")]
#[cfg_attr(feature = "serde", serde(rename = "LOA"))]
Loa,
#[yaserde(rename = "LOR")]
#[cfg_attr(feature = "serde", serde(rename = "LOR"))]
Lor,
#[yaserde(rename = "TCP")]
#[cfg_attr(feature = "serde", serde(rename = "TCP"))]
Tcp,
#[yaserde(rename = "OND")]
#[cfg_attr(feature = "serde", serde(rename = "OND"))]
Ond,
#[yaserde(rename = "MGL")]
#[cfg_attr(feature = "serde", serde(rename = "MGL"))]
Mgl,
__Unknown__(String),
}
impl Default for PaymentType3Code {
fn default() -> PaymentType3Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for PaymentType3Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:camt.006.001.11")]
pub struct PaymentType4Choice {
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: Option<PaymentType3Code>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<Max35Text>,
}
impl Validate for PaymentType4Choice {}
#[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:camt.006.001.11")]
pub enum PendingFailingSettlement1Code {
#[yaserde(rename = "AWMO")]
#[cfg_attr(feature = "serde", serde(rename = "AWMO"))]
Awmo,
#[yaserde(rename = "AWSH")]
#[cfg_attr(feature = "serde", serde(rename = "AWSH"))]
Awsh,
#[yaserde(rename = "LAAW")]
#[cfg_attr(feature = "serde", serde(rename = "LAAW"))]
Laaw,
#[yaserde(rename = "DOCY")]
#[cfg_attr(feature = "serde", serde(rename = "DOCY"))]
Docy,
#[yaserde(rename = "CLAT")]
#[cfg_attr(feature = "serde", serde(rename = "CLAT"))]
Clat,
#[yaserde(rename = "CERT")]
#[cfg_attr(feature = "serde", serde(rename = "CERT"))]
Cert,
#[yaserde(rename = "MINO")]
#[cfg_attr(feature = "serde", serde(rename = "MINO"))]
Mino,
#[yaserde(rename = "PHSE")]
#[cfg_attr(feature = "serde", serde(rename = "PHSE"))]
Phse,
#[yaserde(rename = "SBLO")]
#[cfg_attr(feature = "serde", serde(rename = "SBLO"))]
Sblo,
#[yaserde(rename = "DKNY")]
#[cfg_attr(feature = "serde", serde(rename = "DKNY"))]
Dkny,
#[yaserde(rename = "STCD")]
#[cfg_attr(feature = "serde", serde(rename = "STCD"))]
Stcd,
#[yaserde(rename = "BENO")]
#[cfg_attr(feature = "serde", serde(rename = "BENO"))]
Beno,
#[yaserde(rename = "LACK")]
#[cfg_attr(feature = "serde", serde(rename = "LACK"))]
Lack,
#[yaserde(rename = "LATE")]
#[cfg_attr(feature = "serde", serde(rename = "LATE"))]
Late,
#[yaserde(rename = "CANR")]
#[cfg_attr(feature = "serde", serde(rename = "CANR"))]
Canr,
#[yaserde(rename = "MLAT")]
#[cfg_attr(feature = "serde", serde(rename = "MLAT"))]
Mlat,
#[yaserde(rename = "OBJT")]
#[cfg_attr(feature = "serde", serde(rename = "OBJT"))]
Objt,
#[yaserde(rename = "DOCC")]
#[cfg_attr(feature = "serde", serde(rename = "DOCC"))]
Docc,
#[yaserde(rename = "BLOC")]
#[cfg_attr(feature = "serde", serde(rename = "BLOC"))]
Bloc,
#[yaserde(rename = "CHAS")]
#[cfg_attr(feature = "serde", serde(rename = "CHAS"))]
Chas,
#[yaserde(rename = "NEWI")]
#[cfg_attr(feature = "serde", serde(rename = "NEWI"))]
Newi,
#[yaserde(rename = "CLAC")]
#[cfg_attr(feature = "serde", serde(rename = "CLAC"))]
Clac,
#[yaserde(rename = "PART")]
#[cfg_attr(feature = "serde", serde(rename = "PART"))]
Part,
#[yaserde(rename = "CMON")]
#[cfg_attr(feature = "serde", serde(rename = "CMON"))]
Cmon,
#[yaserde(rename = "COLL")]
#[cfg_attr(feature = "serde", serde(rename = "COLL"))]
Coll,
#[yaserde(rename = "DEPO")]
#[cfg_attr(feature = "serde", serde(rename = "DEPO"))]
Depo,
#[yaserde(rename = "FLIM")]
#[cfg_attr(feature = "serde", serde(rename = "FLIM"))]
Flim,
#[yaserde(rename = "NOFX")]
#[cfg_attr(feature = "serde", serde(rename = "NOFX"))]
Nofx,
#[yaserde(rename = "INCA")]
#[cfg_attr(feature = "serde", serde(rename = "INCA"))]
Inca,
#[yaserde(rename = "LINK")]
#[cfg_attr(feature = "serde", serde(rename = "LINK"))]
Link,
#[yaserde(rename = "BYIY")]
#[cfg_attr(feature = "serde", serde(rename = "BYIY"))]
Byiy,
#[yaserde(rename = "CAIS")]
#[cfg_attr(feature = "serde", serde(rename = "CAIS"))]
Cais,
#[yaserde(rename = "LALO")]
#[cfg_attr(feature = "serde", serde(rename = "LALO"))]
Lalo,
#[yaserde(rename = "MONY")]
#[cfg_attr(feature = "serde", serde(rename = "MONY"))]
Mony,
#[yaserde(rename = "NCON")]
#[cfg_attr(feature = "serde", serde(rename = "NCON"))]
Ncon,
#[yaserde(rename = "YCOL")]
#[cfg_attr(feature = "serde", serde(rename = "YCOL"))]
Ycol,
#[yaserde(rename = "REFS")]
#[cfg_attr(feature = "serde", serde(rename = "REFS"))]
Refs,
#[yaserde(rename = "SDUT")]
#[cfg_attr(feature = "serde", serde(rename = "SDUT"))]
Sdut,
#[yaserde(rename = "CYCL")]
#[cfg_attr(feature = "serde", serde(rename = "CYCL"))]
Cycl,
#[yaserde(rename = "BATC")]
#[cfg_attr(feature = "serde", serde(rename = "BATC"))]
Batc,
#[yaserde(rename = "GUAD")]
#[cfg_attr(feature = "serde", serde(rename = "GUAD"))]
Guad,
#[yaserde(rename = "PREA")]
#[cfg_attr(feature = "serde", serde(rename = "PREA"))]
Prea,
#[yaserde(rename = "GLOB")]
#[cfg_attr(feature = "serde", serde(rename = "GLOB"))]
Glob,
#[yaserde(rename = "CPEC")]
#[cfg_attr(feature = "serde", serde(rename = "CPEC"))]
Cpec,
#[yaserde(rename = "MUNO")]
#[cfg_attr(feature = "serde", serde(rename = "MUNO"))]
Muno,
__Unknown__(String),
}
impl Default for PendingFailingSettlement1Code {
fn default() -> PendingFailingSettlement1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for PendingFailingSettlement1Code {}
#[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:camt.006.001.11")]
pub enum PendingSettlement2Code {
#[yaserde(rename = "AWMO")]
#[cfg_attr(feature = "serde", serde(rename = "AWMO"))]
Awmo,
#[yaserde(rename = "CAIS")]
#[cfg_attr(feature = "serde", serde(rename = "CAIS"))]
Cais,
#[yaserde(rename = "REFU")]
#[cfg_attr(feature = "serde", serde(rename = "REFU"))]
Refu,
#[yaserde(rename = "AWSH")]
#[cfg_attr(feature = "serde", serde(rename = "AWSH"))]
Awsh,
#[yaserde(rename = "PHSE")]
#[cfg_attr(feature = "serde", serde(rename = "PHSE"))]
Phse,
#[yaserde(rename = "TAMM")]
#[cfg_attr(feature = "serde", serde(rename = "TAMM"))]
Tamm,
#[yaserde(rename = "DOCY")]
#[cfg_attr(feature = "serde", serde(rename = "DOCY"))]
Docy,
#[yaserde(rename = "DOCC")]
#[cfg_attr(feature = "serde", serde(rename = "DOCC"))]
Docc,
#[yaserde(rename = "BLOC")]
#[cfg_attr(feature = "serde", serde(rename = "BLOC"))]
Bloc,
#[yaserde(rename = "CHAS")]
#[cfg_attr(feature = "serde", serde(rename = "CHAS"))]
Chas,
#[yaserde(rename = "NEWI")]
#[cfg_attr(feature = "serde", serde(rename = "NEWI"))]
Newi,
#[yaserde(rename = "CLAC")]
#[cfg_attr(feature = "serde", serde(rename = "CLAC"))]
Clac,
#[yaserde(rename = "MUNO")]
#[cfg_attr(feature = "serde", serde(rename = "MUNO"))]
Muno,
#[yaserde(rename = "GLOB")]
#[cfg_attr(feature = "serde", serde(rename = "GLOB"))]
Glob,
#[yaserde(rename = "PREA")]
#[cfg_attr(feature = "serde", serde(rename = "PREA"))]
Prea,
#[yaserde(rename = "GUAD")]
#[cfg_attr(feature = "serde", serde(rename = "GUAD"))]
Guad,
#[yaserde(rename = "PART")]
#[cfg_attr(feature = "serde", serde(rename = "PART"))]
Part,
#[yaserde(rename = "NMAS")]
#[cfg_attr(feature = "serde", serde(rename = "NMAS"))]
Nmas,
#[yaserde(rename = "CMON")]
#[cfg_attr(feature = "serde", serde(rename = "CMON"))]
Cmon,
#[yaserde(rename = "YCOL")]
#[cfg_attr(feature = "serde", serde(rename = "YCOL"))]
Ycol,
#[yaserde(rename = "COLL")]
#[cfg_attr(feature = "serde", serde(rename = "COLL"))]
Coll,
#[yaserde(rename = "DEPO")]
#[cfg_attr(feature = "serde", serde(rename = "DEPO"))]
Depo,
#[yaserde(rename = "FLIM")]
#[cfg_attr(feature = "serde", serde(rename = "FLIM"))]
Flim,
#[yaserde(rename = "NOFX")]
#[cfg_attr(feature = "serde", serde(rename = "NOFX"))]
Nofx,
#[yaserde(rename = "INCA")]
#[cfg_attr(feature = "serde", serde(rename = "INCA"))]
Inca,
#[yaserde(rename = "LINK")]
#[cfg_attr(feature = "serde", serde(rename = "LINK"))]
Link,
#[yaserde(rename = "FUTU")]
#[cfg_attr(feature = "serde", serde(rename = "FUTU"))]
Futu,
#[yaserde(rename = "LACK")]
#[cfg_attr(feature = "serde", serde(rename = "LACK"))]
Lack,
#[yaserde(rename = "LALO")]
#[cfg_attr(feature = "serde", serde(rename = "LALO"))]
Lalo,
#[yaserde(rename = "MONY")]
#[cfg_attr(feature = "serde", serde(rename = "MONY"))]
Mony,
#[yaserde(rename = "NCON")]
#[cfg_attr(feature = "serde", serde(rename = "NCON"))]
Ncon,
#[yaserde(rename = "REFS")]
#[cfg_attr(feature = "serde", serde(rename = "REFS"))]
Refs,
#[yaserde(rename = "SDUT")]
#[cfg_attr(feature = "serde", serde(rename = "SDUT"))]
Sdut,
#[yaserde(rename = "BATC")]
#[cfg_attr(feature = "serde", serde(rename = "BATC"))]
Batc,
#[yaserde(rename = "CYCL")]
#[cfg_attr(feature = "serde", serde(rename = "CYCL"))]
Cycl,
#[yaserde(rename = "SBLO")]
#[cfg_attr(feature = "serde", serde(rename = "SBLO"))]
Sblo,
#[yaserde(rename = "CPEC")]
#[cfg_attr(feature = "serde", serde(rename = "CPEC"))]
Cpec,
#[yaserde(rename = "MINO")]
#[cfg_attr(feature = "serde", serde(rename = "MINO"))]
Mino,
#[yaserde(rename = "PCAP")]
#[cfg_attr(feature = "serde", serde(rename = "PCAP"))]
Pcap,
__Unknown__(String),
}
impl Default for PendingSettlement2Code {
fn default() -> PendingSettlement2Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for PendingSettlement2Code {}
#[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:camt.006.001.11")]
pub enum PendingStatus4Code {
#[yaserde(rename = "ACPD")]
#[cfg_attr(feature = "serde", serde(rename = "ACPD"))]
Acpd,
#[yaserde(rename = "VALD")]
#[cfg_attr(feature = "serde", serde(rename = "VALD"))]
Vald,
#[yaserde(rename = "MATD")]
#[cfg_attr(feature = "serde", serde(rename = "MATD"))]
Matd,
#[yaserde(rename = "AUTD")]
#[cfg_attr(feature = "serde", serde(rename = "AUTD"))]
Autd,
#[yaserde(rename = "INVD")]
#[cfg_attr(feature = "serde", serde(rename = "INVD"))]
Invd,
#[yaserde(rename = "UMAC")]
#[cfg_attr(feature = "serde", serde(rename = "UMAC"))]
Umac,
#[yaserde(rename = "STLE")]
#[cfg_attr(feature = "serde", serde(rename = "STLE"))]
Stle,
#[yaserde(rename = "STLM")]
#[cfg_attr(feature = "serde", serde(rename = "STLM"))]
Stlm,
#[yaserde(rename = "SSPD")]
#[cfg_attr(feature = "serde", serde(rename = "SSPD"))]
Sspd,
#[yaserde(rename = "PCAN")]
#[cfg_attr(feature = "serde", serde(rename = "PCAN"))]
Pcan,
#[yaserde(rename = "PSTL")]
#[cfg_attr(feature = "serde", serde(rename = "PSTL"))]
Pstl,
#[yaserde(rename = "PFST")]
#[cfg_attr(feature = "serde", serde(rename = "PFST"))]
Pfst,
#[yaserde(rename = "SMLR")]
#[cfg_attr(feature = "serde", serde(rename = "SMLR"))]
Smlr,
#[yaserde(rename = "RMLR")]
#[cfg_attr(feature = "serde", serde(rename = "RMLR"))]
Rmlr,
#[yaserde(rename = "SRBL")]
#[cfg_attr(feature = "serde", serde(rename = "SRBL"))]
Srbl,
#[yaserde(rename = "AVLB")]
#[cfg_attr(feature = "serde", serde(rename = "AVLB"))]
Avlb,
#[yaserde(rename = "SRML")]
#[cfg_attr(feature = "serde", serde(rename = "SRML"))]
Srml,
__Unknown__(String),
}
impl Default for PendingStatus4Code {
fn default() -> PendingStatus4Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for PendingStatus4Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:camt.006.001.11")]
pub struct PersonIdentification18 {
#[yaserde(rename = "DtAndPlcOfBirth")]
#[cfg_attr(feature = "serde", serde(rename = "DtAndPlcOfBirth"))]
pub dt_and_plc_of_birth: DateAndPlaceOfBirth1,
#[yaserde(rename = "Othr")]
#[cfg_attr(feature = "serde", serde(rename = "Othr"))]
pub othr: Vec<GenericPersonIdentification2>,
}
impl Validate for PersonIdentification18 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:camt.006.001.11")]
pub struct PersonIdentificationSchemeName1Choice {
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: Option<ExternalPersonIdentification1Code>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<Max35Text>,
}
impl Validate for PersonIdentificationSchemeName1Choice {}
#[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:camt.006.001.11")]
pub struct PostalAddress27 {
#[yaserde(rename = "AdrTp")]
#[cfg_attr(feature = "serde", serde(rename = "AdrTp"))]
pub adr_tp: AddressType3Choice,
#[yaserde(rename = "CareOf")]
#[cfg_attr(feature = "serde", serde(rename = "CareOf"))]
pub care_of: Max140Text,
#[yaserde(rename = "Dept")]
#[cfg_attr(feature = "serde", serde(rename = "Dept"))]
pub dept: Max70Text,
#[yaserde(rename = "SubDept")]
#[cfg_attr(feature = "serde", serde(rename = "SubDept"))]
pub sub_dept: Max70Text,
#[yaserde(rename = "StrtNm")]
#[cfg_attr(feature = "serde", serde(rename = "StrtNm"))]
pub strt_nm: Max140Text,
#[yaserde(rename = "BldgNb")]
#[cfg_attr(feature = "serde", serde(rename = "BldgNb"))]
pub bldg_nb: Max16Text,
#[yaserde(rename = "BldgNm")]
#[cfg_attr(feature = "serde", serde(rename = "BldgNm"))]
pub bldg_nm: Max140Text,
#[yaserde(rename = "Flr")]
#[cfg_attr(feature = "serde", serde(rename = "Flr"))]
pub flr: Max70Text,
#[yaserde(rename = "UnitNb")]
#[cfg_attr(feature = "serde", serde(rename = "UnitNb"))]
pub unit_nb: Max16Text,
#[yaserde(rename = "PstBx")]
#[cfg_attr(feature = "serde", serde(rename = "PstBx"))]
pub pst_bx: Max16Text,
#[yaserde(rename = "Room")]
#[cfg_attr(feature = "serde", serde(rename = "Room"))]
pub room: Max70Text,
#[yaserde(rename = "PstCd")]
#[cfg_attr(feature = "serde", serde(rename = "PstCd"))]
pub pst_cd: Max16Text,
#[yaserde(rename = "TwnNm")]
#[cfg_attr(feature = "serde", serde(rename = "TwnNm"))]
pub twn_nm: Max140Text,
#[yaserde(rename = "TwnLctnNm")]
#[cfg_attr(feature = "serde", serde(rename = "TwnLctnNm"))]
pub twn_lctn_nm: Max140Text,
#[yaserde(rename = "DstrctNm")]
#[cfg_attr(feature = "serde", serde(rename = "DstrctNm"))]
pub dstrct_nm: Max140Text,
#[yaserde(rename = "CtrySubDvsn")]
#[cfg_attr(feature = "serde", serde(rename = "CtrySubDvsn"))]
pub ctry_sub_dvsn: Max35Text,
#[yaserde(rename = "Ctry")]
#[cfg_attr(feature = "serde", serde(rename = "Ctry"))]
pub ctry: CountryCode,
#[yaserde(rename = "AdrLine")]
#[cfg_attr(feature = "serde", serde(rename = "AdrLine"))]
pub adr_line: Vec<Max70Text>,
}
impl Validate for PostalAddress27 {}
#[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:camt.006.001.11")]
pub enum PreferredContactMethod2Code {
#[yaserde(rename = "MAIL")]
#[cfg_attr(feature = "serde", serde(rename = "MAIL"))]
Mail,
#[yaserde(rename = "FAXX")]
#[cfg_attr(feature = "serde", serde(rename = "FAXX"))]
Faxx,
#[yaserde(rename = "LETT")]
#[cfg_attr(feature = "serde", serde(rename = "LETT"))]
Lett,
#[yaserde(rename = "CELL")]
#[cfg_attr(feature = "serde", serde(rename = "CELL"))]
Cell,
#[yaserde(rename = "ONLI")]
#[cfg_attr(feature = "serde", serde(rename = "ONLI"))]
Onli,
#[yaserde(rename = "PHON")]
#[cfg_attr(feature = "serde", serde(rename = "PHON"))]
Phon,
__Unknown__(String),
}
impl Default for PreferredContactMethod2Code {
fn default() -> PreferredContactMethod2Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for PreferredContactMethod2Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:camt.006.001.11")]
pub struct Priority1Choice {
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: Option<Priority5Code>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<Max35Text>,
}
impl Validate for Priority1Choice {}
#[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:camt.006.001.11")]
pub enum Priority5Code {
#[yaserde(rename = "HIGH")]
#[cfg_attr(feature = "serde", serde(rename = "HIGH"))]
High,
#[yaserde(rename = "LOWW")]
#[cfg_attr(feature = "serde", serde(rename = "LOWW"))]
Loww,
#[yaserde(rename = "NORM")]
#[cfg_attr(feature = "serde", serde(rename = "NORM"))]
Norm,
#[yaserde(rename = "URGT")]
#[cfg_attr(feature = "serde", serde(rename = "URGT"))]
Urgt,
__Unknown__(String),
}
impl Default for Priority5Code {
fn default() -> Priority5Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for Priority5Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:camt.006.001.11")]
pub struct ProprietaryStatusJustification2 {
#[yaserde(rename = "PrtryStsRsn")]
#[cfg_attr(feature = "serde", serde(rename = "PrtryStsRsn"))]
pub prtry_sts_rsn: Max4AlphaNumericText,
#[yaserde(rename = "Rsn")]
#[cfg_attr(feature = "serde", serde(rename = "Rsn"))]
pub rsn: Max256Text,
}
impl Validate for ProprietaryStatusJustification2 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:camt.006.001.11")]
pub struct ProxyAccountIdentification1 {
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: ProxyAccountType1Choice,
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Max2048Text,
}
impl Validate for ProxyAccountIdentification1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:camt.006.001.11")]
pub struct ProxyAccountType1Choice {
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: Option<ExternalProxyAccountType1Code>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<Max35Text>,
}
impl Validate for ProxyAccountType1Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:camt.006.001.11")]
pub struct QueueTransactionIdentification1 {
#[yaserde(rename = "QId")]
#[cfg_attr(feature = "serde", serde(rename = "QId"))]
pub q_id: Max16Text,
#[yaserde(rename = "PosInQ")]
#[cfg_attr(feature = "serde", serde(rename = "PosInQ"))]
pub pos_in_q: Max16Text,
}
impl Validate for QueueTransactionIdentification1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:camt.006.001.11")]
pub struct RequestType4Choice {
#[yaserde(rename = "PmtCtrl")]
#[cfg_attr(feature = "serde", serde(rename = "PmtCtrl"))]
pub pmt_ctrl: Option<ExternalPaymentControlRequestType1Code>,
#[yaserde(rename = "Enqry")]
#[cfg_attr(feature = "serde", serde(rename = "Enqry"))]
pub enqry: Option<ExternalEnquiryRequestType1Code>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<GenericIdentification1>,
}
impl Validate for RequestType4Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:camt.006.001.11")]
pub struct ReturnTransactionV11 {
#[yaserde(rename = "MsgHdr")]
#[cfg_attr(feature = "serde", serde(rename = "MsgHdr"))]
pub msg_hdr: MessageHeader8,
#[yaserde(rename = "RptOrErr")]
#[cfg_attr(feature = "serde", serde(rename = "RptOrErr"))]
pub rpt_or_err: TransactionReportOrError7Choice,
#[yaserde(rename = "SplmtryData")]
#[cfg_attr(feature = "serde", serde(rename = "SplmtryData"))]
pub splmtry_data: Vec<SupplementaryData1>,
}
impl Validate for ReturnTransactionV11 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:camt.006.001.11")]
pub struct SecuritiesTransactionReferences1 {
#[yaserde(rename = "AcctOwnrTxId")]
#[cfg_attr(feature = "serde", serde(rename = "AcctOwnrTxId"))]
pub acct_ownr_tx_id: Max35Text,
#[yaserde(rename = "AcctSvcrTxId")]
#[cfg_attr(feature = "serde", serde(rename = "AcctSvcrTxId"))]
pub acct_svcr_tx_id: Max35Text,
#[yaserde(rename = "MktInfrstrctrTxId")]
#[cfg_attr(feature = "serde", serde(rename = "MktInfrstrctrTxId"))]
pub mkt_infrstrctr_tx_id: Max35Text,
#[yaserde(rename = "PrcgId")]
#[cfg_attr(feature = "serde", serde(rename = "PrcgId"))]
pub prcg_id: Max35Text,
}
impl Validate for SecuritiesTransactionReferences1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:camt.006.001.11")]
pub struct ShortPaymentIdentification4 {
#[yaserde(rename = "TxId")]
#[cfg_attr(feature = "serde", serde(rename = "TxId"))]
pub tx_id: Max35Text,
#[yaserde(rename = "UETR")]
#[cfg_attr(feature = "serde", serde(rename = "UETR"))]
pub uetr: Uuidv4Identifier,
#[yaserde(rename = "IntrBkSttlmDt")]
#[cfg_attr(feature = "serde", serde(rename = "IntrBkSttlmDt"))]
pub intr_bk_sttlm_dt: Isodate,
#[yaserde(rename = "InstgAgt")]
#[cfg_attr(feature = "serde", serde(rename = "InstgAgt"))]
pub instg_agt: BranchAndFinancialInstitutionIdentification8,
}
impl Validate for ShortPaymentIdentification4 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:camt.006.001.11")]
pub struct SupplementaryData1 {
#[yaserde(rename = "PlcAndNm")]
#[cfg_attr(feature = "serde", serde(rename = "PlcAndNm"))]
pub plc_and_nm: Max350Text,
#[yaserde(rename = "Envlp")]
#[cfg_attr(feature = "serde", serde(rename = "Envlp"))]
pub envlp: SupplementaryDataEnvelope1,
}
impl Validate for SupplementaryData1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:camt.006.001.11")]
pub struct SupplementaryDataEnvelope1 {}
impl Validate for SupplementaryDataEnvelope1 {}
#[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:camt.006.001.11")]
pub enum SuspendedStatusReason1Code {
#[yaserde(rename = "SUBY")]
#[cfg_attr(feature = "serde", serde(rename = "SUBY"))]
Suby,
#[yaserde(rename = "SUBS")]
#[cfg_attr(feature = "serde", serde(rename = "SUBS"))]
Subs,
__Unknown__(String),
}
impl Default for SuspendedStatusReason1Code {
fn default() -> SuspendedStatusReason1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for SuspendedStatusReason1Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:camt.006.001.11")]
pub struct System3 {
#[yaserde(rename = "SysId")]
#[cfg_attr(feature = "serde", serde(rename = "SysId"))]
pub sys_id: MarketInfrastructureIdentification1Choice,
#[yaserde(rename = "MmbId")]
#[cfg_attr(feature = "serde", serde(rename = "MmbId"))]
pub mmb_id: BranchAndFinancialInstitutionIdentification8,
#[yaserde(rename = "Ctry")]
#[cfg_attr(feature = "serde", serde(rename = "Ctry"))]
pub ctry: CountryCode,
#[yaserde(rename = "AcctId")]
#[cfg_attr(feature = "serde", serde(rename = "AcctId"))]
pub acct_id: AccountIdentification4Choice,
}
impl Validate for System3 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:camt.006.001.11")]
pub struct Transaction159 {
#[yaserde(rename = "PmtTo")]
#[cfg_attr(feature = "serde", serde(rename = "PmtTo"))]
pub pmt_to: System3,
#[yaserde(rename = "PmtFr")]
#[cfg_attr(feature = "serde", serde(rename = "PmtFr"))]
pub pmt_fr: System3,
#[yaserde(rename = "CdtDbtInd")]
#[cfg_attr(feature = "serde", serde(rename = "CdtDbtInd"))]
pub cdt_dbt_ind: CreditDebitCode,
#[yaserde(rename = "Pmt")]
#[cfg_attr(feature = "serde", serde(rename = "Pmt"))]
pub pmt: PaymentInstruction47,
#[yaserde(rename = "AcctNtry")]
#[cfg_attr(feature = "serde", serde(rename = "AcctNtry"))]
pub acct_ntry: CashAccountAndEntry5,
#[yaserde(rename = "SctiesTxRefs")]
#[cfg_attr(feature = "serde", serde(rename = "SctiesTxRefs"))]
pub scties_tx_refs: SecuritiesTransactionReferences1,
}
impl Validate for Transaction159 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:camt.006.001.11")]
pub struct TransactionOrError6Choice {
#[yaserde(rename = "Tx")]
#[cfg_attr(feature = "serde", serde(rename = "Tx"))]
pub tx: Option<Transaction159>,
#[yaserde(rename = "BizErr")]
#[cfg_attr(feature = "serde", serde(rename = "BizErr"))]
pub biz_err: Vec<ErrorHandling5>,
}
impl Validate for TransactionOrError6Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:camt.006.001.11")]
pub struct TransactionReport8 {
#[yaserde(rename = "PmtId")]
#[cfg_attr(feature = "serde", serde(rename = "PmtId"))]
pub pmt_id: PaymentIdentification8Choice,
#[yaserde(rename = "TxOrErr")]
#[cfg_attr(feature = "serde", serde(rename = "TxOrErr"))]
pub tx_or_err: TransactionOrError6Choice,
}
impl Validate for TransactionReport8 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:camt.006.001.11")]
pub struct TransactionReportOrError7Choice {
#[yaserde(rename = "BizRpt")]
#[cfg_attr(feature = "serde", serde(rename = "BizRpt"))]
pub biz_rpt: Option<Transactions11>,
#[yaserde(rename = "OprlErr")]
#[cfg_attr(feature = "serde", serde(rename = "OprlErr"))]
pub oprl_err: Vec<ErrorHandling5>,
}
impl Validate for TransactionReportOrError7Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:camt.006.001.11")]
pub struct Transactions11 {
#[yaserde(rename = "PmtCmonInf")]
#[cfg_attr(feature = "serde", serde(rename = "PmtCmonInf"))]
pub pmt_cmon_inf: PaymentCommon6,
#[yaserde(rename = "TxsSummry")]
#[cfg_attr(feature = "serde", serde(rename = "TxsSummry"))]
pub txs_summry: NumberAndSumOfTransactions2,
#[yaserde(rename = "TxRpt")]
#[cfg_attr(feature = "serde", serde(rename = "TxRpt"))]
pub tx_rpt: Vec<TransactionReport8>,
}
impl Validate for Transactions11 {}
#[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(Default, Clone, PartialEq, Debug)]
pub struct Uuidv4Identifier (pub String);
crate::simple_type!(Uuidv4Identifier);
impl Validate for Uuidv4Identifier {}
#[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:camt.006.001.11")]
pub enum UnmatchedStatusReason1Code {
#[yaserde(rename = "CMIS")]
#[cfg_attr(feature = "serde", serde(rename = "CMIS"))]
Cmis,
#[yaserde(rename = "DDAT")]
#[cfg_attr(feature = "serde", serde(rename = "DDAT"))]
Ddat,
#[yaserde(rename = "DELN")]
#[cfg_attr(feature = "serde", serde(rename = "DELN"))]
Deln,
#[yaserde(rename = "DEPT")]
#[cfg_attr(feature = "serde", serde(rename = "DEPT"))]
Dept,
#[yaserde(rename = "DMON")]
#[cfg_attr(feature = "serde", serde(rename = "DMON"))]
Dmon,
#[yaserde(rename = "DDEA")]
#[cfg_attr(feature = "serde", serde(rename = "DDEA"))]
Ddea,
#[yaserde(rename = "DQUA")]
#[cfg_attr(feature = "serde", serde(rename = "DQUA"))]
Dqua,
#[yaserde(rename = "CADE")]
#[cfg_attr(feature = "serde", serde(rename = "CADE"))]
Cade,
#[yaserde(rename = "SETR")]
#[cfg_attr(feature = "serde", serde(rename = "SETR"))]
Setr,
#[yaserde(rename = "DSEC")]
#[cfg_attr(feature = "serde", serde(rename = "DSEC"))]
Dsec,
#[yaserde(rename = "VASU")]
#[cfg_attr(feature = "serde", serde(rename = "VASU"))]
Vasu,
#[yaserde(rename = "DTRA")]
#[cfg_attr(feature = "serde", serde(rename = "DTRA"))]
Dtra,
#[yaserde(rename = "RSPR")]
#[cfg_attr(feature = "serde", serde(rename = "RSPR"))]
Rspr,
#[yaserde(rename = "REPO")]
#[cfg_attr(feature = "serde", serde(rename = "REPO"))]
Repo,
#[yaserde(rename = "CLAT")]
#[cfg_attr(feature = "serde", serde(rename = "CLAT"))]
Clat,
#[yaserde(rename = "RERT")]
#[cfg_attr(feature = "serde", serde(rename = "RERT"))]
Rert,
#[yaserde(rename = "REPA")]
#[cfg_attr(feature = "serde", serde(rename = "REPA"))]
Repa,
#[yaserde(rename = "REPP")]
#[cfg_attr(feature = "serde", serde(rename = "REPP"))]
Repp,
#[yaserde(rename = "PHYS")]
#[cfg_attr(feature = "serde", serde(rename = "PHYS"))]
Phys,
#[yaserde(rename = "IIND")]
#[cfg_attr(feature = "serde", serde(rename = "IIND"))]
Iind,
#[yaserde(rename = "FRAP")]
#[cfg_attr(feature = "serde", serde(rename = "FRAP"))]
Frap,
#[yaserde(rename = "PLCE")]
#[cfg_attr(feature = "serde", serde(rename = "PLCE"))]
Plce,
#[yaserde(rename = "PODU")]
#[cfg_attr(feature = "serde", serde(rename = "PODU"))]
Podu,
#[yaserde(rename = "FORF")]
#[cfg_attr(feature = "serde", serde(rename = "FORF"))]
Forf,
#[yaserde(rename = "REGD")]
#[cfg_attr(feature = "serde", serde(rename = "REGD"))]
Regd,
#[yaserde(rename = "RTGS")]
#[cfg_attr(feature = "serde", serde(rename = "RTGS"))]
Rtgs,
#[yaserde(rename = "ICAG")]
#[cfg_attr(feature = "serde", serde(rename = "ICAG"))]
Icag,
#[yaserde(rename = "CPCA")]
#[cfg_attr(feature = "serde", serde(rename = "CPCA"))]
Cpca,
#[yaserde(rename = "CHAR")]
#[cfg_attr(feature = "serde", serde(rename = "CHAR"))]
Char,
#[yaserde(rename = "IEXE")]
#[cfg_attr(feature = "serde", serde(rename = "IEXE"))]
Iexe,
#[yaserde(rename = "NCRR")]
#[cfg_attr(feature = "serde", serde(rename = "NCRR"))]
Ncrr,
#[yaserde(rename = "NMAS")]
#[cfg_attr(feature = "serde", serde(rename = "NMAS"))]
Nmas,
#[yaserde(rename = "SAFE")]
#[cfg_attr(feature = "serde", serde(rename = "SAFE"))]
Safe,
#[yaserde(rename = "DTRD")]
#[cfg_attr(feature = "serde", serde(rename = "DTRD"))]
Dtrd,
#[yaserde(rename = "LATE")]
#[cfg_attr(feature = "serde", serde(rename = "LATE"))]
Late,
#[yaserde(rename = "TERM")]
#[cfg_attr(feature = "serde", serde(rename = "TERM"))]
Term,
#[yaserde(rename = "ICUS")]
#[cfg_attr(feature = "serde", serde(rename = "ICUS"))]
Icus,
__Unknown__(String),
}
impl Default for UnmatchedStatusReason1Code {
fn default() -> UnmatchedStatusReason1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for UnmatchedStatusReason1Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct YesNoIndicator (pub bool);
crate::simple_type!(YesNoIndicator);
impl Validate for YesNoIndicator {}
impl crate::MxMessage for Document {
const BUSINESS_AREA: crate::BusinessArea = crate::BusinessArea::camt;
const FUNCTIONALITY: &'static str = "006";
const VARIANT: &'static str = "001";
const VERSION: &'static str = "11";
const MESSAGE_NAME: &'static str = "camt.006.001.11";
const NAMESPACE: &'static str = "urn:iso:std:iso:20022:tech:xsd:camt.006.001.11";
}