#![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 ActiveOrHistoricCurrencyAnd20DecimalAmountSimpleType (pub String);
crate::simple_type!(ActiveOrHistoricCurrencyAnd20DecimalAmountSimpleType);
impl Validate for ActiveOrHistoricCurrencyAnd20DecimalAmountSimpleType {
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.109.001.02")]
pub struct ActiveOrHistoricCurrencyAnd20DecimalAmount {
#[yaserde(text)]
pub value: String,
#[yaserde(attribute, rename = "Ccy")]
#[cfg_attr(feature = "serde", serde(rename = "Ccy"))]
pub ccy: ActiveOrHistoricCurrencyCode,
}
impl Validate for ActiveOrHistoricCurrencyAnd20DecimalAmount {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct ActiveOrHistoricCurrencyCode (pub String);
crate::simple_type!(ActiveOrHistoricCurrencyCode);
impl Validate for ActiveOrHistoricCurrencyCode {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
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:auth.109.001.02")]
pub struct CollateralPortfolioCode6Choice {
#[yaserde(rename = "Prtfl")]
#[cfg_attr(feature = "serde", serde(rename = "Prtfl"))]
pub prtfl: Option<PortfolioCode3Choice>,
#[yaserde(rename = "MrgnPrtflCd")]
#[cfg_attr(feature = "serde", serde(rename = "MrgnPrtflCd"))]
pub mrgn_prtfl_cd: Option<MarginPortfolio4>,
}
impl Validate for CollateralPortfolioCode6Choice {}
#[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.109.001.02")]
pub enum CollateralisationType3Code {
#[yaserde(rename = "FLCL")]
#[cfg_attr(feature = "serde", serde(rename = "FLCL"))]
Flcl,
#[yaserde(rename = "OWCL")]
#[cfg_attr(feature = "serde", serde(rename = "OWCL"))]
Owcl,
#[yaserde(rename = "OWC1")]
#[cfg_attr(feature = "serde", serde(rename = "OWC1"))]
Owc1,
#[yaserde(rename = "OWC2")]
#[cfg_attr(feature = "serde", serde(rename = "OWC2"))]
Owc2,
#[yaserde(rename = "OWP1")]
#[cfg_attr(feature = "serde", serde(rename = "OWP1"))]
Owp1,
#[yaserde(rename = "OWP2")]
#[cfg_attr(feature = "serde", serde(rename = "OWP2"))]
Owp2,
#[yaserde(rename = "PRCL")]
#[cfg_attr(feature = "serde", serde(rename = "PRCL"))]
Prcl,
#[yaserde(rename = "PRC1")]
#[cfg_attr(feature = "serde", serde(rename = "PRC1"))]
Prc1,
#[yaserde(rename = "PRC2")]
#[cfg_attr(feature = "serde", serde(rename = "PRC2"))]
Prc2,
#[yaserde(rename = "UNCL")]
#[cfg_attr(feature = "serde", serde(rename = "UNCL"))]
Uncl,
__Unknown__(String),
}
impl Default for CollateralisationType3Code {
fn default() -> CollateralisationType3Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for CollateralisationType3Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.109.001.02")]
pub struct ContractModification8 {
#[yaserde(rename = "ActnTp")]
#[cfg_attr(feature = "serde", serde(rename = "ActnTp"))]
pub actn_tp: TransactionOperationType11Code,
}
impl Validate for ContractModification8 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.109.001.02")]
pub struct Counterparty45 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: PartyIdentification248Choice,
#[yaserde(rename = "Ntr")]
#[cfg_attr(feature = "serde", serde(rename = "Ntr"))]
pub ntr: CounterpartyTradeNature15Choice,
#[yaserde(rename = "TradgCpcty")]
#[cfg_attr(feature = "serde", serde(rename = "TradgCpcty"))]
pub tradg_cpcty: TradingCapacity7Code,
#[yaserde(rename = "DrctnOrSd")]
#[cfg_attr(feature = "serde", serde(rename = "DrctnOrSd"))]
pub drctn_or_sd: Direction4Choice,
#[yaserde(rename = "TradrLctn")]
#[cfg_attr(feature = "serde", serde(rename = "TradrLctn"))]
pub tradr_lctn: CountryCode,
#[yaserde(rename = "BookgLctn")]
#[cfg_attr(feature = "serde", serde(rename = "BookgLctn"))]
pub bookg_lctn: CountryCode,
#[yaserde(rename = "RptgXmptn")]
#[cfg_attr(feature = "serde", serde(rename = "RptgXmptn"))]
pub rptg_xmptn: ReportingExemption1,
}
impl Validate for Counterparty45 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.109.001.02")]
pub struct Counterparty46 {
#[yaserde(rename = "IdTp")]
#[cfg_attr(feature = "serde", serde(rename = "IdTp"))]
pub id_tp: PartyIdentification248Choice,
#[yaserde(rename = "Ntr")]
#[cfg_attr(feature = "serde", serde(rename = "Ntr"))]
pub ntr: CounterpartyTradeNature15Choice,
#[yaserde(rename = "RptgOblgtn")]
#[cfg_attr(feature = "serde", serde(rename = "RptgOblgtn"))]
pub rptg_oblgtn: TrueFalseIndicator,
}
impl Validate for Counterparty46 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.109.001.02")]
pub struct CounterpartyTradeNature15Choice {
#[yaserde(rename = "FI")]
#[cfg_attr(feature = "serde", serde(rename = "FI"))]
pub fi: Option<FinancialInstitutionSector1>,
#[yaserde(rename = "NFI")]
#[cfg_attr(feature = "serde", serde(rename = "NFI"))]
pub nfi: Option<NonFinancialInstitutionSector10>,
#[yaserde(rename = "CntrlCntrPty")]
#[cfg_attr(feature = "serde", serde(rename = "CntrlCntrPty"))]
pub cntrl_cntr_pty: Option<NoReasonCode>,
#[yaserde(rename = "Othr")]
#[cfg_attr(feature = "serde", serde(rename = "Othr"))]
pub othr: Option<NoReasonCode>,
}
impl Validate for CounterpartyTradeNature15Choice {}
#[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.109.001.02")]
pub struct DerivativesTradeMarginDataTransactionStateReportV02 {
#[yaserde(rename = "RptHdr")]
#[cfg_attr(feature = "serde", serde(rename = "RptHdr"))]
pub rpt_hdr: TradeReportHeader4,
#[yaserde(rename = "TradData")]
#[cfg_attr(feature = "serde", serde(rename = "TradData"))]
pub trad_data: TradeData62Choice,
#[yaserde(rename = "SplmtryData")]
#[cfg_attr(feature = "serde", serde(rename = "SplmtryData"))]
pub splmtry_data: Vec<SupplementaryData1>,
}
impl Validate for DerivativesTradeMarginDataTransactionStateReportV02 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.109.001.02")]
pub struct Direction2 {
#[yaserde(rename = "DrctnOfTheFrstLeg")]
#[cfg_attr(feature = "serde", serde(rename = "DrctnOfTheFrstLeg"))]
pub drctn_of_the_frst_leg: OptionParty3Code,
#[yaserde(rename = "DrctnOfTheScndLeg")]
#[cfg_attr(feature = "serde", serde(rename = "DrctnOfTheScndLeg"))]
pub drctn_of_the_scnd_leg: OptionParty3Code,
}
impl Validate for Direction2 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.109.001.02")]
pub struct Direction4Choice {
#[yaserde(rename = "Drctn")]
#[cfg_attr(feature = "serde", serde(rename = "Drctn"))]
pub drctn: Option<Direction2>,
#[yaserde(rename = "CtrPtySd")]
#[cfg_attr(feature = "serde", serde(rename = "CtrPtySd"))]
pub ctr_pty_sd: Option<OptionParty1Code>,
}
impl Validate for Direction4Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.109.001.02")]
pub struct Document {
#[yaserde(rename = "DerivsTradMrgnDataTxStatRpt")]
#[cfg_attr(feature = "serde", serde(rename = "DerivsTradMrgnDataTxStatRpt"))]
pub derivs_trad_mrgn_data_tx_stat_rpt: DerivativesTradeMarginDataTransactionStateReportV02,
}
impl Validate for Document {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct ExternalPartyRelationshipType1Code (pub String);
crate::simple_type!(ExternalPartyRelationshipType1Code);
impl Validate for ExternalPartyRelationshipType1Code {
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:auth.109.001.02")]
pub struct FinancialInstitutionSector1 {
#[yaserde(rename = "Sctr")]
#[cfg_attr(feature = "serde", serde(rename = "Sctr"))]
pub sctr: Vec<FinancialPartyClassification2Choice>,
#[yaserde(rename = "ClrThrshld")]
#[cfg_attr(feature = "serde", serde(rename = "ClrThrshld"))]
pub clr_thrshld: TrueFalseIndicator,
}
impl Validate for FinancialInstitutionSector1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.109.001.02")]
pub struct FinancialPartyClassification2Choice {
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: Option<FinancialPartySectorType3Code>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<GenericIdentification175>,
}
impl Validate for FinancialPartyClassification2Choice {}
#[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.109.001.02")]
pub enum FinancialPartySectorType3Code {
#[yaserde(rename = "AIFD")]
#[cfg_attr(feature = "serde", serde(rename = "AIFD"))]
Aifd,
#[yaserde(rename = "CSDS")]
#[cfg_attr(feature = "serde", serde(rename = "CSDS"))]
Csds,
#[yaserde(rename = "CCPS")]
#[cfg_attr(feature = "serde", serde(rename = "CCPS"))]
Ccps,
#[yaserde(rename = "CDTI")]
#[cfg_attr(feature = "serde", serde(rename = "CDTI"))]
Cdti,
#[yaserde(rename = "INUN")]
#[cfg_attr(feature = "serde", serde(rename = "INUN"))]
Inun,
#[yaserde(rename = "ORPI")]
#[cfg_attr(feature = "serde", serde(rename = "ORPI"))]
Orpi,
#[yaserde(rename = "INVF")]
#[cfg_attr(feature = "serde", serde(rename = "INVF"))]
Invf,
#[yaserde(rename = "REIN")]
#[cfg_attr(feature = "serde", serde(rename = "REIN"))]
Rein,
#[yaserde(rename = "UCIT")]
#[cfg_attr(feature = "serde", serde(rename = "UCIT"))]
Ucit,
#[yaserde(rename = "ASSU")]
#[cfg_attr(feature = "serde", serde(rename = "ASSU"))]
Assu,
#[yaserde(rename = "OTHR")]
#[cfg_attr(feature = "serde", serde(rename = "OTHR"))]
Othr,
__Unknown__(String),
}
impl Default for FinancialPartySectorType3Code {
fn default() -> FinancialPartySectorType3Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for FinancialPartySectorType3Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.109.001.02")]
pub struct GenericIdentification175 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Max72Text,
#[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 GenericIdentification175 {}
#[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)]
pub struct Leiidentifier (pub String);
crate::simple_type!(Leiidentifier);
impl Validate for Leiidentifier {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:auth.109.001.02")]
pub struct LegalPersonIdentification1 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: OrganisationIdentification15Choice,
#[yaserde(rename = "Ctry")]
#[cfg_attr(feature = "serde", serde(rename = "Ctry"))]
pub ctry: CountryCode,
}
impl Validate for LegalPersonIdentification1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.109.001.02")]
pub struct MarginCollateralReport5 {
#[yaserde(rename = "CollPrtflCd")]
#[cfg_attr(feature = "serde", serde(rename = "CollPrtflCd"))]
pub coll_prtfl_cd: CollateralPortfolioCode6Choice,
#[yaserde(rename = "CollstnCtgy")]
#[cfg_attr(feature = "serde", serde(rename = "CollstnCtgy"))]
pub collstn_ctgy: CollateralisationType3Code,
#[yaserde(rename = "TmStmp")]
#[cfg_attr(feature = "serde", serde(rename = "TmStmp"))]
pub tm_stmp: IsodateTime,
}
impl Validate for MarginCollateralReport5 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.109.001.02")]
pub struct MarginPortfolio4 {
#[yaserde(rename = "InitlMrgnPrtflCd")]
#[cfg_attr(feature = "serde", serde(rename = "InitlMrgnPrtflCd"))]
pub initl_mrgn_prtfl_cd: PortfolioCode5Choice,
#[yaserde(rename = "VartnMrgnPrtflCd")]
#[cfg_attr(feature = "serde", serde(rename = "VartnMrgnPrtflCd"))]
pub vartn_mrgn_prtfl_cd: PortfolioCode5Choice,
}
impl Validate for MarginPortfolio4 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.109.001.02")]
pub struct MarginReportData10 {
#[yaserde(rename = "RptgTmStmp")]
#[cfg_attr(feature = "serde", serde(rename = "RptgTmStmp"))]
pub rptg_tm_stmp: IsodateTime,
#[yaserde(rename = "CtrPtyId")]
#[cfg_attr(feature = "serde", serde(rename = "CtrPtyId"))]
pub ctr_pty_id: TradeCounterpartyReport20,
#[yaserde(rename = "EvtDt")]
#[cfg_attr(feature = "serde", serde(rename = "EvtDt"))]
pub evt_dt: Isodate,
#[yaserde(rename = "TxId")]
#[cfg_attr(feature = "serde", serde(rename = "TxId"))]
pub tx_id: UniqueTransactionIdentifier2Choice,
#[yaserde(rename = "Coll")]
#[cfg_attr(feature = "serde", serde(rename = "Coll"))]
pub coll: MarginCollateralReport5,
#[yaserde(rename = "PstdMrgnOrColl")]
#[cfg_attr(feature = "serde", serde(rename = "PstdMrgnOrColl"))]
pub pstd_mrgn_or_coll: PostedMarginOrCollateral6,
#[yaserde(rename = "RcvdMrgnOrColl")]
#[cfg_attr(feature = "serde", serde(rename = "RcvdMrgnOrColl"))]
pub rcvd_mrgn_or_coll: ReceivedMarginOrCollateral6,
#[yaserde(rename = "CtrPtyRatgTrggrInd")]
#[cfg_attr(feature = "serde", serde(rename = "CtrPtyRatgTrggrInd"))]
pub ctr_pty_ratg_trggr_ind: TrueFalseIndicator,
#[yaserde(rename = "CtrPtyRatgThrshldInd")]
#[cfg_attr(feature = "serde", serde(rename = "CtrPtyRatgThrshldInd"))]
pub ctr_pty_ratg_thrshld_ind: TrueFalseIndicator,
#[yaserde(rename = "CtrctMod")]
#[cfg_attr(feature = "serde", serde(rename = "CtrctMod"))]
pub ctrct_mod: ContractModification8,
#[yaserde(rename = "TechAttrbts")]
#[cfg_attr(feature = "serde", serde(rename = "TechAttrbts"))]
pub tech_attrbts: TechnicalAttributes6,
#[yaserde(rename = "SplmtryData")]
#[cfg_attr(feature = "serde", serde(rename = "SplmtryData"))]
pub splmtry_data: Vec<SupplementaryData1>,
}
impl Validate for MarginReportData10 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max1000Text (pub String);
crate::simple_type!(Max1000Text);
impl Validate for Max1000Text {
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() > 1000 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 1000 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max100Text (pub String);
crate::simple_type!(Max100Text);
impl Validate for Max100Text {
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() > 100 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 100 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[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 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 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 Max4Text (pub String);
crate::simple_type!(Max4Text);
impl Validate for Max4Text {
fn validate(&self) -> Result<(), String> {
#[allow(clippy::len_zero)]
if self.0.len() < 1 {
return Err(format!("MinLength validation error. \nExpected: 0 length >= 1 \nActual: 0 length == {}", self.0.len()));
}
if self.0.len() > 4 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 4 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max500Text (pub String);
crate::simple_type!(Max500Text);
impl Validate for Max500Text {
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() > 500 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 500 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[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 Max72Text (pub String);
crate::simple_type!(Max72Text);
impl Validate for Max72Text {
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() > 72 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 72 \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.109.001.02")]
pub struct NaturalPersonIdentification2 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: GenericIdentification175,
#[yaserde(rename = "Nm")]
#[cfg_attr(feature = "serde", serde(rename = "Nm"))]
pub nm: Max105Text,
#[yaserde(rename = "Dmcl")]
#[cfg_attr(feature = "serde", serde(rename = "Dmcl"))]
pub dmcl: Max500Text,
}
impl Validate for NaturalPersonIdentification2 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.109.001.02")]
pub struct NaturalPersonIdentification3 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: NaturalPersonIdentification2,
#[yaserde(rename = "Ctry")]
#[cfg_attr(feature = "serde", serde(rename = "Ctry"))]
pub ctry: CountryCode,
}
impl Validate for NaturalPersonIdentification3 {}
#[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.109.001.02")]
pub enum NoReasonCode {
#[yaserde(rename = "NORE")]
#[cfg_attr(feature = "serde", serde(rename = "NORE"))]
Nore,
__Unknown__(String),
}
impl Default for NoReasonCode {
fn default() -> NoReasonCode {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for NoReasonCode {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.109.001.02")]
pub struct NonFinancialInstitutionSector10 {
#[yaserde(rename = "Sctr")]
#[cfg_attr(feature = "serde", serde(rename = "Sctr"))]
pub sctr: Vec<GenericIdentification175>,
#[yaserde(rename = "ClrThrshld")]
#[cfg_attr(feature = "serde", serde(rename = "ClrThrshld"))]
pub clr_thrshld: TrueFalseIndicator,
#[yaserde(rename = "DrctlyLkdActvty")]
#[cfg_attr(feature = "serde", serde(rename = "DrctlyLkdActvty"))]
pub drctly_lkd_actvty: TrueFalseIndicator,
#[yaserde(rename = "FdrlInstn")]
#[cfg_attr(feature = "serde", serde(rename = "FdrlInstn"))]
pub fdrl_instn: TrueFalseIndicator,
}
impl Validate for NonFinancialInstitutionSector10 {}
#[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.109.001.02")]
pub enum NotApplicable1Code {
#[yaserde(rename = "NOAP")]
#[cfg_attr(feature = "serde", serde(rename = "NOAP"))]
Noap,
__Unknown__(String),
}
impl Default for NotApplicable1Code {
fn default() -> NotApplicable1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for NotApplicable1Code {}
#[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(PartialEq, Debug, Clone, YaSerialize, YaDeserialize)]#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:auth.109.001.02")]
pub enum OptionParty1Code {
#[yaserde(rename = "SLLR")]
#[cfg_attr(feature = "serde", serde(rename = "SLLR"))]
Sllr,
#[yaserde(rename = "BYER")]
#[cfg_attr(feature = "serde", serde(rename = "BYER"))]
Byer,
__Unknown__(String),
}
impl Default for OptionParty1Code {
fn default() -> OptionParty1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for OptionParty1Code {}
#[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.109.001.02")]
pub enum OptionParty3Code {
#[yaserde(rename = "MAKE")]
#[cfg_attr(feature = "serde", serde(rename = "MAKE"))]
Make,
#[yaserde(rename = "TAKE")]
#[cfg_attr(feature = "serde", serde(rename = "TAKE"))]
Take,
__Unknown__(String),
}
impl Default for OptionParty3Code {
fn default() -> OptionParty3Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for OptionParty3Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.109.001.02")]
pub struct OrganisationIdentification15Choice {
#[yaserde(rename = "LEI")]
#[cfg_attr(feature = "serde", serde(rename = "LEI"))]
pub lei: Option<Leiidentifier>,
#[yaserde(rename = "Othr")]
#[cfg_attr(feature = "serde", serde(rename = "Othr"))]
pub othr: Option<OrganisationIdentification38>,
#[yaserde(rename = "AnyBIC")]
#[cfg_attr(feature = "serde", serde(rename = "AnyBIC"))]
pub any_b_i_c: Option<AnyBICDec2014Identifier>,
}
impl Validate for OrganisationIdentification15Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.109.001.02")]
pub struct OrganisationIdentification38 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: GenericIdentification175,
#[yaserde(rename = "Nm")]
#[cfg_attr(feature = "serde", serde(rename = "Nm"))]
pub nm: Max105Text,
#[yaserde(rename = "Dmcl")]
#[cfg_attr(feature = "serde", serde(rename = "Dmcl"))]
pub dmcl: Max500Text,
}
impl Validate for OrganisationIdentification38 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.109.001.02")]
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:auth.109.001.02")]
pub struct PartyIdentification248Choice {
#[yaserde(rename = "Lgl")]
#[cfg_attr(feature = "serde", serde(rename = "Lgl"))]
pub lgl: Option<LegalPersonIdentification1>,
#[yaserde(rename = "Ntrl")]
#[cfg_attr(feature = "serde", serde(rename = "Ntrl"))]
pub ntrl: Option<NaturalPersonIdentification3>,
}
impl Validate for PartyIdentification248Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.109.001.02")]
pub struct PortfolioCode3Choice {
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: Option<Max52Text>,
#[yaserde(rename = "NoPrtfl")]
#[cfg_attr(feature = "serde", serde(rename = "NoPrtfl"))]
pub no_prtfl: Option<NotApplicable1Code>,
}
impl Validate for PortfolioCode3Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.109.001.02")]
pub struct PortfolioCode5Choice {
#[yaserde(rename = "Prtfl")]
#[cfg_attr(feature = "serde", serde(rename = "Prtfl"))]
pub prtfl: Option<PortfolioIdentification3>,
#[yaserde(rename = "NoPrtfl")]
#[cfg_attr(feature = "serde", serde(rename = "NoPrtfl"))]
pub no_prtfl: Option<NotApplicable1Code>,
}
impl Validate for PortfolioCode5Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.109.001.02")]
pub struct PortfolioIdentification3 {
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: Max52Text,
#[yaserde(rename = "PrtflTxXmptn")]
#[cfg_attr(feature = "serde", serde(rename = "PrtflTxXmptn"))]
pub prtfl_tx_xmptn: TrueFalseIndicator,
}
impl Validate for PortfolioIdentification3 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.109.001.02")]
pub struct PostedMarginOrCollateral6 {
#[yaserde(rename = "InitlMrgnPstdPreHrcut")]
#[cfg_attr(feature = "serde", serde(rename = "InitlMrgnPstdPreHrcut"))]
pub initl_mrgn_pstd_pre_hrcut: ActiveOrHistoricCurrencyAnd20DecimalAmount,
#[yaserde(rename = "InitlMrgnPstdPstHrcut")]
#[cfg_attr(feature = "serde", serde(rename = "InitlMrgnPstdPstHrcut"))]
pub initl_mrgn_pstd_pst_hrcut: ActiveOrHistoricCurrencyAnd20DecimalAmount,
#[yaserde(rename = "VartnMrgnPstdPreHrcut")]
#[cfg_attr(feature = "serde", serde(rename = "VartnMrgnPstdPreHrcut"))]
pub vartn_mrgn_pstd_pre_hrcut: ActiveOrHistoricCurrencyAnd20DecimalAmount,
#[yaserde(rename = "VartnMrgnPstdPstHrcut")]
#[cfg_attr(feature = "serde", serde(rename = "VartnMrgnPstdPstHrcut"))]
pub vartn_mrgn_pstd_pst_hrcut: ActiveOrHistoricCurrencyAnd20DecimalAmount,
#[yaserde(rename = "XcssCollPstd")]
#[cfg_attr(feature = "serde", serde(rename = "XcssCollPstd"))]
pub xcss_coll_pstd: ActiveOrHistoricCurrencyAnd20DecimalAmount,
}
impl Validate for PostedMarginOrCollateral6 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.109.001.02")]
pub struct ReceivedMarginOrCollateral6 {
#[yaserde(rename = "InitlMrgnRcvdPreHrcut")]
#[cfg_attr(feature = "serde", serde(rename = "InitlMrgnRcvdPreHrcut"))]
pub initl_mrgn_rcvd_pre_hrcut: ActiveOrHistoricCurrencyAnd20DecimalAmount,
#[yaserde(rename = "InitlMrgnRcvdPstHrcut")]
#[cfg_attr(feature = "serde", serde(rename = "InitlMrgnRcvdPstHrcut"))]
pub initl_mrgn_rcvd_pst_hrcut: ActiveOrHistoricCurrencyAnd20DecimalAmount,
#[yaserde(rename = "VartnMrgnRcvdPreHrcut")]
#[cfg_attr(feature = "serde", serde(rename = "VartnMrgnRcvdPreHrcut"))]
pub vartn_mrgn_rcvd_pre_hrcut: ActiveOrHistoricCurrencyAnd20DecimalAmount,
#[yaserde(rename = "VartnMrgnRcvdPstHrcut")]
#[cfg_attr(feature = "serde", serde(rename = "VartnMrgnRcvdPstHrcut"))]
pub vartn_mrgn_rcvd_pst_hrcut: ActiveOrHistoricCurrencyAnd20DecimalAmount,
#[yaserde(rename = "XcssCollRcvd")]
#[cfg_attr(feature = "serde", serde(rename = "XcssCollRcvd"))]
pub xcss_coll_rcvd: ActiveOrHistoricCurrencyAnd20DecimalAmount,
}
impl Validate for ReceivedMarginOrCollateral6 {}
#[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.109.001.02")]
pub enum ReportPeriodActivity1Code {
#[yaserde(rename = "NOTX")]
#[cfg_attr(feature = "serde", serde(rename = "NOTX"))]
Notx,
__Unknown__(String),
}
impl Default for ReportPeriodActivity1Code {
fn default() -> ReportPeriodActivity1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for ReportPeriodActivity1Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.109.001.02")]
pub struct ReportingExemption1 {
#[yaserde(rename = "Rsn")]
#[cfg_attr(feature = "serde", serde(rename = "Rsn"))]
pub rsn: Max4Text,
#[yaserde(rename = "Desc")]
#[cfg_attr(feature = "serde", serde(rename = "Desc"))]
pub desc: Max1000Text,
}
impl Validate for ReportingExemption1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.109.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.109.001.02")]
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:auth.109.001.02")]
pub struct TechnicalAttributes6 {
#[yaserde(rename = "TechRcrdId")]
#[cfg_attr(feature = "serde", serde(rename = "TechRcrdId"))]
pub tech_rcrd_id: Max140Text,
#[yaserde(rename = "RptRctTmStmp")]
#[cfg_attr(feature = "serde", serde(rename = "RptRctTmStmp"))]
pub rpt_rct_tm_stmp: IsodateTime,
}
impl Validate for TechnicalAttributes6 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.109.001.02")]
pub struct TradeCounterpartyRelationship1Choice {
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: Option<ExternalPartyRelationshipType1Code>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<Max100Text>,
}
impl Validate for TradeCounterpartyRelationship1Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.109.001.02")]
pub struct TradeCounterpartyRelationshipRecord1 {
#[yaserde(rename = "StartRltshPty")]
#[cfg_attr(feature = "serde", serde(rename = "StartRltshPty"))]
pub start_rltsh_pty: TradeCounterpartyType1Code,
#[yaserde(rename = "EndRltshPty")]
#[cfg_attr(feature = "serde", serde(rename = "EndRltshPty"))]
pub end_rltsh_pty: TradeCounterpartyType1Code,
#[yaserde(rename = "RltshTp")]
#[cfg_attr(feature = "serde", serde(rename = "RltshTp"))]
pub rltsh_tp: TradeCounterpartyRelationship1Choice,
#[yaserde(rename = "Desc")]
#[cfg_attr(feature = "serde", serde(rename = "Desc"))]
pub desc: Max1000Text,
}
impl Validate for TradeCounterpartyRelationshipRecord1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.109.001.02")]
pub struct TradeCounterpartyReport20 {
#[yaserde(rename = "RptgCtrPty")]
#[cfg_attr(feature = "serde", serde(rename = "RptgCtrPty"))]
pub rptg_ctr_pty: Counterparty45,
#[yaserde(rename = "OthrCtrPty")]
#[cfg_attr(feature = "serde", serde(rename = "OthrCtrPty"))]
pub othr_ctr_pty: Counterparty46,
#[yaserde(rename = "Brkr")]
#[cfg_attr(feature = "serde", serde(rename = "Brkr"))]
pub brkr: OrganisationIdentification15Choice,
#[yaserde(rename = "SubmitgAgt")]
#[cfg_attr(feature = "serde", serde(rename = "SubmitgAgt"))]
pub submitg_agt: OrganisationIdentification15Choice,
#[yaserde(rename = "ClrMmb")]
#[cfg_attr(feature = "serde", serde(rename = "ClrMmb"))]
pub clr_mmb: PartyIdentification248Choice,
#[yaserde(rename = "Bnfcry")]
#[cfg_attr(feature = "serde", serde(rename = "Bnfcry"))]
pub bnfcry: Vec<PartyIdentification248Choice>,
#[yaserde(rename = "NttyRspnsblForRpt")]
#[cfg_attr(feature = "serde", serde(rename = "NttyRspnsblForRpt"))]
pub ntty_rspnsbl_for_rpt: OrganisationIdentification15Choice,
#[yaserde(rename = "ExctnAgt")]
#[cfg_attr(feature = "serde", serde(rename = "ExctnAgt"))]
pub exctn_agt: Vec<OrganisationIdentification15Choice>,
#[yaserde(rename = "RltshRcrd")]
#[cfg_attr(feature = "serde", serde(rename = "RltshRcrd"))]
pub rltsh_rcrd: Vec<TradeCounterpartyRelationshipRecord1>,
}
impl Validate for TradeCounterpartyReport20 {}
#[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.109.001.02")]
pub enum TradeCounterpartyType1Code {
#[yaserde(rename = "BENE")]
#[cfg_attr(feature = "serde", serde(rename = "BENE"))]
Bene,
#[yaserde(rename = "BROK")]
#[cfg_attr(feature = "serde", serde(rename = "BROK"))]
Brok,
#[yaserde(rename = "CLEM")]
#[cfg_attr(feature = "serde", serde(rename = "CLEM"))]
Clem,
#[yaserde(rename = "EXEA")]
#[cfg_attr(feature = "serde", serde(rename = "EXEA"))]
Exea,
#[yaserde(rename = "OTHC")]
#[cfg_attr(feature = "serde", serde(rename = "OTHC"))]
Othc,
#[yaserde(rename = "REPC")]
#[cfg_attr(feature = "serde", serde(rename = "REPC"))]
Repc,
#[yaserde(rename = "SBMA")]
#[cfg_attr(feature = "serde", serde(rename = "SBMA"))]
Sbma,
#[yaserde(rename = "ERFR")]
#[cfg_attr(feature = "serde", serde(rename = "ERFR"))]
Erfr,
__Unknown__(String),
}
impl Default for TradeCounterpartyType1Code {
fn default() -> TradeCounterpartyType1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for TradeCounterpartyType1Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.109.001.02")]
pub struct TradeData62Choice {
#[yaserde(rename = "DataSetActn")]
#[cfg_attr(feature = "serde", serde(rename = "DataSetActn"))]
pub data_set_actn: Option<ReportPeriodActivity1Code>,
#[yaserde(rename = "Stat")]
#[cfg_attr(feature = "serde", serde(rename = "Stat"))]
pub stat: Vec<MarginReportData10>,
}
impl Validate for TradeData62Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.109.001.02")]
pub struct TradeReportHeader4 {
#[yaserde(rename = "RptExctnDt")]
#[cfg_attr(feature = "serde", serde(rename = "RptExctnDt"))]
pub rpt_exctn_dt: Isodate,
#[yaserde(rename = "MsgPgntn")]
#[cfg_attr(feature = "serde", serde(rename = "MsgPgntn"))]
pub msg_pgntn: Pagination1,
#[yaserde(rename = "NbRcrds")]
#[cfg_attr(feature = "serde", serde(rename = "NbRcrds"))]
pub nb_rcrds: Number,
#[yaserde(rename = "CmptntAuthrty")]
#[cfg_attr(feature = "serde", serde(rename = "CmptntAuthrty"))]
pub cmptnt_authrty: Vec<Max100Text>,
#[yaserde(rename = "NewTradRpstryIdr")]
#[cfg_attr(feature = "serde", serde(rename = "NewTradRpstryIdr"))]
pub new_trad_rpstry_idr: OrganisationIdentification15Choice,
#[yaserde(rename = "RptgPurp")]
#[cfg_attr(feature = "serde", serde(rename = "RptgPurp"))]
pub rptg_purp: Vec<Max100Text>,
}
impl Validate for TradeReportHeader4 {}
#[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.109.001.02")]
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(PartialEq, Debug, Clone, YaSerialize, YaDeserialize)]#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:auth.109.001.02")]
pub enum TransactionOperationType11Code {
#[yaserde(rename = "CORR")]
#[cfg_attr(feature = "serde", serde(rename = "CORR"))]
Corr,
#[yaserde(rename = "MARU")]
#[cfg_attr(feature = "serde", serde(rename = "MARU"))]
Maru,
#[yaserde(rename = "NEWT")]
#[cfg_attr(feature = "serde", serde(rename = "NEWT"))]
Newt,
#[yaserde(rename = "EROR")]
#[cfg_attr(feature = "serde", serde(rename = "EROR"))]
Eror,
__Unknown__(String),
}
impl Default for TransactionOperationType11Code {
fn default() -> TransactionOperationType11Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for TransactionOperationType11Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct TrueFalseIndicator (pub bool);
crate::simple_type!(TrueFalseIndicator);
impl Validate for TrueFalseIndicator {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Utiidentifier (pub String);
crate::simple_type!(Utiidentifier);
impl Validate for Utiidentifier {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.109.001.02")]
pub struct UniqueTransactionIdentifier2Choice {
#[yaserde(rename = "UnqTxIdr")]
#[cfg_attr(feature = "serde", serde(rename = "UnqTxIdr"))]
pub unq_tx_idr: Option<Utiidentifier>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<GenericIdentification175>,
}
impl Validate for UniqueTransactionIdentifier2Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct YesNoIndicator (pub bool);
crate::simple_type!(YesNoIndicator);
impl Validate for YesNoIndicator {}
impl crate::MxMessage for Document {
const BUSINESS_AREA: crate::BusinessArea = crate::BusinessArea::auth;
const FUNCTIONALITY: &'static str = "109";
const VARIANT: &'static str = "001";
const VERSION: &'static str = "02";
const MESSAGE_NAME: &'static str = "auth.109.001.02";
const NAMESPACE: &'static str = "urn:iso:std:iso:20022:tech:xsd:auth.109.001.02";
}