#![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 ActiveCurrencyAnd13DecimalAmountSimpleType (pub String);
crate::simple_type!(ActiveCurrencyAnd13DecimalAmountSimpleType);
impl Validate for ActiveCurrencyAnd13DecimalAmountSimpleType {
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.113.001.01")]
pub struct ActiveCurrencyAnd13DecimalAmount {
#[yaserde(text)]
pub value: String,
#[yaserde(attribute, rename = "Ccy")]
#[cfg_attr(feature = "serde", serde(rename = "Ccy"))]
pub ccy: ActiveCurrencyCode,
}
impl Validate for ActiveCurrencyAnd13DecimalAmount {}
#[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 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:auth.113.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(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:auth.113.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, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:auth.113.001.01")]
pub struct AmountAndDirection61 {
#[yaserde(rename = "Amt")]
#[cfg_attr(feature = "serde", serde(rename = "Amt"))]
pub amt: ActiveCurrencyAnd13DecimalAmount,
#[yaserde(rename = "Sgn")]
#[cfg_attr(feature = "serde", serde(rename = "Sgn"))]
pub sgn: PlusOrMinusIndicator,
}
impl Validate for AmountAndDirection61 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.113.001.01")]
pub struct AuctionData2 {
#[yaserde(rename = "TradgPhs")]
#[cfg_attr(feature = "serde", serde(rename = "TradgPhs"))]
pub tradg_phs: Max50Text,
#[yaserde(rename = "IndctvAuctnPric")]
#[cfg_attr(feature = "serde", serde(rename = "IndctvAuctnPric"))]
pub indctv_auctn_pric: SecuritiesTransactionPrice21Choice,
#[yaserde(rename = "IndctvAuctnVol")]
#[cfg_attr(feature = "serde", serde(rename = "IndctvAuctnVol"))]
pub indctv_auctn_vol: FinancialInstrumentQuantity25Choice,
}
impl Validate for AuctionData2 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.113.001.01")]
pub struct CancelOrderReport1 {
#[yaserde(rename = "RptId")]
#[cfg_attr(feature = "serde", serde(rename = "RptId"))]
pub rpt_id: Max140Text,
}
impl Validate for CancelOrderReport1 {}
#[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.113.001.01")]
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)]
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:auth.113.001.01")]
pub struct Document {
#[yaserde(rename = "OrdrBookRpt")]
#[cfg_attr(feature = "serde", serde(rename = "OrdrBookRpt"))]
pub ordr_book_rpt: OrderBookReportV01,
}
impl Validate for Document {}
#[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, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:auth.113.001.01")]
pub struct ExecutingParty2Choice {
#[yaserde(rename = "Prsn")]
#[cfg_attr(feature = "serde", serde(rename = "Prsn"))]
pub prsn: Option<GenericPersonIdentification1>,
#[yaserde(rename = "Algo")]
#[cfg_attr(feature = "serde", serde(rename = "Algo"))]
pub algo: Option<Max50Text>,
#[yaserde(rename = "Clnt")]
#[cfg_attr(feature = "serde", serde(rename = "Clnt"))]
pub clnt: Option<NoReasonCode>,
}
impl Validate for ExecutingParty2Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct ExternalPersonIdentification1Code (pub String);
crate::simple_type!(ExternalPersonIdentification1Code);
impl Validate for ExternalPersonIdentification1Code {
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.113.001.01")]
pub struct FinancialInstrument99Choice {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Option<Isinoct2015Identifier>,
#[yaserde(rename = "StrtgyInstrms")]
#[cfg_attr(feature = "serde", serde(rename = "StrtgyInstrms"))]
pub strtgy_instrms: Vec<Isinoct2015Identifier>,
}
impl Validate for FinancialInstrument99Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.113.001.01")]
pub struct FinancialInstrumentQuantity25Choice {
#[yaserde(rename = "Unit")]
#[cfg_attr(feature = "serde", serde(rename = "Unit"))]
pub unit: Option<DecimalNumber>,
#[yaserde(rename = "NmnlVal")]
#[cfg_attr(feature = "serde", serde(rename = "NmnlVal"))]
pub nmnl_val: Option<ActiveOrHistoricCurrencyAndAmount>,
#[yaserde(rename = "MntryVal")]
#[cfg_attr(feature = "serde", serde(rename = "MntryVal"))]
pub mntry_val: Option<ActiveOrHistoricCurrencyAndAmount>,
}
impl Validate for FinancialInstrumentQuantity25Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.113.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:auth.113.001.01")]
pub struct GenericPersonIdentification1 {
#[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: PersonIdentificationSchemeName1Choice,
#[yaserde(rename = "Issr")]
#[cfg_attr(feature = "serde", serde(rename = "Issr"))]
pub issr: Max35Text,
}
impl Validate for GenericPersonIdentification1 {}
#[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)]
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)]
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 Max50Text (pub String);
crate::simple_type!(Max50Text);
impl Validate for Max50Text {
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() > 50 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 50 \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, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:auth.113.001.01")]
pub struct MinimumExecutable1 {
#[yaserde(rename = "Sz")]
#[cfg_attr(feature = "serde", serde(rename = "Sz"))]
pub sz: FinancialInstrumentQuantity25Choice,
#[yaserde(rename = "FrstExctnOnly")]
#[cfg_attr(feature = "serde", serde(rename = "FrstExctnOnly"))]
pub frst_exctn_only: TrueFalseIndicator,
}
impl Validate for MinimumExecutable1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.113.001.01")]
pub struct NewOrderReport2 {
#[yaserde(rename = "RptId")]
#[cfg_attr(feature = "serde", serde(rename = "RptId"))]
pub rpt_id: Max140Text,
#[yaserde(rename = "Ordr")]
#[cfg_attr(feature = "serde", serde(rename = "Ordr"))]
pub ordr: Vec<OrderData3>,
}
impl Validate for NewOrderReport2 {}
#[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.113.001.01")]
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)]
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:auth.113.001.01")]
pub struct OrderBookReportV01 {
#[yaserde(rename = "RptHdr")]
#[cfg_attr(feature = "serde", serde(rename = "RptHdr"))]
pub rpt_hdr: SecuritiesMarketReportHeader3,
#[yaserde(rename = "OrdrRpt")]
#[cfg_attr(feature = "serde", serde(rename = "OrdrRpt"))]
pub ordr_rpt: Vec<OrderReport2Choice>,
#[yaserde(rename = "SplmtryData")]
#[cfg_attr(feature = "serde", serde(rename = "SplmtryData"))]
pub splmtry_data: Vec<SupplementaryData1>,
}
impl Validate for OrderBookReportV01 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.113.001.01")]
pub struct OrderClassification2 {
#[yaserde(rename = "OrdrTp")]
#[cfg_attr(feature = "serde", serde(rename = "OrdrTp"))]
pub ordr_tp: Max50Text,
#[yaserde(rename = "OrdrTpClssfctn")]
#[cfg_attr(feature = "serde", serde(rename = "OrdrTpClssfctn"))]
pub ordr_tp_clssfctn: OrderType3Code,
}
impl Validate for OrderClassification2 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.113.001.01")]
pub struct OrderData3 {
#[yaserde(rename = "OrdrIdData")]
#[cfg_attr(feature = "serde", serde(rename = "OrdrIdData"))]
pub ordr_id_data: OrderIdentification2,
#[yaserde(rename = "AuctnData")]
#[cfg_attr(feature = "serde", serde(rename = "AuctnData"))]
pub auctn_data: AuctionData2,
#[yaserde(rename = "OrdrData")]
#[cfg_attr(feature = "serde", serde(rename = "OrdrData"))]
pub ordr_data: OrderData4,
}
impl Validate for OrderData3 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.113.001.01")]
pub struct OrderData4 {
#[yaserde(rename = "SubmitgNtty")]
#[cfg_attr(feature = "serde", serde(rename = "SubmitgNtty"))]
pub submitg_ntty: Leiidentifier,
#[yaserde(rename = "DrctElctrncAccs")]
#[cfg_attr(feature = "serde", serde(rename = "DrctElctrncAccs"))]
pub drct_elctrnc_accs: TrueFalseIndicator,
#[yaserde(rename = "ClntId")]
#[cfg_attr(feature = "serde", serde(rename = "ClntId"))]
pub clnt_id: PersonOrOrganisation4Choice,
#[yaserde(rename = "InvstmtDcsnPrsn")]
#[cfg_attr(feature = "serde", serde(rename = "InvstmtDcsnPrsn"))]
pub invstmt_dcsn_prsn: ExecutingParty2Choice,
#[yaserde(rename = "ExctgPrsn")]
#[cfg_attr(feature = "serde", serde(rename = "ExctgPrsn"))]
pub exctg_prsn: ExecutingParty2Choice,
#[yaserde(rename = "NonExctgBrkr")]
#[cfg_attr(feature = "serde", serde(rename = "NonExctgBrkr"))]
pub non_exctg_brkr: Leiidentifier,
#[yaserde(rename = "TradgCpcty")]
#[cfg_attr(feature = "serde", serde(rename = "TradgCpcty"))]
pub tradg_cpcty: RegulatoryTradingCapacity1Code,
#[yaserde(rename = "LqdtyPrvsnActvty")]
#[cfg_attr(feature = "serde", serde(rename = "LqdtyPrvsnActvty"))]
pub lqdty_prvsn_actvty: TrueFalseIndicator,
#[yaserde(rename = "OrdrClssfctn")]
#[cfg_attr(feature = "serde", serde(rename = "OrdrClssfctn"))]
pub ordr_clssfctn: OrderClassification2,
#[yaserde(rename = "OrdrPrics")]
#[cfg_attr(feature = "serde", serde(rename = "OrdrPrics"))]
pub ordr_prics: OrderPriceData2,
#[yaserde(rename = "InstrData")]
#[cfg_attr(feature = "serde", serde(rename = "InstrData"))]
pub instr_data: OrderInstructionData2,
#[yaserde(rename = "TxData")]
#[cfg_attr(feature = "serde", serde(rename = "TxData"))]
pub tx_data: TransactionData3,
}
impl Validate for OrderData4 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.113.001.01")]
pub struct OrderEventType1Choice {
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: Option<OrderEventType1Code>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<GenericIdentification30>,
}
impl Validate for OrderEventType1Choice {}
#[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.113.001.01")]
pub enum OrderEventType1Code {
#[yaserde(rename = "CAME")]
#[cfg_attr(feature = "serde", serde(rename = "CAME"))]
Came,
#[yaserde(rename = "CAMO")]
#[cfg_attr(feature = "serde", serde(rename = "CAMO"))]
Camo,
#[yaserde(rename = "CHME")]
#[cfg_attr(feature = "serde", serde(rename = "CHME"))]
Chme,
#[yaserde(rename = "CHMO")]
#[cfg_attr(feature = "serde", serde(rename = "CHMO"))]
Chmo,
#[yaserde(rename = "EXPI")]
#[cfg_attr(feature = "serde", serde(rename = "EXPI"))]
Expi,
#[yaserde(rename = "FILL")]
#[cfg_attr(feature = "serde", serde(rename = "FILL"))]
Fill,
#[yaserde(rename = "NEWO")]
#[cfg_attr(feature = "serde", serde(rename = "NEWO"))]
Newo,
#[yaserde(rename = "PARF")]
#[cfg_attr(feature = "serde", serde(rename = "PARF"))]
Parf,
#[yaserde(rename = "REMA")]
#[cfg_attr(feature = "serde", serde(rename = "REMA"))]
Rema,
#[yaserde(rename = "REMO")]
#[cfg_attr(feature = "serde", serde(rename = "REMO"))]
Remo,
#[yaserde(rename = "REMH")]
#[cfg_attr(feature = "serde", serde(rename = "REMH"))]
Remh,
#[yaserde(rename = "REME")]
#[cfg_attr(feature = "serde", serde(rename = "REME"))]
Reme,
#[yaserde(rename = "TRIG")]
#[cfg_attr(feature = "serde", serde(rename = "TRIG"))]
Trig,
#[yaserde(rename = "RFQS")]
#[cfg_attr(feature = "serde", serde(rename = "RFQS"))]
Rfqs,
#[yaserde(rename = "RFQR")]
#[cfg_attr(feature = "serde", serde(rename = "RFQR"))]
Rfqr,
__Unknown__(String),
}
impl Default for OrderEventType1Code {
fn default() -> OrderEventType1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for OrderEventType1Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.113.001.01")]
pub struct OrderIdentification2 {
#[yaserde(rename = "OrdrBookId")]
#[cfg_attr(feature = "serde", serde(rename = "OrdrBookId"))]
pub ordr_book_id: Max35Text,
#[yaserde(rename = "SeqNb")]
#[cfg_attr(feature = "serde", serde(rename = "SeqNb"))]
pub seq_nb: PositiveNumber,
#[yaserde(rename = "Prty")]
#[cfg_attr(feature = "serde", serde(rename = "Prty"))]
pub prty: OrderPriority1,
#[yaserde(rename = "TmStmp")]
#[cfg_attr(feature = "serde", serde(rename = "TmStmp"))]
pub tm_stmp: IsodateTime,
#[yaserde(rename = "TradVn")]
#[cfg_attr(feature = "serde", serde(rename = "TradVn"))]
pub trad_vn: Micidentifier,
#[yaserde(rename = "FinInstrm")]
#[cfg_attr(feature = "serde", serde(rename = "FinInstrm"))]
pub fin_instrm: FinancialInstrument99Choice,
#[yaserde(rename = "OrdrId")]
#[cfg_attr(feature = "serde", serde(rename = "OrdrId"))]
pub ordr_id: Max50Text,
#[yaserde(rename = "DtOfRct")]
#[cfg_attr(feature = "serde", serde(rename = "DtOfRct"))]
pub dt_of_rct: Isodate,
#[yaserde(rename = "VldtyPrd")]
#[cfg_attr(feature = "serde", serde(rename = "VldtyPrd"))]
pub vldty_prd: ValidityPeriod1Choice,
#[yaserde(rename = "OrdrRstrctn")]
#[cfg_attr(feature = "serde", serde(rename = "OrdrRstrctn"))]
pub ordr_rstrctn: Vec<OrderRestriction1Choice>,
#[yaserde(rename = "VldtyDtTm")]
#[cfg_attr(feature = "serde", serde(rename = "VldtyDtTm"))]
pub vldty_dt_tm: IsodateTime,
#[yaserde(rename = "EvtTp")]
#[cfg_attr(feature = "serde", serde(rename = "EvtTp"))]
pub evt_tp: OrderEventType1Choice,
}
impl Validate for OrderIdentification2 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.113.001.01")]
pub struct OrderInstructionData2 {
#[yaserde(rename = "BuySellInd")]
#[cfg_attr(feature = "serde", serde(rename = "BuySellInd"))]
pub buy_sell_ind: Side6Code,
#[yaserde(rename = "OrdrVldtySts")]
#[cfg_attr(feature = "serde", serde(rename = "OrdrVldtySts"))]
pub ordr_vldty_sts: OrderStatus10Code,
#[yaserde(rename = "OrdrSts")]
#[cfg_attr(feature = "serde", serde(rename = "OrdrSts"))]
pub ordr_sts: Vec<OrderStatus11Code>,
#[yaserde(rename = "InitlQty")]
#[cfg_attr(feature = "serde", serde(rename = "InitlQty"))]
pub initl_qty: FinancialInstrumentQuantity25Choice,
#[yaserde(rename = "RmngQty")]
#[cfg_attr(feature = "serde", serde(rename = "RmngQty"))]
pub rmng_qty: FinancialInstrumentQuantity25Choice,
#[yaserde(rename = "DispdQty")]
#[cfg_attr(feature = "serde", serde(rename = "DispdQty"))]
pub dispd_qty: FinancialInstrumentQuantity25Choice,
#[yaserde(rename = "MinAccptblQty")]
#[cfg_attr(feature = "serde", serde(rename = "MinAccptblQty"))]
pub min_accptbl_qty: FinancialInstrumentQuantity25Choice,
#[yaserde(rename = "MinExctbl")]
#[cfg_attr(feature = "serde", serde(rename = "MinExctbl"))]
pub min_exctbl: MinimumExecutable1,
#[yaserde(rename = "PssvOnlyInd")]
#[cfg_attr(feature = "serde", serde(rename = "PssvOnlyInd"))]
pub pssv_only_ind: TrueFalseIndicator,
#[yaserde(rename = "SlfExctnPrvntn")]
#[cfg_attr(feature = "serde", serde(rename = "SlfExctnPrvntn"))]
pub slf_exctn_prvntn: TrueFalseIndicator,
#[yaserde(rename = "RtgStrtgy")]
#[cfg_attr(feature = "serde", serde(rename = "RtgStrtgy"))]
pub rtg_strtgy: Max50Text,
}
impl Validate for OrderInstructionData2 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.113.001.01")]
pub struct OrderPriceData2 {
#[yaserde(rename = "LmtPric")]
#[cfg_attr(feature = "serde", serde(rename = "LmtPric"))]
pub lmt_pric: SecuritiesTransactionPrice2Choice,
#[yaserde(rename = "StopPric")]
#[cfg_attr(feature = "serde", serde(rename = "StopPric"))]
pub stop_pric: SecuritiesTransactionPrice2Choice,
#[yaserde(rename = "AddtlLmtPric")]
#[cfg_attr(feature = "serde", serde(rename = "AddtlLmtPric"))]
pub addtl_lmt_pric: SecuritiesTransactionPrice2Choice,
#[yaserde(rename = "PggdPric")]
#[cfg_attr(feature = "serde", serde(rename = "PggdPric"))]
pub pggd_pric: SecuritiesTransactionPrice2Choice,
#[yaserde(rename = "CcyScndLeg")]
#[cfg_attr(feature = "serde", serde(rename = "CcyScndLeg"))]
pub ccy_scnd_leg: ActiveOrHistoricCurrencyCode,
}
impl Validate for OrderPriceData2 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.113.001.01")]
pub struct OrderPriority1 {
#[yaserde(rename = "TmStmp")]
#[cfg_attr(feature = "serde", serde(rename = "TmStmp"))]
pub tm_stmp: IsodateTime,
#[yaserde(rename = "Sz")]
#[cfg_attr(feature = "serde", serde(rename = "Sz"))]
pub sz: PositiveNumber,
}
impl Validate for OrderPriority1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.113.001.01")]
pub struct OrderReport2Choice {
#[yaserde(rename = "New")]
#[cfg_attr(feature = "serde", serde(rename = "New"))]
pub new: Option<NewOrderReport2>,
#[yaserde(rename = "Cxl")]
#[cfg_attr(feature = "serde", serde(rename = "Cxl"))]
pub cxl: Option<CancelOrderReport1>,
}
impl Validate for OrderReport2Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.113.001.01")]
pub struct OrderRestriction1Choice {
#[yaserde(rename = "OrdrRstrctnCd")]
#[cfg_attr(feature = "serde", serde(rename = "OrdrRstrctnCd"))]
pub ordr_rstrctn_cd: Option<OrderRestrictionType1Code>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<GenericIdentification30>,
}
impl Validate for OrderRestriction1Choice {}
#[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.113.001.01")]
pub enum OrderRestrictionType1Code {
#[yaserde(rename = "SESR")]
#[cfg_attr(feature = "serde", serde(rename = "SESR"))]
Sesr,
#[yaserde(rename = "VFAR")]
#[cfg_attr(feature = "serde", serde(rename = "VFAR"))]
Vfar,
#[yaserde(rename = "VFCR")]
#[cfg_attr(feature = "serde", serde(rename = "VFCR"))]
Vfcr,
__Unknown__(String),
}
impl Default for OrderRestrictionType1Code {
fn default() -> OrderRestrictionType1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for OrderRestrictionType1Code {}
#[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.113.001.01")]
pub enum OrderStatus10Code {
#[yaserde(rename = "ACTI")]
#[cfg_attr(feature = "serde", serde(rename = "ACTI"))]
Acti,
#[yaserde(rename = "INAC")]
#[cfg_attr(feature = "serde", serde(rename = "INAC"))]
Inac,
#[yaserde(rename = "SUSP")]
#[cfg_attr(feature = "serde", serde(rename = "SUSP"))]
Susp,
__Unknown__(String),
}
impl Default for OrderStatus10Code {
fn default() -> OrderStatus10Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for OrderStatus10Code {}
#[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.113.001.01")]
pub enum OrderStatus11Code {
#[yaserde(rename = "FIRM")]
#[cfg_attr(feature = "serde", serde(rename = "FIRM"))]
Firm,
#[yaserde(rename = "IMPL")]
#[cfg_attr(feature = "serde", serde(rename = "IMPL"))]
Impl,
#[yaserde(rename = "INDI")]
#[cfg_attr(feature = "serde", serde(rename = "INDI"))]
Indi,
#[yaserde(rename = "ROUT")]
#[cfg_attr(feature = "serde", serde(rename = "ROUT"))]
Rout,
__Unknown__(String),
}
impl Default for OrderStatus11Code {
fn default() -> OrderStatus11Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for OrderStatus11Code {}
#[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.113.001.01")]
pub enum OrderType3Code {
#[yaserde(rename = "LMTO")]
#[cfg_attr(feature = "serde", serde(rename = "LMTO"))]
Lmto,
#[yaserde(rename = "STOP")]
#[cfg_attr(feature = "serde", serde(rename = "STOP"))]
Stop,
__Unknown__(String),
}
impl Default for OrderType3Code {
fn default() -> OrderType3Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for OrderType3Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.113.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(PartialEq, Debug, Clone, YaSerialize, YaDeserialize)]#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:auth.113.001.01")]
pub enum PartyExceptionType1Code {
#[yaserde(rename = "AGGR")]
#[cfg_attr(feature = "serde", serde(rename = "AGGR"))]
Aggr,
#[yaserde(rename = "PNAL")]
#[cfg_attr(feature = "serde", serde(rename = "PNAL"))]
Pnal,
__Unknown__(String),
}
impl Default for PartyExceptionType1Code {
fn default() -> PartyExceptionType1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for PartyExceptionType1Code {}
#[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.113.001.01")]
pub enum PassiveOrAgressiveType1Code {
#[yaserde(rename = "AGRE")]
#[cfg_attr(feature = "serde", serde(rename = "AGRE"))]
Agre,
#[yaserde(rename = "PASV")]
#[cfg_attr(feature = "serde", serde(rename = "PASV"))]
Pasv,
__Unknown__(String),
}
impl Default for PassiveOrAgressiveType1Code {
fn default() -> PassiveOrAgressiveType1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for PassiveOrAgressiveType1Code {}
#[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:auth.113.001.01")]
pub struct Period11Choice {
#[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 = "FrToDt")]
#[cfg_attr(feature = "serde", serde(rename = "FrToDt"))]
pub fr_to_dt: Option<Period2>,
#[yaserde(rename = "FrToDtTm")]
#[cfg_attr(feature = "serde", serde(rename = "FrToDtTm"))]
pub fr_to_dt_tm: Option<DateTimePeriod1>,
}
impl Validate for Period11Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.113.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:auth.113.001.01")]
pub struct PersonIdentificationSchemeName1Choice {
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: Option<ExternalPersonIdentification1Code>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<Max35Text>,
}
impl Validate for PersonIdentificationSchemeName1Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.113.001.01")]
pub struct PersonOrOrganisation4Choice {
#[yaserde(rename = "LEI")]
#[cfg_attr(feature = "serde", serde(rename = "LEI"))]
pub lei: Option<Leiidentifier>,
#[yaserde(rename = "Prsn")]
#[cfg_attr(feature = "serde", serde(rename = "Prsn"))]
pub prsn: Option<GenericPersonIdentification1>,
#[yaserde(rename = "XcptnId")]
#[cfg_attr(feature = "serde", serde(rename = "XcptnId"))]
pub xcptn_id: Option<PartyExceptionType1Code>,
}
impl Validate for PersonOrOrganisation4Choice {}
#[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)]
pub struct PositiveNumber (pub String);
crate::simple_type!(PositiveNumber);
impl Validate for PositiveNumber {
fn validate(&self) -> Result<(), String> {
if self.0 < "1".parse::<String>().unwrap() {
return Err(format!("MinInclusive validation error: invalid value of 0! \nExpected: 0 >= 1.\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:auth.113.001.01")]
pub enum PriceStatus1Code {
#[yaserde(rename = "PNDG")]
#[cfg_attr(feature = "serde", serde(rename = "PNDG"))]
Pndg,
#[yaserde(rename = "NOAP")]
#[cfg_attr(feature = "serde", serde(rename = "NOAP"))]
Noap,
__Unknown__(String),
}
impl Default for PriceStatus1Code {
fn default() -> PriceStatus1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for PriceStatus1Code {}
#[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.113.001.01")]
pub enum RegulatoryTradingCapacity1Code {
#[yaserde(rename = "MTCH")]
#[cfg_attr(feature = "serde", serde(rename = "MTCH"))]
Mtch,
#[yaserde(rename = "DEAL")]
#[cfg_attr(feature = "serde", serde(rename = "DEAL"))]
Deal,
#[yaserde(rename = "AOTC")]
#[cfg_attr(feature = "serde", serde(rename = "AOTC"))]
Aotc,
__Unknown__(String),
}
impl Default for RegulatoryTradingCapacity1Code {
fn default() -> RegulatoryTradingCapacity1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for RegulatoryTradingCapacity1Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.113.001.01")]
pub struct SecuritiesMarketReportHeader3 {
#[yaserde(rename = "RptgNtty")]
#[cfg_attr(feature = "serde", serde(rename = "RptgNtty"))]
pub rptg_ntty: TradingVenueIdentification1Choice,
#[yaserde(rename = "RptgPrd")]
#[cfg_attr(feature = "serde", serde(rename = "RptgPrd"))]
pub rptg_prd: Period11Choice,
#[yaserde(rename = "ISIN")]
#[cfg_attr(feature = "serde", serde(rename = "ISIN"))]
pub isin: Vec<Isinoct2015Identifier>,
#[yaserde(rename = "SubmissnDtTm")]
#[cfg_attr(feature = "serde", serde(rename = "SubmissnDtTm"))]
pub submissn_dt_tm: IsodateTime,
#[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,
}
impl Validate for SecuritiesMarketReportHeader3 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.113.001.01")]
pub struct SecuritiesTransactionPrice1 {
#[yaserde(rename = "Pdg")]
#[cfg_attr(feature = "serde", serde(rename = "Pdg"))]
pub pdg: PriceStatus1Code,
#[yaserde(rename = "Ccy")]
#[cfg_attr(feature = "serde", serde(rename = "Ccy"))]
pub ccy: ActiveOrHistoricCurrencyCode,
}
impl Validate for SecuritiesTransactionPrice1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.113.001.01")]
pub struct SecuritiesTransactionPrice21Choice {
#[yaserde(rename = "MntryVal")]
#[cfg_attr(feature = "serde", serde(rename = "MntryVal"))]
pub mntry_val: Option<AmountAndDirection53>,
#[yaserde(rename = "Pctg")]
#[cfg_attr(feature = "serde", serde(rename = "Pctg"))]
pub pctg: Option<PercentageRate>,
#[yaserde(rename = "Yld")]
#[cfg_attr(feature = "serde", serde(rename = "Yld"))]
pub yld: Option<PercentageRate>,
#[yaserde(rename = "BsisPts")]
#[cfg_attr(feature = "serde", serde(rename = "BsisPts"))]
pub bsis_pts: Option<DecimalNumber>,
#[yaserde(rename = "NmnlVal")]
#[cfg_attr(feature = "serde", serde(rename = "NmnlVal"))]
pub nmnl_val: Option<ActiveOrHistoricCurrencyAndAmount>,
}
impl Validate for SecuritiesTransactionPrice21Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.113.001.01")]
pub struct SecuritiesTransactionPrice2Choice {
#[yaserde(rename = "MntryVal")]
#[cfg_attr(feature = "serde", serde(rename = "MntryVal"))]
pub mntry_val: Option<AmountAndDirection61>,
#[yaserde(rename = "Pctg")]
#[cfg_attr(feature = "serde", serde(rename = "Pctg"))]
pub pctg: Option<PercentageRate>,
#[yaserde(rename = "Yld")]
#[cfg_attr(feature = "serde", serde(rename = "Yld"))]
pub yld: Option<PercentageRate>,
#[yaserde(rename = "BsisPts")]
#[cfg_attr(feature = "serde", serde(rename = "BsisPts"))]
pub bsis_pts: Option<DecimalNumber>,
}
impl Validate for SecuritiesTransactionPrice2Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.113.001.01")]
pub struct SecuritiesTransactionPrice4Choice {
#[yaserde(rename = "Pric")]
#[cfg_attr(feature = "serde", serde(rename = "Pric"))]
pub pric: Option<SecuritiesTransactionPrice2Choice>,
#[yaserde(rename = "NoPric")]
#[cfg_attr(feature = "serde", serde(rename = "NoPric"))]
pub no_pric: Option<SecuritiesTransactionPrice1>,
}
impl Validate for SecuritiesTransactionPrice4Choice {}
#[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.113.001.01")]
pub enum Side6Code {
#[yaserde(rename = "BUYI")]
#[cfg_attr(feature = "serde", serde(rename = "BUYI"))]
Buyi,
#[yaserde(rename = "SELL")]
#[cfg_attr(feature = "serde", serde(rename = "SELL"))]
Sell,
__Unknown__(String),
}
impl Default for Side6Code {
fn default() -> Side6Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for Side6Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.113.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:auth.113.001.01")]
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.113.001.01")]
pub enum TradingVenue2Code {
#[yaserde(rename = "APPA")]
#[cfg_attr(feature = "serde", serde(rename = "APPA"))]
Appa,
#[yaserde(rename = "CTPS")]
#[cfg_attr(feature = "serde", serde(rename = "CTPS"))]
Ctps,
__Unknown__(String),
}
impl Default for TradingVenue2Code {
fn default() -> TradingVenue2Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for TradingVenue2Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.113.001.01")]
pub struct TradingVenueIdentification1Choice {
#[yaserde(rename = "MktIdCd")]
#[cfg_attr(feature = "serde", serde(rename = "MktIdCd"))]
pub mkt_id_cd: Option<Micidentifier>,
#[yaserde(rename = "NtlCmptntAuthrty")]
#[cfg_attr(feature = "serde", serde(rename = "NtlCmptntAuthrty"))]
pub ntl_cmptnt_authrty: Option<CountryCode>,
#[yaserde(rename = "Othr")]
#[cfg_attr(feature = "serde", serde(rename = "Othr"))]
pub othr: Option<TradingVenueIdentification2>,
}
impl Validate for TradingVenueIdentification1Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.113.001.01")]
pub struct TradingVenueIdentification2 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Max50Text,
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: TradingVenue2Code,
}
impl Validate for TradingVenueIdentification2 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, 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.113.001.01")]
pub struct TransactionData3 {
#[yaserde(rename = "TxPric")]
#[cfg_attr(feature = "serde", serde(rename = "TxPric"))]
pub tx_pric: SecuritiesTransactionPrice4Choice,
#[yaserde(rename = "TraddQty")]
#[cfg_attr(feature = "serde", serde(rename = "TraddQty"))]
pub tradd_qty: FinancialInstrumentQuantity25Choice,
#[yaserde(rename = "PssvOrAggrssvInd")]
#[cfg_attr(feature = "serde", serde(rename = "PssvOrAggrssvInd"))]
pub pssv_or_aggrssv_ind: PassiveOrAgressiveType1Code,
#[yaserde(rename = "StrtgyLkdOrdrId")]
#[cfg_attr(feature = "serde", serde(rename = "StrtgyLkdOrdrId"))]
pub strtgy_lkd_ordr_id: Max50Text,
#[yaserde(rename = "TxId")]
#[cfg_attr(feature = "serde", serde(rename = "TxId"))]
pub tx_id: Max52Text,
}
impl Validate for TransactionData3 {}
#[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, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:auth.113.001.01")]
pub struct ValidityPeriod1Choice {
#[yaserde(rename = "VldtyPrdCd")]
#[cfg_attr(feature = "serde", serde(rename = "VldtyPrdCd"))]
pub vldty_prd_cd: Option<ValidityPeriodType1Code>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<GenericIdentification30>,
}
impl Validate for ValidityPeriod1Choice {}
#[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.113.001.01")]
pub enum ValidityPeriodType1Code {
#[yaserde(rename = "FOKV")]
#[cfg_attr(feature = "serde", serde(rename = "FOKV"))]
Fokv,
#[yaserde(rename = "GADV")]
#[cfg_attr(feature = "serde", serde(rename = "GADV"))]
Gadv,
#[yaserde(rename = "GASV")]
#[cfg_attr(feature = "serde", serde(rename = "GASV"))]
Gasv,
#[yaserde(rename = "GATV")]
#[cfg_attr(feature = "serde", serde(rename = "GATV"))]
Gatv,
#[yaserde(rename = "DAVY")]
#[cfg_attr(feature = "serde", serde(rename = "DAVY"))]
Davy,
#[yaserde(rename = "GTCV")]
#[cfg_attr(feature = "serde", serde(rename = "GTCV"))]
Gtcv,
#[yaserde(rename = "GTDV")]
#[cfg_attr(feature = "serde", serde(rename = "GTDV"))]
Gtdv,
#[yaserde(rename = "GTSV")]
#[cfg_attr(feature = "serde", serde(rename = "GTSV"))]
Gtsv,
#[yaserde(rename = "GTTV")]
#[cfg_attr(feature = "serde", serde(rename = "GTTV"))]
Gttv,
#[yaserde(rename = "IOCV")]
#[cfg_attr(feature = "serde", serde(rename = "IOCV"))]
Iocv,
__Unknown__(String),
}
impl Default for ValidityPeriodType1Code {
fn default() -> ValidityPeriodType1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for ValidityPeriodType1Code {}
#[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 = "113";
const VARIANT: &'static str = "001";
const VERSION: &'static str = "01";
const MESSAGE_NAME: &'static str = "auth.113.001.01";
const NAMESPACE: &'static str = "urn:iso:std:iso:20022:tech:xsd:auth.113.001.01";
}