#![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(PartialEq, Debug, Clone, YaSerialize, YaDeserialize)]#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:semt.028.001.01")]
pub enum AddressType2Code {
#[yaserde(rename = "ADDR")]
#[cfg_attr(feature = "serde", serde(rename = "ADDR"))]
Addr,
#[yaserde(rename = "PBOX")]
#[cfg_attr(feature = "serde", serde(rename = "PBOX"))]
Pbox,
#[yaserde(rename = "HOME")]
#[cfg_attr(feature = "serde", serde(rename = "HOME"))]
Home,
#[yaserde(rename = "BIZZ")]
#[cfg_attr(feature = "serde", serde(rename = "BIZZ"))]
Bizz,
#[yaserde(rename = "MLTO")]
#[cfg_attr(feature = "serde", serde(rename = "MLTO"))]
Mlto,
#[yaserde(rename = "DLVY")]
#[cfg_attr(feature = "serde", serde(rename = "DLVY"))]
Dlvy,
__Unknown__(String),
}
impl Default for AddressType2Code {
fn default() -> AddressType2Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for AddressType2Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:semt.028.001.01")]
pub struct AmountRangeBoundary1 {
#[yaserde(rename = "BdryAmt")]
#[cfg_attr(feature = "serde", serde(rename = "BdryAmt"))]
pub bdry_amt: ImpliedCurrencyAndAmount,
#[yaserde(rename = "Incl")]
#[cfg_attr(feature = "serde", serde(rename = "Incl"))]
pub incl: YesNoIndicator,
}
impl Validate for AmountRangeBoundary1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct AnyBICDec2014Identifier (pub String);
crate::simple_type!(AnyBICDec2014Identifier);
impl Validate for AnyBICDec2014Identifier {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct 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:semt.028.001.01")]
pub struct DateAndDateTimeSearch5Choice {
#[yaserde(rename = "Dt")]
#[cfg_attr(feature = "serde", serde(rename = "Dt"))]
pub dt: Option<DatePeriodSearch1Choice>,
#[yaserde(rename = "DtTm")]
#[cfg_attr(feature = "serde", serde(rename = "DtTm"))]
pub dt_tm: Option<DateTimeSearch2Choice>,
}
impl Validate for DateAndDateTimeSearch5Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:semt.028.001.01")]
pub struct DatePeriod2 {
#[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 DatePeriod2 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:semt.028.001.01")]
pub struct DatePeriodSearch1Choice {
#[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<DatePeriod2>,
#[yaserde(rename = "EQDt")]
#[cfg_attr(feature = "serde", serde(rename = "EQDt"))]
pub eqdt: Option<Isodate>,
#[yaserde(rename = "NEQDt")]
#[cfg_attr(feature = "serde", serde(rename = "NEQDt"))]
pub neqdt: Option<Isodate>,
}
impl Validate for DatePeriodSearch1Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:semt.028.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, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:semt.028.001.01")]
pub struct DateTimeSearch2Choice {
#[yaserde(rename = "FrDtTm")]
#[cfg_attr(feature = "serde", serde(rename = "FrDtTm"))]
pub fr_dt_tm: Option<IsodateTime>,
#[yaserde(rename = "ToDtTm")]
#[cfg_attr(feature = "serde", serde(rename = "ToDtTm"))]
pub to_dt_tm: Option<IsodateTime>,
#[yaserde(rename = "FrToDtTm")]
#[cfg_attr(feature = "serde", serde(rename = "FrToDtTm"))]
pub fr_to_dt_tm: Option<DateTimePeriod1>,
#[yaserde(rename = "EQDtTm")]
#[cfg_attr(feature = "serde", serde(rename = "EQDtTm"))]
pub eqdt_tm: Option<IsodateTime>,
#[yaserde(rename = "NEQDtTm")]
#[cfg_attr(feature = "serde", serde(rename = "NEQDtTm"))]
pub neqdt_tm: Option<IsodateTime>,
}
impl Validate for DateTimeSearch2Choice {}
#[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:semt.028.001.01")]
pub struct Document {
#[yaserde(rename = "IntraPosMvmntQry")]
#[cfg_attr(feature = "serde", serde(rename = "IntraPosMvmntQry"))]
pub intra_pos_mvmnt_qry: IntraPositionMovementQueryV01,
}
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)]
pub struct Exact4NumericText (pub String);
crate::simple_type!(Exact4NumericText);
impl Validate for Exact4NumericText {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct ExternalFinancialInstrumentIdentificationType1Code (pub String);
crate::simple_type!(ExternalFinancialInstrumentIdentificationType1Code);
impl Validate for ExternalFinancialInstrumentIdentificationType1Code {
fn validate(&self) -> Result<(), String> {
#[allow(clippy::len_zero)]
if self.0.len() < 1 {
return Err(format!("MinLength validation error. \nExpected: 0 length >= 1 \nActual: 0 length == {}", self.0.len()));
}
if self.0.len() > 4 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 4 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:semt.028.001.01")]
pub struct FinancialInstrumentQuantity1Choice {
#[yaserde(rename = "Unit")]
#[cfg_attr(feature = "serde", serde(rename = "Unit"))]
pub unit: Option<DecimalNumber>,
#[yaserde(rename = "FaceAmt")]
#[cfg_attr(feature = "serde", serde(rename = "FaceAmt"))]
pub face_amt: Option<ImpliedCurrencyAndAmount>,
#[yaserde(rename = "AmtsdVal")]
#[cfg_attr(feature = "serde", serde(rename = "AmtsdVal"))]
pub amtsd_val: Option<ImpliedCurrencyAndAmount>,
}
impl Validate for FinancialInstrumentQuantity1Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:semt.028.001.01")]
pub struct FinancialInstrumentQuantitySearch2 {
#[yaserde(rename = "FaceAmt")]
#[cfg_attr(feature = "serde", serde(rename = "FaceAmt"))]
pub face_amt: ImpliedCurrencyAmountRange1Choice,
#[yaserde(rename = "AmtsdVal")]
#[cfg_attr(feature = "serde", serde(rename = "AmtsdVal"))]
pub amtsd_val: ImpliedCurrencyAmountRange1Choice,
}
impl Validate for FinancialInstrumentQuantitySearch2 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:semt.028.001.01")]
pub struct FinancialInstrumentQuantitySearch2Choice {
#[yaserde(rename = "Unit")]
#[cfg_attr(feature = "serde", serde(rename = "Unit"))]
pub unit: Option<QuantityRange1Choice>,
#[yaserde(rename = "FaceAmt")]
#[cfg_attr(feature = "serde", serde(rename = "FaceAmt"))]
pub face_amt: Option<ImpliedCurrencyAmountRange1Choice>,
#[yaserde(rename = "AmtsdVal")]
#[cfg_attr(feature = "serde", serde(rename = "AmtsdVal"))]
pub amtsd_val: Option<ImpliedCurrencyAmountRange1Choice>,
}
impl Validate for FinancialInstrumentQuantitySearch2Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:semt.028.001.01")]
pub struct FromToAmountRange1 {
#[yaserde(rename = "FrAmt")]
#[cfg_attr(feature = "serde", serde(rename = "FrAmt"))]
pub fr_amt: AmountRangeBoundary1,
#[yaserde(rename = "ToAmt")]
#[cfg_attr(feature = "serde", serde(rename = "ToAmt"))]
pub to_amt: AmountRangeBoundary1,
}
impl Validate for FromToAmountRange1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:semt.028.001.01")]
pub struct FromToQuantityRange1 {
#[yaserde(rename = "FrQty")]
#[cfg_attr(feature = "serde", serde(rename = "FrQty"))]
pub fr_qty: QuantityRangeBoundary1,
#[yaserde(rename = "ToQty")]
#[cfg_attr(feature = "serde", serde(rename = "ToQty"))]
pub to_qty: QuantityRangeBoundary1,
}
impl Validate for FromToQuantityRange1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:semt.028.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:semt.028.001.01")]
pub struct GenericIdentification36 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Max35Text,
#[yaserde(rename = "Issr")]
#[cfg_attr(feature = "serde", serde(rename = "Issr"))]
pub issr: Max35Text,
#[yaserde(rename = "SchmeNm")]
#[cfg_attr(feature = "serde", serde(rename = "SchmeNm"))]
pub schme_nm: Max35Text,
}
impl Validate for GenericIdentification36 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:semt.028.001.01")]
pub struct GenericIdentification37 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Max35Text,
#[yaserde(rename = "Issr")]
#[cfg_attr(feature = "serde", serde(rename = "Issr"))]
pub issr: Max35Text,
}
impl Validate for GenericIdentification37 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Isinoct2015Identifier (pub String);
crate::simple_type!(Isinoct2015Identifier);
impl Validate for Isinoct2015Identifier {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Isodate (pub String);
crate::simple_type!(Isodate);
impl Validate for Isodate {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct IsodateTime (pub String);
crate::simple_type!(IsodateTime);
impl Validate for IsodateTime {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:semt.028.001.01")]
pub struct IdentificationSource3Choice {
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: Option<ExternalFinancialInstrumentIdentificationType1Code>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<Max35Text>,
}
impl Validate for IdentificationSource3Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:semt.028.001.01")]
pub struct ImpliedCurrencyAmountRange1Choice {
#[yaserde(rename = "FrAmt")]
#[cfg_attr(feature = "serde", serde(rename = "FrAmt"))]
pub fr_amt: Option<AmountRangeBoundary1>,
#[yaserde(rename = "ToAmt")]
#[cfg_attr(feature = "serde", serde(rename = "ToAmt"))]
pub to_amt: Option<AmountRangeBoundary1>,
#[yaserde(rename = "FrToAmt")]
#[cfg_attr(feature = "serde", serde(rename = "FrToAmt"))]
pub fr_to_amt: Option<FromToAmountRange1>,
#[yaserde(rename = "EQAmt")]
#[cfg_attr(feature = "serde", serde(rename = "EQAmt"))]
pub eqamt: Option<ImpliedCurrencyAndAmount>,
#[yaserde(rename = "NEQAmt")]
#[cfg_attr(feature = "serde", serde(rename = "NEQAmt"))]
pub neqamt: Option<ImpliedCurrencyAndAmount>,
}
impl Validate for ImpliedCurrencyAmountRange1Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct ImpliedCurrencyAndAmount (pub String);
crate::simple_type!(ImpliedCurrencyAndAmount);
impl Validate for ImpliedCurrencyAndAmount {
fn validate(&self) -> Result<(), String> {
if self.0 < "0".parse::<String>().unwrap() {
return Err(format!("MinInclusive validation error: invalid value of 0! \nExpected: 0 >= 0.\nActual: 0 == {}", self.0));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:semt.028.001.01")]
pub struct IntraPositionMovementQueryV01 {
#[yaserde(rename = "QryDef")]
#[cfg_attr(feature = "serde", serde(rename = "QryDef"))]
pub qry_def: IntraPositionQueryDefinition8,
#[yaserde(rename = "SplmtryData")]
#[cfg_attr(feature = "serde", serde(rename = "SplmtryData"))]
pub splmtry_data: Vec<SupplementaryData1>,
}
impl Validate for IntraPositionMovementQueryV01 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:semt.028.001.01")]
pub struct IntraPositionQueryCriteria8 {
#[yaserde(rename = "Refs")]
#[cfg_attr(feature = "serde", serde(rename = "Refs"))]
pub refs: Vec<References82Choice>,
#[yaserde(rename = "Sts")]
#[cfg_attr(feature = "serde", serde(rename = "Sts"))]
pub sts: IntraPositionQueryStatus3,
#[yaserde(rename = "FinInstrmId")]
#[cfg_attr(feature = "serde", serde(rename = "FinInstrmId"))]
pub fin_instrm_id: Vec<SecurityIdentification19>,
#[yaserde(rename = "SfkpgAcctOwnr")]
#[cfg_attr(feature = "serde", serde(rename = "SfkpgAcctOwnr"))]
pub sfkpg_acct_ownr: Vec<SystemPartyIdentification8>,
#[yaserde(rename = "SfkpgAcct")]
#[cfg_attr(feature = "serde", serde(rename = "SfkpgAcct"))]
pub sfkpg_acct: Vec<SecuritiesAccount19>,
#[yaserde(rename = "BalTp")]
#[cfg_attr(feature = "serde", serde(rename = "BalTp"))]
pub bal_tp: Vec<IntraPositionType2>,
#[yaserde(rename = "SctiesSubBalId")]
#[cfg_attr(feature = "serde", serde(rename = "SctiesSubBalId"))]
pub scties_sub_bal_id: Vec<GenericIdentification37>,
#[yaserde(rename = "SttlmQty")]
#[cfg_attr(feature = "serde", serde(rename = "SttlmQty"))]
pub sttlm_qty: QuantitySearch2Choice,
#[yaserde(rename = "SttldQty")]
#[cfg_attr(feature = "serde", serde(rename = "SttldQty"))]
pub sttld_qty: QuantitySearch2Choice,
#[yaserde(rename = "IntnddSttlmDt")]
#[cfg_attr(feature = "serde", serde(rename = "IntnddSttlmDt"))]
pub intndd_sttlm_dt: DateAndDateTimeSearch5Choice,
#[yaserde(rename = "FctvSttlmDt")]
#[cfg_attr(feature = "serde", serde(rename = "FctvSttlmDt"))]
pub fctv_sttlm_dt: DateAndDateTimeSearch5Choice,
#[yaserde(rename = "Prty")]
#[cfg_attr(feature = "serde", serde(rename = "Prty"))]
pub prty: Vec<PriorityNumeric4Choice>,
#[yaserde(rename = "CtryOfIsse")]
#[cfg_attr(feature = "serde", serde(rename = "CtryOfIsse"))]
pub ctry_of_isse: Vec<CountryCode>,
#[yaserde(rename = "MsgOrgtr")]
#[cfg_attr(feature = "serde", serde(rename = "MsgOrgtr"))]
pub msg_orgtr: Vec<SystemPartyIdentification8>,
#[yaserde(rename = "CreDtTm")]
#[cfg_attr(feature = "serde", serde(rename = "CreDtTm"))]
pub cre_dt_tm: DateAndDateTimeSearch5Choice,
}
impl Validate for IntraPositionQueryCriteria8 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:semt.028.001.01")]
pub struct IntraPositionQueryDefinition8 {
#[yaserde(rename = "QryTp")]
#[cfg_attr(feature = "serde", serde(rename = "QryTp"))]
pub qry_tp: MovementResponseType1Code,
#[yaserde(rename = "SchCrit")]
#[cfg_attr(feature = "serde", serde(rename = "SchCrit"))]
pub sch_crit: IntraPositionQueryCriteria8,
}
impl Validate for IntraPositionQueryDefinition8 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:semt.028.001.01")]
pub struct IntraPositionQueryStatus3 {
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: IntraPositionStatusType2,
#[yaserde(rename = "DtPrd")]
#[cfg_attr(feature = "serde", serde(rename = "DtPrd"))]
pub dt_prd: DateAndDateTimeSearch5Choice,
}
impl Validate for IntraPositionQueryStatus3 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:semt.028.001.01")]
pub struct IntraPositionStatusType2 {
#[yaserde(rename = "PrcgSts")]
#[cfg_attr(feature = "serde", serde(rename = "PrcgSts"))]
pub prcg_sts: Vec<ProcessingStatus68Choice>,
#[yaserde(rename = "SttlmSts")]
#[cfg_attr(feature = "serde", serde(rename = "SttlmSts"))]
pub sttlm_sts: Vec<SettlementStatus26Choice>,
#[yaserde(rename = "Sttld")]
#[cfg_attr(feature = "serde", serde(rename = "Sttld"))]
pub sttld: ProprietaryReason4,
}
impl Validate for IntraPositionStatusType2 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:semt.028.001.01")]
pub struct IntraPositionType2 {
#[yaserde(rename = "BalFr")]
#[cfg_attr(feature = "serde", serde(rename = "BalFr"))]
pub bal_fr: SecuritiesSubBalanceTypeAndQuantityBreakdown3,
#[yaserde(rename = "BalTo")]
#[cfg_attr(feature = "serde", serde(rename = "BalTo"))]
pub bal_to: SecuritiesSubBalanceTypeAndQuantityBreakdown3,
}
impl Validate for IntraPositionType2 {}
#[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 Max140Text (pub String);
crate::simple_type!(Max140Text);
impl Validate for Max140Text {
fn validate(&self) -> Result<(), String> {
#[allow(clippy::len_zero)]
if self.0.len() < 1 {
return Err(format!("MinLength validation error. \nExpected: 0 length >= 1 \nActual: 0 length == {}", self.0.len()));
}
if self.0.len() > 140 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 140 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max16Text (pub String);
crate::simple_type!(Max16Text);
impl Validate for Max16Text {
fn validate(&self) -> Result<(), String> {
#[allow(clippy::len_zero)]
if self.0.len() < 1 {
return Err(format!("MinLength validation error. \nExpected: 0 length >= 1 \nActual: 0 length == {}", self.0.len()));
}
if self.0.len() > 16 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 16 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max210Text (pub String);
crate::simple_type!(Max210Text);
impl Validate for Max210Text {
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() > 210 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 210 \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 Max70Text (pub String);
crate::simple_type!(Max70Text);
impl Validate for Max70Text {
fn validate(&self) -> Result<(), String> {
#[allow(clippy::len_zero)]
if self.0.len() < 1 {
return Err(format!("MinLength validation error. \nExpected: 0 length >= 1 \nActual: 0 length == {}", self.0.len()));
}
if self.0.len() > 70 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 70 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(PartialEq, Debug, Clone, YaSerialize, YaDeserialize)]#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:semt.028.001.01")]
pub enum MovementResponseType1Code {
#[yaserde(rename = "FULL")]
#[cfg_attr(feature = "serde", serde(rename = "FULL"))]
Full,
#[yaserde(rename = "STTS")]
#[cfg_attr(feature = "serde", serde(rename = "STTS"))]
Stts,
__Unknown__(String),
}
impl Default for MovementResponseType1Code {
fn default() -> MovementResponseType1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for MovementResponseType1Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:semt.028.001.01")]
pub struct NameAndAddress5 {
#[yaserde(rename = "Nm")]
#[cfg_attr(feature = "serde", serde(rename = "Nm"))]
pub nm: Max350Text,
#[yaserde(rename = "Adr")]
#[cfg_attr(feature = "serde", serde(rename = "Adr"))]
pub adr: PostalAddress1,
}
impl Validate for NameAndAddress5 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:semt.028.001.01")]
pub struct OtherIdentification1 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Max35Text,
#[yaserde(rename = "Sfx")]
#[cfg_attr(feature = "serde", serde(rename = "Sfx"))]
pub sfx: Max16Text,
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: IdentificationSource3Choice,
}
impl Validate for OtherIdentification1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:semt.028.001.01")]
pub struct PartyIdentification120Choice {
#[yaserde(rename = "AnyBIC")]
#[cfg_attr(feature = "serde", serde(rename = "AnyBIC"))]
pub any_b_i_c: Option<AnyBICDec2014Identifier>,
#[yaserde(rename = "PrtryId")]
#[cfg_attr(feature = "serde", serde(rename = "PrtryId"))]
pub prtry_id: Option<GenericIdentification36>,
#[yaserde(rename = "NmAndAdr")]
#[cfg_attr(feature = "serde", serde(rename = "NmAndAdr"))]
pub nm_and_adr: Option<NameAndAddress5>,
}
impl Validate for PartyIdentification120Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:semt.028.001.01")]
pub struct PartyIdentification136 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: PartyIdentification120Choice,
#[yaserde(rename = "LEI")]
#[cfg_attr(feature = "serde", serde(rename = "LEI"))]
pub lei: Leiidentifier,
}
impl Validate for PartyIdentification136 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:semt.028.001.01")]
pub struct PostalAddress1 {
#[yaserde(rename = "AdrTp")]
#[cfg_attr(feature = "serde", serde(rename = "AdrTp"))]
pub adr_tp: AddressType2Code,
#[yaserde(rename = "AdrLine")]
#[cfg_attr(feature = "serde", serde(rename = "AdrLine"))]
pub adr_line: Vec<Max70Text>,
#[yaserde(rename = "StrtNm")]
#[cfg_attr(feature = "serde", serde(rename = "StrtNm"))]
pub strt_nm: Max70Text,
#[yaserde(rename = "BldgNb")]
#[cfg_attr(feature = "serde", serde(rename = "BldgNb"))]
pub bldg_nb: Max16Text,
#[yaserde(rename = "PstCd")]
#[cfg_attr(feature = "serde", serde(rename = "PstCd"))]
pub pst_cd: Max16Text,
#[yaserde(rename = "TwnNm")]
#[cfg_attr(feature = "serde", serde(rename = "TwnNm"))]
pub twn_nm: Max35Text,
#[yaserde(rename = "CtrySubDvsn")]
#[cfg_attr(feature = "serde", serde(rename = "CtrySubDvsn"))]
pub ctry_sub_dvsn: Max35Text,
#[yaserde(rename = "Ctry")]
#[cfg_attr(feature = "serde", serde(rename = "Ctry"))]
pub ctry: CountryCode,
}
impl Validate for PostalAddress1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:semt.028.001.01")]
pub struct PriorityNumeric4Choice {
#[yaserde(rename = "Nmrc")]
#[cfg_attr(feature = "serde", serde(rename = "Nmrc"))]
pub nmrc: Option<Exact4NumericText>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<GenericIdentification30>,
}
impl Validate for PriorityNumeric4Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:semt.028.001.01")]
pub struct ProcessingStatus68Choice {
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: Option<TransactionProcessingStatus3Code>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<GenericIdentification30>,
}
impl Validate for ProcessingStatus68Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:semt.028.001.01")]
pub struct ProprietaryReason4 {
#[yaserde(rename = "Rsn")]
#[cfg_attr(feature = "serde", serde(rename = "Rsn"))]
pub rsn: GenericIdentification30,
#[yaserde(rename = "AddtlRsnInf")]
#[cfg_attr(feature = "serde", serde(rename = "AddtlRsnInf"))]
pub addtl_rsn_inf: Max210Text,
}
impl Validate for ProprietaryReason4 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:semt.028.001.01")]
pub struct QuantityBreakdown32 {
#[yaserde(rename = "LotNb")]
#[cfg_attr(feature = "serde", serde(rename = "LotNb"))]
pub lot_nb: GenericIdentification37,
#[yaserde(rename = "LotQty")]
#[cfg_attr(feature = "serde", serde(rename = "LotQty"))]
pub lot_qty: FinancialInstrumentQuantity1Choice,
#[yaserde(rename = "SctiesSubBalTp")]
#[cfg_attr(feature = "serde", serde(rename = "SctiesSubBalTp"))]
pub scties_sub_bal_tp: GenericIdentification30,
}
impl Validate for QuantityBreakdown32 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:semt.028.001.01")]
pub struct QuantityRange1Choice {
#[yaserde(rename = "FrQty")]
#[cfg_attr(feature = "serde", serde(rename = "FrQty"))]
pub fr_qty: Option<QuantityRangeBoundary1>,
#[yaserde(rename = "ToQty")]
#[cfg_attr(feature = "serde", serde(rename = "ToQty"))]
pub to_qty: Option<QuantityRangeBoundary1>,
#[yaserde(rename = "FrToQty")]
#[cfg_attr(feature = "serde", serde(rename = "FrToQty"))]
pub fr_to_qty: Option<FromToQuantityRange1>,
#[yaserde(rename = "EQQty")]
#[cfg_attr(feature = "serde", serde(rename = "EQQty"))]
pub eqqty: Option<DecimalNumber>,
#[yaserde(rename = "NEQQty")]
#[cfg_attr(feature = "serde", serde(rename = "NEQQty"))]
pub neqqty: Option<DecimalNumber>,
}
impl Validate for QuantityRange1Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:semt.028.001.01")]
pub struct QuantityRangeBoundary1 {
#[yaserde(rename = "Bdry")]
#[cfg_attr(feature = "serde", serde(rename = "Bdry"))]
pub bdry: DecimalNumber,
#[yaserde(rename = "Incl")]
#[cfg_attr(feature = "serde", serde(rename = "Incl"))]
pub incl: YesNoIndicator,
}
impl Validate for QuantityRangeBoundary1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:semt.028.001.01")]
pub struct QuantitySearch2Choice {
#[yaserde(rename = "Qty")]
#[cfg_attr(feature = "serde", serde(rename = "Qty"))]
pub qty: Option<FinancialInstrumentQuantitySearch2Choice>,
#[yaserde(rename = "OrgnlAndCurFace")]
#[cfg_attr(feature = "serde", serde(rename = "OrgnlAndCurFace"))]
pub orgnl_and_cur_face: Option<FinancialInstrumentQuantitySearch2>,
}
impl Validate for QuantitySearch2Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:semt.028.001.01")]
pub struct References82Choice {
#[yaserde(rename = "AcctOwnrTxId")]
#[cfg_attr(feature = "serde", serde(rename = "AcctOwnrTxId"))]
pub acct_ownr_tx_id: Option<Max35Text>,
#[yaserde(rename = "AcctSvcrTxId")]
#[cfg_attr(feature = "serde", serde(rename = "AcctSvcrTxId"))]
pub acct_svcr_tx_id: Option<Max35Text>,
#[yaserde(rename = "MktInfrstrctrTxId")]
#[cfg_attr(feature = "serde", serde(rename = "MktInfrstrctrTxId"))]
pub mkt_infrstrctr_tx_id: Option<Max35Text>,
#[yaserde(rename = "CtrPtyMktInfrstrctrTxId")]
#[cfg_attr(feature = "serde", serde(rename = "CtrPtyMktInfrstrctrTxId"))]
pub ctr_pty_mkt_infrstrctr_tx_id: Option<Max35Text>,
#[yaserde(rename = "PrcrTxId")]
#[cfg_attr(feature = "serde", serde(rename = "PrcrTxId"))]
pub prcr_tx_id: Option<Max35Text>,
#[yaserde(rename = "PoolId")]
#[cfg_attr(feature = "serde", serde(rename = "PoolId"))]
pub pool_id: Option<Max35Text>,
#[yaserde(rename = "CorpActnEvtId")]
#[cfg_attr(feature = "serde", serde(rename = "CorpActnEvtId"))]
pub corp_actn_evt_id: Option<Max35Text>,
}
impl Validate for References82Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:semt.028.001.01")]
pub struct SecuritiesAccount19 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Max35Text,
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: GenericIdentification30,
#[yaserde(rename = "Nm")]
#[cfg_attr(feature = "serde", serde(rename = "Nm"))]
pub nm: Max70Text,
}
impl Validate for SecuritiesAccount19 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(PartialEq, Debug, Clone, YaSerialize, YaDeserialize)]#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:semt.028.001.01")]
pub enum SecuritiesBalanceType11Code {
#[yaserde(rename = "BLOK")]
#[cfg_attr(feature = "serde", serde(rename = "BLOK"))]
Blok,
#[yaserde(rename = "AWAS")]
#[cfg_attr(feature = "serde", serde(rename = "AWAS"))]
Awas,
#[yaserde(rename = "AVAI")]
#[cfg_attr(feature = "serde", serde(rename = "AVAI"))]
Avai,
#[yaserde(rename = "BLCA")]
#[cfg_attr(feature = "serde", serde(rename = "BLCA"))]
Blca,
#[yaserde(rename = "BLOT")]
#[cfg_attr(feature = "serde", serde(rename = "BLOT"))]
Blot,
#[yaserde(rename = "BLOV")]
#[cfg_attr(feature = "serde", serde(rename = "BLOV"))]
Blov,
#[yaserde(rename = "BORR")]
#[cfg_attr(feature = "serde", serde(rename = "BORR"))]
Borr,
#[yaserde(rename = "COLI")]
#[cfg_attr(feature = "serde", serde(rename = "COLI"))]
Coli,
#[yaserde(rename = "COLO")]
#[cfg_attr(feature = "serde", serde(rename = "COLO"))]
Colo,
#[yaserde(rename = "COLA")]
#[cfg_attr(feature = "serde", serde(rename = "COLA"))]
Cola,
#[yaserde(rename = "LOAN")]
#[cfg_attr(feature = "serde", serde(rename = "LOAN"))]
Loan,
#[yaserde(rename = "MARG")]
#[cfg_attr(feature = "serde", serde(rename = "MARG"))]
Marg,
#[yaserde(rename = "PECA")]
#[cfg_attr(feature = "serde", serde(rename = "PECA"))]
Peca,
#[yaserde(rename = "PEDA")]
#[cfg_attr(feature = "serde", serde(rename = "PEDA"))]
Peda,
#[yaserde(rename = "PLED")]
#[cfg_attr(feature = "serde", serde(rename = "PLED"))]
Pled,
#[yaserde(rename = "REGO")]
#[cfg_attr(feature = "serde", serde(rename = "REGO"))]
Rego,
#[yaserde(rename = "RSTR")]
#[cfg_attr(feature = "serde", serde(rename = "RSTR"))]
Rstr,
#[yaserde(rename = "OTHR")]
#[cfg_attr(feature = "serde", serde(rename = "OTHR"))]
Othr,
#[yaserde(rename = "TRAN")]
#[cfg_attr(feature = "serde", serde(rename = "TRAN"))]
Tran,
#[yaserde(rename = "DRAW")]
#[cfg_attr(feature = "serde", serde(rename = "DRAW"))]
Draw,
#[yaserde(rename = "CLEN")]
#[cfg_attr(feature = "serde", serde(rename = "CLEN"))]
Clen,
#[yaserde(rename = "DIRT")]
#[cfg_attr(feature = "serde", serde(rename = "DIRT"))]
Dirt,
#[yaserde(rename = "NOMI")]
#[cfg_attr(feature = "serde", serde(rename = "NOMI"))]
Nomi,
#[yaserde(rename = "SPOS")]
#[cfg_attr(feature = "serde", serde(rename = "SPOS"))]
Spos,
#[yaserde(rename = "UNRG")]
#[cfg_attr(feature = "serde", serde(rename = "UNRG"))]
Unrg,
#[yaserde(rename = "ISSU")]
#[cfg_attr(feature = "serde", serde(rename = "ISSU"))]
Issu,
#[yaserde(rename = "QUAS")]
#[cfg_attr(feature = "serde", serde(rename = "QUAS"))]
Quas,
#[yaserde(rename = "LODE")]
#[cfg_attr(feature = "serde", serde(rename = "LODE"))]
Lode,
__Unknown__(String),
}
impl Default for SecuritiesBalanceType11Code {
fn default() -> SecuritiesBalanceType11Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for SecuritiesBalanceType11Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:semt.028.001.01")]
pub struct SecuritiesBalanceType6Choice {
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: Option<SecuritiesBalanceType11Code>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<GenericIdentification30>,
}
impl Validate for SecuritiesBalanceType6Choice {}
#[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:semt.028.001.01")]
pub enum SecuritiesSettlementStatus1Code {
#[yaserde(rename = "PEND")]
#[cfg_attr(feature = "serde", serde(rename = "PEND"))]
Pend,
#[yaserde(rename = "PENF")]
#[cfg_attr(feature = "serde", serde(rename = "PENF"))]
Penf,
__Unknown__(String),
}
impl Default for SecuritiesSettlementStatus1Code {
fn default() -> SecuritiesSettlementStatus1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for SecuritiesSettlementStatus1Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:semt.028.001.01")]
pub struct SecuritiesSubBalanceTypeAndQuantityBreakdown3 {
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: SecuritiesBalanceType6Choice,
#[yaserde(rename = "QtyBrkdwn")]
#[cfg_attr(feature = "serde", serde(rename = "QtyBrkdwn"))]
pub qty_brkdwn: Vec<QuantityBreakdown32>,
}
impl Validate for SecuritiesSubBalanceTypeAndQuantityBreakdown3 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:semt.028.001.01")]
pub struct SecurityIdentification19 {
#[yaserde(rename = "ISIN")]
#[cfg_attr(feature = "serde", serde(rename = "ISIN"))]
pub isin: Isinoct2015Identifier,
#[yaserde(rename = "OthrId")]
#[cfg_attr(feature = "serde", serde(rename = "OthrId"))]
pub othr_id: Vec<OtherIdentification1>,
#[yaserde(rename = "Desc")]
#[cfg_attr(feature = "serde", serde(rename = "Desc"))]
pub desc: Max140Text,
}
impl Validate for SecurityIdentification19 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:semt.028.001.01")]
pub struct SettlementStatus26Choice {
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: Option<SecuritiesSettlementStatus1Code>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<GenericIdentification30>,
}
impl Validate for SettlementStatus26Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:semt.028.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:semt.028.001.01")]
pub struct SupplementaryDataEnvelope1 {}
impl Validate for SupplementaryDataEnvelope1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:semt.028.001.01")]
pub struct SystemPartyIdentification8 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: PartyIdentification136,
#[yaserde(rename = "RspnsblPtyId")]
#[cfg_attr(feature = "serde", serde(rename = "RspnsblPtyId"))]
pub rspnsbl_pty_id: PartyIdentification136,
}
impl Validate for SystemPartyIdentification8 {}
#[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:semt.028.001.01")]
pub enum TransactionProcessingStatus3Code {
#[yaserde(rename = "CAND")]
#[cfg_attr(feature = "serde", serde(rename = "CAND"))]
Cand,
#[yaserde(rename = "PACK")]
#[cfg_attr(feature = "serde", serde(rename = "PACK"))]
Pack,
#[yaserde(rename = "REJT")]
#[cfg_attr(feature = "serde", serde(rename = "REJT"))]
Rejt,
#[yaserde(rename = "REPR")]
#[cfg_attr(feature = "serde", serde(rename = "REPR"))]
Repr,
__Unknown__(String),
}
impl Default for TransactionProcessingStatus3Code {
fn default() -> TransactionProcessingStatus3Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for TransactionProcessingStatus3Code {}
#[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::semt;
const FUNCTIONALITY: &'static str = "028";
const VARIANT: &'static str = "001";
const VERSION: &'static str = "01";
const MESSAGE_NAME: &'static str = "semt.028.001.01";
const NAMESPACE: &'static str = "urn:iso:std:iso:20022:tech:xsd:semt.028.001.01";
}