#![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)]
pub struct ActiveCurrencyCode (pub String);
crate::simple_type!(ActiveCurrencyCode);
impl Validate for ActiveCurrencyCode {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct ActiveOrHistoricCurrencyAnd13DecimalAmountSimpleType (pub String);
crate::simple_type!(ActiveOrHistoricCurrencyAnd13DecimalAmountSimpleType);
impl Validate for ActiveOrHistoricCurrencyAnd13DecimalAmountSimpleType {
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:colr.022.001.01")]
pub struct ActiveOrHistoricCurrencyAnd13DecimalAmount {
#[yaserde(text)]
pub value: String,
#[yaserde(attribute, rename = "Ccy")]
#[cfg_attr(feature = "serde", serde(rename = "Ccy"))]
pub ccy: ActiveOrHistoricCurrencyCode,
}
impl Validate for ActiveOrHistoricCurrencyAnd13DecimalAmount {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct ActiveOrHistoricCurrencyAndAmountSimpleType (pub String);
crate::simple_type!(ActiveOrHistoricCurrencyAndAmountSimpleType);
impl Validate for ActiveOrHistoricCurrencyAndAmountSimpleType {
fn validate(&self) -> Result<(), String> {
if self.0 < "0".parse::<String>().unwrap() {
return Err(format!("MinInclusive validation error: invalid value of 0! \nExpected: 0 >= 0.\nActual: 0 == {}", self.0));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:colr.022.001.01")]
pub struct ActiveOrHistoricCurrencyAndAmount {
#[yaserde(text)]
pub value: String,
#[yaserde(attribute, rename = "Ccy")]
#[cfg_attr(feature = "serde", serde(rename = "Ccy"))]
pub ccy: ActiveOrHistoricCurrencyCode,
}
impl Validate for ActiveOrHistoricCurrencyAndAmount {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct ActiveOrHistoricCurrencyCode (pub String);
crate::simple_type!(ActiveOrHistoricCurrencyCode);
impl Validate for ActiveOrHistoricCurrencyCode {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(PartialEq, Debug, Clone, YaSerialize, YaDeserialize)]#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:colr.022.001.01")]
pub enum AddressType2Code {
#[yaserde(rename = "ADDR")]
#[cfg_attr(feature = "serde", serde(rename = "ADDR"))]
Addr,
#[yaserde(rename = "PBOX")]
#[cfg_attr(feature = "serde", serde(rename = "PBOX"))]
Pbox,
#[yaserde(rename = "HOME")]
#[cfg_attr(feature = "serde", serde(rename = "HOME"))]
Home,
#[yaserde(rename = "BIZZ")]
#[cfg_attr(feature = "serde", serde(rename = "BIZZ"))]
Bizz,
#[yaserde(rename = "MLTO")]
#[cfg_attr(feature = "serde", serde(rename = "MLTO"))]
Mlto,
#[yaserde(rename = "DLVY")]
#[cfg_attr(feature = "serde", serde(rename = "DLVY"))]
Dlvy,
__Unknown__(String),
}
impl Default for AddressType2Code {
fn default() -> AddressType2Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for AddressType2Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:colr.022.001.01")]
pub struct AlternatePartyIdentification7 {
#[yaserde(rename = "IdTp")]
#[cfg_attr(feature = "serde", serde(rename = "IdTp"))]
pub id_tp: IdentificationType42Choice,
#[yaserde(rename = "Ctry")]
#[cfg_attr(feature = "serde", serde(rename = "Ctry"))]
pub ctry: CountryCode,
#[yaserde(rename = "AltrnId")]
#[cfg_attr(feature = "serde", serde(rename = "AltrnId"))]
pub altrn_id: Max35Text,
}
impl Validate for AlternatePartyIdentification7 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:colr.022.001.01")]
pub struct AmountAndDirection53 {
#[yaserde(rename = "Amt")]
#[cfg_attr(feature = "serde", serde(rename = "Amt"))]
pub amt: ActiveOrHistoricCurrencyAndAmount,
#[yaserde(rename = "Sgn")]
#[cfg_attr(feature = "serde", serde(rename = "Sgn"))]
pub sgn: PlusOrMinusIndicator,
}
impl Validate for AmountAndDirection53 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct AnyBICDec2014Identifier (pub String);
crate::simple_type!(AnyBICDec2014Identifier);
impl Validate for AnyBICDec2014Identifier {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:colr.022.001.01")]
pub struct BalanceQuantity13Choice {
#[yaserde(rename = "Qty")]
#[cfg_attr(feature = "serde", serde(rename = "Qty"))]
pub qty: Option<Quantity51Choice>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<GenericIdentification56>,
}
impl Validate for BalanceQuantity13Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct BaseOneRate (pub String);
crate::simple_type!(BaseOneRate);
impl Validate for BaseOneRate {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:colr.022.001.01")]
pub struct BasketIdentificationAndEligibilitySetProfile1 {
#[yaserde(rename = "PrfrntlBsktIdNb")]
#[cfg_attr(feature = "serde", serde(rename = "PrfrntlBsktIdNb"))]
pub prfrntl_bskt_id_nb: GenericIdentification1,
#[yaserde(rename = "FllbckStartgBsktId")]
#[cfg_attr(feature = "serde", serde(rename = "FllbckStartgBsktId"))]
pub fllbck_startg_bskt_id: GenericIdentification1,
#[yaserde(rename = "ExclsnBsktId")]
#[cfg_attr(feature = "serde", serde(rename = "ExclsnBsktId"))]
pub exclsn_bskt_id: GenericIdentification1,
#[yaserde(rename = "ElgbltySetPrfl")]
#[cfg_attr(feature = "serde", serde(rename = "ElgbltySetPrfl"))]
pub elgblty_set_prfl: GenericIdentification1,
}
impl Validate for BasketIdentificationAndEligibilitySetProfile1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:colr.022.001.01")]
pub struct BenchmarkCurveName13Choice {
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: Option<BenchmarkCurveName7Code>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<GenericIdentification1>,
}
impl Validate for BenchmarkCurveName13Choice {}
#[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:colr.022.001.01")]
pub enum BenchmarkCurveName7Code {
#[yaserde(rename = "BBSW")]
#[cfg_attr(feature = "serde", serde(rename = "BBSW"))]
Bbsw,
#[yaserde(rename = "BUBO")]
#[cfg_attr(feature = "serde", serde(rename = "BUBO"))]
Bubo,
#[yaserde(rename = "BCOL")]
#[cfg_attr(feature = "serde", serde(rename = "BCOL"))]
Bcol,
#[yaserde(rename = "CDOR")]
#[cfg_attr(feature = "serde", serde(rename = "CDOR"))]
Cdor,
#[yaserde(rename = "CIBO")]
#[cfg_attr(feature = "serde", serde(rename = "CIBO"))]
Cibo,
#[yaserde(rename = "CORA")]
#[cfg_attr(feature = "serde", serde(rename = "CORA"))]
Cora,
#[yaserde(rename = "CZNA")]
#[cfg_attr(feature = "serde", serde(rename = "CZNA"))]
Czna,
#[yaserde(rename = "EONA")]
#[cfg_attr(feature = "serde", serde(rename = "EONA"))]
Eona,
#[yaserde(rename = "EONS")]
#[cfg_attr(feature = "serde", serde(rename = "EONS"))]
Eons,
#[yaserde(rename = "ESTR")]
#[cfg_attr(feature = "serde", serde(rename = "ESTR"))]
Estr,
#[yaserde(rename = "EURI")]
#[cfg_attr(feature = "serde", serde(rename = "EURI"))]
Euri,
#[yaserde(rename = "EUUS")]
#[cfg_attr(feature = "serde", serde(rename = "EUUS"))]
Euus,
#[yaserde(rename = "EUCH")]
#[cfg_attr(feature = "serde", serde(rename = "EUCH"))]
Euch,
#[yaserde(rename = "EFFR")]
#[cfg_attr(feature = "serde", serde(rename = "EFFR"))]
Effr,
#[yaserde(rename = "FUSW")]
#[cfg_attr(feature = "serde", serde(rename = "FUSW"))]
Fusw,
#[yaserde(rename = "GCFR")]
#[cfg_attr(feature = "serde", serde(rename = "GCFR"))]
Gcfr,
#[yaserde(rename = "HKIO")]
#[cfg_attr(feature = "serde", serde(rename = "HKIO"))]
Hkio,
#[yaserde(rename = "ISDA")]
#[cfg_attr(feature = "serde", serde(rename = "ISDA"))]
Isda,
#[yaserde(rename = "ETIO")]
#[cfg_attr(feature = "serde", serde(rename = "ETIO"))]
Etio,
#[yaserde(rename = "JIBA")]
#[cfg_attr(feature = "serde", serde(rename = "JIBA"))]
Jiba,
#[yaserde(rename = "LIBI")]
#[cfg_attr(feature = "serde", serde(rename = "LIBI"))]
Libi,
#[yaserde(rename = "LIBO")]
#[cfg_attr(feature = "serde", serde(rename = "LIBO"))]
Libo,
#[yaserde(rename = "MOSP")]
#[cfg_attr(feature = "serde", serde(rename = "MOSP"))]
Mosp,
#[yaserde(rename = "MAAA")]
#[cfg_attr(feature = "serde", serde(rename = "MAAA"))]
Maaa,
#[yaserde(rename = "BJUO")]
#[cfg_attr(feature = "serde", serde(rename = "BJUO"))]
Bjuo,
#[yaserde(rename = "NIBO")]
#[cfg_attr(feature = "serde", serde(rename = "NIBO"))]
Nibo,
#[yaserde(rename = "OBFR")]
#[cfg_attr(feature = "serde", serde(rename = "OBFR"))]
Obfr,
#[yaserde(rename = "PFAN")]
#[cfg_attr(feature = "serde", serde(rename = "PFAN"))]
Pfan,
#[yaserde(rename = "PRBO")]
#[cfg_attr(feature = "serde", serde(rename = "PRBO"))]
Prbo,
#[yaserde(rename = "RCTR")]
#[cfg_attr(feature = "serde", serde(rename = "RCTR"))]
Rctr,
#[yaserde(rename = "SOFR")]
#[cfg_attr(feature = "serde", serde(rename = "SOFR"))]
Sofr,
#[yaserde(rename = "SONA")]
#[cfg_attr(feature = "serde", serde(rename = "SONA"))]
Sona,
#[yaserde(rename = "STBO")]
#[cfg_attr(feature = "serde", serde(rename = "STBO"))]
Stbo,
#[yaserde(rename = "SWAP")]
#[cfg_attr(feature = "serde", serde(rename = "SWAP"))]
Swap,
#[yaserde(rename = "TLBO")]
#[cfg_attr(feature = "serde", serde(rename = "TLBO"))]
Tlbo,
#[yaserde(rename = "TIBO")]
#[cfg_attr(feature = "serde", serde(rename = "TIBO"))]
Tibo,
#[yaserde(rename = "TOAR")]
#[cfg_attr(feature = "serde", serde(rename = "TOAR"))]
Toar,
#[yaserde(rename = "TREA")]
#[cfg_attr(feature = "serde", serde(rename = "TREA"))]
Trea,
#[yaserde(rename = "WIBO")]
#[cfg_attr(feature = "serde", serde(rename = "WIBO"))]
Wibo,
__Unknown__(String),
}
impl Default for BenchmarkCurveName7Code {
fn default() -> BenchmarkCurveName7Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for BenchmarkCurveName7Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:colr.022.001.01")]
pub struct BlockChainAddressWallet3 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Max140Text,
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: GenericIdentification30,
#[yaserde(rename = "Nm")]
#[cfg_attr(feature = "serde", serde(rename = "Nm"))]
pub nm: Max70Text,
}
impl Validate for BlockChainAddressWallet3 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:colr.022.001.01")]
pub struct CashAccountIdentification5Choice {
#[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<Max34Text>,
}
impl Validate for CashAccountIdentification5Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:colr.022.001.01")]
pub struct CashBalance15 {
#[yaserde(rename = "Amt")]
#[cfg_attr(feature = "serde", serde(rename = "Amt"))]
pub amt: ActiveOrHistoricCurrencyAndAmount,
#[yaserde(rename = "FXDtls")]
#[cfg_attr(feature = "serde", serde(rename = "FXDtls"))]
pub fx_dtls: ForeignExchangeTerms19,
#[yaserde(rename = "CshAcct")]
#[cfg_attr(feature = "serde", serde(rename = "CshAcct"))]
pub csh_acct: CashAccountIdentification5Choice,
#[yaserde(rename = "ValtnDtls")]
#[cfg_attr(feature = "serde", serde(rename = "ValtnDtls"))]
pub valtn_dtls: ValuationsDetails2,
#[yaserde(rename = "TxLotNb")]
#[cfg_attr(feature = "serde", serde(rename = "TxLotNb"))]
pub tx_lot_nb: Vec<GenericIdentification178>,
}
impl Validate for CashBalance15 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:colr.022.001.01")]
pub struct ClosingDate4Choice {
#[yaserde(rename = "Dt")]
#[cfg_attr(feature = "serde", serde(rename = "Dt"))]
pub dt: Option<DateAndDateTime2Choice>,
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: Option<Date3Choice>,
}
impl Validate for ClosingDate4Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:colr.022.001.01")]
pub struct CollateralAmount15 {
#[yaserde(rename = "ValOfCollHeld")]
#[cfg_attr(feature = "serde", serde(rename = "ValOfCollHeld"))]
pub val_of_coll_held: ActiveOrHistoricCurrencyAndAmount,
#[yaserde(rename = "TtlXpsr")]
#[cfg_attr(feature = "serde", serde(rename = "TtlXpsr"))]
pub ttl_xpsr: ActiveOrHistoricCurrencyAndAmount,
#[yaserde(rename = "Mrgn")]
#[cfg_attr(feature = "serde", serde(rename = "Mrgn"))]
pub mrgn: AmountAndDirection53,
#[yaserde(rename = "TtlCollReqrd")]
#[cfg_attr(feature = "serde", serde(rename = "TtlCollReqrd"))]
pub ttl_coll_reqrd: ActiveOrHistoricCurrencyAndAmount,
#[yaserde(rename = "TtlAcrdIntrst")]
#[cfg_attr(feature = "serde", serde(rename = "TtlAcrdIntrst"))]
pub ttl_acrd_intrst: ActiveOrHistoricCurrencyAndAmount,
#[yaserde(rename = "TtlFeesComssns")]
#[cfg_attr(feature = "serde", serde(rename = "TtlFeesComssns"))]
pub ttl_fees_comssns: ActiveOrHistoricCurrencyAndAmount,
#[yaserde(rename = "TtlOfPrncpls")]
#[cfg_attr(feature = "serde", serde(rename = "TtlOfPrncpls"))]
pub ttl_of_prncpls: ActiveOrHistoricCurrencyAndAmount,
#[yaserde(rename = "TtlPdgCollIn")]
#[cfg_attr(feature = "serde", serde(rename = "TtlPdgCollIn"))]
pub ttl_pdg_coll_in: ActiveOrHistoricCurrencyAndAmount,
#[yaserde(rename = "TtlPdgCollOut")]
#[cfg_attr(feature = "serde", serde(rename = "TtlPdgCollOut"))]
pub ttl_pdg_coll_out: ActiveOrHistoricCurrencyAndAmount,
#[yaserde(rename = "TtlValOfOwnColl")]
#[cfg_attr(feature = "serde", serde(rename = "TtlValOfOwnColl"))]
pub ttl_val_of_own_coll: ActiveOrHistoricCurrencyAndAmount,
#[yaserde(rename = "TtlValOfReusdColl")]
#[cfg_attr(feature = "serde", serde(rename = "TtlValOfReusdColl"))]
pub ttl_val_of_reusd_coll: ActiveOrHistoricCurrencyAndAmount,
#[yaserde(rename = "TtlCshFaild")]
#[cfg_attr(feature = "serde", serde(rename = "TtlCshFaild"))]
pub ttl_csh_faild: ActiveOrHistoricCurrencyAndAmount,
}
impl Validate for CollateralAmount15 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:colr.022.001.01")]
pub struct CollateralAmount16 {
#[yaserde(rename = "ValOfCollHeld")]
#[cfg_attr(feature = "serde", serde(rename = "ValOfCollHeld"))]
pub val_of_coll_held: ActiveOrHistoricCurrencyAndAmount,
#[yaserde(rename = "TtlXpsr")]
#[cfg_attr(feature = "serde", serde(rename = "TtlXpsr"))]
pub ttl_xpsr: ActiveOrHistoricCurrencyAndAmount,
#[yaserde(rename = "Mrgn")]
#[cfg_attr(feature = "serde", serde(rename = "Mrgn"))]
pub mrgn: AmountAndDirection53,
#[yaserde(rename = "TtlCollReqrd")]
#[cfg_attr(feature = "serde", serde(rename = "TtlCollReqrd"))]
pub ttl_coll_reqrd: ActiveOrHistoricCurrencyAndAmount,
#[yaserde(rename = "TtlAcrdIntrst")]
#[cfg_attr(feature = "serde", serde(rename = "TtlAcrdIntrst"))]
pub ttl_acrd_intrst: ActiveOrHistoricCurrencyAndAmount,
#[yaserde(rename = "TtlValOfOwnColl")]
#[cfg_attr(feature = "serde", serde(rename = "TtlValOfOwnColl"))]
pub ttl_val_of_own_coll: ActiveOrHistoricCurrencyAndAmount,
#[yaserde(rename = "TtlValOfReusdColl")]
#[cfg_attr(feature = "serde", serde(rename = "TtlValOfReusdColl"))]
pub ttl_val_of_reusd_coll: ActiveOrHistoricCurrencyAndAmount,
#[yaserde(rename = "TtlOfPrncpls")]
#[cfg_attr(feature = "serde", serde(rename = "TtlOfPrncpls"))]
pub ttl_of_prncpls: ActiveOrHistoricCurrencyAndAmount,
#[yaserde(rename = "TtlPdgCollIn")]
#[cfg_attr(feature = "serde", serde(rename = "TtlPdgCollIn"))]
pub ttl_pdg_coll_in: ActiveOrHistoricCurrencyAndAmount,
#[yaserde(rename = "TtlPdgCollOut")]
#[cfg_attr(feature = "serde", serde(rename = "TtlPdgCollOut"))]
pub ttl_pdg_coll_out: ActiveOrHistoricCurrencyAndAmount,
#[yaserde(rename = "TtlCshFaild")]
#[cfg_attr(feature = "serde", serde(rename = "TtlCshFaild"))]
pub ttl_csh_faild: ActiveOrHistoricCurrencyAndAmount,
}
impl Validate for CollateralAmount16 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:colr.022.001.01")]
pub struct CollateralAmount17 {
#[yaserde(rename = "ValOfCollHeld")]
#[cfg_attr(feature = "serde", serde(rename = "ValOfCollHeld"))]
pub val_of_coll_held: ActiveOrHistoricCurrencyAndAmount,
#[yaserde(rename = "TtlXpsr")]
#[cfg_attr(feature = "serde", serde(rename = "TtlXpsr"))]
pub ttl_xpsr: ActiveOrHistoricCurrencyAndAmount,
#[yaserde(rename = "TxAmt")]
#[cfg_attr(feature = "serde", serde(rename = "TxAmt"))]
pub tx_amt: ActiveOrHistoricCurrencyAndAmount,
#[yaserde(rename = "TxAmtBrkdwn")]
#[cfg_attr(feature = "serde", serde(rename = "TxAmtBrkdwn"))]
pub tx_amt_brkdwn: Vec<CollateralTransactionAmountBreakdown2>,
#[yaserde(rename = "Mrgn")]
#[cfg_attr(feature = "serde", serde(rename = "Mrgn"))]
pub mrgn: AmountAndDirection53,
#[yaserde(rename = "TtlAcrdIntrst")]
#[cfg_attr(feature = "serde", serde(rename = "TtlAcrdIntrst"))]
pub ttl_acrd_intrst: ActiveOrHistoricCurrencyAndAmount,
#[yaserde(rename = "TtlCollReqrd")]
#[cfg_attr(feature = "serde", serde(rename = "TtlCollReqrd"))]
pub ttl_coll_reqrd: ActiveOrHistoricCurrencyAndAmount,
#[yaserde(rename = "TtlValOfOwnColl")]
#[cfg_attr(feature = "serde", serde(rename = "TtlValOfOwnColl"))]
pub ttl_val_of_own_coll: ActiveOrHistoricCurrencyAndAmount,
#[yaserde(rename = "TtlValOfReusdColl")]
#[cfg_attr(feature = "serde", serde(rename = "TtlValOfReusdColl"))]
pub ttl_val_of_reusd_coll: ActiveOrHistoricCurrencyAndAmount,
#[yaserde(rename = "TtlPdgCollIn")]
#[cfg_attr(feature = "serde", serde(rename = "TtlPdgCollIn"))]
pub ttl_pdg_coll_in: ActiveOrHistoricCurrencyAndAmount,
#[yaserde(rename = "TtlPdgCollOut")]
#[cfg_attr(feature = "serde", serde(rename = "TtlPdgCollOut"))]
pub ttl_pdg_coll_out: ActiveOrHistoricCurrencyAndAmount,
#[yaserde(rename = "TtlOfPrncpls")]
#[cfg_attr(feature = "serde", serde(rename = "TtlOfPrncpls"))]
pub ttl_of_prncpls: ActiveOrHistoricCurrencyAndAmount,
#[yaserde(rename = "TermntnTxAmt")]
#[cfg_attr(feature = "serde", serde(rename = "TermntnTxAmt"))]
pub termntn_tx_amt: ActiveOrHistoricCurrencyAndAmount,
#[yaserde(rename = "TtlCshFaild")]
#[cfg_attr(feature = "serde", serde(rename = "TtlCshFaild"))]
pub ttl_csh_faild: ActiveOrHistoricCurrencyAndAmount,
}
impl Validate for CollateralAmount17 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:colr.022.001.01")]
pub struct CollateralAmount4 {
#[yaserde(rename = "ActlMktValPstValtnFctr")]
#[cfg_attr(feature = "serde", serde(rename = "ActlMktValPstValtnFctr"))]
pub actl_mkt_val_pst_valtn_fctr: ActiveOrHistoricCurrencyAndAmount,
#[yaserde(rename = "ActlMktValBfrValtnFctr")]
#[cfg_attr(feature = "serde", serde(rename = "ActlMktValBfrValtnFctr"))]
pub actl_mkt_val_bfr_valtn_fctr: ActiveOrHistoricCurrencyAndAmount,
#[yaserde(rename = "XpsrCollInTxCcy")]
#[cfg_attr(feature = "serde", serde(rename = "XpsrCollInTxCcy"))]
pub xpsr_coll_in_tx_ccy: ActiveOrHistoricCurrencyAndAmount,
#[yaserde(rename = "XpsrCollInRptgCcy")]
#[cfg_attr(feature = "serde", serde(rename = "XpsrCollInRptgCcy"))]
pub xpsr_coll_in_rptg_ccy: ActiveOrHistoricCurrencyAndAmount,
#[yaserde(rename = "MktValAmtPstValtnFctr")]
#[cfg_attr(feature = "serde", serde(rename = "MktValAmtPstValtnFctr"))]
pub mkt_val_amt_pst_valtn_fctr: ActiveOrHistoricCurrencyAndAmount,
#[yaserde(rename = "MktValAmtBfrValtnFctr")]
#[cfg_attr(feature = "serde", serde(rename = "MktValAmtBfrValtnFctr"))]
pub mkt_val_amt_bfr_valtn_fctr: ActiveOrHistoricCurrencyAndAmount,
#[yaserde(rename = "TtlValOfOwnColl")]
#[cfg_attr(feature = "serde", serde(rename = "TtlValOfOwnColl"))]
pub ttl_val_of_own_coll: ActiveOrHistoricCurrencyAndAmount,
#[yaserde(rename = "TtlValOfReusdColl")]
#[cfg_attr(feature = "serde", serde(rename = "TtlValOfReusdColl"))]
pub ttl_val_of_reusd_coll: ActiveOrHistoricCurrencyAndAmount,
}
impl Validate for CollateralAmount4 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:colr.022.001.01")]
pub struct CollateralAmount9 {
#[yaserde(rename = "ActlMktValPstHrcut")]
#[cfg_attr(feature = "serde", serde(rename = "ActlMktValPstHrcut"))]
pub actl_mkt_val_pst_hrcut: ActiveOrHistoricCurrencyAndAmount,
#[yaserde(rename = "ActlMktValBfrHrcut")]
#[cfg_attr(feature = "serde", serde(rename = "ActlMktValBfrHrcut"))]
pub actl_mkt_val_bfr_hrcut: ActiveOrHistoricCurrencyAndAmount,
#[yaserde(rename = "XpsrCollInTxCcy")]
#[cfg_attr(feature = "serde", serde(rename = "XpsrCollInTxCcy"))]
pub xpsr_coll_in_tx_ccy: ActiveOrHistoricCurrencyAndAmount,
#[yaserde(rename = "XpsrCollInRptgCcy")]
#[cfg_attr(feature = "serde", serde(rename = "XpsrCollInRptgCcy"))]
pub xpsr_coll_in_rptg_ccy: ActiveOrHistoricCurrencyAndAmount,
#[yaserde(rename = "MktValAmtPstHrcut")]
#[cfg_attr(feature = "serde", serde(rename = "MktValAmtPstHrcut"))]
pub mkt_val_amt_pst_hrcut: ActiveOrHistoricCurrencyAndAmount,
#[yaserde(rename = "MktValAmtBfrHrcut")]
#[cfg_attr(feature = "serde", serde(rename = "MktValAmtBfrHrcut"))]
pub mkt_val_amt_bfr_hrcut: ActiveOrHistoricCurrencyAndAmount,
}
impl Validate for CollateralAmount9 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:colr.022.001.01")]
pub struct CollateralParties11 {
#[yaserde(rename = "PtyB")]
#[cfg_attr(feature = "serde", serde(rename = "PtyB"))]
pub pty_b: PartyIdentification232,
#[yaserde(rename = "ClntPtyB")]
#[cfg_attr(feature = "serde", serde(rename = "ClntPtyB"))]
pub clnt_pty_b: PartyIdentification232,
#[yaserde(rename = "TrptyAgt")]
#[cfg_attr(feature = "serde", serde(rename = "TrptyAgt"))]
pub trpty_agt: PartyIdentification136,
#[yaserde(rename = "CollAcct")]
#[cfg_attr(feature = "serde", serde(rename = "CollAcct"))]
pub coll_acct: SecuritiesAccount19,
#[yaserde(rename = "BlckChainAdrOrWllt")]
#[cfg_attr(feature = "serde", serde(rename = "BlckChainAdrOrWllt"))]
pub blck_chain_adr_or_wllt: BlockChainAddressWallet3,
}
impl Validate for CollateralParties11 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:colr.022.001.01")]
pub struct CollateralParties9 {
#[yaserde(rename = "PtyA")]
#[cfg_attr(feature = "serde", serde(rename = "PtyA"))]
pub pty_a: PartyIdentificationAndAccount202,
#[yaserde(rename = "ClntPtyA")]
#[cfg_attr(feature = "serde", serde(rename = "ClntPtyA"))]
pub clnt_pty_a: PartyIdentificationAndAccount202,
#[yaserde(rename = "TrptyAgt")]
#[cfg_attr(feature = "serde", serde(rename = "TrptyAgt"))]
pub trpty_agt: PartyIdentification136,
}
impl Validate for CollateralParties9 {}
#[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:colr.022.001.01")]
pub enum CollateralRole1Code {
#[yaserde(rename = "GIVE")]
#[cfg_attr(feature = "serde", serde(rename = "GIVE"))]
Give,
#[yaserde(rename = "TAKE")]
#[cfg_attr(feature = "serde", serde(rename = "TAKE"))]
Take,
__Unknown__(String),
}
impl Default for CollateralRole1Code {
fn default() -> CollateralRole1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for CollateralRole1Code {}
#[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:colr.022.001.01")]
pub enum CollateralStatus1Code {
#[yaserde(rename = "EXCS")]
#[cfg_attr(feature = "serde", serde(rename = "EXCS"))]
Excs,
#[yaserde(rename = "DEFI")]
#[cfg_attr(feature = "serde", serde(rename = "DEFI"))]
Defi,
#[yaserde(rename = "FLAT")]
#[cfg_attr(feature = "serde", serde(rename = "FLAT"))]
Flat,
__Unknown__(String),
}
impl Default for CollateralStatus1Code {
fn default() -> CollateralStatus1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for CollateralStatus1Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:colr.022.001.01")]
pub struct CollateralStatus2Choice {
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: Option<ExecutionStatus1Code>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<GenericIdentification30>,
}
impl Validate for CollateralStatus2Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:colr.022.001.01")]
pub struct CollateralTransactionAmountBreakdown2 {
#[yaserde(rename = "LotNb")]
#[cfg_attr(feature = "serde", serde(rename = "LotNb"))]
pub lot_nb: GenericIdentification178,
#[yaserde(rename = "TxAmt")]
#[cfg_attr(feature = "serde", serde(rename = "TxAmt"))]
pub tx_amt: ActiveOrHistoricCurrencyAndAmount,
#[yaserde(rename = "Prd")]
#[cfg_attr(feature = "serde", serde(rename = "Prd"))]
pub prd: Period4Choice,
}
impl Validate for CollateralTransactionAmountBreakdown2 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:colr.022.001.01")]
pub struct CounterpartyAggregation3 {
#[yaserde(rename = "OptnTp")]
#[cfg_attr(feature = "serde", serde(rename = "OptnTp"))]
pub optn_tp: OptionType6Choice,
#[yaserde(rename = "TermntnOptn")]
#[cfg_attr(feature = "serde", serde(rename = "TermntnOptn"))]
pub termntn_optn: RepoTerminationOption1Code,
#[yaserde(rename = "BsktIdAndElgbltySetPrfl")]
#[cfg_attr(feature = "serde", serde(rename = "BsktIdAndElgbltySetPrfl"))]
pub bskt_id_and_elgblty_set_prfl: BasketIdentificationAndEligibilitySetProfile1,
#[yaserde(rename = "CollPties")]
#[cfg_attr(feature = "serde", serde(rename = "CollPties"))]
pub coll_pties: CollateralParties11,
#[yaserde(rename = "ValtnAmts")]
#[cfg_attr(feature = "serde", serde(rename = "ValtnAmts"))]
pub valtn_amts: Vec<CollateralAmount16>,
#[yaserde(rename = "MrgnRate")]
#[cfg_attr(feature = "serde", serde(rename = "MrgnRate"))]
pub mrgn_rate: PercentageRate,
#[yaserde(rename = "GblCtrPtySts")]
#[cfg_attr(feature = "serde", serde(rename = "GblCtrPtySts"))]
pub gbl_ctr_pty_sts: CollateralStatus1Code,
}
impl Validate for CounterpartyAggregation3 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct CountryCode (pub String);
crate::simple_type!(CountryCode);
impl Validate for CountryCode {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:colr.022.001.01")]
pub struct CrystallisationDay1 {
#[yaserde(rename = "Day")]
#[cfg_attr(feature = "serde", serde(rename = "Day"))]
pub day: YesNoIndicator,
#[yaserde(rename = "Prd")]
#[cfg_attr(feature = "serde", serde(rename = "Prd"))]
pub prd: Max3NumericText,
}
impl Validate for CrystallisationDay1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:colr.022.001.01")]
pub struct Date3Choice {
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: Option<DateType2Code>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<GenericIdentification30>,
}
impl Validate for Date3Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:colr.022.001.01")]
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(PartialEq, Debug, Clone, YaSerialize, YaDeserialize)]#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:colr.022.001.01")]
pub enum DateType2Code {
#[yaserde(rename = "OPEN")]
#[cfg_attr(feature = "serde", serde(rename = "OPEN"))]
Open,
__Unknown__(String),
}
impl Default for DateType2Code {
fn default() -> DateType2Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for DateType2Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct DecimalNumber (pub String);
crate::simple_type!(DecimalNumber);
impl Validate for DecimalNumber {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:colr.022.001.01")]
pub struct Document {
#[yaserde(rename = "TrptyCollAndXpsrRpt")]
#[cfg_attr(feature = "serde", serde(rename = "TrptyCollAndXpsrRpt"))]
pub trpty_coll_and_xpsr_rpt: TripartyCollateralAndExposureReportV01,
}
impl Validate for Document {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(PartialEq, Debug, Clone, YaSerialize, YaDeserialize)]#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:colr.022.001.01")]
pub enum EventFrequency7Code {
#[yaserde(rename = "YEAR")]
#[cfg_attr(feature = "serde", serde(rename = "YEAR"))]
Year,
#[yaserde(rename = "ADHO")]
#[cfg_attr(feature = "serde", serde(rename = "ADHO"))]
Adho,
#[yaserde(rename = "MNTH")]
#[cfg_attr(feature = "serde", serde(rename = "MNTH"))]
Mnth,
#[yaserde(rename = "DAIL")]
#[cfg_attr(feature = "serde", serde(rename = "DAIL"))]
Dail,
#[yaserde(rename = "INDA")]
#[cfg_attr(feature = "serde", serde(rename = "INDA"))]
Inda,
#[yaserde(rename = "WEEK")]
#[cfg_attr(feature = "serde", serde(rename = "WEEK"))]
Week,
#[yaserde(rename = "SEMI")]
#[cfg_attr(feature = "serde", serde(rename = "SEMI"))]
Semi,
#[yaserde(rename = "QUTR")]
#[cfg_attr(feature = "serde", serde(rename = "QUTR"))]
Qutr,
#[yaserde(rename = "TOMN")]
#[cfg_attr(feature = "serde", serde(rename = "TOMN"))]
Tomn,
#[yaserde(rename = "TOWK")]
#[cfg_attr(feature = "serde", serde(rename = "TOWK"))]
Towk,
#[yaserde(rename = "TWMN")]
#[cfg_attr(feature = "serde", serde(rename = "TWMN"))]
Twmn,
#[yaserde(rename = "OVNG")]
#[cfg_attr(feature = "serde", serde(rename = "OVNG"))]
Ovng,
#[yaserde(rename = "ONDE")]
#[cfg_attr(feature = "serde", serde(rename = "ONDE"))]
Onde,
__Unknown__(String),
}
impl Default for EventFrequency7Code {
fn default() -> EventFrequency7Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for EventFrequency7Code {}
#[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 Exact5NumericText (pub String);
crate::simple_type!(Exact5NumericText);
impl Validate for Exact5NumericText {}
#[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:colr.022.001.01")]
pub enum ExecutionStatus1Code {
#[yaserde(rename = "INTD")]
#[cfg_attr(feature = "serde", serde(rename = "INTD"))]
Intd,
#[yaserde(rename = "PINT")]
#[cfg_attr(feature = "serde", serde(rename = "PINT"))]
Pint,
__Unknown__(String),
}
impl Default for ExecutionStatus1Code {
fn default() -> ExecutionStatus1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for ExecutionStatus1Code {}
#[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:colr.022.001.01")]
pub enum ExposureType14Code {
#[yaserde(rename = "BFWD")]
#[cfg_attr(feature = "serde", serde(rename = "BFWD"))]
Bfwd,
#[yaserde(rename = "PAYM")]
#[cfg_attr(feature = "serde", serde(rename = "PAYM"))]
Paym,
#[yaserde(rename = "CBCO")]
#[cfg_attr(feature = "serde", serde(rename = "CBCO"))]
Cbco,
#[yaserde(rename = "COMM")]
#[cfg_attr(feature = "serde", serde(rename = "COMM"))]
Comm,
#[yaserde(rename = "CRDS")]
#[cfg_attr(feature = "serde", serde(rename = "CRDS"))]
Crds,
#[yaserde(rename = "CRTL")]
#[cfg_attr(feature = "serde", serde(rename = "CRTL"))]
Crtl,
#[yaserde(rename = "CRSP")]
#[cfg_attr(feature = "serde", serde(rename = "CRSP"))]
Crsp,
#[yaserde(rename = "CCIR")]
#[cfg_attr(feature = "serde", serde(rename = "CCIR"))]
Ccir,
#[yaserde(rename = "CRPR")]
#[cfg_attr(feature = "serde", serde(rename = "CRPR"))]
Crpr,
#[yaserde(rename = "EQPT")]
#[cfg_attr(feature = "serde", serde(rename = "EQPT"))]
Eqpt,
#[yaserde(rename = "EQUS")]
#[cfg_attr(feature = "serde", serde(rename = "EQUS"))]
Equs,
#[yaserde(rename = "EXTD")]
#[cfg_attr(feature = "serde", serde(rename = "EXTD"))]
Extd,
#[yaserde(rename = "EXPT")]
#[cfg_attr(feature = "serde", serde(rename = "EXPT"))]
Expt,
#[yaserde(rename = "FIXI")]
#[cfg_attr(feature = "serde", serde(rename = "FIXI"))]
Fixi,
#[yaserde(rename = "FORX")]
#[cfg_attr(feature = "serde", serde(rename = "FORX"))]
Forx,
#[yaserde(rename = "FORW")]
#[cfg_attr(feature = "serde", serde(rename = "FORW"))]
Forw,
#[yaserde(rename = "FUTR")]
#[cfg_attr(feature = "serde", serde(rename = "FUTR"))]
Futr,
#[yaserde(rename = "OPTN")]
#[cfg_attr(feature = "serde", serde(rename = "OPTN"))]
Optn,
#[yaserde(rename = "LIQU")]
#[cfg_attr(feature = "serde", serde(rename = "LIQU"))]
Liqu,
#[yaserde(rename = "OTCD")]
#[cfg_attr(feature = "serde", serde(rename = "OTCD"))]
Otcd,
#[yaserde(rename = "RVPO")]
#[cfg_attr(feature = "serde", serde(rename = "RVPO"))]
Rvpo,
#[yaserde(rename = "SLOA")]
#[cfg_attr(feature = "serde", serde(rename = "SLOA"))]
Sloa,
#[yaserde(rename = "SBSC")]
#[cfg_attr(feature = "serde", serde(rename = "SBSC"))]
Sbsc,
#[yaserde(rename = "SCRP")]
#[cfg_attr(feature = "serde", serde(rename = "SCRP"))]
Scrp,
#[yaserde(rename = "SLEB")]
#[cfg_attr(feature = "serde", serde(rename = "SLEB"))]
Sleb,
#[yaserde(rename = "SCIR")]
#[cfg_attr(feature = "serde", serde(rename = "SCIR"))]
Scir,
#[yaserde(rename = "SCIE")]
#[cfg_attr(feature = "serde", serde(rename = "SCIE"))]
Scie,
#[yaserde(rename = "SWPT")]
#[cfg_attr(feature = "serde", serde(rename = "SWPT"))]
Swpt,
#[yaserde(rename = "TBAS")]
#[cfg_attr(feature = "serde", serde(rename = "TBAS"))]
Tbas,
#[yaserde(rename = "TRCP")]
#[cfg_attr(feature = "serde", serde(rename = "TRCP"))]
Trcp,
#[yaserde(rename = "UDMS")]
#[cfg_attr(feature = "serde", serde(rename = "UDMS"))]
Udms,
#[yaserde(rename = "CCPC")]
#[cfg_attr(feature = "serde", serde(rename = "CCPC"))]
Ccpc,
#[yaserde(rename = "EQUI")]
#[cfg_attr(feature = "serde", serde(rename = "EQUI"))]
Equi,
#[yaserde(rename = "TRBD")]
#[cfg_attr(feature = "serde", serde(rename = "TRBD"))]
Trbd,
#[yaserde(rename = "REPO")]
#[cfg_attr(feature = "serde", serde(rename = "REPO"))]
Repo,
#[yaserde(rename = "SHSL")]
#[cfg_attr(feature = "serde", serde(rename = "SHSL"))]
Shsl,
#[yaserde(rename = "MGLD")]
#[cfg_attr(feature = "serde", serde(rename = "MGLD"))]
Mgld,
__Unknown__(String),
}
impl Default for ExposureType14Code {
fn default() -> ExposureType14Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for ExposureType14Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:colr.022.001.01")]
pub struct ExposureType23Choice {
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: Option<ExposureType14Code>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<GenericIdentification30>,
}
impl Validate for ExposureType23Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:colr.022.001.01")]
pub struct ExposureTypeAggregation3 {
#[yaserde(rename = "XpsrTp")]
#[cfg_attr(feature = "serde", serde(rename = "XpsrTp"))]
pub xpsr_tp: ExposureType23Choice,
#[yaserde(rename = "SttlmPrc")]
#[cfg_attr(feature = "serde", serde(rename = "SttlmPrc"))]
pub sttlm_prc: GenericIdentification30,
#[yaserde(rename = "ValtnAmts")]
#[cfg_attr(feature = "serde", serde(rename = "ValtnAmts"))]
pub valtn_amts: Vec<CollateralAmount16>,
#[yaserde(rename = "MrgnRate")]
#[cfg_attr(feature = "serde", serde(rename = "MrgnRate"))]
pub mrgn_rate: PercentageRate,
#[yaserde(rename = "GblXpsrTpSts")]
#[cfg_attr(feature = "serde", serde(rename = "GblXpsrTpSts"))]
pub gbl_xpsr_tp_sts: CollateralStatus1Code,
}
impl Validate for ExposureTypeAggregation3 {}
#[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:colr.022.001.01")]
pub struct FinancialInstrumentQuantity33Choice {
#[yaserde(rename = "Unit")]
#[cfg_attr(feature = "serde", serde(rename = "Unit"))]
pub unit: Option<DecimalNumber>,
#[yaserde(rename = "FaceAmt")]
#[cfg_attr(feature = "serde", serde(rename = "FaceAmt"))]
pub face_amt: Option<ImpliedCurrencyAndAmount>,
#[yaserde(rename = "AmtsdVal")]
#[cfg_attr(feature = "serde", serde(rename = "AmtsdVal"))]
pub amtsd_val: Option<ImpliedCurrencyAndAmount>,
#[yaserde(rename = "DgtlTknUnit")]
#[cfg_attr(feature = "serde", serde(rename = "DgtlTknUnit"))]
pub dgtl_tkn_unit: Option<Max30DecimalNumber>,
}
impl Validate for FinancialInstrumentQuantity33Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:colr.022.001.01")]
pub struct ForeignExchangeTerms19 {
#[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: BaseOneRate,
}
impl Validate for ForeignExchangeTerms19 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:colr.022.001.01")]
pub struct Frequency22Choice {
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: Option<EventFrequency7Code>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<GenericIdentification30>,
}
impl Validate for Frequency22Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:colr.022.001.01")]
pub struct GenericIdentification1 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Max35Text,
#[yaserde(rename = "SchmeNm")]
#[cfg_attr(feature = "serde", serde(rename = "SchmeNm"))]
pub schme_nm: Max35Text,
#[yaserde(rename = "Issr")]
#[cfg_attr(feature = "serde", serde(rename = "Issr"))]
pub issr: Max35Text,
}
impl Validate for GenericIdentification1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:colr.022.001.01")]
pub struct GenericIdentification178 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Max35Text,
#[yaserde(rename = "Issr")]
#[cfg_attr(feature = "serde", serde(rename = "Issr"))]
pub issr: Max35Text,
}
impl Validate for GenericIdentification178 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:colr.022.001.01")]
pub struct GenericIdentification30 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Exact4AlphaNumericText,
#[yaserde(rename = "Issr")]
#[cfg_attr(feature = "serde", serde(rename = "Issr"))]
pub issr: Max35Text,
#[yaserde(rename = "SchmeNm")]
#[cfg_attr(feature = "serde", serde(rename = "SchmeNm"))]
pub schme_nm: Max35Text,
}
impl Validate for GenericIdentification30 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:colr.022.001.01")]
pub struct GenericIdentification36 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Max35Text,
#[yaserde(rename = "Issr")]
#[cfg_attr(feature = "serde", serde(rename = "Issr"))]
pub issr: Max35Text,
#[yaserde(rename = "SchmeNm")]
#[cfg_attr(feature = "serde", serde(rename = "SchmeNm"))]
pub schme_nm: Max35Text,
}
impl Validate for GenericIdentification36 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:colr.022.001.01")]
pub struct GenericIdentification56 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Exact4AlphaNumericText,
#[yaserde(rename = "Issr")]
#[cfg_attr(feature = "serde", serde(rename = "Issr"))]
pub issr: Max35Text,
#[yaserde(rename = "SchmeNm")]
#[cfg_attr(feature = "serde", serde(rename = "SchmeNm"))]
pub schme_nm: Max35Text,
#[yaserde(rename = "Bal")]
#[cfg_attr(feature = "serde", serde(rename = "Bal"))]
pub bal: DecimalNumber,
}
impl Validate for GenericIdentification56 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:colr.022.001.01")]
pub struct GenericIdentification78 {
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: GenericIdentification30,
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Max35Text,
}
impl Validate for GenericIdentification78 {}
#[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 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:colr.022.001.01")]
pub struct IdentificationSource3Choice {
#[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<Max35Text>,
}
impl Validate for IdentificationSource3Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:colr.022.001.01")]
pub struct IdentificationType42Choice {
#[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<GenericIdentification30>,
}
impl Validate for IdentificationType42Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct ImpliedCurrencyAndAmount (pub String);
crate::simple_type!(ImpliedCurrencyAndAmount);
impl Validate for ImpliedCurrencyAndAmount {
fn validate(&self) -> Result<(), String> {
if self.0 < "0".parse::<String>().unwrap() {
return Err(format!("MinInclusive validation error: invalid value of 0! \nExpected: 0 >= 0.\nActual: 0 == {}", self.0));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(PartialEq, Debug, Clone, YaSerialize, YaDeserialize)]#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:colr.022.001.01")]
pub enum InterestComputationMethod2Code {
A001,
A002,
A003,
A004,
A005,
A006,
A007,
A008,
A009,
A010,
A011,
A012,
A013,
A014,
#[yaserde(rename = "NARR")]
#[cfg_attr(feature = "serde", serde(rename = "NARR"))]
Narr,
__Unknown__(String),
}
impl Default for InterestComputationMethod2Code {
fn default() -> InterestComputationMethod2Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for InterestComputationMethod2Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:colr.022.001.01")]
pub struct InterestComputationMethodFormat4Choice {
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: Option<InterestComputationMethod2Code>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<GenericIdentification30>,
}
impl Validate for InterestComputationMethodFormat4Choice {}
#[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:colr.022.001.01")]
pub enum InterestRateIndexTenor2Code {
#[yaserde(rename = "INDA")]
#[cfg_attr(feature = "serde", serde(rename = "INDA"))]
Inda,
#[yaserde(rename = "MNTH")]
#[cfg_attr(feature = "serde", serde(rename = "MNTH"))]
Mnth,
#[yaserde(rename = "YEAR")]
#[cfg_attr(feature = "serde", serde(rename = "YEAR"))]
Year,
#[yaserde(rename = "TOMN")]
#[cfg_attr(feature = "serde", serde(rename = "TOMN"))]
Tomn,
#[yaserde(rename = "QUTR")]
#[cfg_attr(feature = "serde", serde(rename = "QUTR"))]
Qutr,
#[yaserde(rename = "FOMN")]
#[cfg_attr(feature = "serde", serde(rename = "FOMN"))]
Fomn,
#[yaserde(rename = "SEMI")]
#[cfg_attr(feature = "serde", serde(rename = "SEMI"))]
Semi,
#[yaserde(rename = "OVNG")]
#[cfg_attr(feature = "serde", serde(rename = "OVNG"))]
Ovng,
#[yaserde(rename = "WEEK")]
#[cfg_attr(feature = "serde", serde(rename = "WEEK"))]
Week,
#[yaserde(rename = "TOWK")]
#[cfg_attr(feature = "serde", serde(rename = "TOWK"))]
Towk,
__Unknown__(String),
}
impl Default for InterestRateIndexTenor2Code {
fn default() -> InterestRateIndexTenor2Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for InterestRateIndexTenor2Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Leiidentifier (pub String);
crate::simple_type!(Leiidentifier);
impl Validate for Leiidentifier {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Micidentifier (pub String);
crate::simple_type!(Micidentifier);
impl Validate for Micidentifier {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:colr.022.001.01")]
pub struct MarketIdentification1Choice {
#[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<Max35Text>,
}
impl Validate for MarketIdentification1Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:colr.022.001.01")]
pub struct MarketIdentification89 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: MarketIdentification1Choice,
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: MarketType15Choice,
}
impl Validate for MarketIdentification89 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:colr.022.001.01")]
pub struct MarketType15Choice {
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: Option<MarketType4Code>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<GenericIdentification30>,
}
impl Validate for MarketType15Choice {}
#[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:colr.022.001.01")]
pub enum MarketType4Code {
#[yaserde(rename = "FUND")]
#[cfg_attr(feature = "serde", serde(rename = "FUND"))]
Fund,
#[yaserde(rename = "LMAR")]
#[cfg_attr(feature = "serde", serde(rename = "LMAR"))]
Lmar,
#[yaserde(rename = "THEO")]
#[cfg_attr(feature = "serde", serde(rename = "THEO"))]
Theo,
#[yaserde(rename = "VEND")]
#[cfg_attr(feature = "serde", serde(rename = "VEND"))]
Vend,
__Unknown__(String),
}
impl Default for MarketType4Code {
fn default() -> MarketType4Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for MarketType4Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max10Text (pub String);
crate::simple_type!(Max10Text);
impl Validate for Max10Text {
fn validate(&self) -> Result<(), String> {
#[allow(clippy::len_zero)]
if self.0.len() < 1 {
return Err(format!("MinLength validation error. \nExpected: 0 length >= 1 \nActual: 0 length == {}", self.0.len()));
}
if self.0.len() > 10 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 10 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct 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 Max34Text (pub String);
crate::simple_type!(Max34Text);
impl Validate for Max34Text {
fn validate(&self) -> Result<(), String> {
#[allow(clippy::len_zero)]
if self.0.len() < 1 {
return Err(format!("MinLength validation error. \nExpected: 0 length >= 1 \nActual: 0 length == {}", self.0.len()));
}
if self.0.len() > 34 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 34 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max350Text (pub String);
crate::simple_type!(Max350Text);
impl Validate for Max350Text {
fn validate(&self) -> Result<(), String> {
#[allow(clippy::len_zero)]
if self.0.len() < 1 {
return Err(format!("MinLength validation error. \nExpected: 0 length >= 1 \nActual: 0 length == {}", self.0.len()));
}
if self.0.len() > 350 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 350 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max35Text (pub String);
crate::simple_type!(Max35Text);
impl Validate for Max35Text {
fn validate(&self) -> Result<(), String> {
#[allow(clippy::len_zero)]
if self.0.len() < 1 {
return Err(format!("MinLength validation error. \nExpected: 0 length >= 1 \nActual: 0 length == {}", self.0.len()));
}
if self.0.len() > 35 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 35 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max3NumericText (pub String);
crate::simple_type!(Max3NumericText);
impl Validate for Max3NumericText {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max52Text (pub String);
crate::simple_type!(Max52Text);
impl Validate for Max52Text {
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() > 52 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 52 \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:colr.022.001.01")]
pub struct NameAndAddress5 {
#[yaserde(rename = "Nm")]
#[cfg_attr(feature = "serde", serde(rename = "Nm"))]
pub nm: Max350Text,
#[yaserde(rename = "Adr")]
#[cfg_attr(feature = "serde", serde(rename = "Adr"))]
pub adr: PostalAddress1,
}
impl Validate for NameAndAddress5 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Number (pub String);
crate::simple_type!(Number);
impl Validate for Number {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:colr.022.001.01")]
pub struct Number3Choice {
#[yaserde(rename = "Shrt")]
#[cfg_attr(feature = "serde", serde(rename = "Shrt"))]
pub shrt: Option<Exact3NumericText>,
#[yaserde(rename = "Lng")]
#[cfg_attr(feature = "serde", serde(rename = "Lng"))]
pub lng: Option<Exact5NumericText>,
}
impl Validate for Number3Choice {}
#[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:colr.022.001.01")]
pub enum OptionType1Code {
#[yaserde(rename = "CALL")]
#[cfg_attr(feature = "serde", serde(rename = "CALL"))]
Call,
#[yaserde(rename = "PUTO")]
#[cfg_attr(feature = "serde", serde(rename = "PUTO"))]
Puto,
__Unknown__(String),
}
impl Default for OptionType1Code {
fn default() -> OptionType1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for OptionType1Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:colr.022.001.01")]
pub struct OptionType6Choice {
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: Option<OptionType1Code>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<GenericIdentification30>,
}
impl Validate for OptionType6Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:colr.022.001.01")]
pub struct OriginalAndCurrentQuantities1 {
#[yaserde(rename = "FaceAmt")]
#[cfg_attr(feature = "serde", serde(rename = "FaceAmt"))]
pub face_amt: ImpliedCurrencyAndAmount,
#[yaserde(rename = "AmtsdVal")]
#[cfg_attr(feature = "serde", serde(rename = "AmtsdVal"))]
pub amtsd_val: ImpliedCurrencyAndAmount,
}
impl Validate for OriginalAndCurrentQuantities1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:colr.022.001.01")]
pub struct OtherIdentification1 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Max35Text,
#[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: IdentificationSource3Choice,
}
impl Validate for OtherIdentification1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:colr.022.001.01")]
pub struct OverallCollateralDetails2 {
#[yaserde(rename = "ValtnAmts")]
#[cfg_attr(feature = "serde", serde(rename = "ValtnAmts"))]
pub valtn_amts: CollateralAmount15,
#[yaserde(rename = "MrgnRate")]
#[cfg_attr(feature = "serde", serde(rename = "MrgnRate"))]
pub mrgn_rate: PercentageRate,
#[yaserde(rename = "GblCollSts")]
#[cfg_attr(feature = "serde", serde(rename = "GblCollSts"))]
pub gbl_coll_sts: CollateralStatus1Code,
#[yaserde(rename = "ValtnDt")]
#[cfg_attr(feature = "serde", serde(rename = "ValtnDt"))]
pub valtn_dt: DateAndDateTime2Choice,
#[yaserde(rename = "CollAddtlDtls")]
#[cfg_attr(feature = "serde", serde(rename = "CollAddtlDtls"))]
pub coll_addtl_dtls: Max350Text,
}
impl Validate for OverallCollateralDetails2 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:colr.022.001.01")]
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:colr.022.001.01")]
pub struct PartyIdentification120Choice {
#[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<GenericIdentification36>,
#[yaserde(rename = "NmAndAdr")]
#[cfg_attr(feature = "serde", serde(rename = "NmAndAdr"))]
pub nm_and_adr: Option<NameAndAddress5>,
}
impl Validate for PartyIdentification120Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:colr.022.001.01")]
pub struct PartyIdentification136 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: PartyIdentification120Choice,
#[yaserde(rename = "LEI")]
#[cfg_attr(feature = "serde", serde(rename = "LEI"))]
pub lei: Leiidentifier,
}
impl Validate for PartyIdentification136 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:colr.022.001.01")]
pub struct PartyIdentification232 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: PartyIdentification120Choice,
#[yaserde(rename = "LEI")]
#[cfg_attr(feature = "serde", serde(rename = "LEI"))]
pub lei: Leiidentifier,
#[yaserde(rename = "AltrnId")]
#[cfg_attr(feature = "serde", serde(rename = "AltrnId"))]
pub altrn_id: AlternatePartyIdentification7,
}
impl Validate for PartyIdentification232 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:colr.022.001.01")]
pub struct PartyIdentificationAndAccount202 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: PartyIdentification120Choice,
#[yaserde(rename = "LEI")]
#[cfg_attr(feature = "serde", serde(rename = "LEI"))]
pub lei: Leiidentifier,
#[yaserde(rename = "AltrnId")]
#[cfg_attr(feature = "serde", serde(rename = "AltrnId"))]
pub altrn_id: AlternatePartyIdentification7,
#[yaserde(rename = "SfkpgAcct")]
#[cfg_attr(feature = "serde", serde(rename = "SfkpgAcct"))]
pub sfkpg_acct: SecuritiesAccount19,
#[yaserde(rename = "BlckChainAdrOrWllt")]
#[cfg_attr(feature = "serde", serde(rename = "BlckChainAdrOrWllt"))]
pub blck_chain_adr_or_wllt: BlockChainAddressWallet3,
#[yaserde(rename = "AcctOwnr")]
#[cfg_attr(feature = "serde", serde(rename = "AcctOwnr"))]
pub acct_ownr: PartyIdentification136,
#[yaserde(rename = "PtyCpcty")]
#[cfg_attr(feature = "serde", serde(rename = "PtyCpcty"))]
pub pty_cpcty: TradingPartyCapacity5Choice,
}
impl Validate for PartyIdentificationAndAccount202 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct PercentageRate (pub String);
crate::simple_type!(PercentageRate);
impl Validate for PercentageRate {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:colr.022.001.01")]
pub struct Period2 {
#[yaserde(rename = "FrDt")]
#[cfg_attr(feature = "serde", serde(rename = "FrDt"))]
pub fr_dt: Isodate,
#[yaserde(rename = "ToDt")]
#[cfg_attr(feature = "serde", serde(rename = "ToDt"))]
pub to_dt: Isodate,
}
impl Validate for Period2 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:colr.022.001.01")]
pub struct Period4Choice {
#[yaserde(rename = "Dt")]
#[cfg_attr(feature = "serde", serde(rename = "Dt"))]
pub dt: Option<Isodate>,
#[yaserde(rename = "FrDt")]
#[cfg_attr(feature = "serde", serde(rename = "FrDt"))]
pub fr_dt: Option<Isodate>,
#[yaserde(rename = "ToDt")]
#[cfg_attr(feature = "serde", serde(rename = "ToDt"))]
pub to_dt: Option<Isodate>,
#[yaserde(rename = "FrDtToDt")]
#[cfg_attr(feature = "serde", serde(rename = "FrDtToDt"))]
pub fr_dt_to_dt: Option<Period2>,
}
impl Validate for Period4Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct PlusOrMinusIndicator (pub bool);
crate::simple_type!(PlusOrMinusIndicator);
impl Validate for PlusOrMinusIndicator {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:colr.022.001.01")]
pub struct PostalAddress1 {
#[yaserde(rename = "AdrTp")]
#[cfg_attr(feature = "serde", serde(rename = "AdrTp"))]
pub adr_tp: AddressType2Code,
#[yaserde(rename = "AdrLine")]
#[cfg_attr(feature = "serde", serde(rename = "AdrLine"))]
pub adr_line: Vec<Max70Text>,
#[yaserde(rename = "StrtNm")]
#[cfg_attr(feature = "serde", serde(rename = "StrtNm"))]
pub strt_nm: Max70Text,
#[yaserde(rename = "BldgNb")]
#[cfg_attr(feature = "serde", serde(rename = "BldgNb"))]
pub bldg_nb: Max16Text,
#[yaserde(rename = "PstCd")]
#[cfg_attr(feature = "serde", serde(rename = "PstCd"))]
pub pst_cd: Max16Text,
#[yaserde(rename = "TwnNm")]
#[cfg_attr(feature = "serde", serde(rename = "TwnNm"))]
pub twn_nm: Max35Text,
#[yaserde(rename = "CtrySubDvsn")]
#[cfg_attr(feature = "serde", serde(rename = "CtrySubDvsn"))]
pub ctry_sub_dvsn: Max35Text,
#[yaserde(rename = "Ctry")]
#[cfg_attr(feature = "serde", serde(rename = "Ctry"))]
pub ctry: CountryCode,
}
impl Validate for PostalAddress1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:colr.022.001.01")]
pub struct Price7 {
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: YieldedOrValueType1Choice,
#[yaserde(rename = "Val")]
#[cfg_attr(feature = "serde", serde(rename = "Val"))]
pub val: PriceRateOrAmount3Choice,
}
impl Validate for Price7 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:colr.022.001.01")]
pub struct PriceRateOrAmount3Choice {
#[yaserde(rename = "Rate")]
#[cfg_attr(feature = "serde", serde(rename = "Rate"))]
pub rate: Option<PercentageRate>,
#[yaserde(rename = "Amt")]
#[cfg_attr(feature = "serde", serde(rename = "Amt"))]
pub amt: Option<ActiveOrHistoricCurrencyAnd13DecimalAmount>,
}
impl Validate for PriceRateOrAmount3Choice {}
#[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:colr.022.001.01")]
pub enum PriceValueType1Code {
#[yaserde(rename = "DISC")]
#[cfg_attr(feature = "serde", serde(rename = "DISC"))]
Disc,
#[yaserde(rename = "PREM")]
#[cfg_attr(feature = "serde", serde(rename = "PREM"))]
Prem,
#[yaserde(rename = "PARV")]
#[cfg_attr(feature = "serde", serde(rename = "PARV"))]
Parv,
__Unknown__(String),
}
impl Default for PriceValueType1Code {
fn default() -> PriceValueType1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for PriceValueType1Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:colr.022.001.01")]
pub struct Quantity51Choice {
#[yaserde(rename = "Qty")]
#[cfg_attr(feature = "serde", serde(rename = "Qty"))]
pub qty: Option<FinancialInstrumentQuantity33Choice>,
#[yaserde(rename = "OrgnlAndCurFace")]
#[cfg_attr(feature = "serde", serde(rename = "OrgnlAndCurFace"))]
pub orgnl_and_cur_face: Option<OriginalAndCurrentQuantities1>,
}
impl Validate for Quantity51Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:colr.022.001.01")]
pub struct RateOrName4Choice {
#[yaserde(rename = "Rate")]
#[cfg_attr(feature = "serde", serde(rename = "Rate"))]
pub rate: Option<PercentageRate>,
#[yaserde(rename = "RateIndxDtls")]
#[cfg_attr(feature = "serde", serde(rename = "RateIndxDtls"))]
pub rate_indx_dtls: Option<RateTypeAndLookback2>,
}
impl Validate for RateOrName4Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:colr.022.001.01")]
pub struct RateTypeAndLookback2 {
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: BenchmarkCurveName13Choice,
#[yaserde(rename = "LookBckDays")]
#[cfg_attr(feature = "serde", serde(rename = "LookBckDays"))]
pub look_bck_days: Max3NumericText,
#[yaserde(rename = "CrstllstnDt")]
#[cfg_attr(feature = "serde", serde(rename = "CrstllstnDt"))]
pub crstllstn_dt: CrystallisationDay1,
#[yaserde(rename = "Tnr")]
#[cfg_attr(feature = "serde", serde(rename = "Tnr"))]
pub tnr: InterestRateIndexTenor2Code,
#[yaserde(rename = "Ccy")]
#[cfg_attr(feature = "serde", serde(rename = "Ccy"))]
pub ccy: ActiveOrHistoricCurrencyCode,
}
impl Validate for RateTypeAndLookback2 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:colr.022.001.01")]
pub struct Rating2 {
#[yaserde(rename = "Ratg")]
#[cfg_attr(feature = "serde", serde(rename = "Ratg"))]
pub ratg: Max10Text,
#[yaserde(rename = "SrcOfRatg")]
#[cfg_attr(feature = "serde", serde(rename = "SrcOfRatg"))]
pub src_of_ratg: MarketIdentification89,
}
impl Validate for Rating2 {}
#[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:colr.022.001.01")]
pub enum RepoTerminationOption1Code {
#[yaserde(rename = "EGRN")]
#[cfg_attr(feature = "serde", serde(rename = "EGRN"))]
Egrn,
#[yaserde(rename = "ETSB")]
#[cfg_attr(feature = "serde", serde(rename = "ETSB"))]
Etsb,
__Unknown__(String),
}
impl Default for RepoTerminationOption1Code {
fn default() -> RepoTerminationOption1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for RepoTerminationOption1Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:colr.022.001.01")]
pub struct SafeKeepingPlace3 {
#[yaserde(rename = "SfkpgPlcFrmt")]
#[cfg_attr(feature = "serde", serde(rename = "SfkpgPlcFrmt"))]
pub sfkpg_plc_frmt: SafekeepingPlaceFormat29Choice,
#[yaserde(rename = "LEI")]
#[cfg_attr(feature = "serde", serde(rename = "LEI"))]
pub lei: Leiidentifier,
}
impl Validate for SafeKeepingPlace3 {}
#[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:colr.022.001.01")]
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:colr.022.001.01")]
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:colr.022.001.01")]
pub struct SafekeepingPlaceFormat29Choice {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Option<SafekeepingPlaceTypeAndText8>,
#[yaserde(rename = "Ctry")]
#[cfg_attr(feature = "serde", serde(rename = "Ctry"))]
pub ctry: Option<CountryCode>,
#[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<GenericIdentification78>,
}
impl Validate for SafekeepingPlaceFormat29Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:colr.022.001.01")]
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:colr.022.001.01")]
pub struct SafekeepingPlaceTypeAndText8 {
#[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: Max35Text,
}
impl Validate for SafekeepingPlaceTypeAndText8 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:colr.022.001.01")]
pub struct SecuritiesAccount19 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Max35Text,
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: GenericIdentification30,
#[yaserde(rename = "Nm")]
#[cfg_attr(feature = "serde", serde(rename = "Nm"))]
pub nm: Max70Text,
}
impl Validate for SecuritiesAccount19 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:colr.022.001.01")]
pub struct SecuritiesBalance3 {
#[yaserde(rename = "FinInstrmId")]
#[cfg_attr(feature = "serde", serde(rename = "FinInstrmId"))]
pub fin_instrm_id: SecurityIdentification19,
#[yaserde(rename = "Qty")]
#[cfg_attr(feature = "serde", serde(rename = "Qty"))]
pub qty: BalanceQuantity13Choice,
#[yaserde(rename = "CollInd")]
#[cfg_attr(feature = "serde", serde(rename = "CollInd"))]
pub coll_ind: YesNoIndicator,
#[yaserde(rename = "SfkpgPlc")]
#[cfg_attr(feature = "serde", serde(rename = "SfkpgPlc"))]
pub sfkpg_plc: SafeKeepingPlace3,
#[yaserde(rename = "AcctOwnr")]
#[cfg_attr(feature = "serde", serde(rename = "AcctOwnr"))]
pub acct_ownr: PartyIdentification232,
#[yaserde(rename = "SfkpgAcct")]
#[cfg_attr(feature = "serde", serde(rename = "SfkpgAcct"))]
pub sfkpg_acct: SecuritiesAccount19,
#[yaserde(rename = "BlckChainAdrOrWllt")]
#[cfg_attr(feature = "serde", serde(rename = "BlckChainAdrOrWllt"))]
pub blck_chain_adr_or_wllt: BlockChainAddressWallet3,
#[yaserde(rename = "SttlmSts")]
#[cfg_attr(feature = "serde", serde(rename = "SttlmSts"))]
pub sttlm_sts: SecuritiesSettlementStatus3Code,
#[yaserde(rename = "DnmtnCcy")]
#[cfg_attr(feature = "serde", serde(rename = "DnmtnCcy"))]
pub dnmtn_ccy: ActiveOrHistoricCurrencyCode,
#[yaserde(rename = "RatgDtls")]
#[cfg_attr(feature = "serde", serde(rename = "RatgDtls"))]
pub ratg_dtls: Vec<Rating2>,
#[yaserde(rename = "FXDtls")]
#[cfg_attr(feature = "serde", serde(rename = "FXDtls"))]
pub fx_dtls: ForeignExchangeTerms19,
#[yaserde(rename = "ValtnDtls")]
#[cfg_attr(feature = "serde", serde(rename = "ValtnDtls"))]
pub valtn_dtls: ValuationsDetails1,
#[yaserde(rename = "TxLotNb")]
#[cfg_attr(feature = "serde", serde(rename = "TxLotNb"))]
pub tx_lot_nb: Vec<GenericIdentification178>,
}
impl Validate for SecuritiesBalance3 {}
#[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:colr.022.001.01")]
pub enum SecuritiesSettlementStatus3Code {
#[yaserde(rename = "PEND")]
#[cfg_attr(feature = "serde", serde(rename = "PEND"))]
Pend,
#[yaserde(rename = "SETT")]
#[cfg_attr(feature = "serde", serde(rename = "SETT"))]
Sett,
__Unknown__(String),
}
impl Default for SecuritiesSettlementStatus3Code {
fn default() -> SecuritiesSettlementStatus3Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for SecuritiesSettlementStatus3Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:colr.022.001.01")]
pub struct SecurityIdentification19 {
#[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<OtherIdentification1>,
#[yaserde(rename = "Desc")]
#[cfg_attr(feature = "serde", serde(rename = "Desc"))]
pub desc: Max140Text,
}
impl Validate for SecurityIdentification19 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:colr.022.001.01")]
pub struct Statement78 {
#[yaserde(rename = "StmtId")]
#[cfg_attr(feature = "serde", serde(rename = "StmtId"))]
pub stmt_id: Max35Text,
#[yaserde(rename = "RptNb")]
#[cfg_attr(feature = "serde", serde(rename = "RptNb"))]
pub rpt_nb: Number3Choice,
#[yaserde(rename = "QryRef")]
#[cfg_attr(feature = "serde", serde(rename = "QryRef"))]
pub qry_ref: Max35Text,
#[yaserde(rename = "StmtDtTm")]
#[cfg_attr(feature = "serde", serde(rename = "StmtDtTm"))]
pub stmt_dt_tm: DateAndDateTime2Choice,
#[yaserde(rename = "Frqcy")]
#[cfg_attr(feature = "serde", serde(rename = "Frqcy"))]
pub frqcy: Frequency22Choice,
#[yaserde(rename = "UpdTp")]
#[cfg_attr(feature = "serde", serde(rename = "UpdTp"))]
pub upd_tp: UpdateType15Choice,
#[yaserde(rename = "CollSd")]
#[cfg_attr(feature = "serde", serde(rename = "CollSd"))]
pub coll_sd: CollateralRole1Code,
#[yaserde(rename = "StmtBsis")]
#[cfg_attr(feature = "serde", serde(rename = "StmtBsis"))]
pub stmt_bsis: StatementBasis14Choice,
#[yaserde(rename = "StsTp")]
#[cfg_attr(feature = "serde", serde(rename = "StsTp"))]
pub sts_tp: StatementStatusType1Code,
#[yaserde(rename = "SummryInd")]
#[cfg_attr(feature = "serde", serde(rename = "SummryInd"))]
pub summry_ind: YesNoIndicator,
#[yaserde(rename = "ActvtyInd")]
#[cfg_attr(feature = "serde", serde(rename = "ActvtyInd"))]
pub actvty_ind: YesNoIndicator,
}
impl Validate for Statement78 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:colr.022.001.01")]
pub struct StatementBasis14Choice {
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: Option<StatementBasis3Code>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<GenericIdentification30>,
}
impl Validate for StatementBasis14Choice {}
#[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:colr.022.001.01")]
pub enum StatementBasis3Code {
#[yaserde(rename = "EOSP")]
#[cfg_attr(feature = "serde", serde(rename = "EOSP"))]
Eosp,
#[yaserde(rename = "FUTM")]
#[cfg_attr(feature = "serde", serde(rename = "FUTM"))]
Futm,
__Unknown__(String),
}
impl Default for StatementBasis3Code {
fn default() -> StatementBasis3Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for StatementBasis3Code {}
#[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:colr.022.001.01")]
pub enum StatementStatusType1Code {
#[yaserde(rename = "CONF")]
#[cfg_attr(feature = "serde", serde(rename = "CONF"))]
Conf,
#[yaserde(rename = "PEND")]
#[cfg_attr(feature = "serde", serde(rename = "PEND"))]
Pend,
__Unknown__(String),
}
impl Default for StatementStatusType1Code {
fn default() -> StatementStatusType1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for StatementStatusType1Code {}
#[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:colr.022.001.01")]
pub enum StatementUpdateType1Code {
#[yaserde(rename = "COMP")]
#[cfg_attr(feature = "serde", serde(rename = "COMP"))]
Comp,
#[yaserde(rename = "DELT")]
#[cfg_attr(feature = "serde", serde(rename = "DELT"))]
Delt,
__Unknown__(String),
}
impl Default for StatementUpdateType1Code {
fn default() -> StatementUpdateType1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for StatementUpdateType1Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:colr.022.001.01")]
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:colr.022.001.01")]
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:colr.022.001.01")]
pub struct TotalValueInPageAndStatement5 {
#[yaserde(rename = "TtlXpsrValOfPg")]
#[cfg_attr(feature = "serde", serde(rename = "TtlXpsrValOfPg"))]
pub ttl_xpsr_val_of_pg: ActiveOrHistoricCurrencyAndAmount,
#[yaserde(rename = "TtlCollHeldValOfPg")]
#[cfg_attr(feature = "serde", serde(rename = "TtlCollHeldValOfPg"))]
pub ttl_coll_held_val_of_pg: ActiveOrHistoricCurrencyAndAmount,
}
impl Validate for TotalValueInPageAndStatement5 {}
#[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:colr.022.001.01")]
pub enum TradingCapacity7Code {
#[yaserde(rename = "AGEN")]
#[cfg_attr(feature = "serde", serde(rename = "AGEN"))]
Agen,
#[yaserde(rename = "PRIN")]
#[cfg_attr(feature = "serde", serde(rename = "PRIN"))]
Prin,
__Unknown__(String),
}
impl Default for TradingCapacity7Code {
fn default() -> TradingCapacity7Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for TradingCapacity7Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:colr.022.001.01")]
pub struct TradingPartyCapacity5Choice {
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: Option<TradingCapacity7Code>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<GenericIdentification30>,
}
impl Validate for TradingPartyCapacity5Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:colr.022.001.01")]
pub struct Transaction124 {
#[yaserde(rename = "ClntTrptyCollTxId")]
#[cfg_attr(feature = "serde", serde(rename = "ClntTrptyCollTxId"))]
pub clnt_trpty_coll_tx_id: Max35Text,
#[yaserde(rename = "TrptyAgtSvcPrvdrCollTxId")]
#[cfg_attr(feature = "serde", serde(rename = "TrptyAgtSvcPrvdrCollTxId"))]
pub trpty_agt_svc_prvdr_coll_tx_id: Max35Text,
#[yaserde(rename = "CtrPtyCollTxRef")]
#[cfg_attr(feature = "serde", serde(rename = "CtrPtyCollTxRef"))]
pub ctr_pty_coll_tx_ref: Max35Text,
#[yaserde(rename = "CmonTxId")]
#[cfg_attr(feature = "serde", serde(rename = "CmonTxId"))]
pub cmon_tx_id: Max52Text,
#[yaserde(rename = "XpsrTp")]
#[cfg_attr(feature = "serde", serde(rename = "XpsrTp"))]
pub xpsr_tp: ExposureType23Choice,
#[yaserde(rename = "OptnTp")]
#[cfg_attr(feature = "serde", serde(rename = "OptnTp"))]
pub optn_tp: OptionType6Choice,
#[yaserde(rename = "TermntnOptn")]
#[cfg_attr(feature = "serde", serde(rename = "TermntnOptn"))]
pub termntn_optn: RepoTerminationOption1Code,
#[yaserde(rename = "BsktIdAndElgbltySetPrfl")]
#[cfg_attr(feature = "serde", serde(rename = "BsktIdAndElgbltySetPrfl"))]
pub bskt_id_and_elgblty_set_prfl: BasketIdentificationAndEligibilitySetProfile1,
#[yaserde(rename = "CollPties")]
#[cfg_attr(feature = "serde", serde(rename = "CollPties"))]
pub coll_pties: CollateralParties11,
#[yaserde(rename = "ExctnReqdDt")]
#[cfg_attr(feature = "serde", serde(rename = "ExctnReqdDt"))]
pub exctn_reqd_dt: ClosingDate4Choice,
#[yaserde(rename = "ClsgDt")]
#[cfg_attr(feature = "serde", serde(rename = "ClsgDt"))]
pub clsg_dt: ClosingDate4Choice,
#[yaserde(rename = "ValtnAmts")]
#[cfg_attr(feature = "serde", serde(rename = "ValtnAmts"))]
pub valtn_amts: CollateralAmount17,
#[yaserde(rename = "PricgRate")]
#[cfg_attr(feature = "serde", serde(rename = "PricgRate"))]
pub pricg_rate: RateOrName4Choice,
#[yaserde(rename = "MrgnRate")]
#[cfg_attr(feature = "serde", serde(rename = "MrgnRate"))]
pub mrgn_rate: PercentageRate,
#[yaserde(rename = "SprdRate")]
#[cfg_attr(feature = "serde", serde(rename = "SprdRate"))]
pub sprd_rate: PercentageRate,
#[yaserde(rename = "DayCntBsis")]
#[cfg_attr(feature = "serde", serde(rename = "DayCntBsis"))]
pub day_cnt_bsis: InterestComputationMethodFormat4Choice,
#[yaserde(rename = "AutomtcAllcn")]
#[cfg_attr(feature = "serde", serde(rename = "AutomtcAllcn"))]
pub automtc_allcn: YesNoIndicator,
#[yaserde(rename = "TxSts")]
#[cfg_attr(feature = "serde", serde(rename = "TxSts"))]
pub tx_sts: Vec<TransactionStatus6>,
#[yaserde(rename = "SctiesBal")]
#[cfg_attr(feature = "serde", serde(rename = "SctiesBal"))]
pub scties_bal: Vec<SecuritiesBalance3>,
#[yaserde(rename = "CshBal")]
#[cfg_attr(feature = "serde", serde(rename = "CshBal"))]
pub csh_bal: Vec<CashBalance15>,
}
impl Validate for Transaction124 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:colr.022.001.01")]
pub struct TransactionStatus6 {
#[yaserde(rename = "CvrgSts")]
#[cfg_attr(feature = "serde", serde(rename = "CvrgSts"))]
pub cvrg_sts: CollateralStatus1Code,
#[yaserde(rename = "ExctnSts")]
#[cfg_attr(feature = "serde", serde(rename = "ExctnSts"))]
pub exctn_sts: CollateralStatus2Choice,
}
impl Validate for TransactionStatus6 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:colr.022.001.01")]
pub struct TripartyCollateralAndExposureReportV01 {
#[yaserde(rename = "Pgntn")]
#[cfg_attr(feature = "serde", serde(rename = "Pgntn"))]
pub pgntn: Pagination1,
#[yaserde(rename = "StmtGnlDtls")]
#[cfg_attr(feature = "serde", serde(rename = "StmtGnlDtls"))]
pub stmt_gnl_dtls: Statement78,
#[yaserde(rename = "CollPties")]
#[cfg_attr(feature = "serde", serde(rename = "CollPties"))]
pub coll_pties: CollateralParties9,
#[yaserde(rename = "OvrllCollAggtn")]
#[cfg_attr(feature = "serde", serde(rename = "OvrllCollAggtn"))]
pub ovrll_coll_aggtn: OverallCollateralDetails2,
#[yaserde(rename = "XpsrTpAggtn")]
#[cfg_attr(feature = "serde", serde(rename = "XpsrTpAggtn"))]
pub xpsr_tp_aggtn: Vec<ExposureTypeAggregation3>,
#[yaserde(rename = "CtrPtyAggtn")]
#[cfg_attr(feature = "serde", serde(rename = "CtrPtyAggtn"))]
pub ctr_pty_aggtn: Vec<CounterpartyAggregation3>,
#[yaserde(rename = "Txs")]
#[cfg_attr(feature = "serde", serde(rename = "Txs"))]
pub txs: Vec<Transaction124>,
#[yaserde(rename = "AcctBaseCcyTtlAmts")]
#[cfg_attr(feature = "serde", serde(rename = "AcctBaseCcyTtlAmts"))]
pub acct_base_ccy_ttl_amts: TotalValueInPageAndStatement5,
#[yaserde(rename = "SplmtryData")]
#[cfg_attr(feature = "serde", serde(rename = "SplmtryData"))]
pub splmtry_data: Vec<SupplementaryData1>,
}
impl Validate for TripartyCollateralAndExposureReportV01 {}
#[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:colr.022.001.01")]
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(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:colr.022.001.01")]
pub struct UpdateType15Choice {
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: Option<StatementUpdateType1Code>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<GenericIdentification30>,
}
impl Validate for UpdateType15Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:colr.022.001.01")]
pub struct ValuationFactorBreakdown1 {
#[yaserde(rename = "ValtnFctr")]
#[cfg_attr(feature = "serde", serde(rename = "ValtnFctr"))]
pub valtn_fctr: BaseOneRate,
#[yaserde(rename = "InfltnFctr")]
#[cfg_attr(feature = "serde", serde(rename = "InfltnFctr"))]
pub infltn_fctr: BaseOneRate,
#[yaserde(rename = "Hrcut")]
#[cfg_attr(feature = "serde", serde(rename = "Hrcut"))]
pub hrcut: BaseOneRate,
#[yaserde(rename = "PoolFctr")]
#[cfg_attr(feature = "serde", serde(rename = "PoolFctr"))]
pub pool_fctr: BaseOneRate,
}
impl Validate for ValuationFactorBreakdown1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:colr.022.001.01")]
pub struct ValuationsDetails1 {
#[yaserde(rename = "MktPric")]
#[cfg_attr(feature = "serde", serde(rename = "MktPric"))]
pub mkt_pric: Price7,
#[yaserde(rename = "SrcOfPric")]
#[cfg_attr(feature = "serde", serde(rename = "SrcOfPric"))]
pub src_of_pric: MarketIdentification89,
#[yaserde(rename = "SttlmDt")]
#[cfg_attr(feature = "serde", serde(rename = "SttlmDt"))]
pub sttlm_dt: DateAndDateTime2Choice,
#[yaserde(rename = "ValtnDtlsAmt")]
#[cfg_attr(feature = "serde", serde(rename = "ValtnDtlsAmt"))]
pub valtn_dtls_amt: CollateralAmount4,
#[yaserde(rename = "AcrdIntrst")]
#[cfg_attr(feature = "serde", serde(rename = "AcrdIntrst"))]
pub acrd_intrst: ActiveOrHistoricCurrencyAndAmount,
#[yaserde(rename = "CleanPric")]
#[cfg_attr(feature = "serde", serde(rename = "CleanPric"))]
pub clean_pric: ActiveOrHistoricCurrencyAndAmount,
#[yaserde(rename = "ValtnFctrBrkdwn")]
#[cfg_attr(feature = "serde", serde(rename = "ValtnFctrBrkdwn"))]
pub valtn_fctr_brkdwn: ValuationFactorBreakdown1,
#[yaserde(rename = "NbOfDaysAcrd")]
#[cfg_attr(feature = "serde", serde(rename = "NbOfDaysAcrd"))]
pub nb_of_days_acrd: Number,
#[yaserde(rename = "QtnAge")]
#[cfg_attr(feature = "serde", serde(rename = "QtnAge"))]
pub qtn_age: Number,
}
impl Validate for ValuationsDetails1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:colr.022.001.01")]
pub struct ValuationsDetails2 {
#[yaserde(rename = "ValtnDtlsAmt")]
#[cfg_attr(feature = "serde", serde(rename = "ValtnDtlsAmt"))]
pub valtn_dtls_amt: Vec<CollateralAmount9>,
#[yaserde(rename = "Hrcut")]
#[cfg_attr(feature = "serde", serde(rename = "Hrcut"))]
pub hrcut: BaseOneRate,
}
impl Validate for ValuationsDetails2 {}
#[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 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:colr.022.001.01")]
pub struct YieldedOrValueType1Choice {
#[yaserde(rename = "Yldd")]
#[cfg_attr(feature = "serde", serde(rename = "Yldd"))]
pub yldd: Option<YesNoIndicator>,
#[yaserde(rename = "ValTp")]
#[cfg_attr(feature = "serde", serde(rename = "ValTp"))]
pub val_tp: Option<PriceValueType1Code>,
}
impl Validate for YieldedOrValueType1Choice {}
impl crate::MxMessage for Document {
const BUSINESS_AREA: crate::BusinessArea = crate::BusinessArea::colr;
const FUNCTIONALITY: &'static str = "022";
const VARIANT: &'static str = "001";
const VERSION: &'static str = "01";
const MESSAGE_NAME: &'static str = "colr.022.001.01";
const NAMESPACE: &'static str = "urn:iso:std:iso:20022:tech:xsd:colr.022.001.01";
}