#![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:sese.009.001.09")]
pub struct Account34 {
#[yaserde(rename = "AcctId")]
#[cfg_attr(feature = "serde", serde(rename = "AcctId"))]
pub acct_id: Max35Text,
#[yaserde(rename = "AcctDsgnt")]
#[cfg_attr(feature = "serde", serde(rename = "AcctDsgnt"))]
pub acct_dsgnt: Max35Text,
#[yaserde(rename = "AcctNm")]
#[cfg_attr(feature = "serde", serde(rename = "AcctNm"))]
pub acct_nm: Max35Text,
#[yaserde(rename = "AcctSvcr")]
#[cfg_attr(feature = "serde", serde(rename = "AcctSvcr"))]
pub acct_svcr: PartyIdentification132,
#[yaserde(rename = "RegnAdr")]
#[cfg_attr(feature = "serde", serde(rename = "RegnAdr"))]
pub regn_adr: PostalAddress1,
}
impl Validate for Account34 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:sese.009.001.09")]
pub struct Account36 {
#[yaserde(rename = "OwnrId")]
#[cfg_attr(feature = "serde", serde(rename = "OwnrId"))]
pub ownr_id: PartyIdentification132,
#[yaserde(rename = "AcctId")]
#[cfg_attr(feature = "serde", serde(rename = "AcctId"))]
pub acct_id: Max35Text,
#[yaserde(rename = "AcctDsgnt")]
#[cfg_attr(feature = "serde", serde(rename = "AcctDsgnt"))]
pub acct_dsgnt: Max35Text,
#[yaserde(rename = "AcctNm")]
#[cfg_attr(feature = "serde", serde(rename = "AcctNm"))]
pub acct_nm: Max35Text,
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: GenericIdentification30,
#[yaserde(rename = "Svcr")]
#[cfg_attr(feature = "serde", serde(rename = "Svcr"))]
pub svcr: PartyIdentification132,
#[yaserde(rename = "SubAcctDtls")]
#[cfg_attr(feature = "serde", serde(rename = "SubAcctDtls"))]
pub sub_acct_dtls: SubAccount5,
#[yaserde(rename = "BlckChainAdrOrWllt")]
#[cfg_attr(feature = "serde", serde(rename = "BlckChainAdrOrWllt"))]
pub blck_chain_adr_or_wllt: BlockChainAddressWallet3,
}
impl Validate for Account36 {}
#[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, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:sese.009.001.09")]
pub struct AdditionalInformation15 {
#[yaserde(rename = "InfTp")]
#[cfg_attr(feature = "serde", serde(rename = "InfTp"))]
pub inf_tp: GenericIdentification36,
#[yaserde(rename = "InfVal")]
#[cfg_attr(feature = "serde", serde(rename = "InfVal"))]
pub inf_val: Max350Text,
}
impl Validate for AdditionalInformation15 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:sese.009.001.09")]
pub struct AdditionalInformation25 {
#[yaserde(rename = "QryTp")]
#[cfg_attr(feature = "serde", serde(rename = "QryTp"))]
pub qry_tp: GenericIdentification36,
#[yaserde(rename = "Qry")]
#[cfg_attr(feature = "serde", serde(rename = "Qry"))]
pub qry: Max350Text,
#[yaserde(rename = "QryRsn")]
#[cfg_attr(feature = "serde", serde(rename = "QryRsn"))]
pub qry_rsn: Max350Text,
#[yaserde(rename = "RjctnRsn")]
#[cfg_attr(feature = "serde", serde(rename = "RjctnRsn"))]
pub rjctn_rsn: RejectedReason33Choice,
}
impl Validate for AdditionalInformation25 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:sese.009.001.09")]
pub struct AdditionalReference10 {
#[yaserde(rename = "Ref")]
#[cfg_attr(feature = "serde", serde(rename = "Ref"))]
pub _ref: Max35Text,
#[yaserde(rename = "RefIssr")]
#[cfg_attr(feature = "serde", serde(rename = "RefIssr"))]
pub ref_issr: PartyIdentification139,
#[yaserde(rename = "MsgNm")]
#[cfg_attr(feature = "serde", serde(rename = "MsgNm"))]
pub msg_nm: Max35Text,
}
impl Validate for AdditionalReference10 {}
#[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:sese.009.001.09")]
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:sese.009.001.09")]
pub struct AlternateSecurityIdentification7 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Max35Text,
#[yaserde(rename = "IdSrc")]
#[cfg_attr(feature = "serde", serde(rename = "IdSrc"))]
pub id_src: IdentificationSource1Choice,
}
impl Validate for AlternateSecurityIdentification7 {}
#[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 AustrianBankleitzahlIdentifier (pub String);
crate::simple_type!(AustrianBankleitzahlIdentifier);
impl Validate for AustrianBankleitzahlIdentifier {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct BelgianIdentifier (pub String);
crate::simple_type!(BelgianIdentifier);
impl Validate for BelgianIdentifier {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:sese.009.001.09")]
pub struct BlockChainAddressWallet3 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Max140Text,
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: GenericIdentification30,
#[yaserde(rename = "Nm")]
#[cfg_attr(feature = "serde", serde(rename = "Nm"))]
pub nm: Max70Text,
}
impl Validate for BlockChainAddressWallet3 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Bloomberg2Identifier (pub String);
crate::simple_type!(Bloomberg2Identifier);
impl Validate for Bloomberg2Identifier {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Cfioct2015Identifier (pub String);
crate::simple_type!(Cfioct2015Identifier);
impl Validate for Cfioct2015Identifier {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct ChipsparticipantIdentifier (pub String);
crate::simple_type!(ChipsparticipantIdentifier);
impl Validate for ChipsparticipantIdentifier {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct ChipsuniversalIdentifier (pub String);
crate::simple_type!(ChipsuniversalIdentifier);
impl Validate for ChipsuniversalIdentifier {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Cusipidentifier (pub String);
crate::simple_type!(Cusipidentifier);
impl Validate for Cusipidentifier {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct CanadianPaymentsARNIdentifier (pub String);
crate::simple_type!(CanadianPaymentsARNIdentifier);
impl Validate for CanadianPaymentsARNIdentifier {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:sese.009.001.09")]
pub struct CashAsset3 {
#[yaserde(rename = "CshAsstTp")]
#[cfg_attr(feature = "serde", serde(rename = "CshAsstTp"))]
pub csh_asst_tp: CashAssetType1Choice,
#[yaserde(rename = "HldgCcy")]
#[cfg_attr(feature = "serde", serde(rename = "HldgCcy"))]
pub hldg_ccy: ActiveCurrencyCode,
#[yaserde(rename = "TrfCcy")]
#[cfg_attr(feature = "serde", serde(rename = "TrfCcy"))]
pub trf_ccy: ActiveCurrencyCode,
#[yaserde(rename = "AddtlInf")]
#[cfg_attr(feature = "serde", serde(rename = "AddtlInf"))]
pub addtl_inf: AdditionalInformation15,
}
impl Validate for CashAsset3 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:sese.009.001.09")]
pub struct CashAssetType1Choice {
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: Option<CashAssetType1Code>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<GenericIdentification36>,
}
impl Validate for CashAssetType1Choice {}
#[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:sese.009.001.09")]
pub enum CashAssetType1Code {
#[yaserde(rename = "CSH2")]
#[cfg_attr(feature = "serde", serde(rename = "CSH2"))]
Csh2,
#[yaserde(rename = "CSH1")]
#[cfg_attr(feature = "serde", serde(rename = "CSH1"))]
Csh1,
__Unknown__(String),
}
impl Default for CashAssetType1Code {
fn default() -> CashAssetType1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for CashAssetType1Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:sese.009.001.09")]
pub struct ClassificationType32Choice {
#[yaserde(rename = "ClssfctnFinInstrm")]
#[cfg_attr(feature = "serde", serde(rename = "ClssfctnFinInstrm"))]
pub clssfctn_fin_instrm: Option<Cfioct2015Identifier>,
#[yaserde(rename = "AltrnClssfctn")]
#[cfg_attr(feature = "serde", serde(rename = "AltrnClssfctn"))]
pub altrn_clssfctn: Option<GenericIdentification36>,
}
impl Validate for ClassificationType32Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:sese.009.001.09")]
pub struct ClearingSystemMemberIdentification2Choice {
#[yaserde(rename = "USCHU")]
#[cfg_attr(feature = "serde", serde(rename = "USCHU"))]
pub uschu: Option<ChipsuniversalIdentifier>,
#[yaserde(rename = "NZNCC")]
#[cfg_attr(feature = "serde", serde(rename = "NZNCC"))]
pub nzncc: Option<NewZealandNCCIdentifier>,
#[yaserde(rename = "IENSC")]
#[cfg_attr(feature = "serde", serde(rename = "IENSC"))]
pub iensc: Option<IrishNSCIdentifier>,
#[yaserde(rename = "GBSC")]
#[cfg_attr(feature = "serde", serde(rename = "GBSC"))]
pub gbsc: Option<UkdomesticSortCodeIdentifier>,
#[yaserde(rename = "USCH")]
#[cfg_attr(feature = "serde", serde(rename = "USCH"))]
pub usch: Option<ChipsparticipantIdentifier>,
#[yaserde(rename = "CHBC")]
#[cfg_attr(feature = "serde", serde(rename = "CHBC"))]
pub chbc: Option<SwissBCIdentifier>,
#[yaserde(rename = "USFW")]
#[cfg_attr(feature = "serde", serde(rename = "USFW"))]
pub usfw: Option<FedwireRoutingNumberIdentifier>,
#[yaserde(rename = "PTNCC")]
#[cfg_attr(feature = "serde", serde(rename = "PTNCC"))]
pub ptncc: Option<PortugueseNCCIdentifier>,
#[yaserde(rename = "RUCB")]
#[cfg_attr(feature = "serde", serde(rename = "RUCB"))]
pub rucb: Option<RussianCentralBankIdentificationCodeIdentifier>,
#[yaserde(rename = "ITNCC")]
#[cfg_attr(feature = "serde", serde(rename = "ITNCC"))]
pub itncc: Option<ItalianDomesticIdentifier>,
#[yaserde(rename = "ATBLZ")]
#[cfg_attr(feature = "serde", serde(rename = "ATBLZ"))]
pub atblz: Option<AustrianBankleitzahlIdentifier>,
#[yaserde(rename = "CACPA")]
#[cfg_attr(feature = "serde", serde(rename = "CACPA"))]
pub cacpa: Option<CanadianPaymentsARNIdentifier>,
#[yaserde(rename = "CHSIC")]
#[cfg_attr(feature = "serde", serde(rename = "CHSIC"))]
pub chsic: Option<SwissSICIdentifier>,
#[yaserde(rename = "DEBLZ")]
#[cfg_attr(feature = "serde", serde(rename = "DEBLZ"))]
pub deblz: Option<GermanBankleitzahlIdentifier>,
#[yaserde(rename = "ESNCC")]
#[cfg_attr(feature = "serde", serde(rename = "ESNCC"))]
pub esncc: Option<SpanishDomesticInterbankingIdentifier>,
#[yaserde(rename = "ZANCC")]
#[cfg_attr(feature = "serde", serde(rename = "ZANCC"))]
pub zancc: Option<SouthAfricanNCCIdentifier>,
#[yaserde(rename = "HKNCC")]
#[cfg_attr(feature = "serde", serde(rename = "HKNCC"))]
pub hkncc: Option<HongKongBankIdentifier>,
#[yaserde(rename = "AUBSBx")]
#[cfg_attr(feature = "serde", serde(rename = "AUBSBx"))]
pub aubsbx: Option<ExtensiveBranchNetworkIdentifier>,
#[yaserde(rename = "AUBSBs")]
#[cfg_attr(feature = "serde", serde(rename = "AUBSBs"))]
pub aubsbs: Option<SmallNetworkIdentifier>,
#[yaserde(rename = "INIFSC")]
#[cfg_attr(feature = "serde", serde(rename = "INIFSC"))]
pub inifsc: Option<IndianFinancialSystemCodeIdentifier>,
#[yaserde(rename = "GRHEBIC")]
#[cfg_attr(feature = "serde", serde(rename = "GRHEBIC"))]
pub grhebic: Option<HellenicBankIdentificationCodeIdentifier>,
#[yaserde(rename = "PLKNR")]
#[cfg_attr(feature = "serde", serde(rename = "PLKNR"))]
pub plknr: Option<PolishNationalClearingCodeIdentifier>,
#[yaserde(rename = "OthrClrCdId")]
#[cfg_attr(feature = "serde", serde(rename = "OthrClrCdId"))]
pub othr_clr_cd_id: Option<Max35Text>,
}
impl Validate for ClearingSystemMemberIdentification2Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct ConsolidatedTapeAssociationIdentifier (pub String);
crate::simple_type!(ConsolidatedTapeAssociationIdentifier);
impl Validate for ConsolidatedTapeAssociationIdentifier {
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, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:sese.009.001.09")]
pub struct ContactIdentification2 {
#[yaserde(rename = "NmPrfx")]
#[cfg_attr(feature = "serde", serde(rename = "NmPrfx"))]
pub nm_prfx: NamePrefix1Code,
#[yaserde(rename = "GvnNm")]
#[cfg_attr(feature = "serde", serde(rename = "GvnNm"))]
pub gvn_nm: Max35Text,
#[yaserde(rename = "Nm")]
#[cfg_attr(feature = "serde", serde(rename = "Nm"))]
pub nm: Max35Text,
#[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 = "EmailAdr")]
#[cfg_attr(feature = "serde", serde(rename = "EmailAdr"))]
pub email_adr: Max256Text,
}
impl Validate for ContactIdentification2 {}
#[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(Default, Clone, PartialEq, Debug)]
pub struct Dti2024Identifier (pub String);
crate::simple_type!(Dti2024Identifier);
impl Validate for Dti2024Identifier {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:sese.009.001.09")]
pub struct Document {
#[yaserde(rename = "ReqForTrfStsRpt")]
#[cfg_attr(feature = "serde", serde(rename = "ReqForTrfStsRpt"))]
pub req_for_trf_sts_rpt: RequestForTransferStatusReportV09,
}
impl Validate for Document {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct DutchIdentifier (pub String);
crate::simple_type!(DutchIdentifier);
impl Validate for DutchIdentifier {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct EuroclearClearstreamIdentifier (pub String);
crate::simple_type!(EuroclearClearstreamIdentifier);
impl Validate for EuroclearClearstreamIdentifier {
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() > 12 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 12 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct 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, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:sese.009.001.09")]
pub struct Extension1 {
#[yaserde(rename = "PlcAndNm")]
#[cfg_attr(feature = "serde", serde(rename = "PlcAndNm"))]
pub plc_and_nm: Max350Text,
#[yaserde(rename = "Txt")]
#[cfg_attr(feature = "serde", serde(rename = "Txt"))]
pub txt: Max350Text,
}
impl Validate for Extension1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct ExtensiveBranchNetworkIdentifier (pub String);
crate::simple_type!(ExtensiveBranchNetworkIdentifier);
impl Validate for ExtensiveBranchNetworkIdentifier {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct FedwireRoutingNumberIdentifier (pub String);
crate::simple_type!(FedwireRoutingNumberIdentifier);
impl Validate for FedwireRoutingNumberIdentifier {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:sese.009.001.09")]
pub struct FinancialInstrument101Choice {
#[yaserde(rename = "Scty")]
#[cfg_attr(feature = "serde", serde(rename = "Scty"))]
pub scty: Option<FinancialInstrumentIdentification6>,
#[yaserde(rename = "CshAsst")]
#[cfg_attr(feature = "serde", serde(rename = "CshAsst"))]
pub csh_asst: Option<CashAsset3>,
#[yaserde(rename = "OthrAsst")]
#[cfg_attr(feature = "serde", serde(rename = "OthrAsst"))]
pub othr_asst: Option<OtherAsset2>,
}
impl Validate for FinancialInstrument101Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:sese.009.001.09")]
pub struct FinancialInstrumentIdentification6 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: SecurityIdentification46Choice,
#[yaserde(rename = "Nm")]
#[cfg_attr(feature = "serde", serde(rename = "Nm"))]
pub nm: Max350Text,
#[yaserde(rename = "ShrtNm")]
#[cfg_attr(feature = "serde", serde(rename = "ShrtNm"))]
pub shrt_nm: Max35Text,
#[yaserde(rename = "ClssfctnTp")]
#[cfg_attr(feature = "serde", serde(rename = "ClssfctnTp"))]
pub clssfctn_tp: ClassificationType32Choice,
}
impl Validate for FinancialInstrumentIdentification6 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:sese.009.001.09")]
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:sese.009.001.09")]
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:sese.009.001.09")]
pub struct GenericIdentification36 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Max35Text,
#[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 GenericIdentification36 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct GermanBankleitzahlIdentifier (pub String);
crate::simple_type!(GermanBankleitzahlIdentifier);
impl Validate for GermanBankleitzahlIdentifier {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct HellenicBankIdentificationCodeIdentifier (pub String);
crate::simple_type!(HellenicBankIdentificationCodeIdentifier);
impl Validate for HellenicBankIdentificationCodeIdentifier {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct HongKongBankIdentifier (pub String);
crate::simple_type!(HongKongBankIdentifier);
impl Validate for HongKongBankIdentifier {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Isinoct2015Identifier (pub String);
crate::simple_type!(Isinoct2015Identifier);
impl Validate for Isinoct2015Identifier {}
#[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 IsoyearMonth (pub String);
crate::simple_type!(IsoyearMonth);
impl Validate for IsoyearMonth {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:sese.009.001.09")]
pub struct IdentificationSource1Choice {
#[yaserde(rename = "Dmst")]
#[cfg_attr(feature = "serde", serde(rename = "Dmst"))]
pub dmst: Option<CountryCode>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<Max35Text>,
}
impl Validate for IdentificationSource1Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct IndianFinancialSystemCodeIdentifier (pub String);
crate::simple_type!(IndianFinancialSystemCodeIdentifier);
impl Validate for IndianFinancialSystemCodeIdentifier {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:sese.009.001.09")]
pub struct Intermediary48 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: PartyIdentification132,
#[yaserde(rename = "Acct")]
#[cfg_attr(feature = "serde", serde(rename = "Acct"))]
pub acct: Account34,
#[yaserde(rename = "Role")]
#[cfg_attr(feature = "serde", serde(rename = "Role"))]
pub role: Role8Choice,
#[yaserde(rename = "CtctPrsn")]
#[cfg_attr(feature = "serde", serde(rename = "CtctPrsn"))]
pub ctct_prsn: ContactIdentification2,
}
impl Validate for Intermediary48 {}
#[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:sese.009.001.09")]
pub enum InvestmentFundRole8Code {
#[yaserde(rename = "CUST")]
#[cfg_attr(feature = "serde", serde(rename = "CUST"))]
Cust,
#[yaserde(rename = "DIST")]
#[cfg_attr(feature = "serde", serde(rename = "DIST"))]
Dist,
#[yaserde(rename = "FMCO")]
#[cfg_attr(feature = "serde", serde(rename = "FMCO"))]
Fmco,
#[yaserde(rename = "INTR")]
#[cfg_attr(feature = "serde", serde(rename = "INTR"))]
Intr,
#[yaserde(rename = "INVE")]
#[cfg_attr(feature = "serde", serde(rename = "INVE"))]
Inve,
#[yaserde(rename = "INVS")]
#[cfg_attr(feature = "serde", serde(rename = "INVS"))]
Invs,
#[yaserde(rename = "TRAG")]
#[cfg_attr(feature = "serde", serde(rename = "TRAG"))]
Trag,
#[yaserde(rename = "TRAN")]
#[cfg_attr(feature = "serde", serde(rename = "TRAN"))]
Tran,
#[yaserde(rename = "UCL1")]
#[cfg_attr(feature = "serde", serde(rename = "UCL1"))]
Ucl1,
#[yaserde(rename = "UCL2")]
#[cfg_attr(feature = "serde", serde(rename = "UCL2"))]
Ucl2,
#[yaserde(rename = "REGI")]
#[cfg_attr(feature = "serde", serde(rename = "REGI"))]
Regi,
#[yaserde(rename = "CACO")]
#[cfg_attr(feature = "serde", serde(rename = "CACO"))]
Caco,
#[yaserde(rename = "CONC")]
#[cfg_attr(feature = "serde", serde(rename = "CONC"))]
Conc,
#[yaserde(rename = "DATP")]
#[cfg_attr(feature = "serde", serde(rename = "DATP"))]
Datp,
__Unknown__(String),
}
impl Default for InvestmentFundRole8Code {
fn default() -> InvestmentFundRole8Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for InvestmentFundRole8Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct IrishNSCIdentifier (pub String);
crate::simple_type!(IrishNSCIdentifier);
impl Validate for IrishNSCIdentifier {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct ItalianDomesticIdentifier (pub String);
crate::simple_type!(ItalianDomesticIdentifier);
impl Validate for ItalianDomesticIdentifier {}
#[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:sese.009.001.09")]
pub struct MarketPracticeVersion1 {
#[yaserde(rename = "Nm")]
#[cfg_attr(feature = "serde", serde(rename = "Nm"))]
pub nm: Max35Text,
#[yaserde(rename = "Dt")]
#[cfg_attr(feature = "serde", serde(rename = "Dt"))]
pub dt: IsoyearMonth,
#[yaserde(rename = "Nb")]
#[cfg_attr(feature = "serde", serde(rename = "Nb"))]
pub nb: Max35Text,
}
impl Validate for MarketPracticeVersion1 {}
#[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 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 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 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 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:sese.009.001.09")]
pub struct MessageAndBusinessReference14 {
#[yaserde(rename = "Ref")]
#[cfg_attr(feature = "serde", serde(rename = "Ref"))]
pub _ref: References68Choice,
#[yaserde(rename = "TpOfReq")]
#[cfg_attr(feature = "serde", serde(rename = "TpOfReq"))]
pub tp_of_req: TypeOfRequest1Choice,
#[yaserde(rename = "MstrRef")]
#[cfg_attr(feature = "serde", serde(rename = "MstrRef"))]
pub mstr_ref: Max35Text,
#[yaserde(rename = "TrfRef")]
#[cfg_attr(feature = "serde", serde(rename = "TrfRef"))]
pub trf_ref: AdditionalReference10,
#[yaserde(rename = "ClntRef")]
#[cfg_attr(feature = "serde", serde(rename = "ClntRef"))]
pub clnt_ref: AdditionalReference10,
#[yaserde(rename = "CxlRef")]
#[cfg_attr(feature = "serde", serde(rename = "CxlRef"))]
pub cxl_ref: Max35Text,
#[yaserde(rename = "Instrm")]
#[cfg_attr(feature = "serde", serde(rename = "Instrm"))]
pub instrm: FinancialInstrument101Choice,
#[yaserde(rename = "InvstmtAcctDtls")]
#[cfg_attr(feature = "serde", serde(rename = "InvstmtAcctDtls"))]
pub invstmt_acct_dtls: Account36,
#[yaserde(rename = "IntrmyInf")]
#[cfg_attr(feature = "serde", serde(rename = "IntrmyInf"))]
pub intrmy_inf: Vec<Intermediary48>,
#[yaserde(rename = "QryInf")]
#[cfg_attr(feature = "serde", serde(rename = "QryInf"))]
pub qry_inf: Vec<AdditionalInformation25>,
#[yaserde(rename = "ReqIssr")]
#[cfg_attr(feature = "serde", serde(rename = "ReqIssr"))]
pub req_issr: PartyIdentification139,
#[yaserde(rename = "ReqRcpt")]
#[cfg_attr(feature = "serde", serde(rename = "ReqRcpt"))]
pub req_rcpt: PartyIdentification139,
}
impl Validate for MessageAndBusinessReference14 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:sese.009.001.09")]
pub struct MessageIdentification1 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Max35Text,
#[yaserde(rename = "CreDtTm")]
#[cfg_attr(feature = "serde", serde(rename = "CreDtTm"))]
pub cre_dt_tm: IsodateTime,
}
impl Validate for MessageIdentification1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:sese.009.001.09")]
pub struct NameAndAddress5 {
#[yaserde(rename = "Nm")]
#[cfg_attr(feature = "serde", serde(rename = "Nm"))]
pub nm: Max350Text,
#[yaserde(rename = "Adr")]
#[cfg_attr(feature = "serde", serde(rename = "Adr"))]
pub adr: PostalAddress1,
}
impl Validate for NameAndAddress5 {}
#[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:sese.009.001.09")]
pub enum NamePrefix1Code {
#[yaserde(rename = "DOCT")]
#[cfg_attr(feature = "serde", serde(rename = "DOCT"))]
Doct,
#[yaserde(rename = "MIST")]
#[cfg_attr(feature = "serde", serde(rename = "MIST"))]
Mist,
#[yaserde(rename = "MISS")]
#[cfg_attr(feature = "serde", serde(rename = "MISS"))]
Miss,
#[yaserde(rename = "MADM")]
#[cfg_attr(feature = "serde", serde(rename = "MADM"))]
Madm,
__Unknown__(String),
}
impl Default for NamePrefix1Code {
fn default() -> NamePrefix1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for NamePrefix1Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct NewZealandNCCIdentifier (pub String);
crate::simple_type!(NewZealandNCCIdentifier);
impl Validate for NewZealandNCCIdentifier {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:sese.009.001.09")]
pub struct OtherAsset2 {
#[yaserde(rename = "OthrAsstTp")]
#[cfg_attr(feature = "serde", serde(rename = "OthrAsstTp"))]
pub othr_asst_tp: OtherAsset2Choice,
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Max35Text,
#[yaserde(rename = "Nm")]
#[cfg_attr(feature = "serde", serde(rename = "Nm"))]
pub nm: Max35Text,
#[yaserde(rename = "Desc")]
#[cfg_attr(feature = "serde", serde(rename = "Desc"))]
pub desc: Max35Text,
#[yaserde(rename = "OthrId")]
#[cfg_attr(feature = "serde", serde(rename = "OthrId"))]
pub othr_id: Vec<Max35Text>,
#[yaserde(rename = "AddtlInf")]
#[cfg_attr(feature = "serde", serde(rename = "AddtlInf"))]
pub addtl_inf: Vec<AdditionalInformation15>,
}
impl Validate for OtherAsset2 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:sese.009.001.09")]
pub struct OtherAsset2Choice {
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: Option<OtherAsset2Code>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<GenericIdentification36>,
}
impl Validate for OtherAsset2Choice {}
#[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:sese.009.001.09")]
pub enum OtherAsset2Code {
#[yaserde(rename = "DIMA")]
#[cfg_attr(feature = "serde", serde(rename = "DIMA"))]
Dima,
#[yaserde(rename = "EXIA")]
#[cfg_attr(feature = "serde", serde(rename = "EXIA"))]
Exia,
#[yaserde(rename = "MOVE")]
#[cfg_attr(feature = "serde", serde(rename = "MOVE"))]
Move,
#[yaserde(rename = "PROP")]
#[cfg_attr(feature = "serde", serde(rename = "PROP"))]
Prop,
#[yaserde(rename = "TIPP")]
#[cfg_attr(feature = "serde", serde(rename = "TIPP"))]
Tipp,
__Unknown__(String),
}
impl Default for OtherAsset2Code {
fn default() -> OtherAsset2Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for OtherAsset2Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:sese.009.001.09")]
pub struct PartyIdentification125Choice {
#[yaserde(rename = "AnyBIC")]
#[cfg_attr(feature = "serde", serde(rename = "AnyBIC"))]
pub any_b_i_c: Option<AnyBICDec2014Identifier>,
#[yaserde(rename = "PrtryId")]
#[cfg_attr(feature = "serde", serde(rename = "PrtryId"))]
pub prtry_id: Option<GenericIdentification1>,
#[yaserde(rename = "NmAndAdr")]
#[cfg_attr(feature = "serde", serde(rename = "NmAndAdr"))]
pub nm_and_adr: Option<NameAndAddress5>,
}
impl Validate for PartyIdentification125Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:sese.009.001.09")]
pub struct PartyIdentification132 {
#[yaserde(rename = "AnyBIC")]
#[cfg_attr(feature = "serde", serde(rename = "AnyBIC"))]
pub any_bic: AnyBICDec2014Identifier,
#[yaserde(rename = "ClrSysMmbId")]
#[cfg_attr(feature = "serde", serde(rename = "ClrSysMmbId"))]
pub clr_sys_mmb_id: ClearingSystemMemberIdentification2Choice,
#[yaserde(rename = "NmAndAdr")]
#[cfg_attr(feature = "serde", serde(rename = "NmAndAdr"))]
pub nm_and_adr: NameAndAddress5,
#[yaserde(rename = "PrtryId")]
#[cfg_attr(feature = "serde", serde(rename = "PrtryId"))]
pub prtry_id: GenericIdentification1,
#[yaserde(rename = "LEI")]
#[cfg_attr(feature = "serde", serde(rename = "LEI"))]
pub lei: Leiidentifier,
}
impl Validate for PartyIdentification132 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:sese.009.001.09")]
pub struct PartyIdentification139 {
#[yaserde(rename = "Pty")]
#[cfg_attr(feature = "serde", serde(rename = "Pty"))]
pub pty: PartyIdentification125Choice,
#[yaserde(rename = "LEI")]
#[cfg_attr(feature = "serde", serde(rename = "LEI"))]
pub lei: Leiidentifier,
}
impl Validate for PartyIdentification139 {}
#[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)]
pub struct PolishNationalClearingCodeIdentifier (pub String);
crate::simple_type!(PolishNationalClearingCodeIdentifier);
impl Validate for PolishNationalClearingCodeIdentifier {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct PortugueseNCCIdentifier (pub String);
crate::simple_type!(PortugueseNCCIdentifier);
impl Validate for PortugueseNCCIdentifier {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:sese.009.001.09")]
pub struct PostalAddress1 {
#[yaserde(rename = "AdrTp")]
#[cfg_attr(feature = "serde", serde(rename = "AdrTp"))]
pub adr_tp: AddressType2Code,
#[yaserde(rename = "AdrLine")]
#[cfg_attr(feature = "serde", serde(rename = "AdrLine"))]
pub adr_line: Vec<Max70Text>,
#[yaserde(rename = "StrtNm")]
#[cfg_attr(feature = "serde", serde(rename = "StrtNm"))]
pub strt_nm: Max70Text,
#[yaserde(rename = "BldgNb")]
#[cfg_attr(feature = "serde", serde(rename = "BldgNb"))]
pub bldg_nb: Max16Text,
#[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: Max35Text,
#[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,
}
impl Validate for PostalAddress1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Quickidentifier (pub String);
crate::simple_type!(Quickidentifier);
impl Validate for Quickidentifier {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Ricidentifier (pub String);
crate::simple_type!(Ricidentifier);
impl Validate for Ricidentifier {
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, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:sese.009.001.09")]
pub struct References68Choice {
#[yaserde(rename = "PrvsRef")]
#[cfg_attr(feature = "serde", serde(rename = "PrvsRef"))]
pub prvs_ref: Option<AdditionalReference10>,
#[yaserde(rename = "OthrRef")]
#[cfg_attr(feature = "serde", serde(rename = "OthrRef"))]
pub othr_ref: Option<AdditionalReference10>,
}
impl Validate for References68Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:sese.009.001.09")]
pub struct RejectedReason33Choice {
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: Option<RejectedStatusReason12Code>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<GenericIdentification36>,
}
impl Validate for RejectedReason33Choice {}
#[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:sese.009.001.09")]
pub enum RejectedStatusReason12Code {
#[yaserde(rename = "BLCA")]
#[cfg_attr(feature = "serde", serde(rename = "BLCA"))]
Blca,
#[yaserde(rename = "DOCC")]
#[cfg_attr(feature = "serde", serde(rename = "DOCC"))]
Docc,
#[yaserde(rename = "IAQD")]
#[cfg_attr(feature = "serde", serde(rename = "IAQD"))]
Iaqd,
#[yaserde(rename = "ICTN")]
#[cfg_attr(feature = "serde", serde(rename = "ICTN"))]
Ictn,
#[yaserde(rename = "CYPA")]
#[cfg_attr(feature = "serde", serde(rename = "CYPA"))]
Cypa,
#[yaserde(rename = "TREF")]
#[cfg_attr(feature = "serde", serde(rename = "TREF"))]
Tref,
#[yaserde(rename = "DSEC")]
#[cfg_attr(feature = "serde", serde(rename = "DSEC"))]
Dsec,
#[yaserde(rename = "IDNA")]
#[cfg_attr(feature = "serde", serde(rename = "IDNA"))]
Idna,
#[yaserde(rename = "DQUA")]
#[cfg_attr(feature = "serde", serde(rename = "DQUA"))]
Dqua,
#[yaserde(rename = "FTAX")]
#[cfg_attr(feature = "serde", serde(rename = "FTAX"))]
Ftax,
#[yaserde(rename = "INID")]
#[cfg_attr(feature = "serde", serde(rename = "INID"))]
Inid,
#[yaserde(rename = "INAC")]
#[cfg_attr(feature = "serde", serde(rename = "INAC"))]
Inac,
#[yaserde(rename = "CASH")]
#[cfg_attr(feature = "serde", serde(rename = "CASH"))]
Cash,
#[yaserde(rename = "INPM")]
#[cfg_attr(feature = "serde", serde(rename = "INPM"))]
Inpm,
#[yaserde(rename = "INNA")]
#[cfg_attr(feature = "serde", serde(rename = "INNA"))]
Inna,
#[yaserde(rename = "SAFE")]
#[cfg_attr(feature = "serde", serde(rename = "SAFE"))]
Safe,
#[yaserde(rename = "INUK")]
#[cfg_attr(feature = "serde", serde(rename = "INUK"))]
Inuk,
#[yaserde(rename = "LEGL")]
#[cfg_attr(feature = "serde", serde(rename = "LEGL"))]
Legl,
#[yaserde(rename = "NSLA")]
#[cfg_attr(feature = "serde", serde(rename = "NSLA"))]
Nsla,
#[yaserde(rename = "SECU")]
#[cfg_attr(feature = "serde", serde(rename = "SECU"))]
Secu,
#[yaserde(rename = "PTNS")]
#[cfg_attr(feature = "serde", serde(rename = "PTNS"))]
Ptns,
#[yaserde(rename = "DLVY")]
#[cfg_attr(feature = "serde", serde(rename = "DLVY"))]
Dlvy,
#[yaserde(rename = "DDAT")]
#[cfg_attr(feature = "serde", serde(rename = "DDAT"))]
Ddat,
#[yaserde(rename = "ISTP")]
#[cfg_attr(feature = "serde", serde(rename = "ISTP"))]
Istp,
#[yaserde(rename = "DEPT")]
#[cfg_attr(feature = "serde", serde(rename = "DEPT"))]
Dept,
#[yaserde(rename = "ISAT")]
#[cfg_attr(feature = "serde", serde(rename = "ISAT"))]
Isat,
#[yaserde(rename = "OTHR")]
#[cfg_attr(feature = "serde", serde(rename = "OTHR"))]
Othr,
#[yaserde(rename = "NCON")]
#[cfg_attr(feature = "serde", serde(rename = "NCON"))]
Ncon,
#[yaserde(rename = "ACLO")]
#[cfg_attr(feature = "serde", serde(rename = "ACLO"))]
Aclo,
#[yaserde(rename = "NASS")]
#[cfg_attr(feature = "serde", serde(rename = "NASS"))]
Nass,
#[yaserde(rename = "NQTY")]
#[cfg_attr(feature = "serde", serde(rename = "NQTY"))]
Nqty,
#[yaserde(rename = "BLTR")]
#[cfg_attr(feature = "serde", serde(rename = "BLTR"))]
Bltr,
#[yaserde(rename = "COSE")]
#[cfg_attr(feature = "serde", serde(rename = "COSE"))]
Cose,
#[yaserde(rename = "ILLI")]
#[cfg_attr(feature = "serde", serde(rename = "ILLI"))]
Illi,
#[yaserde(rename = "BMRV")]
#[cfg_attr(feature = "serde", serde(rename = "BMRV"))]
Bmrv,
#[yaserde(rename = "DINV")]
#[cfg_attr(feature = "serde", serde(rename = "DINV"))]
Dinv,
#[yaserde(rename = "ICAG")]
#[cfg_attr(feature = "serde", serde(rename = "ICAG"))]
Icag,
#[yaserde(rename = "IPAC")]
#[cfg_attr(feature = "serde", serde(rename = "IPAC"))]
Ipac,
#[yaserde(rename = "INTE")]
#[cfg_attr(feature = "serde", serde(rename = "INTE"))]
Inte,
#[yaserde(rename = "DMON")]
#[cfg_attr(feature = "serde", serde(rename = "DMON"))]
Dmon,
#[yaserde(rename = "PRCT")]
#[cfg_attr(feature = "serde", serde(rename = "PRCT"))]
Prct,
#[yaserde(rename = "IVAG")]
#[cfg_attr(feature = "serde", serde(rename = "IVAG"))]
Ivag,
#[yaserde(rename = "NCRR")]
#[cfg_attr(feature = "serde", serde(rename = "NCRR"))]
Ncrr,
#[yaserde(rename = "DTRD")]
#[cfg_attr(feature = "serde", serde(rename = "DTRD"))]
Dtrd,
#[yaserde(rename = "UPAY")]
#[cfg_attr(feature = "serde", serde(rename = "UPAY"))]
Upay,
#[yaserde(rename = "URSC")]
#[cfg_attr(feature = "serde", serde(rename = "URSC"))]
Ursc,
__Unknown__(String),
}
impl Default for RejectedStatusReason12Code {
fn default() -> RejectedStatusReason12Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for RejectedStatusReason12Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:sese.009.001.09")]
pub struct RequestForTransferStatusReportV09 {
#[yaserde(rename = "MsgId")]
#[cfg_attr(feature = "serde", serde(rename = "MsgId"))]
pub msg_id: MessageIdentification1,
#[yaserde(rename = "ReqDtls")]
#[cfg_attr(feature = "serde", serde(rename = "ReqDtls"))]
pub req_dtls: Vec<MessageAndBusinessReference14>,
#[yaserde(rename = "MktPrctcVrsn")]
#[cfg_attr(feature = "serde", serde(rename = "MktPrctcVrsn"))]
pub mkt_prctc_vrsn: MarketPracticeVersion1,
#[yaserde(rename = "Xtnsn")]
#[cfg_attr(feature = "serde", serde(rename = "Xtnsn"))]
pub xtnsn: Vec<Extension1>,
}
impl Validate for RequestForTransferStatusReportV09 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:sese.009.001.09")]
pub struct Role8Choice {
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: Option<InvestmentFundRole8Code>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<GenericIdentification36>,
}
impl Validate for Role8Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct RussianCentralBankIdentificationCodeIdentifier (pub String);
crate::simple_type!(RussianCentralBankIdentificationCodeIdentifier);
impl Validate for RussianCentralBankIdentificationCodeIdentifier {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Sedolidentifier (pub String);
crate::simple_type!(Sedolidentifier);
impl Validate for Sedolidentifier {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:sese.009.001.09")]
pub struct SecurityIdentification46Choice {
#[yaserde(rename = "ISIN")]
#[cfg_attr(feature = "serde", serde(rename = "ISIN"))]
pub isin: Option<Isinoct2015Identifier>,
#[yaserde(rename = "SEDOL")]
#[cfg_attr(feature = "serde", serde(rename = "SEDOL"))]
pub sedol: Option<Sedolidentifier>,
#[yaserde(rename = "CUSIP")]
#[cfg_attr(feature = "serde", serde(rename = "CUSIP"))]
pub cusip: Option<Cusipidentifier>,
#[yaserde(rename = "RIC")]
#[cfg_attr(feature = "serde", serde(rename = "RIC"))]
pub ric: Option<Ricidentifier>,
#[yaserde(rename = "TckrSymb")]
#[cfg_attr(feature = "serde", serde(rename = "TckrSymb"))]
pub tckr_symb: Option<TickerIdentifier>,
#[yaserde(rename = "Blmbrg")]
#[cfg_attr(feature = "serde", serde(rename = "Blmbrg"))]
pub blmbrg: Option<Bloomberg2Identifier>,
#[yaserde(rename = "CTA")]
#[cfg_attr(feature = "serde", serde(rename = "CTA"))]
pub cta: Option<ConsolidatedTapeAssociationIdentifier>,
#[yaserde(rename = "QUICK")]
#[cfg_attr(feature = "serde", serde(rename = "QUICK"))]
pub quick: Option<Quickidentifier>,
#[yaserde(rename = "Wrtppr")]
#[cfg_attr(feature = "serde", serde(rename = "Wrtppr"))]
pub wrtppr: Option<WertpapierIdentifier>,
#[yaserde(rename = "Dtch")]
#[cfg_attr(feature = "serde", serde(rename = "Dtch"))]
pub dtch: Option<DutchIdentifier>,
#[yaserde(rename = "Vlrn")]
#[cfg_attr(feature = "serde", serde(rename = "Vlrn"))]
pub vlrn: Option<ValorenIdentifier>,
#[yaserde(rename = "SCVM")]
#[cfg_attr(feature = "serde", serde(rename = "SCVM"))]
pub scvm: Option<SicovamIdentifier>,
#[yaserde(rename = "Belgn")]
#[cfg_attr(feature = "serde", serde(rename = "Belgn"))]
pub belgn: Option<BelgianIdentifier>,
#[yaserde(rename = "Cmon")]
#[cfg_attr(feature = "serde", serde(rename = "Cmon"))]
pub cmon: Option<EuroclearClearstreamIdentifier>,
#[yaserde(rename = "DTI")]
#[cfg_attr(feature = "serde", serde(rename = "DTI"))]
pub dti: Option<Dti2024Identifier>,
#[yaserde(rename = "OthrPrtryId")]
#[cfg_attr(feature = "serde", serde(rename = "OthrPrtryId"))]
pub othr_prtry_id: Option<AlternateSecurityIdentification7>,
}
impl Validate for SecurityIdentification46Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct SicovamIdentifier (pub String);
crate::simple_type!(SicovamIdentifier);
impl Validate for SicovamIdentifier {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct SmallNetworkIdentifier (pub String);
crate::simple_type!(SmallNetworkIdentifier);
impl Validate for SmallNetworkIdentifier {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct SouthAfricanNCCIdentifier (pub String);
crate::simple_type!(SouthAfricanNCCIdentifier);
impl Validate for SouthAfricanNCCIdentifier {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct SpanishDomesticInterbankingIdentifier (pub String);
crate::simple_type!(SpanishDomesticInterbankingIdentifier);
impl Validate for SpanishDomesticInterbankingIdentifier {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:sese.009.001.09")]
pub struct SubAccount5 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Max35Text,
#[yaserde(rename = "Nm")]
#[cfg_attr(feature = "serde", serde(rename = "Nm"))]
pub nm: Max35Text,
#[yaserde(rename = "Chrtc")]
#[cfg_attr(feature = "serde", serde(rename = "Chrtc"))]
pub chrtc: Max35Text,
}
impl Validate for SubAccount5 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct SwissBCIdentifier (pub String);
crate::simple_type!(SwissBCIdentifier);
impl Validate for SwissBCIdentifier {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct SwissSICIdentifier (pub String);
crate::simple_type!(SwissSICIdentifier);
impl Validate for SwissSICIdentifier {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct TickerIdentifier (pub String);
crate::simple_type!(TickerIdentifier);
impl Validate for TickerIdentifier {
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, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:sese.009.001.09")]
pub struct TypeOfRequest1Choice {
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: Option<TypeOfRequest1Code>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<GenericIdentification36>,
}
impl Validate for TypeOfRequest1Choice {}
#[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:sese.009.001.09")]
pub enum TypeOfRequest1Code {
#[yaserde(rename = "INFO")]
#[cfg_attr(feature = "serde", serde(rename = "INFO"))]
Info,
#[yaserde(rename = "STAT")]
#[cfg_attr(feature = "serde", serde(rename = "STAT"))]
Stat,
__Unknown__(String),
}
impl Default for TypeOfRequest1Code {
fn default() -> TypeOfRequest1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for TypeOfRequest1Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct UkdomesticSortCodeIdentifier (pub String);
crate::simple_type!(UkdomesticSortCodeIdentifier);
impl Validate for UkdomesticSortCodeIdentifier {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct ValorenIdentifier (pub String);
crate::simple_type!(ValorenIdentifier);
impl Validate for ValorenIdentifier {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct WertpapierIdentifier (pub String);
crate::simple_type!(WertpapierIdentifier);
impl Validate for WertpapierIdentifier {}
impl crate::MxMessage for Document {
const BUSINESS_AREA: crate::BusinessArea = crate::BusinessArea::sese;
const FUNCTIONALITY: &'static str = "009";
const VARIANT: &'static str = "001";
const VERSION: &'static str = "09";
const MESSAGE_NAME: &'static str = "sese.009.001.09";
const NAMESPACE: &'static str = "urn:iso:std:iso:20022:tech:xsd:sese.009.001.09";
}