#![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 ActiveCurrencyAndAmountSimpleType (pub String);
crate::simple_type!(ActiveCurrencyAndAmountSimpleType);
impl Validate for ActiveCurrencyAndAmountSimpleType {
fn validate(&self) -> Result<(), String> {
if self.0 < "0".parse::<String>().unwrap() {
return Err(format!("MinInclusive validation error: invalid value of 0! \nExpected: 0 >= 0.\nActual: 0 == {}", self.0));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:auth.012.001.02")]
pub struct ActiveCurrencyAndAmount {
#[yaserde(text)]
pub value: String,
#[yaserde(attribute, rename = "Ccy")]
#[cfg_attr(feature = "serde", serde(rename = "Ccy"))]
pub ccy: ActiveCurrencyCode,
}
impl Validate for ActiveCurrencyAndAmount {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct ActiveCurrencyCode (pub String);
crate::simple_type!(ActiveCurrencyCode);
impl Validate for ActiveCurrencyCode {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(PartialEq, Debug, Clone, YaSerialize, YaDeserialize)]#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:auth.012.001.02")]
pub enum BrokeredDeal1Code {
#[yaserde(rename = "BILA")]
#[cfg_attr(feature = "serde", serde(rename = "BILA"))]
Bila,
#[yaserde(rename = "BROK")]
#[cfg_attr(feature = "serde", serde(rename = "BROK"))]
Brok,
__Unknown__(String),
}
impl Default for BrokeredDeal1Code {
fn default() -> BrokeredDeal1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for BrokeredDeal1Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Cfioct2015Identifier (pub String);
crate::simple_type!(Cfioct2015Identifier);
impl Validate for Cfioct2015Identifier {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:auth.012.001.02")]
pub struct Collateral18 {
#[yaserde(rename = "Valtn")]
#[cfg_attr(feature = "serde", serde(rename = "Valtn"))]
pub valtn: SecuredCollateral2Choice,
#[yaserde(rename = "Hrcut")]
#[cfg_attr(feature = "serde", serde(rename = "Hrcut"))]
pub hrcut: PercentageRate,
#[yaserde(rename = "SpclCollInd")]
#[cfg_attr(feature = "serde", serde(rename = "SpclCollInd"))]
pub spcl_coll_ind: SpecialCollateral2Code,
}
impl Validate for Collateral18 {}
#[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:auth.012.001.02")]
pub enum CollateralPool1Code {
#[yaserde(rename = "NOPL")]
#[cfg_attr(feature = "serde", serde(rename = "NOPL"))]
Nopl,
#[yaserde(rename = "POOL")]
#[cfg_attr(feature = "serde", serde(rename = "POOL"))]
Pool,
__Unknown__(String),
}
impl Default for CollateralPool1Code {
fn default() -> CollateralPool1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for CollateralPool1Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:auth.012.001.02")]
pub struct CollateralValuation6 {
#[yaserde(rename = "NmnlAmt")]
#[cfg_attr(feature = "serde", serde(rename = "NmnlAmt"))]
pub nmnl_amt: ActiveCurrencyAndAmount,
#[yaserde(rename = "ISIN")]
#[cfg_attr(feature = "serde", serde(rename = "ISIN"))]
pub isin: Isinoct2015Identifier,
}
impl Validate for CollateralValuation6 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:auth.012.001.02")]
pub struct CollateralValuation7 {
#[yaserde(rename = "PoolSts")]
#[cfg_attr(feature = "serde", serde(rename = "PoolSts"))]
pub pool_sts: CollateralPool1Code,
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: Cfioct2015Identifier,
#[yaserde(rename = "Sctr")]
#[cfg_attr(feature = "serde", serde(rename = "Sctr"))]
pub sctr: Sna2008SectorIdentifier,
#[yaserde(rename = "NmnlAmt")]
#[cfg_attr(feature = "serde", serde(rename = "NmnlAmt"))]
pub nmnl_amt: ActiveCurrencyAndAmount,
}
impl Validate for CollateralValuation7 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:auth.012.001.02")]
pub struct CounterpartyIdentification3Choice {
#[yaserde(rename = "LEI")]
#[cfg_attr(feature = "serde", serde(rename = "LEI"))]
pub lei: Option<Leiidentifier>,
#[yaserde(rename = "SctrAndLctn")]
#[cfg_attr(feature = "serde", serde(rename = "SctrAndLctn"))]
pub sctr_and_lctn: Option<SectorAndLocation1>,
#[yaserde(rename = "NmAndLctn")]
#[cfg_attr(feature = "serde", serde(rename = "NmAndLctn"))]
pub nm_and_lctn: Option<NameAndLocation1>,
}
impl Validate for CounterpartyIdentification3Choice {}
#[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:auth.012.001.02")]
pub struct DateAndDateTimeChoice {
#[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 DateAndDateTimeChoice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:auth.012.001.02")]
pub struct DateTimePeriod1 {
#[yaserde(rename = "FrDtTm")]
#[cfg_attr(feature = "serde", serde(rename = "FrDtTm"))]
pub fr_dt_tm: IsodateTime,
#[yaserde(rename = "ToDtTm")]
#[cfg_attr(feature = "serde", serde(rename = "ToDtTm"))]
pub to_dt_tm: IsodateTime,
}
impl Validate for DateTimePeriod1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:auth.012.001.02")]
pub struct Document {
#[yaserde(rename = "MnyMktScrdMktSttstclRpt")]
#[cfg_attr(feature = "serde", serde(rename = "MnyMktScrdMktSttstclRpt"))]
pub mny_mkt_scrd_mkt_sttstcl_rpt: MoneyMarketSecuredMarketStatisticalReportV02,
}
impl Validate for Document {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:auth.012.001.02")]
pub struct FloatingRateNote2 {
#[yaserde(rename = "RefRateIndx")]
#[cfg_attr(feature = "serde", serde(rename = "RefRateIndx"))]
pub ref_rate_indx: Isinoct2015Identifier,
#[yaserde(rename = "BsisPtSprd")]
#[cfg_attr(feature = "serde", serde(rename = "BsisPtSprd"))]
pub bsis_pt_sprd: Number,
}
impl Validate for FloatingRateNote2 {}
#[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(PartialEq, Debug, Clone, YaSerialize, YaDeserialize)]#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:auth.012.001.02")]
pub enum InterestRateType1Code {
#[yaserde(rename = "FIXE")]
#[cfg_attr(feature = "serde", serde(rename = "FIXE"))]
Fixe,
#[yaserde(rename = "VARI")]
#[cfg_attr(feature = "serde", serde(rename = "VARI"))]
Vari,
__Unknown__(String),
}
impl Default for InterestRateType1Code {
fn default() -> InterestRateType1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for InterestRateType1Code {}
#[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 Max105Text (pub String);
crate::simple_type!(Max105Text);
impl Validate for Max105Text {
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() > 105 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 105 \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 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:auth.012.001.02")]
pub struct MoneyMarketReportHeader1 {
#[yaserde(rename = "RptgAgt")]
#[cfg_attr(feature = "serde", serde(rename = "RptgAgt"))]
pub rptg_agt: Leiidentifier,
#[yaserde(rename = "RefPrd")]
#[cfg_attr(feature = "serde", serde(rename = "RefPrd"))]
pub ref_prd: DateTimePeriod1,
}
impl Validate for MoneyMarketReportHeader1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:auth.012.001.02")]
pub struct MoneyMarketSecuredMarketStatisticalReportV02 {
#[yaserde(rename = "RptHdr")]
#[cfg_attr(feature = "serde", serde(rename = "RptHdr"))]
pub rpt_hdr: MoneyMarketReportHeader1,
#[yaserde(rename = "ScrdMktRpt")]
#[cfg_attr(feature = "serde", serde(rename = "ScrdMktRpt"))]
pub scrd_mkt_rpt: SecuredMarketReport4Choice,
#[yaserde(rename = "SplmtryData")]
#[cfg_attr(feature = "serde", serde(rename = "SplmtryData"))]
pub splmtry_data: Vec<SupplementaryData1>,
}
impl Validate for MoneyMarketSecuredMarketStatisticalReportV02 {}
#[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:auth.012.001.02")]
pub enum MoneyMarketTransactionType1Code {
#[yaserde(rename = "BORR")]
#[cfg_attr(feature = "serde", serde(rename = "BORR"))]
Borr,
#[yaserde(rename = "LEND")]
#[cfg_attr(feature = "serde", serde(rename = "LEND"))]
Lend,
__Unknown__(String),
}
impl Default for MoneyMarketTransactionType1Code {
fn default() -> MoneyMarketTransactionType1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for MoneyMarketTransactionType1Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:auth.012.001.02")]
pub struct NameAndLocation1 {
#[yaserde(rename = "Nm")]
#[cfg_attr(feature = "serde", serde(rename = "Nm"))]
pub nm: Max70Text,
#[yaserde(rename = "Lctn")]
#[cfg_attr(feature = "serde", serde(rename = "Lctn"))]
pub lctn: CountryCode,
}
impl Validate for NameAndLocation1 {}
#[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:auth.012.001.02")]
pub enum NovationStatus1Code {
#[yaserde(rename = "NONO")]
#[cfg_attr(feature = "serde", serde(rename = "NONO"))]
Nono,
#[yaserde(rename = "NOVA")]
#[cfg_attr(feature = "serde", serde(rename = "NOVA"))]
Nova,
__Unknown__(String),
}
impl Default for NovationStatus1Code {
fn default() -> NovationStatus1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for NovationStatus1Code {}
#[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)]
pub struct PercentageRate (pub String);
crate::simple_type!(PercentageRate);
impl Validate for PercentageRate {}
#[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:auth.012.001.02")]
pub enum ReportPeriodActivity3Code {
#[yaserde(rename = "NOTX")]
#[cfg_attr(feature = "serde", serde(rename = "NOTX"))]
Notx,
#[yaserde(rename = "NORA")]
#[cfg_attr(feature = "serde", serde(rename = "NORA"))]
Nora,
__Unknown__(String),
}
impl Default for ReportPeriodActivity3Code {
fn default() -> ReportPeriodActivity3Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for ReportPeriodActivity3Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Sna2008SectorIdentifier (pub String);
crate::simple_type!(Sna2008SectorIdentifier);
impl Validate for Sna2008SectorIdentifier {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:auth.012.001.02")]
pub struct SectorAndLocation1 {
#[yaserde(rename = "Sctr")]
#[cfg_attr(feature = "serde", serde(rename = "Sctr"))]
pub sctr: Sna2008SectorIdentifier,
#[yaserde(rename = "Lctn")]
#[cfg_attr(feature = "serde", serde(rename = "Lctn"))]
pub lctn: CountryCode,
}
impl Validate for SectorAndLocation1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:auth.012.001.02")]
pub struct SecuredCollateral2Choice {
#[yaserde(rename = "SnglColl")]
#[cfg_attr(feature = "serde", serde(rename = "SnglColl"))]
pub sngl_coll: Option<CollateralValuation6>,
#[yaserde(rename = "MltplColl")]
#[cfg_attr(feature = "serde", serde(rename = "MltplColl"))]
pub mltpl_coll: Vec<CollateralValuation6>,
#[yaserde(rename = "PoolColl")]
#[cfg_attr(feature = "serde", serde(rename = "PoolColl"))]
pub pool_coll: Option<CollateralValuation6>,
#[yaserde(rename = "OthrColl")]
#[cfg_attr(feature = "serde", serde(rename = "OthrColl"))]
pub othr_coll: Vec<CollateralValuation7>,
}
impl Validate for SecuredCollateral2Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:auth.012.001.02")]
pub struct SecuredMarketReport4Choice {
#[yaserde(rename = "DataSetActn")]
#[cfg_attr(feature = "serde", serde(rename = "DataSetActn"))]
pub data_set_actn: Option<ReportPeriodActivity3Code>,
#[yaserde(rename = "Tx")]
#[cfg_attr(feature = "serde", serde(rename = "Tx"))]
pub tx: Vec<SecuredMarketTransaction4>,
}
impl Validate for SecuredMarketReport4Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:auth.012.001.02")]
pub struct SecuredMarketTransaction4 {
#[yaserde(rename = "RptdTxSts")]
#[cfg_attr(feature = "serde", serde(rename = "RptdTxSts"))]
pub rptd_tx_sts: TransactionOperationType1Code,
#[yaserde(rename = "NvtnSts")]
#[cfg_attr(feature = "serde", serde(rename = "NvtnSts"))]
pub nvtn_sts: NovationStatus1Code,
#[yaserde(rename = "BrnchId")]
#[cfg_attr(feature = "serde", serde(rename = "BrnchId"))]
pub brnch_id: Leiidentifier,
#[yaserde(rename = "UnqTxIdr")]
#[cfg_attr(feature = "serde", serde(rename = "UnqTxIdr"))]
pub unq_tx_idr: Max105Text,
#[yaserde(rename = "PrtryTxId")]
#[cfg_attr(feature = "serde", serde(rename = "PrtryTxId"))]
pub prtry_tx_id: Max105Text,
#[yaserde(rename = "RltdPrtryTxId")]
#[cfg_attr(feature = "serde", serde(rename = "RltdPrtryTxId"))]
pub rltd_prtry_tx_id: Max105Text,
#[yaserde(rename = "CtrPtyPrtryTxId")]
#[cfg_attr(feature = "serde", serde(rename = "CtrPtyPrtryTxId"))]
pub ctr_pty_prtry_tx_id: Max105Text,
#[yaserde(rename = "CtrPtyId")]
#[cfg_attr(feature = "serde", serde(rename = "CtrPtyId"))]
pub ctr_pty_id: CounterpartyIdentification3Choice,
#[yaserde(rename = "TrptyAgtId")]
#[cfg_attr(feature = "serde", serde(rename = "TrptyAgtId"))]
pub trpty_agt_id: Leiidentifier,
#[yaserde(rename = "TradDt")]
#[cfg_attr(feature = "serde", serde(rename = "TradDt"))]
pub trad_dt: DateAndDateTimeChoice,
#[yaserde(rename = "SttlmDt")]
#[cfg_attr(feature = "serde", serde(rename = "SttlmDt"))]
pub sttlm_dt: Isodate,
#[yaserde(rename = "MtrtyDt")]
#[cfg_attr(feature = "serde", serde(rename = "MtrtyDt"))]
pub mtrty_dt: Isodate,
#[yaserde(rename = "TxTp")]
#[cfg_attr(feature = "serde", serde(rename = "TxTp"))]
pub tx_tp: MoneyMarketTransactionType1Code,
#[yaserde(rename = "TxNmnlAmt")]
#[cfg_attr(feature = "serde", serde(rename = "TxNmnlAmt"))]
pub tx_nmnl_amt: ActiveCurrencyAndAmount,
#[yaserde(rename = "RateTp")]
#[cfg_attr(feature = "serde", serde(rename = "RateTp"))]
pub rate_tp: InterestRateType1Code,
#[yaserde(rename = "DealRate")]
#[cfg_attr(feature = "serde", serde(rename = "DealRate"))]
pub deal_rate: PercentageRate,
#[yaserde(rename = "FltgRateRpAgrmt")]
#[cfg_attr(feature = "serde", serde(rename = "FltgRateRpAgrmt"))]
pub fltg_rate_rp_agrmt: FloatingRateNote2,
#[yaserde(rename = "BrkrdDeal")]
#[cfg_attr(feature = "serde", serde(rename = "BrkrdDeal"))]
pub brkrd_deal: BrokeredDeal1Code,
#[yaserde(rename = "Coll")]
#[cfg_attr(feature = "serde", serde(rename = "Coll"))]
pub coll: Collateral18,
#[yaserde(rename = "SplmtryData")]
#[cfg_attr(feature = "serde", serde(rename = "SplmtryData"))]
pub splmtry_data: Vec<SupplementaryData1>,
}
impl Validate for SecuredMarketTransaction4 {}
#[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:auth.012.001.02")]
pub enum SpecialCollateral2Code {
#[yaserde(rename = "GENE")]
#[cfg_attr(feature = "serde", serde(rename = "GENE"))]
Gene,
#[yaserde(rename = "SPEC")]
#[cfg_attr(feature = "serde", serde(rename = "SPEC"))]
Spec,
#[yaserde(rename = "MRRP")]
#[cfg_attr(feature = "serde", serde(rename = "MRRP"))]
Mrrp,
__Unknown__(String),
}
impl Default for SpecialCollateral2Code {
fn default() -> SpecialCollateral2Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for SpecialCollateral2Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:auth.012.001.02")]
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:auth.012.001.02")]
pub struct SupplementaryDataEnvelope1 {}
impl Validate for SupplementaryDataEnvelope1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(PartialEq, Debug, Clone, YaSerialize, YaDeserialize)]#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:auth.012.001.02")]
pub enum TransactionOperationType1Code {
#[yaserde(rename = "AMND")]
#[cfg_attr(feature = "serde", serde(rename = "AMND"))]
Amnd,
#[yaserde(rename = "CANC")]
#[cfg_attr(feature = "serde", serde(rename = "CANC"))]
Canc,
#[yaserde(rename = "CORR")]
#[cfg_attr(feature = "serde", serde(rename = "CORR"))]
Corr,
#[yaserde(rename = "NEWT")]
#[cfg_attr(feature = "serde", serde(rename = "NEWT"))]
Newt,
__Unknown__(String),
}
impl Default for TransactionOperationType1Code {
fn default() -> TransactionOperationType1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for TransactionOperationType1Code {}
impl crate::MxMessage for Document {
const BUSINESS_AREA: crate::BusinessArea = crate::BusinessArea::auth;
const FUNCTIONALITY: &'static str = "012";
const VARIANT: &'static str = "001";
const VERSION: &'static str = "02";
const MESSAGE_NAME: &'static str = "auth.012.001.02";
const NAMESPACE: &'static str = "urn:iso:std:iso:20022:tech:xsd:auth.012.001.02";
}