#![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.036.002.16")]
pub struct Account11Choice {
#[yaserde(rename = "CshAcct")]
#[cfg_attr(feature = "serde", serde(rename = "CshAcct"))]
pub csh_acct: Option<CashAccountIdentification12Choice>,
#[yaserde(rename = "ChrgsAcct")]
#[cfg_attr(feature = "serde", serde(rename = "ChrgsAcct"))]
pub chrgs_acct: Option<CashAccountIdentification6Choice>,
#[yaserde(rename = "TaxAcct")]
#[cfg_attr(feature = "serde", serde(rename = "TaxAcct"))]
pub tax_acct: Option<CashAccountIdentification6Choice>,
}
impl Validate for Account11Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.036.002.16")]
pub struct AccountAndBalance63 {
#[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: SafekeepingPlaceFormat49Choice,
#[yaserde(rename = "Bal")]
#[cfg_attr(feature = "serde", serde(rename = "Bal"))]
pub bal: CorporateActionBalanceDetails45,
}
impl Validate for AccountAndBalance63 {}
#[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(PartialEq, Debug, Clone, YaSerialize, YaDeserialize)]#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:seev.036.002.16")]
pub enum AdditionalBusinessProcess12Code {
#[yaserde(rename = "CLFT")]
#[cfg_attr(feature = "serde", serde(rename = "CLFT"))]
Clft,
#[yaserde(rename = "CLAI")]
#[cfg_attr(feature = "serde", serde(rename = "CLAI"))]
Clai,
#[yaserde(rename = "CLNT")]
#[cfg_attr(feature = "serde", serde(rename = "CLNT"))]
Clnt,
#[yaserde(rename = "CLPT")]
#[cfg_attr(feature = "serde", serde(rename = "CLPT"))]
Clpt,
#[yaserde(rename = "TAXR")]
#[cfg_attr(feature = "serde", serde(rename = "TAXR"))]
Taxr,
#[yaserde(rename = "CONS")]
#[cfg_attr(feature = "serde", serde(rename = "CONS"))]
Cons,
#[yaserde(rename = "FPRE")]
#[cfg_attr(feature = "serde", serde(rename = "FPRE"))]
Fpre,
#[yaserde(rename = "INCP")]
#[cfg_attr(feature = "serde", serde(rename = "INCP"))]
Incp,
#[yaserde(rename = "NPLE")]
#[cfg_attr(feature = "serde", serde(rename = "NPLE"))]
Nple,
#[yaserde(rename = "PPUT")]
#[cfg_attr(feature = "serde", serde(rename = "PPUT"))]
Pput,
#[yaserde(rename = "PPRE")]
#[cfg_attr(feature = "serde", serde(rename = "PPRE"))]
Ppre,
#[yaserde(rename = "SCHM")]
#[cfg_attr(feature = "serde", serde(rename = "SCHM"))]
Schm,
__Unknown__(String),
}
impl Default for AdditionalBusinessProcess12Code {
fn default() -> AdditionalBusinessProcess12Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for AdditionalBusinessProcess12Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.036.002.16")]
pub struct AdditionalBusinessProcessFormat24Choice {
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: Option<AdditionalBusinessProcess12Code>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<GenericIdentification47>,
}
impl Validate for AdditionalBusinessProcessFormat24Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.036.002.16")]
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.036.002.16")]
pub struct AmountAndQuantityRatio5 {
#[yaserde(rename = "Amt")]
#[cfg_attr(feature = "serde", serde(rename = "Amt"))]
pub amt: RestrictedFINActiveCurrencyAnd13DecimalAmount,
#[yaserde(rename = "Qty")]
#[cfg_attr(feature = "serde", serde(rename = "Qty"))]
pub qty: RestrictedFINDecimalNumber,
}
impl Validate for AmountAndQuantityRatio5 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.036.002.16")]
pub struct AmountAndRateStatus2 {
#[yaserde(rename = "Amt")]
#[cfg_attr(feature = "serde", serde(rename = "Amt"))]
pub amt: RestrictedFINActiveCurrencyAnd13DecimalAmount,
#[yaserde(rename = "RateSts")]
#[cfg_attr(feature = "serde", serde(rename = "RateSts"))]
pub rate_sts: RateStatus1Code,
}
impl Validate for AmountAndRateStatus2 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.036.002.16")]
pub struct AmountPrice4 {
#[yaserde(rename = "AmtPricTp")]
#[cfg_attr(feature = "serde", serde(rename = "AmtPricTp"))]
pub amt_pric_tp: AmountPriceType2Code,
#[yaserde(rename = "PricVal")]
#[cfg_attr(feature = "serde", serde(rename = "PricVal"))]
pub pric_val: RestrictedFINActiveCurrencyAnd13DecimalAmount,
}
impl Validate for AmountPrice4 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.036.002.16")]
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.036.002.16")]
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.036.002.16")]
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.036.002.16")]
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(PartialEq, Debug, Clone, YaSerialize, YaDeserialize)]#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:seev.036.002.16")]
pub enum AmountPriceType2Code {
#[yaserde(rename = "ACTU")]
#[cfg_attr(feature = "serde", serde(rename = "ACTU"))]
Actu,
__Unknown__(String),
}
impl Default for AmountPriceType2Code {
fn default() -> AmountPriceType2Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for AmountPriceType2Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.036.002.16")]
pub struct AmountToAmountRatio3 {
#[yaserde(rename = "Amt1")]
#[cfg_attr(feature = "serde", serde(rename = "Amt1"))]
pub amt_1: RestrictedFINActiveCurrencyAnd13DecimalAmount,
#[yaserde(rename = "Amt2")]
#[cfg_attr(feature = "serde", serde(rename = "Amt2"))]
pub amt_2: RestrictedFINActiveCurrencyAnd13DecimalAmount,
}
impl Validate for AmountToAmountRatio3 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct AnyBICDec2014Identifier (pub String);
crate::simple_type!(AnyBICDec2014Identifier);
impl Validate for AnyBICDec2014Identifier {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Bicfidec2014Identifier (pub String);
crate::simple_type!(Bicfidec2014Identifier);
impl Validate for Bicfidec2014Identifier {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:seev.036.002.16")]
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, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:seev.036.002.16")]
pub struct BalanceFormat16Choice {
#[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>,
#[yaserde(rename = "FullPrdUnits")]
#[cfg_attr(feature = "serde", serde(rename = "FullPrdUnits"))]
pub full_prd_units: Option<SignedQuantityFormat13>,
#[yaserde(rename = "PartWayPrdUnits")]
#[cfg_attr(feature = "serde", serde(rename = "PartWayPrdUnits"))]
pub part_way_prd_units: Option<SignedQuantityFormat13>,
}
impl Validate for BalanceFormat16Choice {}
#[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.036.002.16")]
pub struct BlockChainAddressWallet11 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Max140Text,
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: GenericIdentification47,
#[yaserde(rename = "Nm")]
#[cfg_attr(feature = "serde", serde(rename = "Nm"))]
pub nm: Max70Text,
}
impl Validate for BlockChainAddressWallet11 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.036.002.16")]
pub struct CashAccountIdentification12Choice {
#[yaserde(rename = "IBAN")]
#[cfg_attr(feature = "serde", serde(rename = "IBAN"))]
pub iban: Option<Iban2007Identifier>,
#[yaserde(rename = "BlckChainCshWllt")]
#[cfg_attr(feature = "serde", serde(rename = "BlckChainCshWllt"))]
pub blck_chain_csh_wllt: Option<BlockChainAddressWallet11>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<RestrictedFINX2Max34Text>,
}
impl Validate for CashAccountIdentification12Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.036.002.16")]
pub struct CashAccountIdentification6Choice {
#[yaserde(rename = "IBAN")]
#[cfg_attr(feature = "serde", serde(rename = "IBAN"))]
pub iban: Option<Iban2007Identifier>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<RestrictedFINX2Max34Text>,
}
impl Validate for CashAccountIdentification6Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.036.002.16")]
pub struct CashOption110 {
#[yaserde(rename = "CdtDbtInd")]
#[cfg_attr(feature = "serde", serde(rename = "CdtDbtInd"))]
pub cdt_dbt_ind: CreditDebitCode,
#[yaserde(rename = "CtrctlPmtInd")]
#[cfg_attr(feature = "serde", serde(rename = "CtrctlPmtInd"))]
pub ctrctl_pmt_ind: Payment1Code,
#[yaserde(rename = "IssrOfferrTaxbltyInd")]
#[cfg_attr(feature = "serde", serde(rename = "IssrOfferrTaxbltyInd"))]
pub issr_offerr_taxblty_ind: IssuerOfferorTaxabilityIndicator1Choice,
#[yaserde(rename = "IncmTp")]
#[cfg_attr(feature = "serde", serde(rename = "IncmTp"))]
pub incm_tp: GenericIdentification47,
#[yaserde(rename = "OthrIncmTp")]
#[cfg_attr(feature = "serde", serde(rename = "OthrIncmTp"))]
pub othr_incm_tp: Vec<GenericIdentification47>,
#[yaserde(rename = "XmptnTp")]
#[cfg_attr(feature = "serde", serde(rename = "XmptnTp"))]
pub xmptn_tp: Vec<GenericIdentification47>,
#[yaserde(rename = "CtryOfIncmSrc")]
#[cfg_attr(feature = "serde", serde(rename = "CtryOfIncmSrc"))]
pub ctry_of_incm_src: CountryCode,
#[yaserde(rename = "Acct")]
#[cfg_attr(feature = "serde", serde(rename = "Acct"))]
pub acct: Account11Choice,
#[yaserde(rename = "CshPties")]
#[cfg_attr(feature = "serde", serde(rename = "CshPties"))]
pub csh_pties: CashParties44,
#[yaserde(rename = "AmtDtls")]
#[cfg_attr(feature = "serde", serde(rename = "AmtDtls"))]
pub amt_dtls: CorporateActionAmounts74,
#[yaserde(rename = "DtDtls")]
#[cfg_attr(feature = "serde", serde(rename = "DtDtls"))]
pub dt_dtls: CorporateActionDate99,
#[yaserde(rename = "FXDtls")]
#[cfg_attr(feature = "serde", serde(rename = "FXDtls"))]
pub fx_dtls: Vec<ForeignExchangeTerms41>,
#[yaserde(rename = "TaxVchrDtls")]
#[cfg_attr(feature = "serde", serde(rename = "TaxVchrDtls"))]
pub tax_vchr_dtls: TaxVoucher5,
#[yaserde(rename = "RateAndAmtDtls")]
#[cfg_attr(feature = "serde", serde(rename = "RateAndAmtDtls"))]
pub rate_and_amt_dtls: Rate45,
#[yaserde(rename = "PricDtls")]
#[cfg_attr(feature = "serde", serde(rename = "PricDtls"))]
pub pric_dtls: PriceDetails41,
}
impl Validate for CashOption110 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.036.002.16")]
pub struct CashParties44 {
#[yaserde(rename = "Cdtr")]
#[cfg_attr(feature = "serde", serde(rename = "Cdtr"))]
pub cdtr: PartyIdentificationAndAccount231,
#[yaserde(rename = "CdtrAgt")]
#[cfg_attr(feature = "serde", serde(rename = "CdtrAgt"))]
pub cdtr_agt: PartyIdentificationAndAccount232,
#[yaserde(rename = "MktClmCtrPty")]
#[cfg_attr(feature = "serde", serde(rename = "MktClmCtrPty"))]
pub mkt_clm_ctr_pty: PartyIdentificationAndAccount231,
}
impl Validate for CashParties44 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.036.002.16")]
pub struct CorporateAction86 {
#[yaserde(rename = "DtDtls")]
#[cfg_attr(feature = "serde", serde(rename = "DtDtls"))]
pub dt_dtls: CorporateActionDate89,
#[yaserde(rename = "EvtStag")]
#[cfg_attr(feature = "serde", serde(rename = "EvtStag"))]
pub evt_stag: CorporateActionEventStageFormat15Choice,
#[yaserde(rename = "AddtlBizPrcInd")]
#[cfg_attr(feature = "serde", serde(rename = "AddtlBizPrcInd"))]
pub addtl_biz_prc_ind: Vec<AdditionalBusinessProcessFormat24Choice>,
#[yaserde(rename = "IntrmdtSctiesDstrbtnTp")]
#[cfg_attr(feature = "serde", serde(rename = "IntrmdtSctiesDstrbtnTp"))]
pub intrmdt_scties_dstrbtn_tp: IntermediateSecuritiesDistributionTypeFormat18Choice,
#[yaserde(rename = "LtryTp")]
#[cfg_attr(feature = "serde", serde(rename = "LtryTp"))]
pub ltry_tp: LotteryTypeFormat5Choice,
}
impl Validate for CorporateAction86 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.036.002.16")]
pub struct CorporateActionAmounts61 {
#[yaserde(rename = "WhldgTaxAmt")]
#[cfg_attr(feature = "serde", serde(rename = "WhldgTaxAmt"))]
pub whldg_tax_amt: RestrictedFINActiveCurrencyAndAmount,
#[yaserde(rename = "ScndLvlTaxAmt")]
#[cfg_attr(feature = "serde", serde(rename = "ScndLvlTaxAmt"))]
pub scnd_lvl_tax_amt: RestrictedFINActiveCurrencyAndAmount,
}
impl Validate for CorporateActionAmounts61 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.036.002.16")]
pub struct CorporateActionAmounts74 {
#[yaserde(rename = "PstngAmt")]
#[cfg_attr(feature = "serde", serde(rename = "PstngAmt"))]
pub pstng_amt: RestrictedFINActiveCurrencyAndAmount,
#[yaserde(rename = "GrssAmt")]
#[cfg_attr(feature = "serde", serde(rename = "GrssAmt"))]
pub grss_amt: RestrictedFINActiveCurrencyAndAmount,
#[yaserde(rename = "NetAmt")]
#[cfg_attr(feature = "serde", serde(rename = "NetAmt"))]
pub net_amt: RestrictedFINActiveCurrencyAndAmount,
#[yaserde(rename = "SlctnFees")]
#[cfg_attr(feature = "serde", serde(rename = "SlctnFees"))]
pub slctn_fees: RestrictedFINActiveCurrencyAndAmount,
#[yaserde(rename = "CshInLieuOfShr")]
#[cfg_attr(feature = "serde", serde(rename = "CshInLieuOfShr"))]
pub csh_in_lieu_of_shr: RestrictedFINActiveCurrencyAndAmount,
#[yaserde(rename = "CptlGn")]
#[cfg_attr(feature = "serde", serde(rename = "CptlGn"))]
pub cptl_gn: RestrictedFINActiveCurrencyAndAmount,
#[yaserde(rename = "IntrstAmt")]
#[cfg_attr(feature = "serde", serde(rename = "IntrstAmt"))]
pub intrst_amt: RestrictedFINActiveCurrencyAndAmount,
#[yaserde(rename = "MktClmAmt")]
#[cfg_attr(feature = "serde", serde(rename = "MktClmAmt"))]
pub mkt_clm_amt: RestrictedFINActiveCurrencyAndAmount,
#[yaserde(rename = "IndmntyAmt")]
#[cfg_attr(feature = "serde", serde(rename = "IndmntyAmt"))]
pub indmnty_amt: RestrictedFINActiveCurrencyAndAmount,
#[yaserde(rename = "ManfctrdDvddPmtAmt")]
#[cfg_attr(feature = "serde", serde(rename = "ManfctrdDvddPmtAmt"))]
pub manfctrd_dvdd_pmt_amt: RestrictedFINActiveCurrencyAndAmount,
#[yaserde(rename = "RinvstmtAmt")]
#[cfg_attr(feature = "serde", serde(rename = "RinvstmtAmt"))]
pub rinvstmt_amt: RestrictedFINActiveCurrencyAndAmount,
#[yaserde(rename = "FullyFrnkdAmt")]
#[cfg_attr(feature = "serde", serde(rename = "FullyFrnkdAmt"))]
pub fully_frnkd_amt: RestrictedFINActiveCurrencyAndAmount,
#[yaserde(rename = "UfrnkdAmt")]
#[cfg_attr(feature = "serde", serde(rename = "UfrnkdAmt"))]
pub ufrnkd_amt: RestrictedFINActiveCurrencyAndAmount,
#[yaserde(rename = "SndryOrOthrAmt")]
#[cfg_attr(feature = "serde", serde(rename = "SndryOrOthrAmt"))]
pub sndry_or_othr_amt: RestrictedFINActiveCurrencyAndAmount,
#[yaserde(rename = "TaxFreeAmt")]
#[cfg_attr(feature = "serde", serde(rename = "TaxFreeAmt"))]
pub tax_free_amt: RestrictedFINActiveCurrencyAndAmount,
#[yaserde(rename = "TaxDfrrdAmt")]
#[cfg_attr(feature = "serde", serde(rename = "TaxDfrrdAmt"))]
pub tax_dfrrd_amt: RestrictedFINActiveCurrencyAndAmount,
#[yaserde(rename = "ValAddedTaxAmt")]
#[cfg_attr(feature = "serde", serde(rename = "ValAddedTaxAmt"))]
pub val_added_tax_amt: RestrictedFINActiveCurrencyAndAmount,
#[yaserde(rename = "StmpDtyAmt")]
#[cfg_attr(feature = "serde", serde(rename = "StmpDtyAmt"))]
pub stmp_dty_amt: RestrictedFINActiveCurrencyAndAmount,
#[yaserde(rename = "TaxRclmAmt")]
#[cfg_attr(feature = "serde", serde(rename = "TaxRclmAmt"))]
pub tax_rclm_amt: RestrictedFINActiveCurrencyAndAmount,
#[yaserde(rename = "TaxCdtAmt")]
#[cfg_attr(feature = "serde", serde(rename = "TaxCdtAmt"))]
pub tax_cdt_amt: RestrictedFINActiveCurrencyAndAmount,
#[yaserde(rename = "AddtlTaxAmt")]
#[cfg_attr(feature = "serde", serde(rename = "AddtlTaxAmt"))]
pub addtl_tax_amt: RestrictedFINActiveCurrencyAndAmount,
#[yaserde(rename = "WhldgTaxAmt")]
#[cfg_attr(feature = "serde", serde(rename = "WhldgTaxAmt"))]
pub whldg_tax_amt: RestrictedFINActiveCurrencyAndAmount,
#[yaserde(rename = "ScndLvlTaxAmt")]
#[cfg_attr(feature = "serde", serde(rename = "ScndLvlTaxAmt"))]
pub scnd_lvl_tax_amt: RestrictedFINActiveCurrencyAndAmount,
#[yaserde(rename = "FsclStmpAmt")]
#[cfg_attr(feature = "serde", serde(rename = "FsclStmpAmt"))]
pub fscl_stmp_amt: RestrictedFINActiveCurrencyAndAmount,
#[yaserde(rename = "ExctgBrkrAmt")]
#[cfg_attr(feature = "serde", serde(rename = "ExctgBrkrAmt"))]
pub exctg_brkr_amt: RestrictedFINActiveCurrencyAndAmount,
#[yaserde(rename = "PngAgtComssnAmt")]
#[cfg_attr(feature = "serde", serde(rename = "PngAgtComssnAmt"))]
pub png_agt_comssn_amt: RestrictedFINActiveCurrencyAndAmount,
#[yaserde(rename = "LclBrkrComssnAmt")]
#[cfg_attr(feature = "serde", serde(rename = "LclBrkrComssnAmt"))]
pub lcl_brkr_comssn_amt: RestrictedFINActiveCurrencyAndAmount,
#[yaserde(rename = "RgltryFeesAmt")]
#[cfg_attr(feature = "serde", serde(rename = "RgltryFeesAmt"))]
pub rgltry_fees_amt: RestrictedFINActiveCurrencyAndAmount,
#[yaserde(rename = "ShppgFeesAmt")]
#[cfg_attr(feature = "serde", serde(rename = "ShppgFeesAmt"))]
pub shppg_fees_amt: RestrictedFINActiveCurrencyAndAmount,
#[yaserde(rename = "ChrgsAmt")]
#[cfg_attr(feature = "serde", serde(rename = "ChrgsAmt"))]
pub chrgs_amt: RestrictedFINActiveCurrencyAndAmount,
#[yaserde(rename = "CshAmtBrghtFwd")]
#[cfg_attr(feature = "serde", serde(rename = "CshAmtBrghtFwd"))]
pub csh_amt_brght_fwd: RestrictedFINActiveCurrencyAndAmount,
#[yaserde(rename = "CshAmtCrrdFwd")]
#[cfg_attr(feature = "serde", serde(rename = "CshAmtCrrdFwd"))]
pub csh_amt_crrd_fwd: RestrictedFINActiveCurrencyAndAmount,
#[yaserde(rename = "NtnlDvddPyblAmt")]
#[cfg_attr(feature = "serde", serde(rename = "NtnlDvddPyblAmt"))]
pub ntnl_dvdd_pybl_amt: RestrictedFINActiveCurrencyAndAmount,
#[yaserde(rename = "NtnlTaxAmt")]
#[cfg_attr(feature = "serde", serde(rename = "NtnlTaxAmt"))]
pub ntnl_tax_amt: RestrictedFINActiveCurrencyAndAmount,
#[yaserde(rename = "TaxArrearsAmt")]
#[cfg_attr(feature = "serde", serde(rename = "TaxArrearsAmt"))]
pub tax_arrears_amt: RestrictedFINActiveCurrencyAndAmount,
#[yaserde(rename = "OrgnlAmt")]
#[cfg_attr(feature = "serde", serde(rename = "OrgnlAmt"))]
pub orgnl_amt: RestrictedFINActiveCurrencyAndAmount,
#[yaserde(rename = "PrncplOrCrps")]
#[cfg_attr(feature = "serde", serde(rename = "PrncplOrCrps"))]
pub prncpl_or_crps: RestrictedFINActiveCurrencyAndAmount,
#[yaserde(rename = "RedPrmAmt")]
#[cfg_attr(feature = "serde", serde(rename = "RedPrmAmt"))]
pub red_prm_amt: RestrictedFINActiveCurrencyAndAmount,
#[yaserde(rename = "IncmPrtn")]
#[cfg_attr(feature = "serde", serde(rename = "IncmPrtn"))]
pub incm_prtn: RestrictedFINActiveCurrencyAndAmount,
#[yaserde(rename = "StockXchgTax")]
#[cfg_attr(feature = "serde", serde(rename = "StockXchgTax"))]
pub stock_xchg_tax: RestrictedFINActiveCurrencyAndAmount,
#[yaserde(rename = "EUTaxRtntnAmt")]
#[cfg_attr(feature = "serde", serde(rename = "EUTaxRtntnAmt"))]
pub eu_tax_rtntn_amt: RestrictedFINActiveCurrencyAndAmount,
#[yaserde(rename = "AcrdIntrstAmt")]
#[cfg_attr(feature = "serde", serde(rename = "AcrdIntrstAmt"))]
pub acrd_intrst_amt: RestrictedFINActiveCurrencyAndAmount,
#[yaserde(rename = "EqulstnAmt")]
#[cfg_attr(feature = "serde", serde(rename = "EqulstnAmt"))]
pub equlstn_amt: RestrictedFINActiveCurrencyAndAmount,
#[yaserde(rename = "FATCATaxAmt")]
#[cfg_attr(feature = "serde", serde(rename = "FATCATaxAmt"))]
pub fatca_tax_amt: RestrictedFINActiveCurrencyAndAmount,
#[yaserde(rename = "NRATaxAmt")]
#[cfg_attr(feature = "serde", serde(rename = "NRATaxAmt"))]
pub nra_tax_amt: RestrictedFINActiveCurrencyAndAmount,
#[yaserde(rename = "BckUpWhldgTaxAmt")]
#[cfg_attr(feature = "serde", serde(rename = "BckUpWhldgTaxAmt"))]
pub bck_up_whldg_tax_amt: RestrictedFINActiveCurrencyAndAmount,
#[yaserde(rename = "TaxOnIncmAmt")]
#[cfg_attr(feature = "serde", serde(rename = "TaxOnIncmAmt"))]
pub tax_on_incm_amt: RestrictedFINActiveCurrencyAndAmount,
#[yaserde(rename = "TxTax")]
#[cfg_attr(feature = "serde", serde(rename = "TxTax"))]
pub tx_tax: RestrictedFINActiveCurrencyAndAmount,
#[yaserde(rename = "DmdAmt")]
#[cfg_attr(feature = "serde", serde(rename = "DmdAmt"))]
pub dmd_amt: RestrictedFINActiveCurrencyAndAmount,
#[yaserde(rename = "FrgnIncmAmt")]
#[cfg_attr(feature = "serde", serde(rename = "FrgnIncmAmt"))]
pub frgn_incm_amt: RestrictedFINActiveCurrencyAndAmount,
#[yaserde(rename = "DmdDvddAmt")]
#[cfg_attr(feature = "serde", serde(rename = "DmdDvddAmt"))]
pub dmd_dvdd_amt: RestrictedFINActiveCurrencyAndAmount,
#[yaserde(rename = "DmdFndAmt")]
#[cfg_attr(feature = "serde", serde(rename = "DmdFndAmt"))]
pub dmd_fnd_amt: RestrictedFINActiveCurrencyAndAmount,
#[yaserde(rename = "DmdIntrstAmt")]
#[cfg_attr(feature = "serde", serde(rename = "DmdIntrstAmt"))]
pub dmd_intrst_amt: RestrictedFINActiveCurrencyAndAmount,
#[yaserde(rename = "DmdRyltsAmt")]
#[cfg_attr(feature = "serde", serde(rename = "DmdRyltsAmt"))]
pub dmd_rylts_amt: RestrictedFINActiveCurrencyAndAmount,
#[yaserde(rename = "AdjstdSbcptAmt")]
#[cfg_attr(feature = "serde", serde(rename = "AdjstdSbcptAmt"))]
pub adjstd_sbcpt_amt: RestrictedFINActiveCurrencyAndAmount,
#[yaserde(rename = "RfnddSbcptAmt")]
#[cfg_attr(feature = "serde", serde(rename = "RfnddSbcptAmt"))]
pub rfndd_sbcpt_amt: RestrictedFINActiveCurrencyAndAmount,
#[yaserde(rename = "BuyUpAmt")]
#[cfg_attr(feature = "serde", serde(rename = "BuyUpAmt"))]
pub buy_up_amt: RestrictedFINActiveCurrencyAndAmount,
}
impl Validate for CorporateActionAmounts74 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.036.002.16")]
pub struct CorporateActionBalanceDetails45 {
#[yaserde(rename = "ConfdBal")]
#[cfg_attr(feature = "serde", serde(rename = "ConfdBal"))]
pub confd_bal: BalanceFormat14Choice,
#[yaserde(rename = "TtlElgblBal")]
#[cfg_attr(feature = "serde", serde(rename = "TtlElgblBal"))]
pub ttl_elgbl_bal: TotalEligibleBalanceFormat11,
#[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<BalanceFormat16Choice>,
#[yaserde(rename = "PdgRctBal")]
#[cfg_attr(feature = "serde", serde(rename = "PdgRctBal"))]
pub pdg_rct_bal: Vec<BalanceFormat16Choice>,
#[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: Vec<BalanceFormat16Choice>,
#[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,
#[yaserde(rename = "AfctdBal")]
#[cfg_attr(feature = "serde", serde(rename = "AfctdBal"))]
pub afctd_bal: BalanceFormat14Choice,
#[yaserde(rename = "UafctdBal")]
#[cfg_attr(feature = "serde", serde(rename = "UafctdBal"))]
pub uafctd_bal: BalanceFormat14Choice,
}
impl Validate for CorporateActionBalanceDetails45 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.036.002.16")]
pub struct CorporateActionDate109 {
#[yaserde(rename = "CoverXprtnDdln")]
#[cfg_attr(feature = "serde", serde(rename = "CoverXprtnDdln"))]
pub cover_xprtn_ddln: DateFormat67Choice,
#[yaserde(rename = "TradgDt")]
#[cfg_attr(feature = "serde", serde(rename = "TradgDt"))]
pub tradg_dt: DateFormat49Choice,
}
impl Validate for CorporateActionDate109 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.036.002.16")]
pub struct CorporateActionDate89 {
#[yaserde(rename = "RcrdDt")]
#[cfg_attr(feature = "serde", serde(rename = "RcrdDt"))]
pub rcrd_dt: DateFormat41Choice,
#[yaserde(rename = "ExDvddDt")]
#[cfg_attr(feature = "serde", serde(rename = "ExDvddDt"))]
pub ex_dvdd_dt: DateFormat41Choice,
}
impl Validate for CorporateActionDate89 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.036.002.16")]
pub struct CorporateActionDate99 {
#[yaserde(rename = "PstngDt")]
#[cfg_attr(feature = "serde", serde(rename = "PstngDt"))]
pub pstng_dt: DateAndDateTime2Choice,
#[yaserde(rename = "ValDt")]
#[cfg_attr(feature = "serde", serde(rename = "ValDt"))]
pub val_dt: Isodate,
#[yaserde(rename = "FXRateFxgDt")]
#[cfg_attr(feature = "serde", serde(rename = "FXRateFxgDt"))]
pub fx_rate_fxg_dt: DateAndDateTime2Choice,
#[yaserde(rename = "EarlstPmtDt")]
#[cfg_attr(feature = "serde", serde(rename = "EarlstPmtDt"))]
pub earlst_pmt_dt: Isodate,
#[yaserde(rename = "PmtDt")]
#[cfg_attr(feature = "serde", serde(rename = "PmtDt"))]
pub pmt_dt: Isodate,
}
impl Validate for CorporateActionDate99 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.036.002.16")]
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.036.002.16")]
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(PartialEq, Debug, Clone, YaSerialize, YaDeserialize)]#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:seev.036.002.16")]
pub enum CorporateActionEventStage4Code {
#[yaserde(rename = "FULL")]
#[cfg_attr(feature = "serde", serde(rename = "FULL"))]
Full,
#[yaserde(rename = "PART")]
#[cfg_attr(feature = "serde", serde(rename = "PART"))]
Part,
#[yaserde(rename = "RESC")]
#[cfg_attr(feature = "serde", serde(rename = "RESC"))]
Resc,
__Unknown__(String),
}
impl Default for CorporateActionEventStage4Code {
fn default() -> CorporateActionEventStage4Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for CorporateActionEventStage4Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.036.002.16")]
pub struct CorporateActionEventStageFormat15Choice {
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: Option<CorporateActionEventStage4Code>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<GenericIdentification47>,
}
impl Validate for CorporateActionEventStageFormat15Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.036.002.16")]
pub struct CorporateActionEventType120Choice {
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: Option<CorporateActionEventType37Code>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<GenericIdentification47>,
}
impl Validate for CorporateActionEventType120Choice {}
#[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.036.002.16")]
pub enum CorporateActionEventType37Code {
#[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,
#[yaserde(rename = "MTNG")]
#[cfg_attr(feature = "serde", serde(rename = "MTNG"))]
Mtng,
#[yaserde(rename = "TNDP")]
#[cfg_attr(feature = "serde", serde(rename = "TNDP"))]
Tndp,
#[yaserde(rename = "RCLA")]
#[cfg_attr(feature = "serde", serde(rename = "RCLA"))]
Rcla,
__Unknown__(String),
}
impl Default for CorporateActionEventType37Code {
fn default() -> CorporateActionEventType37Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for CorporateActionEventType37Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.036.002.16")]
pub struct CorporateActionGeneralInformation190 {
#[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 = "ClssActnNb")]
#[cfg_attr(feature = "serde", serde(rename = "ClssActnNb"))]
pub clss_actn_nb: RestrictedFINXMax16Text,
#[yaserde(rename = "EvtTp")]
#[cfg_attr(feature = "serde", serde(rename = "EvtTp"))]
pub evt_tp: CorporateActionEventType120Choice,
#[yaserde(rename = "FinInstrmId")]
#[cfg_attr(feature = "serde", serde(rename = "FinInstrmId"))]
pub fin_instrm_id: SecurityIdentification20,
#[yaserde(rename = "FrctnlQty")]
#[cfg_attr(feature = "serde", serde(rename = "FrctnlQty"))]
pub frctnl_qty: FinancialInstrumentQuantity36Choice,
}
impl Validate for CorporateActionGeneralInformation190 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.036.002.16")]
pub struct CorporateActionMovementConfirmation002V16 {
#[yaserde(rename = "Pgntn")]
#[cfg_attr(feature = "serde", serde(rename = "Pgntn"))]
pub pgntn: Pagination1,
#[yaserde(rename = "MvmntConfId")]
#[cfg_attr(feature = "serde", serde(rename = "MvmntConfId"))]
pub mvmnt_conf_id: RestrictedFINXMax16Text,
#[yaserde(rename = "NtfctnId")]
#[cfg_attr(feature = "serde", serde(rename = "NtfctnId"))]
pub ntfctn_id: DocumentIdentification37,
#[yaserde(rename = "MvmntPrlimryAdvcId")]
#[cfg_attr(feature = "serde", serde(rename = "MvmntPrlimryAdvcId"))]
pub mvmnt_prlimry_advc_id: DocumentIdentification37,
#[yaserde(rename = "InstrId")]
#[cfg_attr(feature = "serde", serde(rename = "InstrId"))]
pub instr_id: DocumentIdentification17,
#[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 = "TxId")]
#[cfg_attr(feature = "serde", serde(rename = "TxId"))]
pub tx_id: TransactionIdentification1,
#[yaserde(rename = "CorpActnGnlInf")]
#[cfg_attr(feature = "serde", serde(rename = "CorpActnGnlInf"))]
pub corp_actn_gnl_inf: CorporateActionGeneralInformation190,
#[yaserde(rename = "AcctDtls")]
#[cfg_attr(feature = "serde", serde(rename = "AcctDtls"))]
pub acct_dtls: AccountAndBalance63,
#[yaserde(rename = "CorpActnDtls")]
#[cfg_attr(feature = "serde", serde(rename = "CorpActnDtls"))]
pub corp_actn_dtls: CorporateAction86,
#[yaserde(rename = "CorpActnConfDtls")]
#[cfg_attr(feature = "serde", serde(rename = "CorpActnConfDtls"))]
pub corp_actn_conf_dtls: CorporateActionOption244,
#[yaserde(rename = "AddtlInf")]
#[cfg_attr(feature = "serde", serde(rename = "AddtlInf"))]
pub addtl_inf: CorporateActionNarrative35,
#[yaserde(rename = "IssrAgt")]
#[cfg_attr(feature = "serde", serde(rename = "IssrAgt"))]
pub issr_agt: Vec<PartyIdentification137Choice>,
#[yaserde(rename = "PngAgt")]
#[cfg_attr(feature = "serde", serde(rename = "PngAgt"))]
pub png_agt: Vec<PartyIdentification137Choice>,
#[yaserde(rename = "SubPngAgt")]
#[cfg_attr(feature = "serde", serde(rename = "SubPngAgt"))]
pub sub_png_agt: Vec<PartyIdentification137Choice>,
#[yaserde(rename = "SplmtryData")]
#[cfg_attr(feature = "serde", serde(rename = "SplmtryData"))]
pub splmtry_data: Vec<SupplementaryData1>,
}
impl Validate for CorporateActionMovementConfirmation002V16 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.036.002.16")]
pub struct CorporateActionNarrative35 {
#[yaserde(rename = "AddtlTxt")]
#[cfg_attr(feature = "serde", serde(rename = "AddtlTxt"))]
pub addtl_txt: Vec<RestrictedFINXMax350Text>,
#[yaserde(rename = "NrrtvVrsn")]
#[cfg_attr(feature = "serde", serde(rename = "NrrtvVrsn"))]
pub nrrtv_vrsn: Vec<RestrictedFINXMax350Text>,
#[yaserde(rename = "PtyCtctNrrtv")]
#[cfg_attr(feature = "serde", serde(rename = "PtyCtctNrrtv"))]
pub pty_ctct_nrrtv: Vec<RestrictedFINXMax350Text>,
#[yaserde(rename = "TaxtnConds")]
#[cfg_attr(feature = "serde", serde(rename = "TaxtnConds"))]
pub taxtn_conds: Vec<RestrictedFINXMax350Text>,
}
impl Validate for CorporateActionNarrative35 {}
#[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.036.002.16")]
pub enum CorporateActionOption12Code {
#[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 = "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 = "PRUN")]
#[cfg_attr(feature = "serde", serde(rename = "PRUN"))]
Prun,
__Unknown__(String),
}
impl Default for CorporateActionOption12Code {
fn default() -> CorporateActionOption12Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for CorporateActionOption12Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.036.002.16")]
pub struct CorporateActionOption244 {
#[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: CorporateActionOption39Choice,
#[yaserde(rename = "OptnFeatrs")]
#[cfg_attr(feature = "serde", serde(rename = "OptnFeatrs"))]
pub optn_featrs: Vec<OptionFeaturesFormat30Choice>,
#[yaserde(rename = "FrctnDspstn")]
#[cfg_attr(feature = "serde", serde(rename = "FrctnDspstn"))]
pub frctn_dspstn: FractionDispositionType30Choice,
#[yaserde(rename = "CcyOptn")]
#[cfg_attr(feature = "serde", serde(rename = "CcyOptn"))]
pub ccy_optn: ActiveCurrencyCode,
#[yaserde(rename = "DtDtls")]
#[cfg_attr(feature = "serde", serde(rename = "DtDtls"))]
pub dt_dtls: CorporateActionDate109,
#[yaserde(rename = "PrdDtls")]
#[cfg_attr(feature = "serde", serde(rename = "PrdDtls"))]
pub prd_dtls: CorporateActionPeriod13,
#[yaserde(rename = "RateAndAmtDtls")]
#[cfg_attr(feature = "serde", serde(rename = "RateAndAmtDtls"))]
pub rate_and_amt_dtls: CorporateActionRate131,
#[yaserde(rename = "PricDtls")]
#[cfg_attr(feature = "serde", serde(rename = "PricDtls"))]
pub pric_dtls: CorporateActionPrice92,
#[yaserde(rename = "PlcOfTrad")]
#[cfg_attr(feature = "serde", serde(rename = "PlcOfTrad"))]
pub plc_of_trad: MarketIdentification90,
#[yaserde(rename = "SctiesMvmntDtls")]
#[cfg_attr(feature = "serde", serde(rename = "SctiesMvmntDtls"))]
pub scties_mvmnt_dtls: Vec<SecuritiesOption115>,
#[yaserde(rename = "CshMvmntDtls")]
#[cfg_attr(feature = "serde", serde(rename = "CshMvmntDtls"))]
pub csh_mvmnt_dtls: Vec<CashOption110>,
}
impl Validate for CorporateActionOption244 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.036.002.16")]
pub struct CorporateActionOption39Choice {
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: Option<CorporateActionOption12Code>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<GenericIdentification47>,
}
impl Validate for CorporateActionOption39Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.036.002.16")]
pub struct CorporateActionPeriod13 {
#[yaserde(rename = "PricClctnPrd")]
#[cfg_attr(feature = "serde", serde(rename = "PricClctnPrd"))]
pub pric_clctn_prd: Period11,
#[yaserde(rename = "ActnPrd")]
#[cfg_attr(feature = "serde", serde(rename = "ActnPrd"))]
pub actn_prd: Period11,
#[yaserde(rename = "ParllTradgPrd")]
#[cfg_attr(feature = "serde", serde(rename = "ParllTradgPrd"))]
pub parll_tradg_prd: Period11,
}
impl Validate for CorporateActionPeriod13 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.036.002.16")]
pub struct CorporateActionPrice92 {
#[yaserde(rename = "CshInLieuOfShrPric")]
#[cfg_attr(feature = "serde", serde(rename = "CshInLieuOfShrPric"))]
pub csh_in_lieu_of_shr_pric: PriceFormat85Choice,
#[yaserde(rename = "OverSbcptDpstPric")]
#[cfg_attr(feature = "serde", serde(rename = "OverSbcptDpstPric"))]
pub over_sbcpt_dpst_pric: PriceFormat85Choice,
}
impl Validate for CorporateActionPrice92 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.036.002.16")]
pub struct CorporateActionPrice93 {
#[yaserde(rename = "CshInLieuOfShrPric")]
#[cfg_attr(feature = "serde", serde(rename = "CshInLieuOfShrPric"))]
pub csh_in_lieu_of_shr_pric: PriceFormat85Choice,
#[yaserde(rename = "IndctvOrMktPric")]
#[cfg_attr(feature = "serde", serde(rename = "IndctvOrMktPric"))]
pub indctv_or_mkt_pric: IndicativeOrMarketPrice16Choice,
#[yaserde(rename = "CshValForTax")]
#[cfg_attr(feature = "serde", serde(rename = "CshValForTax"))]
pub csh_val_for_tax: AmountPrice4,
#[yaserde(rename = "GncCshPricPdPerPdct")]
#[cfg_attr(feature = "serde", serde(rename = "GncCshPricPdPerPdct"))]
pub gnc_csh_pric_pd_per_pdct: PriceFormat86Choice,
#[yaserde(rename = "GncCshPricRcvdPerPdct")]
#[cfg_attr(feature = "serde", serde(rename = "GncCshPricRcvdPerPdct"))]
pub gnc_csh_pric_rcvd_per_pdct: PriceFormat87Choice,
}
impl Validate for CorporateActionPrice93 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.036.002.16")]
pub struct CorporateActionRate131 {
#[yaserde(rename = "GrssDstrbtnRate")]
#[cfg_attr(feature = "serde", serde(rename = "GrssDstrbtnRate"))]
pub grss_dstrbtn_rate: Vec<GrossDividendRateFormat39Choice>,
#[yaserde(rename = "NetDstrbtnRate")]
#[cfg_attr(feature = "serde", serde(rename = "NetDstrbtnRate"))]
pub net_dstrbtn_rate: Vec<NetDividendRateFormat41Choice>,
#[yaserde(rename = "GrssIntrstRateUsdForPmt")]
#[cfg_attr(feature = "serde", serde(rename = "GrssIntrstRateUsdForPmt"))]
pub grss_intrst_rate_usd_for_pmt: Vec<InterestRateUsedForPaymentFormat19Choice>,
#[yaserde(rename = "MaxAllwdOvrsbcptRate")]
#[cfg_attr(feature = "serde", serde(rename = "MaxAllwdOvrsbcptRate"))]
pub max_allwd_ovrsbcpt_rate: Percentage14Rate,
#[yaserde(rename = "PrratnRate")]
#[cfg_attr(feature = "serde", serde(rename = "PrratnRate"))]
pub prratn_rate: Percentage14Rate,
#[yaserde(rename = "WhldgTaxRate")]
#[cfg_attr(feature = "serde", serde(rename = "WhldgTaxRate"))]
pub whldg_tax_rate: Vec<RateAndAmountFormat66Choice>,
#[yaserde(rename = "ScndLvlTax")]
#[cfg_attr(feature = "serde", serde(rename = "ScndLvlTax"))]
pub scnd_lvl_tax: Vec<RateAndAmountFormat66Choice>,
#[yaserde(rename = "AddtlTax")]
#[cfg_attr(feature = "serde", serde(rename = "AddtlTax"))]
pub addtl_tax: RateAndAmountFormat67Choice,
#[yaserde(rename = "TaxblIncmPerDvddShr")]
#[cfg_attr(feature = "serde", serde(rename = "TaxblIncmPerDvddShr"))]
pub taxbl_incm_per_dvdd_shr: Vec<RateTypeAndAmountAndStatus33>,
}
impl Validate for CorporateActionRate131 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.036.002.16")]
pub struct CorporateActionRate132 {
#[yaserde(rename = "AddtlQtyForSbcbdRsltntScties")]
#[cfg_attr(feature = "serde", serde(rename = "AddtlQtyForSbcbdRsltntScties"))]
pub addtl_qty_for_sbcbd_rsltnt_scties: RatioFormat21Choice,
#[yaserde(rename = "AddtlQtyForExstgScties")]
#[cfg_attr(feature = "serde", serde(rename = "AddtlQtyForExstgScties"))]
pub addtl_qty_for_exstg_scties: RatioFormat21Choice,
#[yaserde(rename = "NewToOd")]
#[cfg_attr(feature = "serde", serde(rename = "NewToOd"))]
pub new_to_od: RatioFormat22Choice,
#[yaserde(rename = "ChrgsFees")]
#[cfg_attr(feature = "serde", serde(rename = "ChrgsFees"))]
pub chrgs_fees: RateAndAmountFormat67Choice,
#[yaserde(rename = "FsclStmp")]
#[cfg_attr(feature = "serde", serde(rename = "FsclStmp"))]
pub fscl_stmp: Percentage14Rate,
#[yaserde(rename = "AplblRate")]
#[cfg_attr(feature = "serde", serde(rename = "AplblRate"))]
pub aplbl_rate: Percentage14Rate,
#[yaserde(rename = "TaxCdtRate")]
#[cfg_attr(feature = "serde", serde(rename = "TaxCdtRate"))]
pub tax_cdt_rate: RateFormat28Choice,
#[yaserde(rename = "FinTxTaxRate")]
#[cfg_attr(feature = "serde", serde(rename = "FinTxTaxRate"))]
pub fin_tx_tax_rate: Percentage14Rate,
#[yaserde(rename = "WhldgTaxRate")]
#[cfg_attr(feature = "serde", serde(rename = "WhldgTaxRate"))]
pub whldg_tax_rate: Vec<RateAndAmountFormat66Choice>,
#[yaserde(rename = "ScndLvlTax")]
#[cfg_attr(feature = "serde", serde(rename = "ScndLvlTax"))]
pub scnd_lvl_tax: Vec<RateAndAmountFormat66Choice>,
}
impl Validate for CorporateActionRate132 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct CountryCode (pub String);
crate::simple_type!(CountryCode);
impl Validate for CountryCode {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(PartialEq, Debug, Clone, YaSerialize, YaDeserialize)]#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:seev.036.002.16")]
pub enum CreditDebitCode {
#[yaserde(rename = "CRDT")]
#[cfg_attr(feature = "serde", serde(rename = "CRDT"))]
Crdt,
#[yaserde(rename = "DBIT")]
#[cfg_attr(feature = "serde", serde(rename = "DBIT"))]
Dbit,
__Unknown__(String),
}
impl Default for CreditDebitCode {
fn default() -> CreditDebitCode {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for CreditDebitCode {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
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.036.002.16")]
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.036.002.16")]
pub struct DateCode22Choice {
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: Option<DateType8Code>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<GenericIdentification47>,
}
impl Validate for DateCode22Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.036.002.16")]
pub struct DateCode35Choice {
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: Option<DateType8Code>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<GenericIdentification47>,
}
impl Validate for DateCode35Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.036.002.16")]
pub struct DateFormat41Choice {
#[yaserde(rename = "Dt")]
#[cfg_attr(feature = "serde", serde(rename = "Dt"))]
pub dt: Option<Isodate>,
#[yaserde(rename = "DtCd")]
#[cfg_attr(feature = "serde", serde(rename = "DtCd"))]
pub dt_cd: Option<DateCode22Choice>,
}
impl Validate for DateFormat41Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.036.002.16")]
pub struct DateFormat45Choice {
#[yaserde(rename = "Dt")]
#[cfg_attr(feature = "serde", serde(rename = "Dt"))]
pub dt: Option<DateAndDateTime2Choice>,
#[yaserde(rename = "NotSpcfdDt")]
#[cfg_attr(feature = "serde", serde(rename = "NotSpcfdDt"))]
pub not_spcfd_dt: Option<DateType8Code>,
}
impl Validate for DateFormat45Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.036.002.16")]
pub struct DateFormat49Choice {
#[yaserde(rename = "Dt")]
#[cfg_attr(feature = "serde", serde(rename = "Dt"))]
pub dt: Option<DateAndDateTime2Choice>,
#[yaserde(rename = "DtCd")]
#[cfg_attr(feature = "serde", serde(rename = "DtCd"))]
pub dt_cd: Option<DateCode22Choice>,
}
impl Validate for DateFormat49Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.036.002.16")]
pub struct DateFormat67Choice {
#[yaserde(rename = "Dt")]
#[cfg_attr(feature = "serde", serde(rename = "Dt"))]
pub dt: Option<DateAndDateTime2Choice>,
#[yaserde(rename = "DtCd")]
#[cfg_attr(feature = "serde", serde(rename = "DtCd"))]
pub dt_cd: Option<DateCode35Choice>,
}
impl Validate for DateFormat67Choice {}
#[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.036.002.16")]
pub enum DateType8Code {
#[yaserde(rename = "UKWN")]
#[cfg_attr(feature = "serde", serde(rename = "UKWN"))]
Ukwn,
#[yaserde(rename = "ONGO")]
#[cfg_attr(feature = "serde", serde(rename = "ONGO"))]
Ongo,
__Unknown__(String),
}
impl Default for DateType8Code {
fn default() -> DateType8Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for DateType8Code {}
#[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.036.002.16")]
pub enum DeemedRateType1Code {
#[yaserde(rename = "DEDI")]
#[cfg_attr(feature = "serde", serde(rename = "DEDI"))]
Dedi,
#[yaserde(rename = "DEFP")]
#[cfg_attr(feature = "serde", serde(rename = "DEFP"))]
Defp,
#[yaserde(rename = "DEIT")]
#[cfg_attr(feature = "serde", serde(rename = "DEIT"))]
Deit,
#[yaserde(rename = "DERY")]
#[cfg_attr(feature = "serde", serde(rename = "DERY"))]
Dery,
__Unknown__(String),
}
impl Default for DeemedRateType1Code {
fn default() -> DeemedRateType1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for DeemedRateType1Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.036.002.16")]
pub struct DeemedRateType2Choice {
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: Option<DeemedRateType1Code>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<GenericIdentification47>,
}
impl Validate for DeemedRateType2Choice {}
#[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.036.002.16")]
pub enum DividendRateType1Code {
#[yaserde(rename = "TXBL")]
#[cfg_attr(feature = "serde", serde(rename = "TXBL"))]
Txbl,
__Unknown__(String),
}
impl Default for DividendRateType1Code {
fn default() -> DividendRateType1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for DividendRateType1Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.036.002.16")]
pub struct Document {
#[yaserde(rename = "CorpActnMvmntConf")]
#[cfg_attr(feature = "serde", serde(rename = "CorpActnMvmntConf"))]
pub corp_actn_mvmnt_conf: CorporateActionMovementConfirmation002V16,
}
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.036.002.16")]
pub struct DocumentIdentification17 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: RestrictedFINXMax16Text,
}
impl Validate for DocumentIdentification17 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.036.002.16")]
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.036.002.16")]
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.036.002.16")]
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.036.002.16")]
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.036.002.16")]
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(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:seev.036.002.16")]
pub struct ForeignExchangeTerms41 {
#[yaserde(rename = "UnitCcy")]
#[cfg_attr(feature = "serde", serde(rename = "UnitCcy"))]
pub unit_ccy: ActiveCurrencyCode,
#[yaserde(rename = "QtdCcy")]
#[cfg_attr(feature = "serde", serde(rename = "QtdCcy"))]
pub qtd_ccy: ActiveCurrencyCode,
#[yaserde(rename = "XchgRate")]
#[cfg_attr(feature = "serde", serde(rename = "XchgRate"))]
pub xchg_rate: BaseOne14Rate,
#[yaserde(rename = "RsltgAmt")]
#[cfg_attr(feature = "serde", serde(rename = "RsltgAmt"))]
pub rsltg_amt: RestrictedFINActiveCurrencyAndAmount,
}
impl Validate for ForeignExchangeTerms41 {}
#[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.036.002.16")]
pub enum FractionDispositionType11Code {
#[yaserde(rename = "BUYU")]
#[cfg_attr(feature = "serde", serde(rename = "BUYU"))]
Buyu,
#[yaserde(rename = "CINL")]
#[cfg_attr(feature = "serde", serde(rename = "CINL"))]
Cinl,
#[yaserde(rename = "DIST")]
#[cfg_attr(feature = "serde", serde(rename = "DIST"))]
Dist,
#[yaserde(rename = "RDDN")]
#[cfg_attr(feature = "serde", serde(rename = "RDDN"))]
Rddn,
#[yaserde(rename = "STAN")]
#[cfg_attr(feature = "serde", serde(rename = "STAN"))]
Stan,
#[yaserde(rename = "RDUP")]
#[cfg_attr(feature = "serde", serde(rename = "RDUP"))]
Rdup,
__Unknown__(String),
}
impl Default for FractionDispositionType11Code {
fn default() -> FractionDispositionType11Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for FractionDispositionType11Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.036.002.16")]
pub struct FractionDispositionType30Choice {
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: Option<FractionDispositionType11Code>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<GenericIdentification47>,
}
impl Validate for FractionDispositionType30Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.036.002.16")]
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.036.002.16")]
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.036.002.16")]
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.036.002.16")]
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, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:seev.036.002.16")]
pub struct GrossDividendRateFormat39Choice {
#[yaserde(rename = "Amt")]
#[cfg_attr(feature = "serde", serde(rename = "Amt"))]
pub amt: Option<RestrictedFINActiveCurrencyAnd13DecimalAmount>,
#[yaserde(rename = "AmtAndRateSts")]
#[cfg_attr(feature = "serde", serde(rename = "AmtAndRateSts"))]
pub amt_and_rate_sts: Option<AmountAndRateStatus2>,
#[yaserde(rename = "RateTpAndAmtAndRateSts")]
#[cfg_attr(feature = "serde", serde(rename = "RateTpAndAmtAndRateSts"))]
pub rate_tp_and_amt_and_rate_sts: Option<RateTypeAndAmountAndStatus59>,
}
impl Validate for GrossDividendRateFormat39Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.036.002.16")]
pub struct GrossDividendRateFormat40Choice {
#[yaserde(rename = "Amt")]
#[cfg_attr(feature = "serde", serde(rename = "Amt"))]
pub amt: Option<RestrictedFINActiveCurrencyAnd13DecimalAmount>,
#[yaserde(rename = "AmtAndRateSts")]
#[cfg_attr(feature = "serde", serde(rename = "AmtAndRateSts"))]
pub amt_and_rate_sts: Option<AmountAndRateStatus2>,
#[yaserde(rename = "RateTpAndAmtAndRateSts")]
#[cfg_attr(feature = "serde", serde(rename = "RateTpAndAmtAndRateSts"))]
pub rate_tp_and_amt_and_rate_sts: Option<RateTypeAndAmountAndStatus61>,
}
impl Validate for GrossDividendRateFormat40Choice {}
#[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.036.002.16")]
pub enum GrossDividendRateType6Code {
#[yaserde(rename = "CAPO")]
#[cfg_attr(feature = "serde", serde(rename = "CAPO"))]
Capo,
#[yaserde(rename = "FLFR")]
#[cfg_attr(feature = "serde", serde(rename = "FLFR"))]
Flfr,
#[yaserde(rename = "INCO")]
#[cfg_attr(feature = "serde", serde(rename = "INCO"))]
Inco,
#[yaserde(rename = "INTR")]
#[cfg_attr(feature = "serde", serde(rename = "INTR"))]
Intr,
#[yaserde(rename = "LTCG")]
#[cfg_attr(feature = "serde", serde(rename = "LTCG"))]
Ltcg,
#[yaserde(rename = "REES")]
#[cfg_attr(feature = "serde", serde(rename = "REES"))]
Rees,
#[yaserde(rename = "STCG")]
#[cfg_attr(feature = "serde", serde(rename = "STCG"))]
Stcg,
#[yaserde(rename = "SOIC")]
#[cfg_attr(feature = "serde", serde(rename = "SOIC"))]
Soic,
#[yaserde(rename = "TXBL")]
#[cfg_attr(feature = "serde", serde(rename = "TXBL"))]
Txbl,
#[yaserde(rename = "TXDF")]
#[cfg_attr(feature = "serde", serde(rename = "TXDF"))]
Txdf,
#[yaserde(rename = "TXFR")]
#[cfg_attr(feature = "serde", serde(rename = "TXFR"))]
Txfr,
#[yaserde(rename = "UNFR")]
#[cfg_attr(feature = "serde", serde(rename = "UNFR"))]
Unfr,
#[yaserde(rename = "CDFI")]
#[cfg_attr(feature = "serde", serde(rename = "CDFI"))]
Cdfi,
__Unknown__(String),
}
impl Default for GrossDividendRateType6Code {
fn default() -> GrossDividendRateType6Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for GrossDividendRateType6Code {}
#[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.036.002.16")]
pub enum GrossDividendRateType7Code {
#[yaserde(rename = "CAPO")]
#[cfg_attr(feature = "serde", serde(rename = "CAPO"))]
Capo,
#[yaserde(rename = "CDFI")]
#[cfg_attr(feature = "serde", serde(rename = "CDFI"))]
Cdfi,
#[yaserde(rename = "FUPU")]
#[cfg_attr(feature = "serde", serde(rename = "FUPU"))]
Fupu,
#[yaserde(rename = "FLFR")]
#[cfg_attr(feature = "serde", serde(rename = "FLFR"))]
Flfr,
#[yaserde(rename = "INCO")]
#[cfg_attr(feature = "serde", serde(rename = "INCO"))]
Inco,
#[yaserde(rename = "INTR")]
#[cfg_attr(feature = "serde", serde(rename = "INTR"))]
Intr,
#[yaserde(rename = "LTCG")]
#[cfg_attr(feature = "serde", serde(rename = "LTCG"))]
Ltcg,
#[yaserde(rename = "PAPU")]
#[cfg_attr(feature = "serde", serde(rename = "PAPU"))]
Papu,
#[yaserde(rename = "REES")]
#[cfg_attr(feature = "serde", serde(rename = "REES"))]
Rees,
#[yaserde(rename = "STCG")]
#[cfg_attr(feature = "serde", serde(rename = "STCG"))]
Stcg,
#[yaserde(rename = "SOIC")]
#[cfg_attr(feature = "serde", serde(rename = "SOIC"))]
Soic,
#[yaserde(rename = "TXBL")]
#[cfg_attr(feature = "serde", serde(rename = "TXBL"))]
Txbl,
#[yaserde(rename = "TXDF")]
#[cfg_attr(feature = "serde", serde(rename = "TXDF"))]
Txdf,
#[yaserde(rename = "TXFR")]
#[cfg_attr(feature = "serde", serde(rename = "TXFR"))]
Txfr,
#[yaserde(rename = "UNFR")]
#[cfg_attr(feature = "serde", serde(rename = "UNFR"))]
Unfr,
__Unknown__(String),
}
impl Default for GrossDividendRateType7Code {
fn default() -> GrossDividendRateType7Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for GrossDividendRateType7Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Iban2007Identifier (pub String);
crate::simple_type!(Iban2007Identifier);
impl Validate for Iban2007Identifier {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct 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.036.002.16")]
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.036.002.16")]
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.036.002.16")]
pub struct IndicativeOrMarketPrice16Choice {
#[yaserde(rename = "IndctvPric")]
#[cfg_attr(feature = "serde", serde(rename = "IndctvPric"))]
pub indctv_pric: Option<PriceFormat85Choice>,
#[yaserde(rename = "MktPric")]
#[cfg_attr(feature = "serde", serde(rename = "MktPric"))]
pub mkt_pric: Option<PriceFormat85Choice>,
}
impl Validate for IndicativeOrMarketPrice16Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.036.002.16")]
pub struct InterestRateUsedForPaymentFormat19Choice {
#[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 = "RateTpAndAmtAndRateSts")]
#[cfg_attr(feature = "serde", serde(rename = "RateTpAndAmtAndRateSts"))]
pub rate_tp_and_amt_and_rate_sts: Option<RateTypeAndAmountAndStatus32>,
}
impl Validate for InterestRateUsedForPaymentFormat19Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.036.002.16")]
pub struct IntermediateSecuritiesDistributionTypeFormat18Choice {
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: Option<IntermediateSecurityDistributionType5Code>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<GenericIdentification47>,
}
impl Validate for IntermediateSecuritiesDistributionTypeFormat18Choice {}
#[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.036.002.16")]
pub enum IntermediateSecurityDistributionType5Code {
#[yaserde(rename = "BIDS")]
#[cfg_attr(feature = "serde", serde(rename = "BIDS"))]
Bids,
#[yaserde(rename = "DRIP")]
#[cfg_attr(feature = "serde", serde(rename = "DRIP"))]
Drip,
#[yaserde(rename = "DVCA")]
#[cfg_attr(feature = "serde", serde(rename = "DVCA"))]
Dvca,
#[yaserde(rename = "DVOP")]
#[cfg_attr(feature = "serde", serde(rename = "DVOP"))]
Dvop,
#[yaserde(rename = "EXRI")]
#[cfg_attr(feature = "serde", serde(rename = "EXRI"))]
Exri,
#[yaserde(rename = "PRIO")]
#[cfg_attr(feature = "serde", serde(rename = "PRIO"))]
Prio,
#[yaserde(rename = "DVSC")]
#[cfg_attr(feature = "serde", serde(rename = "DVSC"))]
Dvsc,
#[yaserde(rename = "DVSE")]
#[cfg_attr(feature = "serde", serde(rename = "DVSE"))]
Dvse,
#[yaserde(rename = "INTR")]
#[cfg_attr(feature = "serde", serde(rename = "INTR"))]
Intr,
#[yaserde(rename = "LIQU")]
#[cfg_attr(feature = "serde", serde(rename = "LIQU"))]
Liqu,
#[yaserde(rename = "SOFF")]
#[cfg_attr(feature = "serde", serde(rename = "SOFF"))]
Soff,
#[yaserde(rename = "SPLF")]
#[cfg_attr(feature = "serde", serde(rename = "SPLF"))]
Splf,
#[yaserde(rename = "BONU")]
#[cfg_attr(feature = "serde", serde(rename = "BONU"))]
Bonu,
#[yaserde(rename = "EXOF")]
#[cfg_attr(feature = "serde", serde(rename = "EXOF"))]
Exof,
#[yaserde(rename = "MRGR")]
#[cfg_attr(feature = "serde", serde(rename = "MRGR"))]
Mrgr,
__Unknown__(String),
}
impl Default for IntermediateSecurityDistributionType5Code {
fn default() -> IntermediateSecurityDistributionType5Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for IntermediateSecurityDistributionType5Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.036.002.16")]
pub struct IssuerOfferorTaxabilityIndicator1Choice {
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: Option<IssuerTaxability2Code>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<GenericIdentification47>,
}
impl Validate for IssuerOfferorTaxabilityIndicator1Choice {}
#[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.036.002.16")]
pub enum IssuerTaxability2Code {
#[yaserde(rename = "TXBL")]
#[cfg_attr(feature = "serde", serde(rename = "TXBL"))]
Txbl,
__Unknown__(String),
}
impl Default for IssuerTaxability2Code {
fn default() -> IssuerTaxability2Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for IssuerTaxability2Code {}
#[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.036.002.16")]
pub enum LotteryType1Code {
#[yaserde(rename = "ORIG")]
#[cfg_attr(feature = "serde", serde(rename = "ORIG"))]
Orig,
#[yaserde(rename = "SUPP")]
#[cfg_attr(feature = "serde", serde(rename = "SUPP"))]
Supp,
__Unknown__(String),
}
impl Default for LotteryType1Code {
fn default() -> LotteryType1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for LotteryType1Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.036.002.16")]
pub struct LotteryTypeFormat5Choice {
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: Option<LotteryType1Code>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<GenericIdentification47>,
}
impl Validate for LotteryTypeFormat5Choice {}
#[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.036.002.16")]
pub struct MarketIdentification2Choice {
#[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 MarketIdentification2Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.036.002.16")]
pub struct MarketIdentification90 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: MarketIdentification2Choice,
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: MarketType16Choice,
}
impl Validate for MarketIdentification90 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.036.002.16")]
pub struct MarketType16Choice {
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: Option<MarketType2Code>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<GenericIdentification47>,
}
impl Validate for MarketType16Choice {}
#[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.036.002.16")]
pub enum MarketType2Code {
#[yaserde(rename = "PRIM")]
#[cfg_attr(feature = "serde", serde(rename = "PRIM"))]
Prim,
#[yaserde(rename = "SECM")]
#[cfg_attr(feature = "serde", serde(rename = "SECM"))]
Secm,
#[yaserde(rename = "OTCO")]
#[cfg_attr(feature = "serde", serde(rename = "OTCO"))]
Otco,
#[yaserde(rename = "VARI")]
#[cfg_attr(feature = "serde", serde(rename = "VARI"))]
Vari,
#[yaserde(rename = "EXCH")]
#[cfg_attr(feature = "serde", serde(rename = "EXCH"))]
Exch,
__Unknown__(String),
}
impl Default for MarketType2Code {
fn default() -> MarketType2Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for MarketType2Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max140Text (pub String);
crate::simple_type!(Max140Text);
impl Validate for Max140Text {
fn validate(&self) -> Result<(), String> {
#[allow(clippy::len_zero)]
if self.0.len() < 1 {
return Err(format!("MinLength validation error. \nExpected: 0 length >= 1 \nActual: 0 length == {}", self.0.len()));
}
if self.0.len() > 140 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 140 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max16Text (pub String);
crate::simple_type!(Max16Text);
impl Validate for Max16Text {
fn validate(&self) -> Result<(), String> {
#[allow(clippy::len_zero)]
if self.0.len() < 1 {
return Err(format!("MinLength validation error. \nExpected: 0 length >= 1 \nActual: 0 length == {}", self.0.len()));
}
if self.0.len() > 16 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 16 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct 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 Max4AlphaNumericText (pub String);
crate::simple_type!(Max4AlphaNumericText);
impl Validate for Max4AlphaNumericText {
fn validate(&self) -> Result<(), String> {
#[allow(clippy::len_zero)]
if self.0.len() < 1 {
return Err(format!("MinLength validation error. \nExpected: 0 length >= 1 \nActual: 0 length == {}", self.0.len()));
}
if self.0.len() > 4 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 4 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max5NumericText (pub String);
crate::simple_type!(Max5NumericText);
impl Validate for Max5NumericText {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max70Text (pub String);
crate::simple_type!(Max70Text);
impl Validate for Max70Text {
fn validate(&self) -> Result<(), String> {
#[allow(clippy::len_zero)]
if self.0.len() < 1 {
return Err(format!("MinLength validation error. \nExpected: 0 length >= 1 \nActual: 0 length == {}", self.0.len()));
}
if self.0.len() > 70 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 70 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:seev.036.002.16")]
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(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:seev.036.002.16")]
pub struct NetDividendRateFormat41Choice {
#[yaserde(rename = "Amt")]
#[cfg_attr(feature = "serde", serde(rename = "Amt"))]
pub amt: Option<RestrictedFINActiveCurrencyAnd13DecimalAmount>,
#[yaserde(rename = "AmtAndRateSts")]
#[cfg_attr(feature = "serde", serde(rename = "AmtAndRateSts"))]
pub amt_and_rate_sts: Option<AmountAndRateStatus2>,
#[yaserde(rename = "RateTpAndAmtAndRateSts")]
#[cfg_attr(feature = "serde", serde(rename = "RateTpAndAmtAndRateSts"))]
pub rate_tp_and_amt_and_rate_sts: Option<RateTypeAndAmountAndStatus60>,
}
impl Validate for NetDividendRateFormat41Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.036.002.16")]
pub struct NetDividendRateFormat42Choice {
#[yaserde(rename = "Amt")]
#[cfg_attr(feature = "serde", serde(rename = "Amt"))]
pub amt: Option<RestrictedFINActiveCurrencyAnd13DecimalAmount>,
#[yaserde(rename = "AmtAndRateSts")]
#[cfg_attr(feature = "serde", serde(rename = "AmtAndRateSts"))]
pub amt_and_rate_sts: Option<AmountAndRateStatus2>,
#[yaserde(rename = "RateTpAndAmtAndRateSts")]
#[cfg_attr(feature = "serde", serde(rename = "RateTpAndAmtAndRateSts"))]
pub rate_tp_and_amt_and_rate_sts: Option<RateTypeAndAmountAndStatus62>,
}
impl Validate for NetDividendRateFormat42Choice {}
#[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.036.002.16")]
pub enum NetDividendRateType6Code {
#[yaserde(rename = "CAPO")]
#[cfg_attr(feature = "serde", serde(rename = "CAPO"))]
Capo,
#[yaserde(rename = "CDFI")]
#[cfg_attr(feature = "serde", serde(rename = "CDFI"))]
Cdfi,
#[yaserde(rename = "FLFR")]
#[cfg_attr(feature = "serde", serde(rename = "FLFR"))]
Flfr,
#[yaserde(rename = "INCO")]
#[cfg_attr(feature = "serde", serde(rename = "INCO"))]
Inco,
#[yaserde(rename = "INTR")]
#[cfg_attr(feature = "serde", serde(rename = "INTR"))]
Intr,
#[yaserde(rename = "REES")]
#[cfg_attr(feature = "serde", serde(rename = "REES"))]
Rees,
#[yaserde(rename = "SOIC")]
#[cfg_attr(feature = "serde", serde(rename = "SOIC"))]
Soic,
#[yaserde(rename = "TXBL")]
#[cfg_attr(feature = "serde", serde(rename = "TXBL"))]
Txbl,
#[yaserde(rename = "TXDF")]
#[cfg_attr(feature = "serde", serde(rename = "TXDF"))]
Txdf,
#[yaserde(rename = "TXFR")]
#[cfg_attr(feature = "serde", serde(rename = "TXFR"))]
Txfr,
#[yaserde(rename = "UNFR")]
#[cfg_attr(feature = "serde", serde(rename = "UNFR"))]
Unfr,
__Unknown__(String),
}
impl Default for NetDividendRateType6Code {
fn default() -> NetDividendRateType6Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for NetDividendRateType6Code {}
#[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.036.002.16")]
pub enum NetDividendRateType7Code {
#[yaserde(rename = "CAPO")]
#[cfg_attr(feature = "serde", serde(rename = "CAPO"))]
Capo,
#[yaserde(rename = "CDFI")]
#[cfg_attr(feature = "serde", serde(rename = "CDFI"))]
Cdfi,
#[yaserde(rename = "FUPU")]
#[cfg_attr(feature = "serde", serde(rename = "FUPU"))]
Fupu,
#[yaserde(rename = "FLFR")]
#[cfg_attr(feature = "serde", serde(rename = "FLFR"))]
Flfr,
#[yaserde(rename = "INCO")]
#[cfg_attr(feature = "serde", serde(rename = "INCO"))]
Inco,
#[yaserde(rename = "INTR")]
#[cfg_attr(feature = "serde", serde(rename = "INTR"))]
Intr,
#[yaserde(rename = "SOIC")]
#[cfg_attr(feature = "serde", serde(rename = "SOIC"))]
Soic,
#[yaserde(rename = "TXBL")]
#[cfg_attr(feature = "serde", serde(rename = "TXBL"))]
Txbl,
#[yaserde(rename = "TXDF")]
#[cfg_attr(feature = "serde", serde(rename = "TXDF"))]
Txdf,
#[yaserde(rename = "TXFR")]
#[cfg_attr(feature = "serde", serde(rename = "TXFR"))]
Txfr,
#[yaserde(rename = "UNFR")]
#[cfg_attr(feature = "serde", serde(rename = "UNFR"))]
Unfr,
#[yaserde(rename = "PAPU")]
#[cfg_attr(feature = "serde", serde(rename = "PAPU"))]
Papu,
#[yaserde(rename = "REES")]
#[cfg_attr(feature = "serde", serde(rename = "REES"))]
Rees,
__Unknown__(String),
}
impl Default for NetDividendRateType7Code {
fn default() -> NetDividendRateType7Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for NetDividendRateType7Code {}
#[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.036.002.16")]
pub enum NewSecuritiesIssuanceType6Code {
#[yaserde(rename = "DEFE")]
#[cfg_attr(feature = "serde", serde(rename = "DEFE"))]
Defe,
#[yaserde(rename = "NDEF")]
#[cfg_attr(feature = "serde", serde(rename = "NDEF"))]
Ndef,
#[yaserde(rename = "REFU")]
#[cfg_attr(feature = "serde", serde(rename = "REFU"))]
Refu,
#[yaserde(rename = "NREF")]
#[cfg_attr(feature = "serde", serde(rename = "NREF"))]
Nref,
__Unknown__(String),
}
impl Default for NewSecuritiesIssuanceType6Code {
fn default() -> NewSecuritiesIssuanceType6Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for NewSecuritiesIssuanceType6Code {}
#[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.036.002.16")]
pub enum OptionFeatures14Code {
#[yaserde(rename = "COND")]
#[cfg_attr(feature = "serde", serde(rename = "COND"))]
Cond,
#[yaserde(rename = "MAXC")]
#[cfg_attr(feature = "serde", serde(rename = "MAXC"))]
Maxc,
#[yaserde(rename = "MAXS")]
#[cfg_attr(feature = "serde", serde(rename = "MAXS"))]
Maxs,
#[yaserde(rename = "OPLF")]
#[cfg_attr(feature = "serde", serde(rename = "OPLF"))]
Oplf,
#[yaserde(rename = "PROR")]
#[cfg_attr(feature = "serde", serde(rename = "PROR"))]
Pror,
#[yaserde(rename = "VVPR")]
#[cfg_attr(feature = "serde", serde(rename = "VVPR"))]
Vvpr,
#[yaserde(rename = "RGRS")]
#[cfg_attr(feature = "serde", serde(rename = "RGRS"))]
Rgrs,
#[yaserde(rename = "RNET")]
#[cfg_attr(feature = "serde", serde(rename = "RNET"))]
Rnet,
__Unknown__(String),
}
impl Default for OptionFeatures14Code {
fn default() -> OptionFeatures14Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for OptionFeatures14Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.036.002.16")]
pub struct OptionFeaturesFormat30Choice {
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: Option<OptionFeatures14Code>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<GenericIdentification47>,
}
impl Validate for OptionFeaturesFormat30Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.036.002.16")]
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.036.002.16")]
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.036.002.16")]
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.036.002.16")]
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.036.002.16")]
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.036.002.16")]
pub struct Pagination1 {
#[yaserde(rename = "PgNb")]
#[cfg_attr(feature = "serde", serde(rename = "PgNb"))]
pub pg_nb: Max5NumericText,
#[yaserde(rename = "LastPgInd")]
#[cfg_attr(feature = "serde", serde(rename = "LastPgInd"))]
pub last_pg_ind: YesNoIndicator,
}
impl Validate for Pagination1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:seev.036.002.16")]
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.036.002.16")]
pub struct PartyIdentification137Choice {
#[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>,
}
impl Validate for PartyIdentification137Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.036.002.16")]
pub struct PartyIdentification147Choice {
#[yaserde(rename = "BICFI")]
#[cfg_attr(feature = "serde", serde(rename = "BICFI"))]
pub bicfi: Option<Bicfidec2014Identifier>,
#[yaserde(rename = "NmAndAdr")]
#[cfg_attr(feature = "serde", serde(rename = "NmAndAdr"))]
pub nm_and_adr: Option<NameAndAddress12>,
#[yaserde(rename = "PrtryId")]
#[cfg_attr(feature = "serde", serde(rename = "PrtryId"))]
pub prtry_id: Option<GenericIdentification84>,
}
impl Validate for PartyIdentification147Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.036.002.16")]
pub struct PartyIdentification258Choice {
#[yaserde(rename = "AnyBIC")]
#[cfg_attr(feature = "serde", serde(rename = "AnyBIC"))]
pub any_b_i_c: Option<AnyBICDec2014Identifier>,
#[yaserde(rename = "NmAndAdr")]
#[cfg_attr(feature = "serde", serde(rename = "NmAndAdr"))]
pub nm_and_adr: Option<NameAndAddress12>,
#[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>,
}
impl Validate for PartyIdentification258Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.036.002.16")]
pub struct PartyIdentification318 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: PartyIdentification258Choice,
#[yaserde(rename = "PrcgId")]
#[cfg_attr(feature = "serde", serde(rename = "PrcgId"))]
pub prcg_id: RestrictedFINXMax16Text,
#[yaserde(rename = "AltrnId")]
#[cfg_attr(feature = "serde", serde(rename = "AltrnId"))]
pub altrn_id: Vec<AlternatePartyIdentification9>,
}
impl Validate for PartyIdentification318 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.036.002.16")]
pub struct PartyIdentificationAndAccount205 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: PartyIdentification137Choice,
#[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 = "PrcgId")]
#[cfg_attr(feature = "serde", serde(rename = "PrcgId"))]
pub prcg_id: RestrictedFINXMax16Text,
#[yaserde(rename = "AltrnId")]
#[cfg_attr(feature = "serde", serde(rename = "AltrnId"))]
pub altrn_id: Vec<AlternatePartyIdentification9>,
}
impl Validate for PartyIdentificationAndAccount205 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.036.002.16")]
pub struct PartyIdentificationAndAccount231 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: PartyIdentification137Choice,
#[yaserde(rename = "CshAcct")]
#[cfg_attr(feature = "serde", serde(rename = "CshAcct"))]
pub csh_acct: CashAccountIdentification12Choice,
#[yaserde(rename = "PrcgId")]
#[cfg_attr(feature = "serde", serde(rename = "PrcgId"))]
pub prcg_id: RestrictedFINXMax16Text,
#[yaserde(rename = "AltrnId")]
#[cfg_attr(feature = "serde", serde(rename = "AltrnId"))]
pub altrn_id: AlternatePartyIdentification9,
}
impl Validate for PartyIdentificationAndAccount231 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.036.002.16")]
pub struct PartyIdentificationAndAccount232 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: PartyIdentification147Choice,
#[yaserde(rename = "CshAcct")]
#[cfg_attr(feature = "serde", serde(rename = "CshAcct"))]
pub csh_acct: CashAccountIdentification12Choice,
#[yaserde(rename = "PrcgId")]
#[cfg_attr(feature = "serde", serde(rename = "PrcgId"))]
pub prcg_id: RestrictedFINXMax16Text,
#[yaserde(rename = "AltrnId")]
#[cfg_attr(feature = "serde", serde(rename = "AltrnId"))]
pub altrn_id: AlternatePartyIdentification9,
}
impl Validate for PartyIdentificationAndAccount232 {}
#[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.036.002.16")]
pub enum Payment1Code {
#[yaserde(rename = "ACTU")]
#[cfg_attr(feature = "serde", serde(rename = "ACTU"))]
Actu,
#[yaserde(rename = "CONT")]
#[cfg_attr(feature = "serde", serde(rename = "CONT"))]
Cont,
__Unknown__(String),
}
impl Default for Payment1Code {
fn default() -> Payment1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for Payment1Code {}
#[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.036.002.16")]
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.036.002.16")]
pub struct Period11 {
#[yaserde(rename = "StartDt")]
#[cfg_attr(feature = "serde", serde(rename = "StartDt"))]
pub start_dt: DateFormat45Choice,
#[yaserde(rename = "EndDt")]
#[cfg_attr(feature = "serde", serde(rename = "EndDt"))]
pub end_dt: DateFormat45Choice,
}
impl Validate for Period11 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.036.002.16")]
pub struct PriceDetails41 {
#[yaserde(rename = "GncCshPricPdPerPdct")]
#[cfg_attr(feature = "serde", serde(rename = "GncCshPricPdPerPdct"))]
pub gnc_csh_pric_pd_per_pdct: PriceFormat86Choice,
#[yaserde(rename = "GncCshPricRcvdPerPdct")]
#[cfg_attr(feature = "serde", serde(rename = "GncCshPricRcvdPerPdct"))]
pub gnc_csh_pric_rcvd_per_pdct: PriceFormat87Choice,
#[yaserde(rename = "CshInLieuOfShrPric")]
#[cfg_attr(feature = "serde", serde(rename = "CshInLieuOfShrPric"))]
pub csh_in_lieu_of_shr_pric: PriceFormat85Choice,
}
impl Validate for PriceDetails41 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.036.002.16")]
pub struct PriceFormat85Choice {
#[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 PriceFormat85Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.036.002.16")]
pub struct PriceFormat86Choice {
#[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 = "IndxPts")]
#[cfg_attr(feature = "serde", serde(rename = "IndxPts"))]
pub indx_pts: Option<RestrictedFINDecimalNumber>,
}
impl Validate for PriceFormat86Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.036.002.16")]
pub struct PriceFormat87Choice {
#[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 = "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 PriceFormat87Choice {}
#[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.036.002.16")]
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(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:seev.036.002.16")]
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.036.002.16")]
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.036.002.16")]
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.036.002.16")]
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.036.002.16")]
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.036.002.16")]
pub struct Quantity54Choice {
#[yaserde(rename = "Qty")]
#[cfg_attr(feature = "serde", serde(rename = "Qty"))]
pub qty: Option<FinancialInstrumentQuantity36Choice>,
#[yaserde(rename = "OrgnlAndCurFace")]
#[cfg_attr(feature = "serde", serde(rename = "OrgnlAndCurFace"))]
pub orgnl_and_cur_face: Option<OriginalAndCurrentQuantities4>,
}
impl Validate for Quantity54Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.036.002.16")]
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.036.002.16")]
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.036.002.16")]
pub struct QuantityToQuantityRatio2 {
#[yaserde(rename = "Qty1")]
#[cfg_attr(feature = "serde", serde(rename = "Qty1"))]
pub qty_1: RestrictedFINDecimalNumber,
#[yaserde(rename = "Qty2")]
#[cfg_attr(feature = "serde", serde(rename = "Qty2"))]
pub qty_2: RestrictedFINDecimalNumber,
}
impl Validate for QuantityToQuantityRatio2 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.036.002.16")]
pub struct Rate45 {
#[yaserde(rename = "AddtlTax")]
#[cfg_attr(feature = "serde", serde(rename = "AddtlTax"))]
pub addtl_tax: RateAndAmountFormat67Choice,
#[yaserde(rename = "ChrgsFees")]
#[cfg_attr(feature = "serde", serde(rename = "ChrgsFees"))]
pub chrgs_fees: RateAndAmountFormat67Choice,
#[yaserde(rename = "FsclStmp")]
#[cfg_attr(feature = "serde", serde(rename = "FsclStmp"))]
pub fscl_stmp: Percentage14Rate,
#[yaserde(rename = "GrssDstrbtnRate")]
#[cfg_attr(feature = "serde", serde(rename = "GrssDstrbtnRate"))]
pub grss_dstrbtn_rate: Vec<GrossDividendRateFormat40Choice>,
#[yaserde(rename = "EarlySlctnFeeRate")]
#[cfg_attr(feature = "serde", serde(rename = "EarlySlctnFeeRate"))]
pub early_slctn_fee_rate: SolicitationFeeRateFormat13Choice,
#[yaserde(rename = "ThrdPtyIncntivRate")]
#[cfg_attr(feature = "serde", serde(rename = "ThrdPtyIncntivRate"))]
pub thrd_pty_incntiv_rate: RateAndAmountFormat67Choice,
#[yaserde(rename = "GrssIntrstRateUsdForPmt")]
#[cfg_attr(feature = "serde", serde(rename = "GrssIntrstRateUsdForPmt"))]
pub grss_intrst_rate_usd_for_pmt: Vec<InterestRateUsedForPaymentFormat19Choice>,
#[yaserde(rename = "NetDstrbtnRate")]
#[cfg_attr(feature = "serde", serde(rename = "NetDstrbtnRate"))]
pub net_dstrbtn_rate: Vec<NetDividendRateFormat42Choice>,
#[yaserde(rename = "AplblRate")]
#[cfg_attr(feature = "serde", serde(rename = "AplblRate"))]
pub aplbl_rate: Percentage14Rate,
#[yaserde(rename = "SlctnFeeRate")]
#[cfg_attr(feature = "serde", serde(rename = "SlctnFeeRate"))]
pub slctn_fee_rate: SolicitationFeeRateFormat13Choice,
#[yaserde(rename = "TaxCdtRate")]
#[cfg_attr(feature = "serde", serde(rename = "TaxCdtRate"))]
pub tax_cdt_rate: RateFormat28Choice,
#[yaserde(rename = "WhldgTaxRate")]
#[cfg_attr(feature = "serde", serde(rename = "WhldgTaxRate"))]
pub whldg_tax_rate: Vec<RateAndAmountFormat66Choice>,
#[yaserde(rename = "ScndLvlTax")]
#[cfg_attr(feature = "serde", serde(rename = "ScndLvlTax"))]
pub scnd_lvl_tax: Vec<RateAndAmountFormat66Choice>,
#[yaserde(rename = "TaxOnIncm")]
#[cfg_attr(feature = "serde", serde(rename = "TaxOnIncm"))]
pub tax_on_incm: RateAndAmountFormat67Choice,
#[yaserde(rename = "TaxOnPrfts")]
#[cfg_attr(feature = "serde", serde(rename = "TaxOnPrfts"))]
pub tax_on_prfts: Percentage14Rate,
#[yaserde(rename = "TaxRclmRate")]
#[cfg_attr(feature = "serde", serde(rename = "TaxRclmRate"))]
pub tax_rclm_rate: Percentage14Rate,
#[yaserde(rename = "EqulstnRate")]
#[cfg_attr(feature = "serde", serde(rename = "EqulstnRate"))]
pub equlstn_rate: RestrictedFINActiveCurrencyAnd13DecimalAmount,
#[yaserde(rename = "DmdRate")]
#[cfg_attr(feature = "serde", serde(rename = "DmdRate"))]
pub dmd_rate: Vec<RateAndAmountFormat68Choice>,
}
impl Validate for Rate45 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.036.002.16")]
pub struct RateAndAmountFormat66Choice {
#[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<RateTypeAndPercentageRate16>,
}
impl Validate for RateAndAmountFormat66Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.036.002.16")]
pub struct RateAndAmountFormat67Choice {
#[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 RateAndAmountFormat67Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.036.002.16")]
pub struct RateAndAmountFormat68Choice {
#[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 = "RateTpAndAmtAndRateSts")]
#[cfg_attr(feature = "serde", serde(rename = "RateTpAndAmtAndRateSts"))]
pub rate_tp_and_amt_and_rate_sts: Option<RateTypeAndAmountAndStatus54>,
#[yaserde(rename = "RateTpAndRate")]
#[cfg_attr(feature = "serde", serde(rename = "RateTpAndRate"))]
pub rate_tp_and_rate: Option<RateTypeAndPercentageRate17>,
}
impl Validate for RateAndAmountFormat68Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.036.002.16")]
pub struct RateFormat28Choice {
#[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 RateFormat28Choice {}
#[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.036.002.16")]
pub enum RateStatus1Code {
#[yaserde(rename = "ACTU")]
#[cfg_attr(feature = "serde", serde(rename = "ACTU"))]
Actu,
#[yaserde(rename = "INDI")]
#[cfg_attr(feature = "serde", serde(rename = "INDI"))]
Indi,
__Unknown__(String),
}
impl Default for RateStatus1Code {
fn default() -> RateStatus1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for RateStatus1Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.036.002.16")]
pub struct RateStatus4Choice {
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: Option<RateStatus1Code>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<GenericIdentification47>,
}
impl Validate for RateStatus4Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.036.002.16")]
pub struct RateType45Choice {
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: Option<RateType7Code>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<GenericIdentification47>,
}
impl Validate for RateType45Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.036.002.16")]
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.036.002.16")]
pub struct RateType47Choice {
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: Option<DividendRateType1Code>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<GenericIdentification47>,
}
impl Validate for RateType47Choice {}
#[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.036.002.16")]
pub enum RateType7Code {
#[yaserde(rename = "SCHD")]
#[cfg_attr(feature = "serde", serde(rename = "SCHD"))]
Schd,
#[yaserde(rename = "USCD")]
#[cfg_attr(feature = "serde", serde(rename = "USCD"))]
Uscd,
__Unknown__(String),
}
impl Default for RateType7Code {
fn default() -> RateType7Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for RateType7Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.036.002.16")]
pub struct RateType80Choice {
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: Option<GrossDividendRateType6Code>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<GenericIdentification47>,
}
impl Validate for RateType80Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.036.002.16")]
pub struct RateType81Choice {
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: Option<NetDividendRateType6Code>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<GenericIdentification47>,
}
impl Validate for RateType81Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.036.002.16")]
pub struct RateType82Choice {
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: Option<GrossDividendRateType7Code>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<GenericIdentification47>,
}
impl Validate for RateType82Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.036.002.16")]
pub struct RateType83Choice {
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: Option<NetDividendRateType7Code>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<GenericIdentification47>,
}
impl Validate for RateType83Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.036.002.16")]
pub struct RateTypeAndAmountAndStatus32 {
#[yaserde(rename = "RateTp")]
#[cfg_attr(feature = "serde", serde(rename = "RateTp"))]
pub rate_tp: RateType45Choice,
#[yaserde(rename = "Amt")]
#[cfg_attr(feature = "serde", serde(rename = "Amt"))]
pub amt: RestrictedFINActiveCurrencyAnd13DecimalAmount,
#[yaserde(rename = "RateSts")]
#[cfg_attr(feature = "serde", serde(rename = "RateSts"))]
pub rate_sts: RateStatus4Choice,
}
impl Validate for RateTypeAndAmountAndStatus32 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.036.002.16")]
pub struct RateTypeAndAmountAndStatus33 {
#[yaserde(rename = "RateTp")]
#[cfg_attr(feature = "serde", serde(rename = "RateTp"))]
pub rate_tp: RateType47Choice,
#[yaserde(rename = "Amt")]
#[cfg_attr(feature = "serde", serde(rename = "Amt"))]
pub amt: RestrictedFINActiveCurrencyAnd13DecimalAmount,
#[yaserde(rename = "RateSts")]
#[cfg_attr(feature = "serde", serde(rename = "RateSts"))]
pub rate_sts: RateStatus4Choice,
}
impl Validate for RateTypeAndAmountAndStatus33 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.036.002.16")]
pub struct RateTypeAndAmountAndStatus54 {
#[yaserde(rename = "RateTp")]
#[cfg_attr(feature = "serde", serde(rename = "RateTp"))]
pub rate_tp: DeemedRateType2Choice,
#[yaserde(rename = "Amt")]
#[cfg_attr(feature = "serde", serde(rename = "Amt"))]
pub amt: RestrictedFINActiveCurrencyAnd13DecimalAmount,
#[yaserde(rename = "RateSts")]
#[cfg_attr(feature = "serde", serde(rename = "RateSts"))]
pub rate_sts: RateStatus4Choice,
}
impl Validate for RateTypeAndAmountAndStatus54 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.036.002.16")]
pub struct RateTypeAndAmountAndStatus59 {
#[yaserde(rename = "RateTp")]
#[cfg_attr(feature = "serde", serde(rename = "RateTp"))]
pub rate_tp: RateType80Choice,
#[yaserde(rename = "Amt")]
#[cfg_attr(feature = "serde", serde(rename = "Amt"))]
pub amt: RestrictedFINActiveCurrencyAnd13DecimalAmount,
#[yaserde(rename = "RateSts")]
#[cfg_attr(feature = "serde", serde(rename = "RateSts"))]
pub rate_sts: RateStatus4Choice,
}
impl Validate for RateTypeAndAmountAndStatus59 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.036.002.16")]
pub struct RateTypeAndAmountAndStatus60 {
#[yaserde(rename = "RateTp")]
#[cfg_attr(feature = "serde", serde(rename = "RateTp"))]
pub rate_tp: RateType81Choice,
#[yaserde(rename = "Amt")]
#[cfg_attr(feature = "serde", serde(rename = "Amt"))]
pub amt: RestrictedFINActiveCurrencyAnd13DecimalAmount,
#[yaserde(rename = "RateSts")]
#[cfg_attr(feature = "serde", serde(rename = "RateSts"))]
pub rate_sts: RateStatus4Choice,
}
impl Validate for RateTypeAndAmountAndStatus60 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.036.002.16")]
pub struct RateTypeAndAmountAndStatus61 {
#[yaserde(rename = "RateTp")]
#[cfg_attr(feature = "serde", serde(rename = "RateTp"))]
pub rate_tp: RateType82Choice,
#[yaserde(rename = "Amt")]
#[cfg_attr(feature = "serde", serde(rename = "Amt"))]
pub amt: RestrictedFINActiveCurrencyAnd13DecimalAmount,
#[yaserde(rename = "RateSts")]
#[cfg_attr(feature = "serde", serde(rename = "RateSts"))]
pub rate_sts: RateStatus4Choice,
}
impl Validate for RateTypeAndAmountAndStatus61 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.036.002.16")]
pub struct RateTypeAndAmountAndStatus62 {
#[yaserde(rename = "RateTp")]
#[cfg_attr(feature = "serde", serde(rename = "RateTp"))]
pub rate_tp: RateType83Choice,
#[yaserde(rename = "Amt")]
#[cfg_attr(feature = "serde", serde(rename = "Amt"))]
pub amt: RestrictedFINActiveCurrencyAnd13DecimalAmount,
#[yaserde(rename = "RateSts")]
#[cfg_attr(feature = "serde", serde(rename = "RateSts"))]
pub rate_sts: RateStatus4Choice,
}
impl Validate for RateTypeAndAmountAndStatus62 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.036.002.16")]
pub struct RateTypeAndPercentageRate16 {
#[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 RateTypeAndPercentageRate16 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.036.002.16")]
pub struct RateTypeAndPercentageRate17 {
#[yaserde(rename = "RateTp")]
#[cfg_attr(feature = "serde", serde(rename = "RateTp"))]
pub rate_tp: DeemedRateType2Choice,
#[yaserde(rename = "Rate")]
#[cfg_attr(feature = "serde", serde(rename = "Rate"))]
pub rate: Percentage14Rate,
}
impl Validate for RateTypeAndPercentageRate17 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.036.002.16")]
pub struct RatioFormat21Choice {
#[yaserde(rename = "QtyToQty")]
#[cfg_attr(feature = "serde", serde(rename = "QtyToQty"))]
pub qty_to_qty: Option<QuantityToQuantityRatio2>,
#[yaserde(rename = "AmtToAmt")]
#[cfg_attr(feature = "serde", serde(rename = "AmtToAmt"))]
pub amt_to_amt: Option<AmountToAmountRatio3>,
}
impl Validate for RatioFormat21Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.036.002.16")]
pub struct RatioFormat22Choice {
#[yaserde(rename = "QtyToQty")]
#[cfg_attr(feature = "serde", serde(rename = "QtyToQty"))]
pub qty_to_qty: Option<QuantityToQuantityRatio2>,
#[yaserde(rename = "AmtToAmt")]
#[cfg_attr(feature = "serde", serde(rename = "AmtToAmt"))]
pub amt_to_amt: Option<AmountToAmountRatio3>,
#[yaserde(rename = "AmtToQty")]
#[cfg_attr(feature = "serde", serde(rename = "AmtToQty"))]
pub amt_to_qty: Option<AmountAndQuantityRatio5>,
#[yaserde(rename = "QtyToAmt")]
#[cfg_attr(feature = "serde", serde(rename = "QtyToAmt"))]
pub qty_to_amt: Option<AmountAndQuantityRatio5>,
}
impl Validate for RatioFormat22Choice {}
#[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.036.002.16")]
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.036.002.16")]
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 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 RestrictedFINX2Max34Text (pub String);
crate::simple_type!(RestrictedFINX2Max34Text);
impl Validate for RestrictedFINX2Max34Text {
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 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 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.036.002.16")]
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.036.002.16")]
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(PartialEq, Debug, Clone, YaSerialize, YaDeserialize)]#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:seev.036.002.16")]
pub enum SafekeepingPlace3Code {
#[yaserde(rename = "SHHE")]
#[cfg_attr(feature = "serde", serde(rename = "SHHE"))]
Shhe,
__Unknown__(String),
}
impl Default for SafekeepingPlace3Code {
fn default() -> SafekeepingPlace3Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for SafekeepingPlace3Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.036.002.16")]
pub struct SafekeepingPlaceFormat49Choice {
#[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 SafekeepingPlaceFormat49Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.036.002.16")]
pub struct SafekeepingPlaceFormat50Choice {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Option<SafekeepingPlaceTypeAndText15>,
#[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 SafekeepingPlaceFormat50Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.036.002.16")]
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.036.002.16")]
pub struct SafekeepingPlaceTypeAndText15 {
#[yaserde(rename = "SfkpgPlcTp")]
#[cfg_attr(feature = "serde", serde(rename = "SfkpgPlcTp"))]
pub sfkpg_plc_tp: SafekeepingPlace3Code,
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: RestrictedFINXMax30Text,
}
impl Validate for SafekeepingPlaceTypeAndText15 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.036.002.16")]
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.036.002.16")]
pub struct SecuritiesOption115 {
#[yaserde(rename = "FinInstrmId")]
#[cfg_attr(feature = "serde", serde(rename = "FinInstrmId"))]
pub fin_instrm_id: SecurityIdentification20,
#[yaserde(rename = "CdtDbtInd")]
#[cfg_attr(feature = "serde", serde(rename = "CdtDbtInd"))]
pub cdt_dbt_ind: CreditDebitCode,
#[yaserde(rename = "TempFinInstrmInd")]
#[cfg_attr(feature = "serde", serde(rename = "TempFinInstrmInd"))]
pub temp_fin_instrm_ind: TemporaryFinancialInstrumentIndicator4Choice,
#[yaserde(rename = "NewSctiesIssncInd")]
#[cfg_attr(feature = "serde", serde(rename = "NewSctiesIssncInd"))]
pub new_scties_issnc_ind: NewSecuritiesIssuanceType6Code,
#[yaserde(rename = "IssrOfferrTaxbltyInd")]
#[cfg_attr(feature = "serde", serde(rename = "IssrOfferrTaxbltyInd"))]
pub issr_offerr_taxblty_ind: IssuerOfferorTaxabilityIndicator1Choice,
#[yaserde(rename = "IncmTp")]
#[cfg_attr(feature = "serde", serde(rename = "IncmTp"))]
pub incm_tp: GenericIdentification47,
#[yaserde(rename = "OthrIncmTp")]
#[cfg_attr(feature = "serde", serde(rename = "OthrIncmTp"))]
pub othr_incm_tp: Vec<GenericIdentification47>,
#[yaserde(rename = "XmptnTp")]
#[cfg_attr(feature = "serde", serde(rename = "XmptnTp"))]
pub xmptn_tp: Vec<GenericIdentification47>,
#[yaserde(rename = "CtryOfIncmSrc")]
#[cfg_attr(feature = "serde", serde(rename = "CtryOfIncmSrc"))]
pub ctry_of_incm_src: CountryCode,
#[yaserde(rename = "PstngQty")]
#[cfg_attr(feature = "serde", serde(rename = "PstngQty"))]
pub pstng_qty: Quantity54Choice,
#[yaserde(rename = "SfkpgPlc")]
#[cfg_attr(feature = "serde", serde(rename = "SfkpgPlc"))]
pub sfkpg_plc: SafekeepingPlaceFormat50Choice,
#[yaserde(rename = "FrctnDspstn")]
#[cfg_attr(feature = "serde", serde(rename = "FrctnDspstn"))]
pub frctn_dspstn: FractionDispositionType30Choice,
#[yaserde(rename = "CcyOptn")]
#[cfg_attr(feature = "serde", serde(rename = "CcyOptn"))]
pub ccy_optn: ActiveCurrencyCode,
#[yaserde(rename = "DtDtls")]
#[cfg_attr(feature = "serde", serde(rename = "DtDtls"))]
pub dt_dtls: SecurityDate26,
#[yaserde(rename = "RateDtls")]
#[cfg_attr(feature = "serde", serde(rename = "RateDtls"))]
pub rate_dtls: CorporateActionRate132,
#[yaserde(rename = "PricDtls")]
#[cfg_attr(feature = "serde", serde(rename = "PricDtls"))]
pub pric_dtls: CorporateActionPrice93,
#[yaserde(rename = "AmtDtls")]
#[cfg_attr(feature = "serde", serde(rename = "AmtDtls"))]
pub amt_dtls: CorporateActionAmounts61,
#[yaserde(rename = "RcvgSttlmPties")]
#[cfg_attr(feature = "serde", serde(rename = "RcvgSttlmPties"))]
pub rcvg_sttlm_pties: SettlementParties130,
#[yaserde(rename = "DlvrgSttlmPties")]
#[cfg_attr(feature = "serde", serde(rename = "DlvrgSttlmPties"))]
pub dlvrg_sttlm_pties: SettlementParties130,
}
impl Validate for SecuritiesOption115 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.036.002.16")]
pub struct SecurityDate26 {
#[yaserde(rename = "PstngDt")]
#[cfg_attr(feature = "serde", serde(rename = "PstngDt"))]
pub pstng_dt: DateAndDateTime2Choice,
#[yaserde(rename = "AvlblDt")]
#[cfg_attr(feature = "serde", serde(rename = "AvlblDt"))]
pub avlbl_dt: DateFormat41Choice,
#[yaserde(rename = "PrpssDt")]
#[cfg_attr(feature = "serde", serde(rename = "PrpssDt"))]
pub prpss_dt: DateFormat41Choice,
#[yaserde(rename = "DvddRnkgDt")]
#[cfg_attr(feature = "serde", serde(rename = "DvddRnkgDt"))]
pub dvdd_rnkg_dt: DateFormat41Choice,
#[yaserde(rename = "EarlstPmtDt")]
#[cfg_attr(feature = "serde", serde(rename = "EarlstPmtDt"))]
pub earlst_pmt_dt: DateFormat41Choice,
#[yaserde(rename = "PmtDt")]
#[cfg_attr(feature = "serde", serde(rename = "PmtDt"))]
pub pmt_dt: DateFormat41Choice,
}
impl Validate for SecurityDate26 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.036.002.16")]
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(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:seev.036.002.16")]
pub struct SettlementParties130 {
#[yaserde(rename = "Dpstry")]
#[cfg_attr(feature = "serde", serde(rename = "Dpstry"))]
pub dpstry: PartyIdentification318,
#[yaserde(rename = "Pty1")]
#[cfg_attr(feature = "serde", serde(rename = "Pty1"))]
pub pty_1: PartyIdentificationAndAccount205,
#[yaserde(rename = "Pty2")]
#[cfg_attr(feature = "serde", serde(rename = "Pty2"))]
pub pty_2: PartyIdentificationAndAccount205,
#[yaserde(rename = "Pty3")]
#[cfg_attr(feature = "serde", serde(rename = "Pty3"))]
pub pty_3: PartyIdentificationAndAccount205,
}
impl Validate for SettlementParties130 {}
#[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.036.002.16")]
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.036.002.16")]
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.036.002.16")]
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.036.002.16")]
pub struct SolicitationFeeRateFormat13Choice {
#[yaserde(rename = "Rate")]
#[cfg_attr(feature = "serde", serde(rename = "Rate"))]
pub rate: Option<Percentage14Rate>,
#[yaserde(rename = "AmtToQty")]
#[cfg_attr(feature = "serde", serde(rename = "AmtToQty"))]
pub amt_to_qty: Option<AmountAndQuantityRatio5>,
#[yaserde(rename = "Amt")]
#[cfg_attr(feature = "serde", serde(rename = "Amt"))]
pub amt: Option<RestrictedFINActiveCurrencyAnd13DecimalAmount>,
}
impl Validate for SolicitationFeeRateFormat13Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.036.002.16")]
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.036.002.16")]
pub struct SupplementaryDataEnvelope1 {}
impl Validate for SupplementaryDataEnvelope1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.036.002.16")]
pub struct TaxVoucher5 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: RestrictedFINXMax16Text,
#[yaserde(rename = "BrgnDt")]
#[cfg_attr(feature = "serde", serde(rename = "BrgnDt"))]
pub brgn_dt: DateAndDateTime2Choice,
#[yaserde(rename = "BrgnSttlmDt")]
#[cfg_attr(feature = "serde", serde(rename = "BrgnSttlmDt"))]
pub brgn_sttlm_dt: DateAndDateTime2Choice,
}
impl Validate for TaxVoucher5 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.036.002.16")]
pub struct TemporaryFinancialInstrumentIndicator4Choice {
#[yaserde(rename = "TempInd")]
#[cfg_attr(feature = "serde", serde(rename = "TempInd"))]
pub temp_ind: Option<YesNoIndicator>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<GenericIdentification47>,
}
impl Validate for TemporaryFinancialInstrumentIndicator4Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.036.002.16")]
pub struct TotalEligibleBalanceFormat11 {
#[yaserde(rename = "Bal")]
#[cfg_attr(feature = "serde", serde(rename = "Bal"))]
pub bal: Quantity80Choice,
#[yaserde(rename = "FullPrdUnits")]
#[cfg_attr(feature = "serde", serde(rename = "FullPrdUnits"))]
pub full_prd_units: SignedQuantityFormat13,
#[yaserde(rename = "PartWayPrdUnits")]
#[cfg_attr(feature = "serde", serde(rename = "PartWayPrdUnits"))]
pub part_way_prd_units: SignedQuantityFormat13,
}
impl Validate for TotalEligibleBalanceFormat11 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.036.002.16")]
pub struct TransactionIdentification1 {
#[yaserde(rename = "MktInfrstrctrTxId")]
#[cfg_attr(feature = "serde", serde(rename = "MktInfrstrctrTxId"))]
pub mkt_infrstrctr_tx_id: RestrictedFINMax35Text,
}
impl Validate for TransactionIdentification1 {}
#[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.036.002.16")]
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.036.002.16")]
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 = "036";
const VARIANT: &'static str = "002";
const VERSION: &'static str = "16";
const MESSAGE_NAME: &'static str = "seev.036.002.16";
const NAMESPACE: &'static str = "urn:iso:std:iso:20022:tech:xsd:seev.036.002.16";
}