#![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:seev.033.002.13")]
pub struct AccountAndBalance62 {
#[yaserde(rename = "SfkpgAcct")]
#[cfg_attr(feature = "serde", serde(rename = "SfkpgAcct"))]
pub sfkpg_acct: RestrictedFINXMax35Text,
#[yaserde(rename = "BlckChainAdrOrWllt")]
#[cfg_attr(feature = "serde", serde(rename = "BlckChainAdrOrWllt"))]
pub blck_chain_adr_or_wllt: RestrictedFINXMax140Text,
#[yaserde(rename = "AcctOwnr")]
#[cfg_attr(feature = "serde", serde(rename = "AcctOwnr"))]
pub acct_ownr: PartyIdentification136Choice,
#[yaserde(rename = "SfkpgPlc")]
#[cfg_attr(feature = "serde", serde(rename = "SfkpgPlc"))]
pub sfkpg_plc: SafekeepingPlaceFormat48Choice,
#[yaserde(rename = "Bal")]
#[cfg_attr(feature = "serde", serde(rename = "Bal"))]
pub bal: CorporateActionBalanceDetails44,
}
impl Validate for AccountAndBalance62 {}
#[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 ActiveOrHistoricCurrencyCode (pub String);
crate::simple_type!(ActiveOrHistoricCurrencyCode);
impl Validate for ActiveOrHistoricCurrencyCode {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:seev.033.002.13")]
pub struct AlternatePartyIdentification11 {
#[yaserde(rename = "IdTp")]
#[cfg_attr(feature = "serde", serde(rename = "IdTp"))]
pub id_tp: IdentificationType46Choice,
#[yaserde(rename = "Ctry")]
#[cfg_attr(feature = "serde", serde(rename = "Ctry"))]
pub ctry: CountryCode,
#[yaserde(rename = "AltrnId")]
#[cfg_attr(feature = "serde", serde(rename = "AltrnId"))]
pub altrn_id: Max35Text,
}
impl Validate for AlternatePartyIdentification11 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:seev.033.002.13")]
pub struct AlternatePartyIdentification9 {
#[yaserde(rename = "IdTp")]
#[cfg_attr(feature = "serde", serde(rename = "IdTp"))]
pub id_tp: IdentificationType44Choice,
#[yaserde(rename = "Ctry")]
#[cfg_attr(feature = "serde", serde(rename = "Ctry"))]
pub ctry: CountryCode,
#[yaserde(rename = "AltrnId")]
#[cfg_attr(feature = "serde", serde(rename = "AltrnId"))]
pub altrn_id: RestrictedFINXMax30Text,
}
impl Validate for AlternatePartyIdentification9 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:seev.033.002.13")]
pub struct AmountPrice5 {
#[yaserde(rename = "AmtPricTp")]
#[cfg_attr(feature = "serde", serde(rename = "AmtPricTp"))]
pub amt_pric_tp: AmountPriceType1Code,
#[yaserde(rename = "PricVal")]
#[cfg_attr(feature = "serde", serde(rename = "PricVal"))]
pub pric_val: RestrictedFINActiveCurrencyAnd13DecimalAmount,
}
impl Validate for AmountPrice5 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:seev.033.002.13")]
pub struct AmountPricePerAmount3 {
#[yaserde(rename = "AmtPricTp")]
#[cfg_attr(feature = "serde", serde(rename = "AmtPricTp"))]
pub amt_pric_tp: AmountPriceType1Code,
#[yaserde(rename = "PricVal")]
#[cfg_attr(feature = "serde", serde(rename = "PricVal"))]
pub pric_val: RestrictedFINActiveCurrencyAnd13DecimalAmount,
#[yaserde(rename = "Amt")]
#[cfg_attr(feature = "serde", serde(rename = "Amt"))]
pub amt: RestrictedFINActiveCurrencyAnd13DecimalAmount,
}
impl Validate for AmountPricePerAmount3 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:seev.033.002.13")]
pub struct AmountPricePerFinancialInstrumentQuantity11 {
#[yaserde(rename = "AmtPricTp")]
#[cfg_attr(feature = "serde", serde(rename = "AmtPricTp"))]
pub amt_pric_tp: AmountPriceType1Code,
#[yaserde(rename = "PricVal")]
#[cfg_attr(feature = "serde", serde(rename = "PricVal"))]
pub pric_val: RestrictedFINActiveCurrencyAnd13DecimalAmount,
#[yaserde(rename = "FinInstrmQty")]
#[cfg_attr(feature = "serde", serde(rename = "FinInstrmQty"))]
pub fin_instrm_qty: FinancialInstrumentQuantity36Choice,
}
impl Validate for AmountPricePerFinancialInstrumentQuantity11 {}
#[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:seev.033.002.13")]
pub enum AmountPriceType1Code {
#[yaserde(rename = "ACTU")]
#[cfg_attr(feature = "serde", serde(rename = "ACTU"))]
Actu,
#[yaserde(rename = "DISC")]
#[cfg_attr(feature = "serde", serde(rename = "DISC"))]
Disc,
#[yaserde(rename = "PLOT")]
#[cfg_attr(feature = "serde", serde(rename = "PLOT"))]
Plot,
#[yaserde(rename = "PREM")]
#[cfg_attr(feature = "serde", serde(rename = "PREM"))]
Prem,
__Unknown__(String),
}
impl Default for AmountPriceType1Code {
fn default() -> AmountPriceType1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for AmountPriceType1Code {}
#[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, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:seev.033.002.13")]
pub struct BalanceFormat14Choice {
#[yaserde(rename = "Bal")]
#[cfg_attr(feature = "serde", serde(rename = "Bal"))]
pub bal: Option<SignedQuantityFormat12>,
#[yaserde(rename = "ElgblBal")]
#[cfg_attr(feature = "serde", serde(rename = "ElgblBal"))]
pub elgbl_bal: Option<SignedQuantityFormat13>,
#[yaserde(rename = "NotElgblBal")]
#[cfg_attr(feature = "serde", serde(rename = "NotElgblBal"))]
pub not_elgbl_bal: Option<SignedQuantityFormat13>,
}
impl Validate for BalanceFormat14Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct BaseOne14Rate (pub String);
crate::simple_type!(BaseOne14Rate);
impl Validate for BaseOne14Rate {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:seev.033.002.13")]
pub struct BeneficiaryCertificationType11Choice {
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: Option<BeneficiaryCertificationType5Code>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<GenericIdentification47>,
}
impl Validate for BeneficiaryCertificationType11Choice {}
#[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:seev.033.002.13")]
pub enum BeneficiaryCertificationType5Code {
#[yaserde(rename = "ACCI")]
#[cfg_attr(feature = "serde", serde(rename = "ACCI"))]
Acci,
#[yaserde(rename = "NCOM")]
#[cfg_attr(feature = "serde", serde(rename = "NCOM"))]
Ncom,
#[yaserde(rename = "QIBB")]
#[cfg_attr(feature = "serde", serde(rename = "QIBB"))]
Qibb,
__Unknown__(String),
}
impl Default for BeneficiaryCertificationType5Code {
fn default() -> BeneficiaryCertificationType5Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for BeneficiaryCertificationType5Code {}
#[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, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:seev.033.002.13")]
pub struct ClassificationType33Choice {
#[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<GenericIdentification86>,
}
impl Validate for ClassificationType33Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:seev.033.002.13")]
pub struct CorporateActionBalanceDetails44 {
#[yaserde(rename = "TtlElgblBal")]
#[cfg_attr(feature = "serde", serde(rename = "TtlElgblBal"))]
pub ttl_elgbl_bal: Quantity80Choice,
#[yaserde(rename = "BlckdBal")]
#[cfg_attr(feature = "serde", serde(rename = "BlckdBal"))]
pub blckd_bal: BalanceFormat14Choice,
#[yaserde(rename = "BrrwdBal")]
#[cfg_attr(feature = "serde", serde(rename = "BrrwdBal"))]
pub brrwd_bal: BalanceFormat14Choice,
#[yaserde(rename = "CollInBal")]
#[cfg_attr(feature = "serde", serde(rename = "CollInBal"))]
pub coll_in_bal: BalanceFormat14Choice,
#[yaserde(rename = "CollOutBal")]
#[cfg_attr(feature = "serde", serde(rename = "CollOutBal"))]
pub coll_out_bal: BalanceFormat14Choice,
#[yaserde(rename = "OnLnBal")]
#[cfg_attr(feature = "serde", serde(rename = "OnLnBal"))]
pub on_ln_bal: BalanceFormat14Choice,
#[yaserde(rename = "PdgDlvryBal")]
#[cfg_attr(feature = "serde", serde(rename = "PdgDlvryBal"))]
pub pdg_dlvry_bal: Vec<BalanceFormat14Choice>,
#[yaserde(rename = "PdgRctBal")]
#[cfg_attr(feature = "serde", serde(rename = "PdgRctBal"))]
pub pdg_rct_bal: Vec<BalanceFormat14Choice>,
#[yaserde(rename = "OutForRegnBal")]
#[cfg_attr(feature = "serde", serde(rename = "OutForRegnBal"))]
pub out_for_regn_bal: BalanceFormat14Choice,
#[yaserde(rename = "SttlmPosBal")]
#[cfg_attr(feature = "serde", serde(rename = "SttlmPosBal"))]
pub sttlm_pos_bal: BalanceFormat14Choice,
#[yaserde(rename = "StrtPosBal")]
#[cfg_attr(feature = "serde", serde(rename = "StrtPosBal"))]
pub strt_pos_bal: BalanceFormat14Choice,
#[yaserde(rename = "TradDtPosBal")]
#[cfg_attr(feature = "serde", serde(rename = "TradDtPosBal"))]
pub trad_dt_pos_bal: BalanceFormat14Choice,
#[yaserde(rename = "InTrnsShipmntBal")]
#[cfg_attr(feature = "serde", serde(rename = "InTrnsShipmntBal"))]
pub in_trns_shipmnt_bal: BalanceFormat14Choice,
#[yaserde(rename = "RegdBal")]
#[cfg_attr(feature = "serde", serde(rename = "RegdBal"))]
pub regd_bal: BalanceFormat14Choice,
}
impl Validate for CorporateActionBalanceDetails44 {}
#[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:seev.033.002.13")]
pub enum CorporateActionChangeType2Code {
#[yaserde(rename = "BERE")]
#[cfg_attr(feature = "serde", serde(rename = "BERE"))]
Bere,
#[yaserde(rename = "CERT")]
#[cfg_attr(feature = "serde", serde(rename = "CERT"))]
Cert,
#[yaserde(rename = "DEPH")]
#[cfg_attr(feature = "serde", serde(rename = "DEPH"))]
Deph,
#[yaserde(rename = "GPPH")]
#[cfg_attr(feature = "serde", serde(rename = "GPPH"))]
Gpph,
#[yaserde(rename = "GTGP")]
#[cfg_attr(feature = "serde", serde(rename = "GTGP"))]
Gtgp,
#[yaserde(rename = "GTPH")]
#[cfg_attr(feature = "serde", serde(rename = "GTPH"))]
Gtph,
#[yaserde(rename = "NAME")]
#[cfg_attr(feature = "serde", serde(rename = "NAME"))]
Name,
#[yaserde(rename = "PHDE")]
#[cfg_attr(feature = "serde", serde(rename = "PHDE"))]
Phde,
#[yaserde(rename = "REBE")]
#[cfg_attr(feature = "serde", serde(rename = "REBE"))]
Rebe,
#[yaserde(rename = "TERM")]
#[cfg_attr(feature = "serde", serde(rename = "TERM"))]
Term,
__Unknown__(String),
}
impl Default for CorporateActionChangeType2Code {
fn default() -> CorporateActionChangeType2Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for CorporateActionChangeType2Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:seev.033.002.13")]
pub struct CorporateActionChangeTypeFormat7Choice {
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: Option<CorporateActionChangeType2Code>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<GenericIdentification47>,
}
impl Validate for CorporateActionChangeTypeFormat7Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:seev.033.002.13")]
pub struct CorporateActionEventReference4 {
#[yaserde(rename = "EvtId")]
#[cfg_attr(feature = "serde", serde(rename = "EvtId"))]
pub evt_id: CorporateActionEventReference4Choice,
#[yaserde(rename = "LkgTp")]
#[cfg_attr(feature = "serde", serde(rename = "LkgTp"))]
pub lkg_tp: ProcessingPosition10Choice,
}
impl Validate for CorporateActionEventReference4 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:seev.033.002.13")]
pub struct CorporateActionEventReference4Choice {
#[yaserde(rename = "LkdOffclCorpActnEvtId")]
#[cfg_attr(feature = "serde", serde(rename = "LkdOffclCorpActnEvtId"))]
pub lkd_offcl_corp_actn_evt_id: Option<RestrictedFINXMax16Text>,
#[yaserde(rename = "LkdCorpActnId")]
#[cfg_attr(feature = "serde", serde(rename = "LkdCorpActnId"))]
pub lkd_corp_actn_id: Option<RestrictedFINXMax16Text>,
}
impl Validate for CorporateActionEventReference4Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:seev.033.002.13")]
pub struct CorporateActionEventType119Choice {
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: Option<CorporateActionEventType40Code>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<GenericIdentification47>,
}
impl Validate for CorporateActionEventType119Choice {}
#[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:seev.033.002.13")]
pub enum CorporateActionEventType40Code {
#[yaserde(rename = "ACTV")]
#[cfg_attr(feature = "serde", serde(rename = "ACTV"))]
Actv,
#[yaserde(rename = "ATTI")]
#[cfg_attr(feature = "serde", serde(rename = "ATTI"))]
Atti,
#[yaserde(rename = "BRUP")]
#[cfg_attr(feature = "serde", serde(rename = "BRUP"))]
Brup,
#[yaserde(rename = "DFLT")]
#[cfg_attr(feature = "serde", serde(rename = "DFLT"))]
Dflt,
#[yaserde(rename = "BONU")]
#[cfg_attr(feature = "serde", serde(rename = "BONU"))]
Bonu,
#[yaserde(rename = "EXRI")]
#[cfg_attr(feature = "serde", serde(rename = "EXRI"))]
Exri,
#[yaserde(rename = "CAPD")]
#[cfg_attr(feature = "serde", serde(rename = "CAPD"))]
Capd,
#[yaserde(rename = "CAPG")]
#[cfg_attr(feature = "serde", serde(rename = "CAPG"))]
Capg,
#[yaserde(rename = "CAPI")]
#[cfg_attr(feature = "serde", serde(rename = "CAPI"))]
Capi,
#[yaserde(rename = "DRCA")]
#[cfg_attr(feature = "serde", serde(rename = "DRCA"))]
Drca,
#[yaserde(rename = "DVCA")]
#[cfg_attr(feature = "serde", serde(rename = "DVCA"))]
Dvca,
#[yaserde(rename = "CHAN")]
#[cfg_attr(feature = "serde", serde(rename = "CHAN"))]
Chan,
#[yaserde(rename = "COOP")]
#[cfg_attr(feature = "serde", serde(rename = "COOP"))]
Coop,
#[yaserde(rename = "CLSA")]
#[cfg_attr(feature = "serde", serde(rename = "CLSA"))]
Clsa,
#[yaserde(rename = "CONS")]
#[cfg_attr(feature = "serde", serde(rename = "CONS"))]
Cons,
#[yaserde(rename = "CONV")]
#[cfg_attr(feature = "serde", serde(rename = "CONV"))]
Conv,
#[yaserde(rename = "CREV")]
#[cfg_attr(feature = "serde", serde(rename = "CREV"))]
Crev,
#[yaserde(rename = "DECR")]
#[cfg_attr(feature = "serde", serde(rename = "DECR"))]
Decr,
#[yaserde(rename = "DETI")]
#[cfg_attr(feature = "serde", serde(rename = "DETI"))]
Deti,
#[yaserde(rename = "DSCL")]
#[cfg_attr(feature = "serde", serde(rename = "DSCL"))]
Dscl,
#[yaserde(rename = "DVOP")]
#[cfg_attr(feature = "serde", serde(rename = "DVOP"))]
Dvop,
#[yaserde(rename = "DRIP")]
#[cfg_attr(feature = "serde", serde(rename = "DRIP"))]
Drip,
#[yaserde(rename = "DRAW")]
#[cfg_attr(feature = "serde", serde(rename = "DRAW"))]
Draw,
#[yaserde(rename = "DTCH")]
#[cfg_attr(feature = "serde", serde(rename = "DTCH"))]
Dtch,
#[yaserde(rename = "EXOF")]
#[cfg_attr(feature = "serde", serde(rename = "EXOF"))]
Exof,
#[yaserde(rename = "REDM")]
#[cfg_attr(feature = "serde", serde(rename = "REDM"))]
Redm,
#[yaserde(rename = "MCAL")]
#[cfg_attr(feature = "serde", serde(rename = "MCAL"))]
Mcal,
#[yaserde(rename = "INCR")]
#[cfg_attr(feature = "serde", serde(rename = "INCR"))]
Incr,
#[yaserde(rename = "PPMT")]
#[cfg_attr(feature = "serde", serde(rename = "PPMT"))]
Ppmt,
#[yaserde(rename = "INTR")]
#[cfg_attr(feature = "serde", serde(rename = "INTR"))]
Intr,
#[yaserde(rename = "RHDI")]
#[cfg_attr(feature = "serde", serde(rename = "RHDI"))]
Rhdi,
#[yaserde(rename = "LIQU")]
#[cfg_attr(feature = "serde", serde(rename = "LIQU"))]
Liqu,
#[yaserde(rename = "EXTM")]
#[cfg_attr(feature = "serde", serde(rename = "EXTM"))]
Extm,
#[yaserde(rename = "MRGR")]
#[cfg_attr(feature = "serde", serde(rename = "MRGR"))]
Mrgr,
#[yaserde(rename = "NOOF")]
#[cfg_attr(feature = "serde", serde(rename = "NOOF"))]
Noof,
#[yaserde(rename = "CERT")]
#[cfg_attr(feature = "serde", serde(rename = "CERT"))]
Cert,
#[yaserde(rename = "ODLT")]
#[cfg_attr(feature = "serde", serde(rename = "ODLT"))]
Odlt,
#[yaserde(rename = "OTHR")]
#[cfg_attr(feature = "serde", serde(rename = "OTHR"))]
Othr,
#[yaserde(rename = "PARI")]
#[cfg_attr(feature = "serde", serde(rename = "PARI"))]
Pari,
#[yaserde(rename = "PCAL")]
#[cfg_attr(feature = "serde", serde(rename = "PCAL"))]
Pcal,
#[yaserde(rename = "PRED")]
#[cfg_attr(feature = "serde", serde(rename = "PRED"))]
Pred,
#[yaserde(rename = "PINK")]
#[cfg_attr(feature = "serde", serde(rename = "PINK"))]
Pink,
#[yaserde(rename = "PLAC")]
#[cfg_attr(feature = "serde", serde(rename = "PLAC"))]
Plac,
#[yaserde(rename = "PDEF")]
#[cfg_attr(feature = "serde", serde(rename = "PDEF"))]
Pdef,
#[yaserde(rename = "PRIO")]
#[cfg_attr(feature = "serde", serde(rename = "PRIO"))]
Prio,
#[yaserde(rename = "BPUT")]
#[cfg_attr(feature = "serde", serde(rename = "BPUT"))]
Bput,
#[yaserde(rename = "REDO")]
#[cfg_attr(feature = "serde", serde(rename = "REDO"))]
Redo,
#[yaserde(rename = "REMK")]
#[cfg_attr(feature = "serde", serde(rename = "REMK"))]
Remk,
#[yaserde(rename = "BIDS")]
#[cfg_attr(feature = "serde", serde(rename = "BIDS"))]
Bids,
#[yaserde(rename = "SPLR")]
#[cfg_attr(feature = "serde", serde(rename = "SPLR"))]
Splr,
#[yaserde(rename = "RHTS")]
#[cfg_attr(feature = "serde", serde(rename = "RHTS"))]
Rhts,
#[yaserde(rename = "DVSC")]
#[cfg_attr(feature = "serde", serde(rename = "DVSC"))]
Dvsc,
#[yaserde(rename = "SHPR")]
#[cfg_attr(feature = "serde", serde(rename = "SHPR"))]
Shpr,
#[yaserde(rename = "SMAL")]
#[cfg_attr(feature = "serde", serde(rename = "SMAL"))]
Smal,
#[yaserde(rename = "SOFF")]
#[cfg_attr(feature = "serde", serde(rename = "SOFF"))]
Soff,
#[yaserde(rename = "DVSE")]
#[cfg_attr(feature = "serde", serde(rename = "DVSE"))]
Dvse,
#[yaserde(rename = "SPLF")]
#[cfg_attr(feature = "serde", serde(rename = "SPLF"))]
Splf,
#[yaserde(rename = "TREC")]
#[cfg_attr(feature = "serde", serde(rename = "TREC"))]
Trec,
#[yaserde(rename = "TEND")]
#[cfg_attr(feature = "serde", serde(rename = "TEND"))]
Tend,
#[yaserde(rename = "DLST")]
#[cfg_attr(feature = "serde", serde(rename = "DLST"))]
Dlst,
#[yaserde(rename = "SUSP")]
#[cfg_attr(feature = "serde", serde(rename = "SUSP"))]
Susp,
#[yaserde(rename = "EXWA")]
#[cfg_attr(feature = "serde", serde(rename = "EXWA"))]
Exwa,
#[yaserde(rename = "WTRC")]
#[cfg_attr(feature = "serde", serde(rename = "WTRC"))]
Wtrc,
#[yaserde(rename = "WRTH")]
#[cfg_attr(feature = "serde", serde(rename = "WRTH"))]
Wrth,
#[yaserde(rename = "ACCU")]
#[cfg_attr(feature = "serde", serde(rename = "ACCU"))]
Accu,
__Unknown__(String),
}
impl Default for CorporateActionEventType40Code {
fn default() -> CorporateActionEventType40Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for CorporateActionEventType40Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:seev.033.002.13")]
pub struct CorporateActionGeneralInformation189 {
#[yaserde(rename = "CorpActnEvtId")]
#[cfg_attr(feature = "serde", serde(rename = "CorpActnEvtId"))]
pub corp_actn_evt_id: RestrictedFINXMax16Text,
#[yaserde(rename = "OffclCorpActnEvtId")]
#[cfg_attr(feature = "serde", serde(rename = "OffclCorpActnEvtId"))]
pub offcl_corp_actn_evt_id: RestrictedFINXMax16Text,
#[yaserde(rename = "EvtTp")]
#[cfg_attr(feature = "serde", serde(rename = "EvtTp"))]
pub evt_tp: CorporateActionEventType119Choice,
#[yaserde(rename = "UndrlygScty")]
#[cfg_attr(feature = "serde", serde(rename = "UndrlygScty"))]
pub undrlyg_scty: FinancialInstrumentAttributes133,
}
impl Validate for CorporateActionGeneralInformation189 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:seev.033.002.13")]
pub struct CorporateActionInstruction002V13 {
#[yaserde(rename = "ChngInstrInd")]
#[cfg_attr(feature = "serde", serde(rename = "ChngInstrInd"))]
pub chng_instr_ind: YesNoIndicator,
#[yaserde(rename = "CancInstrId")]
#[cfg_attr(feature = "serde", serde(rename = "CancInstrId"))]
pub canc_instr_id: DocumentIdentification37,
#[yaserde(rename = "InstrCxlReqId")]
#[cfg_attr(feature = "serde", serde(rename = "InstrCxlReqId"))]
pub instr_cxl_req_id: DocumentIdentification37,
#[yaserde(rename = "OthrDocId")]
#[cfg_attr(feature = "serde", serde(rename = "OthrDocId"))]
pub othr_doc_id: Vec<DocumentIdentification38>,
#[yaserde(rename = "EvtsLkg")]
#[cfg_attr(feature = "serde", serde(rename = "EvtsLkg"))]
pub evts_lkg: Vec<CorporateActionEventReference4>,
#[yaserde(rename = "CorpActnGnlInf")]
#[cfg_attr(feature = "serde", serde(rename = "CorpActnGnlInf"))]
pub corp_actn_gnl_inf: CorporateActionGeneralInformation189,
#[yaserde(rename = "AcctDtls")]
#[cfg_attr(feature = "serde", serde(rename = "AcctDtls"))]
pub acct_dtls: AccountAndBalance62,
#[yaserde(rename = "BnfclOwnrDtls")]
#[cfg_attr(feature = "serde", serde(rename = "BnfclOwnrDtls"))]
pub bnfcl_ownr_dtls: Vec<PartyIdentification317>,
#[yaserde(rename = "CorpActnInstr")]
#[cfg_attr(feature = "serde", serde(rename = "CorpActnInstr"))]
pub corp_actn_instr: CorporateActionOption243,
#[yaserde(rename = "PrtctInstr")]
#[cfg_attr(feature = "serde", serde(rename = "PrtctInstr"))]
pub prtct_instr: ProtectInstruction5,
#[yaserde(rename = "AddtlInf")]
#[cfg_attr(feature = "serde", serde(rename = "AddtlInf"))]
pub addtl_inf: CorporateActionNarrative34,
#[yaserde(rename = "SplmtryData")]
#[cfg_attr(feature = "serde", serde(rename = "SplmtryData"))]
pub splmtry_data: Vec<SupplementaryData1>,
}
impl Validate for CorporateActionInstruction002V13 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:seev.033.002.13")]
pub struct CorporateActionNarrative33 {
#[yaserde(rename = "InfToCmplyWth")]
#[cfg_attr(feature = "serde", serde(rename = "InfToCmplyWth"))]
pub inf_to_cmply_wth: Vec<RestrictedFINXMax350Text>,
#[yaserde(rename = "DlvryDtls")]
#[cfg_attr(feature = "serde", serde(rename = "DlvryDtls"))]
pub dlvry_dtls: Vec<RestrictedFINXMax350Text>,
#[yaserde(rename = "FXInstrsAddtlInf")]
#[cfg_attr(feature = "serde", serde(rename = "FXInstrsAddtlInf"))]
pub fx_instrs_addtl_inf: Vec<RestrictedFINXMax350Text>,
#[yaserde(rename = "InstrAddtlInf")]
#[cfg_attr(feature = "serde", serde(rename = "InstrAddtlInf"))]
pub instr_addtl_inf: Vec<RestrictedFINXMax350Text>,
}
impl Validate for CorporateActionNarrative33 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:seev.033.002.13")]
pub struct CorporateActionNarrative34 {
#[yaserde(rename = "RegnDtls")]
#[cfg_attr(feature = "serde", serde(rename = "RegnDtls"))]
pub regn_dtls: Vec<RestrictedFINXMax350Text>,
#[yaserde(rename = "PtyCtctNrrtv")]
#[cfg_attr(feature = "serde", serde(rename = "PtyCtctNrrtv"))]
pub pty_ctct_nrrtv: Vec<RestrictedFINXMax350Text>,
#[yaserde(rename = "CertfctnBrkdwn")]
#[cfg_attr(feature = "serde", serde(rename = "CertfctnBrkdwn"))]
pub certfctn_brkdwn: Vec<RestrictedFINXMax350Text>,
}
impl Validate for CorporateActionNarrative34 {}
#[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:seev.033.002.13")]
pub enum CorporateActionOption16Code {
#[yaserde(rename = "ABST")]
#[cfg_attr(feature = "serde", serde(rename = "ABST"))]
Abst,
#[yaserde(rename = "BSPL")]
#[cfg_attr(feature = "serde", serde(rename = "BSPL"))]
Bspl,
#[yaserde(rename = "BUYA")]
#[cfg_attr(feature = "serde", serde(rename = "BUYA"))]
Buya,
#[yaserde(rename = "CASE")]
#[cfg_attr(feature = "serde", serde(rename = "CASE"))]
Case,
#[yaserde(rename = "CASH")]
#[cfg_attr(feature = "serde", serde(rename = "CASH"))]
Cash,
#[yaserde(rename = "CERT")]
#[cfg_attr(feature = "serde", serde(rename = "CERT"))]
Cert,
#[yaserde(rename = "CEXC")]
#[cfg_attr(feature = "serde", serde(rename = "CEXC"))]
Cexc,
#[yaserde(rename = "CONN")]
#[cfg_attr(feature = "serde", serde(rename = "CONN"))]
Conn,
#[yaserde(rename = "CONY")]
#[cfg_attr(feature = "serde", serde(rename = "CONY"))]
Cony,
#[yaserde(rename = "CTEN")]
#[cfg_attr(feature = "serde", serde(rename = "CTEN"))]
Cten,
#[yaserde(rename = "EXER")]
#[cfg_attr(feature = "serde", serde(rename = "EXER"))]
Exer,
#[yaserde(rename = "LAPS")]
#[cfg_attr(feature = "serde", serde(rename = "LAPS"))]
Laps,
#[yaserde(rename = "MKDW")]
#[cfg_attr(feature = "serde", serde(rename = "MKDW"))]
Mkdw,
#[yaserde(rename = "MKUP")]
#[cfg_attr(feature = "serde", serde(rename = "MKUP"))]
Mkup,
#[yaserde(rename = "MPUT")]
#[cfg_attr(feature = "serde", serde(rename = "MPUT"))]
Mput,
#[yaserde(rename = "NOAC")]
#[cfg_attr(feature = "serde", serde(rename = "NOAC"))]
Noac,
#[yaserde(rename = "NOQU")]
#[cfg_attr(feature = "serde", serde(rename = "NOQU"))]
Noqu,
#[yaserde(rename = "OFFR")]
#[cfg_attr(feature = "serde", serde(rename = "OFFR"))]
Offr,
#[yaserde(rename = "OTHR")]
#[cfg_attr(feature = "serde", serde(rename = "OTHR"))]
Othr,
#[yaserde(rename = "OVER")]
#[cfg_attr(feature = "serde", serde(rename = "OVER"))]
Over,
#[yaserde(rename = "QINV")]
#[cfg_attr(feature = "serde", serde(rename = "QINV"))]
Qinv,
#[yaserde(rename = "SECU")]
#[cfg_attr(feature = "serde", serde(rename = "SECU"))]
Secu,
#[yaserde(rename = "SLLE")]
#[cfg_attr(feature = "serde", serde(rename = "SLLE"))]
Slle,
#[yaserde(rename = "TAXI")]
#[cfg_attr(feature = "serde", serde(rename = "TAXI"))]
Taxi,
#[yaserde(rename = "PRUN")]
#[cfg_attr(feature = "serde", serde(rename = "PRUN"))]
Prun,
#[yaserde(rename = "BOBD")]
#[cfg_attr(feature = "serde", serde(rename = "BOBD"))]
Bobd,
__Unknown__(String),
}
impl Default for CorporateActionOption16Code {
fn default() -> CorporateActionOption16Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for CorporateActionOption16Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:seev.033.002.13")]
pub struct CorporateActionOption243 {
#[yaserde(rename = "OptnNb")]
#[cfg_attr(feature = "serde", serde(rename = "OptnNb"))]
pub optn_nb: OptionNumber1Choice,
#[yaserde(rename = "OptnTp")]
#[cfg_attr(feature = "serde", serde(rename = "OptnTp"))]
pub optn_tp: CorporateActionOption43Choice,
#[yaserde(rename = "OptnFeatrs")]
#[cfg_attr(feature = "serde", serde(rename = "OptnFeatrs"))]
pub optn_featrs: OptionFeaturesFormat27Choice,
#[yaserde(rename = "FrctnDspstn")]
#[cfg_attr(feature = "serde", serde(rename = "FrctnDspstn"))]
pub frctn_dspstn: FractionDispositionType29Choice,
#[yaserde(rename = "ChngTp")]
#[cfg_attr(feature = "serde", serde(rename = "ChngTp"))]
pub chng_tp: Vec<CorporateActionChangeTypeFormat7Choice>,
#[yaserde(rename = "ElgblForCollInd")]
#[cfg_attr(feature = "serde", serde(rename = "ElgblForCollInd"))]
pub elgbl_for_coll_ind: YesNoIndicator,
#[yaserde(rename = "SlctnDealrFeeInd")]
#[cfg_attr(feature = "serde", serde(rename = "SlctnDealrFeeInd"))]
pub slctn_dealr_fee_ind: YesNoIndicator,
#[yaserde(rename = "CcyToBuy")]
#[cfg_attr(feature = "serde", serde(rename = "CcyToBuy"))]
pub ccy_to_buy: ActiveCurrencyCode,
#[yaserde(rename = "CcyToSell")]
#[cfg_attr(feature = "serde", serde(rename = "CcyToSell"))]
pub ccy_to_sell: ActiveCurrencyCode,
#[yaserde(rename = "CcyOptn")]
#[cfg_attr(feature = "serde", serde(rename = "CcyOptn"))]
pub ccy_optn: ActiveCurrencyCode,
#[yaserde(rename = "SctyId")]
#[cfg_attr(feature = "serde", serde(rename = "SctyId"))]
pub scty_id: SecurityIdentification20,
#[yaserde(rename = "SctiesQtyOrInstdAmt")]
#[cfg_attr(feature = "serde", serde(rename = "SctiesQtyOrInstdAmt"))]
pub scties_qty_or_instd_amt: SecuritiesQuantityOrAmount7Choice,
#[yaserde(rename = "ExctnReqdDtTm")]
#[cfg_attr(feature = "serde", serde(rename = "ExctnReqdDtTm"))]
pub exctn_reqd_dt_tm: DateAndDateTime2Choice,
#[yaserde(rename = "RateAndAmtDtls")]
#[cfg_attr(feature = "serde", serde(rename = "RateAndAmtDtls"))]
pub rate_and_amt_dtls: CorporateActionRate130,
#[yaserde(rename = "PricDtls")]
#[cfg_attr(feature = "serde", serde(rename = "PricDtls"))]
pub pric_dtls: CorporateActionPrice91,
#[yaserde(rename = "ShrhldrNb")]
#[cfg_attr(feature = "serde", serde(rename = "ShrhldrNb"))]
pub shrhldr_nb: RestrictedFINXMax25Text,
#[yaserde(rename = "AddtlInf")]
#[cfg_attr(feature = "serde", serde(rename = "AddtlInf"))]
pub addtl_inf: CorporateActionNarrative33,
}
impl Validate for CorporateActionOption243 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:seev.033.002.13")]
pub struct CorporateActionOption43Choice {
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: Option<CorporateActionOption16Code>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<GenericIdentification47>,
}
impl Validate for CorporateActionOption43Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:seev.033.002.13")]
pub struct CorporateActionPrice91 {
#[yaserde(rename = "IndctvOrMktPric")]
#[cfg_attr(feature = "serde", serde(rename = "IndctvOrMktPric"))]
pub indctv_or_mkt_pric: IndicativeOrMarketPrice15Choice,
#[yaserde(rename = "IssePric")]
#[cfg_attr(feature = "serde", serde(rename = "IssePric"))]
pub isse_pric: PriceFormat83Choice,
#[yaserde(rename = "GncCshPricRcvdPerPdct")]
#[cfg_attr(feature = "serde", serde(rename = "GncCshPricRcvdPerPdct"))]
pub gnc_csh_pric_rcvd_per_pdct: PriceFormat84Choice,
#[yaserde(rename = "GncCshPricPdPerPdct")]
#[cfg_attr(feature = "serde", serde(rename = "GncCshPricPdPerPdct"))]
pub gnc_csh_pric_pd_per_pdct: PriceFormat83Choice,
}
impl Validate for CorporateActionPrice91 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:seev.033.002.13")]
pub struct CorporateActionRate130 {
#[yaserde(rename = "PropsdRate")]
#[cfg_attr(feature = "serde", serde(rename = "PropsdRate"))]
pub propsd_rate: Percentage14Rate,
#[yaserde(rename = "OvrsbcptRate")]
#[cfg_attr(feature = "serde", serde(rename = "OvrsbcptRate"))]
pub ovrsbcpt_rate: RateAndAmountFormat64Choice,
#[yaserde(rename = "ReqdWhldgTaxRate")]
#[cfg_attr(feature = "serde", serde(rename = "ReqdWhldgTaxRate"))]
pub reqd_whldg_tax_rate: Vec<RateAndAmountFormat65Choice>,
#[yaserde(rename = "ReqdScndLvlTaxRate")]
#[cfg_attr(feature = "serde", serde(rename = "ReqdScndLvlTaxRate"))]
pub reqd_scnd_lvl_tax_rate: Vec<RateAndAmountFormat65Choice>,
}
impl Validate for CorporateActionRate130 {}
#[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:seev.033.002.13")]
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:seev.033.002.13")]
pub struct Document {
#[yaserde(rename = "CorpActnInstr")]
#[cfg_attr(feature = "serde", serde(rename = "CorpActnInstr"))]
pub corp_actn_instr: CorporateActionInstruction002V13,
}
impl Validate for Document {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:seev.033.002.13")]
pub struct DocumentIdentification37 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: RestrictedFINXMax16Text,
#[yaserde(rename = "LkgTp")]
#[cfg_attr(feature = "serde", serde(rename = "LkgTp"))]
pub lkg_tp: ProcessingPosition10Choice,
}
impl Validate for DocumentIdentification37 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:seev.033.002.13")]
pub struct DocumentIdentification38 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: DocumentIdentification4Choice,
#[yaserde(rename = "DocNb")]
#[cfg_attr(feature = "serde", serde(rename = "DocNb"))]
pub doc_nb: DocumentNumber6Choice,
#[yaserde(rename = "LkgTp")]
#[cfg_attr(feature = "serde", serde(rename = "LkgTp"))]
pub lkg_tp: ProcessingPosition10Choice,
}
impl Validate for DocumentIdentification38 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:seev.033.002.13")]
pub struct DocumentIdentification4Choice {
#[yaserde(rename = "AcctSvcrDocId")]
#[cfg_attr(feature = "serde", serde(rename = "AcctSvcrDocId"))]
pub acct_svcr_doc_id: Option<RestrictedFINXMax16Text>,
#[yaserde(rename = "AcctOwnrDocId")]
#[cfg_attr(feature = "serde", serde(rename = "AcctOwnrDocId"))]
pub acct_ownr_doc_id: Option<RestrictedFINXMax16Text>,
}
impl Validate for DocumentIdentification4Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:seev.033.002.13")]
pub struct DocumentNumber6Choice {
#[yaserde(rename = "ShrtNb")]
#[cfg_attr(feature = "serde", serde(rename = "ShrtNb"))]
pub shrt_nb: Option<Exact3NumericText>,
#[yaserde(rename = "LngNb")]
#[cfg_attr(feature = "serde", serde(rename = "LngNb"))]
pub lng_nb: Option<Iso20022MessageIdentificationText>,
#[yaserde(rename = "PrtryNb")]
#[cfg_attr(feature = "serde", serde(rename = "PrtryNb"))]
pub prtry_nb: Option<GenericIdentification86>,
}
impl Validate for DocumentNumber6Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Exact3NumericText (pub String);
crate::simple_type!(Exact3NumericText);
impl Validate for Exact3NumericText {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct 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 ExternalFinancialInstrumentIdentificationType1Code (pub String);
crate::simple_type!(ExternalFinancialInstrumentIdentificationType1Code);
impl Validate for ExternalFinancialInstrumentIdentificationType1Code {
fn validate(&self) -> Result<(), String> {
#[allow(clippy::len_zero)]
if self.0.len() < 1 {
return Err(format!("MinLength validation error. \nExpected: 0 length >= 1 \nActual: 0 length == {}", self.0.len()));
}
if self.0.len() > 4 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 4 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:seev.033.002.13")]
pub struct FinancialInstrumentAttributes133 {
#[yaserde(rename = "FinInstrmId")]
#[cfg_attr(feature = "serde", serde(rename = "FinInstrmId"))]
pub fin_instrm_id: SecurityIdentification20,
#[yaserde(rename = "PlcOfListg")]
#[cfg_attr(feature = "serde", serde(rename = "PlcOfListg"))]
pub plc_of_listg: MarketIdentification4Choice,
#[yaserde(rename = "DayCntBsis")]
#[cfg_attr(feature = "serde", serde(rename = "DayCntBsis"))]
pub day_cnt_bsis: InterestComputationMethodFormat5Choice,
#[yaserde(rename = "ClssfctnTp")]
#[cfg_attr(feature = "serde", serde(rename = "ClssfctnTp"))]
pub clssfctn_tp: ClassificationType33Choice,
#[yaserde(rename = "DnmtnCcy")]
#[cfg_attr(feature = "serde", serde(rename = "DnmtnCcy"))]
pub dnmtn_ccy: ActiveOrHistoricCurrencyCode,
#[yaserde(rename = "NxtCpnDt")]
#[cfg_attr(feature = "serde", serde(rename = "NxtCpnDt"))]
pub nxt_cpn_dt: Isodate,
#[yaserde(rename = "XpryDt")]
#[cfg_attr(feature = "serde", serde(rename = "XpryDt"))]
pub xpry_dt: Isodate,
#[yaserde(rename = "FltgRateFxgDt")]
#[cfg_attr(feature = "serde", serde(rename = "FltgRateFxgDt"))]
pub fltg_rate_fxg_dt: Isodate,
#[yaserde(rename = "MtrtyDt")]
#[cfg_attr(feature = "serde", serde(rename = "MtrtyDt"))]
pub mtrty_dt: Isodate,
#[yaserde(rename = "IsseDt")]
#[cfg_attr(feature = "serde", serde(rename = "IsseDt"))]
pub isse_dt: Isodate,
#[yaserde(rename = "NxtCllblDt")]
#[cfg_attr(feature = "serde", serde(rename = "NxtCllblDt"))]
pub nxt_cllbl_dt: Isodate,
#[yaserde(rename = "PutblDt")]
#[cfg_attr(feature = "serde", serde(rename = "PutblDt"))]
pub putbl_dt: Isodate,
#[yaserde(rename = "DtdDt")]
#[cfg_attr(feature = "serde", serde(rename = "DtdDt"))]
pub dtd_dt: Isodate,
#[yaserde(rename = "ConvsDt")]
#[cfg_attr(feature = "serde", serde(rename = "ConvsDt"))]
pub convs_dt: Isodate,
#[yaserde(rename = "PrvsFctr")]
#[cfg_attr(feature = "serde", serde(rename = "PrvsFctr"))]
pub prvs_fctr: BaseOne14Rate,
#[yaserde(rename = "NxtFctr")]
#[cfg_attr(feature = "serde", serde(rename = "NxtFctr"))]
pub nxt_fctr: BaseOne14Rate,
#[yaserde(rename = "IntrstRate")]
#[cfg_attr(feature = "serde", serde(rename = "IntrstRate"))]
pub intrst_rate: Percentage14Rate,
#[yaserde(rename = "NxtIntrstRate")]
#[cfg_attr(feature = "serde", serde(rename = "NxtIntrstRate"))]
pub nxt_intrst_rate: Percentage14Rate,
#[yaserde(rename = "MinNmnlQty")]
#[cfg_attr(feature = "serde", serde(rename = "MinNmnlQty"))]
pub min_nmnl_qty: FinancialInstrumentQuantity36Choice,
#[yaserde(rename = "CtrctSz")]
#[cfg_attr(feature = "serde", serde(rename = "CtrctSz"))]
pub ctrct_sz: FinancialInstrumentQuantity36Choice,
}
impl Validate for FinancialInstrumentAttributes133 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:seev.033.002.13")]
pub struct FinancialInstrumentQuantity36Choice {
#[yaserde(rename = "Unit")]
#[cfg_attr(feature = "serde", serde(rename = "Unit"))]
pub unit: Option<RestrictedFINDecimalNumber>,
#[yaserde(rename = "FaceAmt")]
#[cfg_attr(feature = "serde", serde(rename = "FaceAmt"))]
pub face_amt: Option<RestrictedFINImpliedCurrencyAndAmount>,
#[yaserde(rename = "AmtsdVal")]
#[cfg_attr(feature = "serde", serde(rename = "AmtsdVal"))]
pub amtsd_val: Option<RestrictedFINImpliedCurrencyAndAmount>,
#[yaserde(rename = "DgtlTknUnit")]
#[cfg_attr(feature = "serde", serde(rename = "DgtlTknUnit"))]
pub dgtl_tkn_unit: Option<Max30DecimalNumber>,
}
impl Validate for FinancialInstrumentQuantity36Choice {}
#[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:seev.033.002.13")]
pub enum FractionDispositionType10Code {
#[yaserde(rename = "BUYU")]
#[cfg_attr(feature = "serde", serde(rename = "BUYU"))]
Buyu,
#[yaserde(rename = "CINL")]
#[cfg_attr(feature = "serde", serde(rename = "CINL"))]
Cinl,
#[yaserde(rename = "EXPI")]
#[cfg_attr(feature = "serde", serde(rename = "EXPI"))]
Expi,
#[yaserde(rename = "DIST")]
#[cfg_attr(feature = "serde", serde(rename = "DIST"))]
Dist,
__Unknown__(String),
}
impl Default for FractionDispositionType10Code {
fn default() -> FractionDispositionType10Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for FractionDispositionType10Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:seev.033.002.13")]
pub struct FractionDispositionType29Choice {
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: Option<FractionDispositionType10Code>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<GenericIdentification47>,
}
impl Validate for FractionDispositionType29Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:seev.033.002.13")]
pub struct GenericIdentification47 {
#[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: Max4AlphaNumericText,
#[yaserde(rename = "SchmeNm")]
#[cfg_attr(feature = "serde", serde(rename = "SchmeNm"))]
pub schme_nm: Max4AlphaNumericText,
}
impl Validate for GenericIdentification47 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:seev.033.002.13")]
pub struct GenericIdentification84 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: RestrictedFINXMax34Text,
#[yaserde(rename = "Issr")]
#[cfg_attr(feature = "serde", serde(rename = "Issr"))]
pub issr: Max4AlphaNumericText,
#[yaserde(rename = "SchmeNm")]
#[cfg_attr(feature = "serde", serde(rename = "SchmeNm"))]
pub schme_nm: Max4AlphaNumericText,
}
impl Validate for GenericIdentification84 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:seev.033.002.13")]
pub struct GenericIdentification85 {
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: GenericIdentification47,
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: RestrictedFINXMax30Text,
}
impl Validate for GenericIdentification85 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:seev.033.002.13")]
pub struct GenericIdentification86 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: RestrictedFINXMax30Text,
#[yaserde(rename = "Issr")]
#[cfg_attr(feature = "serde", serde(rename = "Issr"))]
pub issr: Max4AlphaNumericText,
#[yaserde(rename = "SchmeNm")]
#[cfg_attr(feature = "serde", serde(rename = "SchmeNm"))]
pub schme_nm: Max4AlphaNumericText,
}
impl Validate for GenericIdentification86 {}
#[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 Iso20022MessageIdentificationText (pub String);
crate::simple_type!(Iso20022MessageIdentificationText);
impl Validate for Iso20022MessageIdentificationText {}
#[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, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:seev.033.002.13")]
pub struct IdentificationSource4Choice {
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: Option<ExternalFinancialInstrumentIdentificationType1Code>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<RestrictedFINExact2Text>,
}
impl Validate for IdentificationSource4Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:seev.033.002.13")]
pub struct IdentificationType44Choice {
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: Option<TypeOfIdentification1Code>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<GenericIdentification47>,
}
impl Validate for IdentificationType44Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:seev.033.002.13")]
pub struct IdentificationType46Choice {
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: Option<TypeOfIdentification1Code>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<GenericIdentification47>,
}
impl Validate for IdentificationType46Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:seev.033.002.13")]
pub struct IndicativeOrMarketPrice15Choice {
#[yaserde(rename = "IndctvPric")]
#[cfg_attr(feature = "serde", serde(rename = "IndctvPric"))]
pub indctv_pric: Option<PriceFormat83Choice>,
#[yaserde(rename = "MktPric")]
#[cfg_attr(feature = "serde", serde(rename = "MktPric"))]
pub mkt_pric: Option<PriceFormat83Choice>,
}
impl Validate for IndicativeOrMarketPrice15Choice {}
#[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:seev.033.002.13")]
pub enum InterestComputationMethod2Code {
A001,
A002,
A003,
A004,
A005,
A006,
A007,
A008,
A009,
A010,
A011,
A012,
A013,
A014,
#[yaserde(rename = "NARR")]
#[cfg_attr(feature = "serde", serde(rename = "NARR"))]
Narr,
__Unknown__(String),
}
impl Default for InterestComputationMethod2Code {
fn default() -> InterestComputationMethod2Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for InterestComputationMethod2Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:seev.033.002.13")]
pub struct InterestComputationMethodFormat5Choice {
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: Option<InterestComputationMethod2Code>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<GenericIdentification47>,
}
impl Validate for InterestComputationMethodFormat5Choice {}
#[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)]
pub struct Micidentifier (pub String);
crate::simple_type!(Micidentifier);
impl Validate for Micidentifier {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:seev.033.002.13")]
pub struct MarketIdentification4Choice {
#[yaserde(rename = "MktIdrCd")]
#[cfg_attr(feature = "serde", serde(rename = "MktIdrCd"))]
pub mkt_idr_cd: Option<Micidentifier>,
#[yaserde(rename = "Desc")]
#[cfg_attr(feature = "serde", serde(rename = "Desc"))]
pub desc: Option<RestrictedFINXMax30Text>,
}
impl Validate for MarketIdentification4Choice {}
#[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 Max30DecimalNumber (pub String);
crate::simple_type!(Max30DecimalNumber);
impl Validate for Max30DecimalNumber {}
#[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 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, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:seev.033.002.13")]
pub struct NameAndAddress12 {
#[yaserde(rename = "Nm")]
#[cfg_attr(feature = "serde", serde(rename = "Nm"))]
pub nm: RestrictedFINXMax140Text,
}
impl Validate for NameAndAddress12 {}
#[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:seev.033.002.13")]
pub enum OptionFeatures12Code {
#[yaserde(rename = "OPLF")]
#[cfg_attr(feature = "serde", serde(rename = "OPLF"))]
Oplf,
__Unknown__(String),
}
impl Default for OptionFeatures12Code {
fn default() -> OptionFeatures12Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for OptionFeatures12Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:seev.033.002.13")]
pub struct OptionFeaturesFormat27Choice {
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: Option<OptionFeatures12Code>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<GenericIdentification47>,
}
impl Validate for OptionFeaturesFormat27Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:seev.033.002.13")]
pub struct OptionNumber1Choice {
#[yaserde(rename = "Nb")]
#[cfg_attr(feature = "serde", serde(rename = "Nb"))]
pub nb: Option<Exact3NumericText>,
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: Option<OptionNumber1Code>,
}
impl Validate for OptionNumber1Choice {}
#[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:seev.033.002.13")]
pub enum OptionNumber1Code {
#[yaserde(rename = "UNSO")]
#[cfg_attr(feature = "serde", serde(rename = "UNSO"))]
Unso,
__Unknown__(String),
}
impl Default for OptionNumber1Code {
fn default() -> OptionNumber1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for OptionNumber1Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:seev.033.002.13")]
pub struct OriginalAndCurrentQuantities4 {
#[yaserde(rename = "FaceAmt")]
#[cfg_attr(feature = "serde", serde(rename = "FaceAmt"))]
pub face_amt: RestrictedFINImpliedCurrencyAndAmount,
#[yaserde(rename = "AmtsdVal")]
#[cfg_attr(feature = "serde", serde(rename = "AmtsdVal"))]
pub amtsd_val: RestrictedFINImpliedCurrencyAndAmount,
}
impl Validate for OriginalAndCurrentQuantities4 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:seev.033.002.13")]
pub struct OriginalAndCurrentQuantities7 {
#[yaserde(rename = "ShrtLngPos")]
#[cfg_attr(feature = "serde", serde(rename = "ShrtLngPos"))]
pub shrt_lng_pos: ShortLong1Code,
#[yaserde(rename = "FaceAmt")]
#[cfg_attr(feature = "serde", serde(rename = "FaceAmt"))]
pub face_amt: RestrictedFINImpliedCurrencyAndAmount,
#[yaserde(rename = "AmtsdVal")]
#[cfg_attr(feature = "serde", serde(rename = "AmtsdVal"))]
pub amtsd_val: RestrictedFINImpliedCurrencyAndAmount,
}
impl Validate for OriginalAndCurrentQuantities7 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:seev.033.002.13")]
pub struct OtherIdentification2 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: RestrictedFINXMax31Text,
#[yaserde(rename = "Sfx")]
#[cfg_attr(feature = "serde", serde(rename = "Sfx"))]
pub sfx: Max16Text,
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: IdentificationSource4Choice,
}
impl Validate for OtherIdentification2 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:seev.033.002.13")]
pub struct PartyIdentification136Choice {
#[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<GenericIdentification84>,
}
impl Validate for PartyIdentification136Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:seev.033.002.13")]
pub struct PartyIdentification259Choice {
#[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<GenericIdentification84>,
#[yaserde(rename = "NmAndAdr")]
#[cfg_attr(feature = "serde", serde(rename = "NmAndAdr"))]
pub nm_and_adr: Option<NameAndAddress12>,
#[yaserde(rename = "IndvOwnrId")]
#[cfg_attr(feature = "serde", serde(rename = "IndvOwnrId"))]
pub indv_ownr_id: Option<AlternatePartyIdentification11>,
}
impl Validate for PartyIdentification259Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:seev.033.002.13")]
pub struct PartyIdentification317 {
#[yaserde(rename = "OwnrId")]
#[cfg_attr(feature = "serde", serde(rename = "OwnrId"))]
pub ownr_id: PartyIdentification259Choice,
#[yaserde(rename = "LEIId")]
#[cfg_attr(feature = "serde", serde(rename = "LEIId"))]
pub lei_id: Leiidentifier,
#[yaserde(rename = "AltrnId")]
#[cfg_attr(feature = "serde", serde(rename = "AltrnId"))]
pub altrn_id: Vec<AlternatePartyIdentification9>,
#[yaserde(rename = "DmclCtry")]
#[cfg_attr(feature = "serde", serde(rename = "DmclCtry"))]
pub dmcl_ctry: CountryCode,
#[yaserde(rename = "NonDmclCtry")]
#[cfg_attr(feature = "serde", serde(rename = "NonDmclCtry"))]
pub non_dmcl_ctry: Vec<CountryCode>,
#[yaserde(rename = "OwndSctiesQty")]
#[cfg_attr(feature = "serde", serde(rename = "OwndSctiesQty"))]
pub ownd_scties_qty: FinancialInstrumentQuantity36Choice,
#[yaserde(rename = "CertfctnTp")]
#[cfg_attr(feature = "serde", serde(rename = "CertfctnTp"))]
pub certfctn_tp: Vec<BeneficiaryCertificationType11Choice>,
#[yaserde(rename = "WhldgTaxRate")]
#[cfg_attr(feature = "serde", serde(rename = "WhldgTaxRate"))]
pub whldg_tax_rate: RateAndAmountFormat63Choice,
#[yaserde(rename = "CertfctnBrkdwn")]
#[cfg_attr(feature = "serde", serde(rename = "CertfctnBrkdwn"))]
pub certfctn_brkdwn: Vec<RestrictedFINXMax350Text>,
}
impl Validate for PartyIdentification317 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Percentage14Rate (pub String);
crate::simple_type!(Percentage14Rate);
impl Validate for Percentage14Rate {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:seev.033.002.13")]
pub struct PercentagePrice2 {
#[yaserde(rename = "PctgPricTp")]
#[cfg_attr(feature = "serde", serde(rename = "PctgPricTp"))]
pub pctg_pric_tp: PriceRateType3Code,
#[yaserde(rename = "PricVal")]
#[cfg_attr(feature = "serde", serde(rename = "PricVal"))]
pub pric_val: Percentage14Rate,
}
impl Validate for PercentagePrice2 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:seev.033.002.13")]
pub struct PriceFormat83Choice {
#[yaserde(rename = "PctgPric")]
#[cfg_attr(feature = "serde", serde(rename = "PctgPric"))]
pub pctg_pric: Option<PercentagePrice2>,
#[yaserde(rename = "AmtPric")]
#[cfg_attr(feature = "serde", serde(rename = "AmtPric"))]
pub amt_pric: Option<AmountPrice5>,
}
impl Validate for PriceFormat83Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:seev.033.002.13")]
pub struct PriceFormat84Choice {
#[yaserde(rename = "PctgPric")]
#[cfg_attr(feature = "serde", serde(rename = "PctgPric"))]
pub pctg_pric: Option<PercentagePrice2>,
#[yaserde(rename = "AmtPric")]
#[cfg_attr(feature = "serde", serde(rename = "AmtPric"))]
pub amt_pric: Option<AmountPrice5>,
#[yaserde(rename = "NotSpcfdPric")]
#[cfg_attr(feature = "serde", serde(rename = "NotSpcfdPric"))]
pub not_spcfd_pric: Option<PriceValueType9Code>,
#[yaserde(rename = "AmtPricPerFinInstrmQty")]
#[cfg_attr(feature = "serde", serde(rename = "AmtPricPerFinInstrmQty"))]
pub amt_pric_per_fin_instrm_qty: Option<AmountPricePerFinancialInstrumentQuantity11>,
#[yaserde(rename = "AmtPricPerAmt")]
#[cfg_attr(feature = "serde", serde(rename = "AmtPricPerAmt"))]
pub amt_pric_per_amt: Option<AmountPricePerAmount3>,
#[yaserde(rename = "IndxPts")]
#[cfg_attr(feature = "serde", serde(rename = "IndxPts"))]
pub indx_pts: Option<RestrictedFINDecimalNumber>,
}
impl Validate for PriceFormat84Choice {}
#[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:seev.033.002.13")]
pub enum PriceRateType3Code {
#[yaserde(rename = "DISC")]
#[cfg_attr(feature = "serde", serde(rename = "DISC"))]
Disc,
#[yaserde(rename = "PREM")]
#[cfg_attr(feature = "serde", serde(rename = "PREM"))]
Prem,
#[yaserde(rename = "PRCT")]
#[cfg_attr(feature = "serde", serde(rename = "PRCT"))]
Prct,
#[yaserde(rename = "YIEL")]
#[cfg_attr(feature = "serde", serde(rename = "YIEL"))]
Yiel,
__Unknown__(String),
}
impl Default for PriceRateType3Code {
fn default() -> PriceRateType3Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for PriceRateType3Code {}
#[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:seev.033.002.13")]
pub enum PriceValueType9Code {
#[yaserde(rename = "TBSP")]
#[cfg_attr(feature = "serde", serde(rename = "TBSP"))]
Tbsp,
#[yaserde(rename = "UNSP")]
#[cfg_attr(feature = "serde", serde(rename = "UNSP"))]
Unsp,
#[yaserde(rename = "UKWN")]
#[cfg_attr(feature = "serde", serde(rename = "UKWN"))]
Ukwn,
__Unknown__(String),
}
impl Default for PriceValueType9Code {
fn default() -> PriceValueType9Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for PriceValueType9Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:seev.033.002.13")]
pub struct ProcessingPosition10Choice {
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: Option<ProcessingPosition3Code>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<GenericIdentification47>,
}
impl Validate for ProcessingPosition10Choice {}
#[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:seev.033.002.13")]
pub enum ProcessingPosition3Code {
#[yaserde(rename = "AFTE")]
#[cfg_attr(feature = "serde", serde(rename = "AFTE"))]
Afte,
#[yaserde(rename = "WITH")]
#[cfg_attr(feature = "serde", serde(rename = "WITH"))]
With,
#[yaserde(rename = "BEFO")]
#[cfg_attr(feature = "serde", serde(rename = "BEFO"))]
Befo,
#[yaserde(rename = "INFO")]
#[cfg_attr(feature = "serde", serde(rename = "INFO"))]
Info,
__Unknown__(String),
}
impl Default for ProcessingPosition3Code {
fn default() -> ProcessingPosition3Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for ProcessingPosition3Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:seev.033.002.13")]
pub struct ProprietaryQuantity10 {
#[yaserde(rename = "ShrtLngPos")]
#[cfg_attr(feature = "serde", serde(rename = "ShrtLngPos"))]
pub shrt_lng_pos: ShortLong1Code,
#[yaserde(rename = "Qty")]
#[cfg_attr(feature = "serde", serde(rename = "Qty"))]
pub qty: RestrictedFINDecimalNumber,
#[yaserde(rename = "QtyTp")]
#[cfg_attr(feature = "serde", serde(rename = "QtyTp"))]
pub qty_tp: Exact4AlphaNumericText,
#[yaserde(rename = "Issr")]
#[cfg_attr(feature = "serde", serde(rename = "Issr"))]
pub issr: Max4AlphaNumericText,
#[yaserde(rename = "SchmeNm")]
#[cfg_attr(feature = "serde", serde(rename = "SchmeNm"))]
pub schme_nm: Max4AlphaNumericText,
}
impl Validate for ProprietaryQuantity10 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:seev.033.002.13")]
pub struct ProprietaryQuantity9 {
#[yaserde(rename = "Qty")]
#[cfg_attr(feature = "serde", serde(rename = "Qty"))]
pub qty: RestrictedFINDecimalNumber,
#[yaserde(rename = "QtyTp")]
#[cfg_attr(feature = "serde", serde(rename = "QtyTp"))]
pub qty_tp: Exact4AlphaNumericText,
#[yaserde(rename = "Issr")]
#[cfg_attr(feature = "serde", serde(rename = "Issr"))]
pub issr: Max4AlphaNumericText,
#[yaserde(rename = "SchmeNm")]
#[cfg_attr(feature = "serde", serde(rename = "SchmeNm"))]
pub schme_nm: Max4AlphaNumericText,
}
impl Validate for ProprietaryQuantity9 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:seev.033.002.13")]
pub struct ProtectInstruction5 {
#[yaserde(rename = "TxTp")]
#[cfg_attr(feature = "serde", serde(rename = "TxTp"))]
pub tx_tp: ProtectTransactionType2Code,
#[yaserde(rename = "TxId")]
#[cfg_attr(feature = "serde", serde(rename = "TxId"))]
pub tx_id: RestrictedFINMax15Text,
#[yaserde(rename = "PrtctSfkpgAcct")]
#[cfg_attr(feature = "serde", serde(rename = "PrtctSfkpgAcct"))]
pub prtct_sfkpg_acct: RestrictedFINMax35Text,
#[yaserde(rename = "PrtctDt")]
#[cfg_attr(feature = "serde", serde(rename = "PrtctDt"))]
pub prtct_dt: Isodate,
}
impl Validate for ProtectInstruction5 {}
#[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:seev.033.002.13")]
pub enum ProtectTransactionType2Code {
#[yaserde(rename = "PROT")]
#[cfg_attr(feature = "serde", serde(rename = "PROT"))]
Prot,
#[yaserde(rename = "COVP")]
#[cfg_attr(feature = "serde", serde(rename = "COVP"))]
Covp,
#[yaserde(rename = "COVR")]
#[cfg_attr(feature = "serde", serde(rename = "COVR"))]
Covr,
__Unknown__(String),
}
impl Default for ProtectTransactionType2Code {
fn default() -> ProtectTransactionType2Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for ProtectTransactionType2Code {}
#[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:seev.033.002.13")]
pub enum Quantity1Code {
#[yaserde(rename = "QALL")]
#[cfg_attr(feature = "serde", serde(rename = "QALL"))]
Qall,
__Unknown__(String),
}
impl Default for Quantity1Code {
fn default() -> Quantity1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for Quantity1Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:seev.033.002.13")]
pub struct Quantity53Choice {
#[yaserde(rename = "Qty")]
#[cfg_attr(feature = "serde", serde(rename = "Qty"))]
pub qty: Option<FinancialInstrumentQuantity36Choice>,
#[yaserde(rename = "PrtryQty")]
#[cfg_attr(feature = "serde", serde(rename = "PrtryQty"))]
pub prtry_qty: Option<ProprietaryQuantity9>,
}
impl Validate for Quantity53Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:seev.033.002.13")]
pub struct Quantity55Choice {
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: Option<Quantity1Code>,
#[yaserde(rename = "OrgnlAndCurFaceAmt")]
#[cfg_attr(feature = "serde", serde(rename = "OrgnlAndCurFaceAmt"))]
pub orgnl_and_cur_face_amt: Option<OriginalAndCurrentQuantities4>,
#[yaserde(rename = "Qty")]
#[cfg_attr(feature = "serde", serde(rename = "Qty"))]
pub qty: Option<FinancialInstrumentQuantity36Choice>,
}
impl Validate for Quantity55Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:seev.033.002.13")]
pub struct Quantity57Choice {
#[yaserde(rename = "OrgnlAndCurFaceAmt")]
#[cfg_attr(feature = "serde", serde(rename = "OrgnlAndCurFaceAmt"))]
pub orgnl_and_cur_face_amt: Option<OriginalAndCurrentQuantities7>,
#[yaserde(rename = "SgndQty")]
#[cfg_attr(feature = "serde", serde(rename = "SgndQty"))]
pub sgnd_qty: Option<SignedQuantityFormat13>,
}
impl Validate for Quantity57Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:seev.033.002.13")]
pub struct Quantity80Choice {
#[yaserde(rename = "QtyChc")]
#[cfg_attr(feature = "serde", serde(rename = "QtyChc"))]
pub qty_chc: Option<Quantity57Choice>,
#[yaserde(rename = "PrtryQty")]
#[cfg_attr(feature = "serde", serde(rename = "PrtryQty"))]
pub prtry_qty: Option<ProprietaryQuantity10>,
}
impl Validate for Quantity80Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:seev.033.002.13")]
pub struct RateAndAmountFormat63Choice {
#[yaserde(rename = "Rate")]
#[cfg_attr(feature = "serde", serde(rename = "Rate"))]
pub rate: Option<Percentage14Rate>,
#[yaserde(rename = "NotSpcfdRate")]
#[cfg_attr(feature = "serde", serde(rename = "NotSpcfdRate"))]
pub not_spcfd_rate: Option<RateValueType7Code>,
#[yaserde(rename = "Amt")]
#[cfg_attr(feature = "serde", serde(rename = "Amt"))]
pub amt: Option<RestrictedFINActiveCurrencyAnd13DecimalAmount>,
}
impl Validate for RateAndAmountFormat63Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:seev.033.002.13")]
pub struct RateAndAmountFormat64Choice {
#[yaserde(rename = "Rate")]
#[cfg_attr(feature = "serde", serde(rename = "Rate"))]
pub rate: Option<Percentage14Rate>,
#[yaserde(rename = "Amt")]
#[cfg_attr(feature = "serde", serde(rename = "Amt"))]
pub amt: Option<RestrictedFINActiveCurrencyAnd13DecimalAmount>,
}
impl Validate for RateAndAmountFormat64Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:seev.033.002.13")]
pub struct RateAndAmountFormat65Choice {
#[yaserde(rename = "Rate")]
#[cfg_attr(feature = "serde", serde(rename = "Rate"))]
pub rate: Option<Percentage14Rate>,
#[yaserde(rename = "Amt")]
#[cfg_attr(feature = "serde", serde(rename = "Amt"))]
pub amt: Option<RestrictedFINActiveCurrencyAnd13DecimalAmount>,
#[yaserde(rename = "RateTpAndRate")]
#[cfg_attr(feature = "serde", serde(rename = "RateTpAndRate"))]
pub rate_tp_and_rate: Option<RateTypeAndPercentageRate15>,
}
impl Validate for RateAndAmountFormat65Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:seev.033.002.13")]
pub struct RateType46Choice {
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: Option<WithholdingTaxRateType1Code>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<GenericIdentification47>,
}
impl Validate for RateType46Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:seev.033.002.13")]
pub struct RateTypeAndPercentageRate15 {
#[yaserde(rename = "RateTp")]
#[cfg_attr(feature = "serde", serde(rename = "RateTp"))]
pub rate_tp: RateType46Choice,
#[yaserde(rename = "Rate")]
#[cfg_attr(feature = "serde", serde(rename = "Rate"))]
pub rate: Percentage14Rate,
}
impl Validate for RateTypeAndPercentageRate15 {}
#[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:seev.033.002.13")]
pub enum RateValueType7Code {
#[yaserde(rename = "UKWN")]
#[cfg_attr(feature = "serde", serde(rename = "UKWN"))]
Ukwn,
__Unknown__(String),
}
impl Default for RateValueType7Code {
fn default() -> RateValueType7Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for RateValueType7Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct RestrictedFINActiveCurrencyAnd13DecimalAmountSimpleType (pub String);
crate::simple_type!(RestrictedFINActiveCurrencyAnd13DecimalAmountSimpleType);
impl Validate for RestrictedFINActiveCurrencyAnd13DecimalAmountSimpleType {
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:seev.033.002.13")]
pub struct RestrictedFINActiveCurrencyAnd13DecimalAmount {
#[yaserde(text)]
pub value: String,
#[yaserde(attribute, rename = "Ccy")]
#[cfg_attr(feature = "serde", serde(rename = "Ccy"))]
pub ccy: ActiveCurrencyCode,
}
impl Validate for RestrictedFINActiveCurrencyAnd13DecimalAmount {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct RestrictedFINActiveCurrencyAndAmountSimpleType (pub String);
crate::simple_type!(RestrictedFINActiveCurrencyAndAmountSimpleType);
impl Validate for RestrictedFINActiveCurrencyAndAmountSimpleType {
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:seev.033.002.13")]
pub struct RestrictedFINActiveCurrencyAndAmount {
#[yaserde(text)]
pub value: String,
#[yaserde(attribute, rename = "Ccy")]
#[cfg_attr(feature = "serde", serde(rename = "Ccy"))]
pub ccy: ActiveCurrencyCode,
}
impl Validate for RestrictedFINActiveCurrencyAndAmount {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct RestrictedFINDecimalNumber (pub String);
crate::simple_type!(RestrictedFINDecimalNumber);
impl Validate for RestrictedFINDecimalNumber {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct RestrictedFINExact2Text (pub String);
crate::simple_type!(RestrictedFINExact2Text);
impl Validate for RestrictedFINExact2Text {
fn validate(&self) -> Result<(), String> {
if self.0.len() != 2 {
return Err(format!("Length validation error. \nExpected: 0 length == 2 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct RestrictedFINImpliedCurrencyAndAmount (pub String);
crate::simple_type!(RestrictedFINImpliedCurrencyAndAmount);
impl Validate for RestrictedFINImpliedCurrencyAndAmount {
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 RestrictedFINMax15Text (pub String);
crate::simple_type!(RestrictedFINMax15Text);
impl Validate for RestrictedFINMax15Text {
fn validate(&self) -> Result<(), String> {
#[allow(clippy::len_zero)]
if self.0.len() < 1 {
return Err(format!("MinLength validation error. \nExpected: 0 length >= 1 \nActual: 0 length == {}", self.0.len()));
}
if self.0.len() > 15 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 15 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct RestrictedFINMax35Text (pub String);
crate::simple_type!(RestrictedFINMax35Text);
impl Validate for RestrictedFINMax35Text {
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 RestrictedFINXMax140Text (pub String);
crate::simple_type!(RestrictedFINXMax140Text);
impl Validate for RestrictedFINXMax140Text {
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 RestrictedFINXMax16Text (pub String);
crate::simple_type!(RestrictedFINXMax16Text);
impl Validate for RestrictedFINXMax16Text {
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 RestrictedFINXMax25Text (pub String);
crate::simple_type!(RestrictedFINXMax25Text);
impl Validate for RestrictedFINXMax25Text {
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() > 25 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 25 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct RestrictedFINXMax30Text (pub String);
crate::simple_type!(RestrictedFINXMax30Text);
impl Validate for RestrictedFINXMax30Text {
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() > 30 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 30 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct RestrictedFINXMax31Text (pub String);
crate::simple_type!(RestrictedFINXMax31Text);
impl Validate for RestrictedFINXMax31Text {
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() > 31 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 31 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct RestrictedFINXMax34Text (pub String);
crate::simple_type!(RestrictedFINXMax34Text);
impl Validate for RestrictedFINXMax34Text {
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 RestrictedFINXMax350Text (pub String);
crate::simple_type!(RestrictedFINXMax350Text);
impl Validate for RestrictedFINXMax350Text {
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 RestrictedFINXMax35Text (pub String);
crate::simple_type!(RestrictedFINXMax35Text);
impl Validate for RestrictedFINXMax35Text {
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(PartialEq, Debug, Clone, YaSerialize, YaDeserialize)]#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:seev.033.002.13")]
pub enum SafekeepingPlace1Code {
#[yaserde(rename = "CUST")]
#[cfg_attr(feature = "serde", serde(rename = "CUST"))]
Cust,
#[yaserde(rename = "ICSD")]
#[cfg_attr(feature = "serde", serde(rename = "ICSD"))]
Icsd,
#[yaserde(rename = "NCSD")]
#[cfg_attr(feature = "serde", serde(rename = "NCSD"))]
Ncsd,
#[yaserde(rename = "SHHE")]
#[cfg_attr(feature = "serde", serde(rename = "SHHE"))]
Shhe,
__Unknown__(String),
}
impl Default for SafekeepingPlace1Code {
fn default() -> SafekeepingPlace1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for SafekeepingPlace1Code {}
#[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:seev.033.002.13")]
pub enum SafekeepingPlace2Code {
#[yaserde(rename = "SHHE")]
#[cfg_attr(feature = "serde", serde(rename = "SHHE"))]
Shhe,
#[yaserde(rename = "ALLP")]
#[cfg_attr(feature = "serde", serde(rename = "ALLP"))]
Allp,
__Unknown__(String),
}
impl Default for SafekeepingPlace2Code {
fn default() -> SafekeepingPlace2Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for SafekeepingPlace2Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:seev.033.002.13")]
pub struct SafekeepingPlaceFormat48Choice {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Option<SafekeepingPlaceTypeAndText9>,
#[yaserde(rename = "Ctry")]
#[cfg_attr(feature = "serde", serde(rename = "Ctry"))]
pub ctry: Option<CountryCode>,
#[yaserde(rename = "DgtlLdgrId")]
#[cfg_attr(feature = "serde", serde(rename = "DgtlLdgrId"))]
pub dgtl_ldgr_id: Option<Dti2024Identifier>,
#[yaserde(rename = "TpAndId")]
#[cfg_attr(feature = "serde", serde(rename = "TpAndId"))]
pub tp_and_id: Option<SafekeepingPlaceTypeAndIdentification1>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<GenericIdentification85>,
}
impl Validate for SafekeepingPlaceFormat48Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:seev.033.002.13")]
pub struct SafekeepingPlaceTypeAndIdentification1 {
#[yaserde(rename = "SfkpgPlcTp")]
#[cfg_attr(feature = "serde", serde(rename = "SfkpgPlcTp"))]
pub sfkpg_plc_tp: SafekeepingPlace1Code,
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: AnyBICDec2014Identifier,
}
impl Validate for SafekeepingPlaceTypeAndIdentification1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:seev.033.002.13")]
pub struct SafekeepingPlaceTypeAndText9 {
#[yaserde(rename = "SfkpgPlcTp")]
#[cfg_attr(feature = "serde", serde(rename = "SfkpgPlcTp"))]
pub sfkpg_plc_tp: SafekeepingPlace2Code,
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: RestrictedFINXMax30Text,
}
impl Validate for SafekeepingPlaceTypeAndText9 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:seev.033.002.13")]
pub struct SecuritiesOption88 {
#[yaserde(rename = "CondlQty")]
#[cfg_attr(feature = "serde", serde(rename = "CondlQty"))]
pub condl_qty: FinancialInstrumentQuantity36Choice,
#[yaserde(rename = "InstdQty")]
#[cfg_attr(feature = "serde", serde(rename = "InstdQty"))]
pub instd_qty: Quantity55Choice,
#[yaserde(rename = "AddtlRndUpQty")]
#[cfg_attr(feature = "serde", serde(rename = "AddtlRndUpQty"))]
pub addtl_rnd_up_qty: FinancialInstrumentQuantity36Choice,
}
impl Validate for SecuritiesOption88 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:seev.033.002.13")]
pub struct SecuritiesQuantityOrAmount7Choice {
#[yaserde(rename = "SctiesQty")]
#[cfg_attr(feature = "serde", serde(rename = "SctiesQty"))]
pub scties_qty: Option<SecuritiesOption88>,
#[yaserde(rename = "InstdAmt")]
#[cfg_attr(feature = "serde", serde(rename = "InstdAmt"))]
pub instd_amt: Option<RestrictedFINActiveCurrencyAndAmount>,
}
impl Validate for SecuritiesQuantityOrAmount7Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:seev.033.002.13")]
pub struct SecurityIdentification20 {
#[yaserde(rename = "ISIN")]
#[cfg_attr(feature = "serde", serde(rename = "ISIN"))]
pub isin: Isinoct2015Identifier,
#[yaserde(rename = "OthrId")]
#[cfg_attr(feature = "serde", serde(rename = "OthrId"))]
pub othr_id: Vec<OtherIdentification2>,
#[yaserde(rename = "Desc")]
#[cfg_attr(feature = "serde", serde(rename = "Desc"))]
pub desc: RestrictedFINXMax140Text,
}
impl Validate for SecurityIdentification20 {}
#[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:seev.033.002.13")]
pub enum ShortLong1Code {
#[yaserde(rename = "SHOR")]
#[cfg_attr(feature = "serde", serde(rename = "SHOR"))]
Shor,
#[yaserde(rename = "LONG")]
#[cfg_attr(feature = "serde", serde(rename = "LONG"))]
Long,
__Unknown__(String),
}
impl Default for ShortLong1Code {
fn default() -> ShortLong1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for ShortLong1Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:seev.033.002.13")]
pub struct SignedQuantityFormat12 {
#[yaserde(rename = "ShrtLngPos")]
#[cfg_attr(feature = "serde", serde(rename = "ShrtLngPos"))]
pub shrt_lng_pos: ShortLong1Code,
#[yaserde(rename = "QtyChc")]
#[cfg_attr(feature = "serde", serde(rename = "QtyChc"))]
pub qty_chc: Quantity53Choice,
}
impl Validate for SignedQuantityFormat12 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:seev.033.002.13")]
pub struct SignedQuantityFormat13 {
#[yaserde(rename = "ShrtLngPos")]
#[cfg_attr(feature = "serde", serde(rename = "ShrtLngPos"))]
pub shrt_lng_pos: ShortLong1Code,
#[yaserde(rename = "Qty")]
#[cfg_attr(feature = "serde", serde(rename = "Qty"))]
pub qty: FinancialInstrumentQuantity36Choice,
}
impl Validate for SignedQuantityFormat13 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:seev.033.002.13")]
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:seev.033.002.13")]
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:seev.033.002.13")]
pub enum TypeOfIdentification1Code {
#[yaserde(rename = "ARNU")]
#[cfg_attr(feature = "serde", serde(rename = "ARNU"))]
Arnu,
#[yaserde(rename = "CCPT")]
#[cfg_attr(feature = "serde", serde(rename = "CCPT"))]
Ccpt,
#[yaserde(rename = "CHTY")]
#[cfg_attr(feature = "serde", serde(rename = "CHTY"))]
Chty,
#[yaserde(rename = "CORP")]
#[cfg_attr(feature = "serde", serde(rename = "CORP"))]
Corp,
#[yaserde(rename = "DRLC")]
#[cfg_attr(feature = "serde", serde(rename = "DRLC"))]
Drlc,
#[yaserde(rename = "FIIN")]
#[cfg_attr(feature = "serde", serde(rename = "FIIN"))]
Fiin,
#[yaserde(rename = "TXID")]
#[cfg_attr(feature = "serde", serde(rename = "TXID"))]
Txid,
__Unknown__(String),
}
impl Default for TypeOfIdentification1Code {
fn default() -> TypeOfIdentification1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for TypeOfIdentification1Code {}
#[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:seev.033.002.13")]
pub enum WithholdingTaxRateType1Code {
#[yaserde(rename = "BWIT")]
#[cfg_attr(feature = "serde", serde(rename = "BWIT"))]
Bwit,
#[yaserde(rename = "FTCA")]
#[cfg_attr(feature = "serde", serde(rename = "FTCA"))]
Ftca,
#[yaserde(rename = "NRAT")]
#[cfg_attr(feature = "serde", serde(rename = "NRAT"))]
Nrat,
__Unknown__(String),
}
impl Default for WithholdingTaxRateType1Code {
fn default() -> WithholdingTaxRateType1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for WithholdingTaxRateType1Code {}
#[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::seev;
const FUNCTIONALITY: &'static str = "033";
const VARIANT: &'static str = "002";
const VERSION: &'static str = "13";
const MESSAGE_NAME: &'static str = "seev.033.002.13";
const NAMESPACE: &'static str = "urn:iso:std:iso:20022:tech:xsd:seev.033.002.13";
}