#![allow(clippy::all)]
#![allow(non_snake_case, non_camel_case_types, dead_code, unused_imports)]
#![allow(non_local_definitions)]
use std::str::FromStr;
use crate::validate::Validate;
use yaserde_derive::{YaDeserialize, YaSerialize};
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct ActiveCurrencyAndAmountSimpleType (pub String);
crate::simple_type!(ActiveCurrencyAndAmountSimpleType);
impl Validate for ActiveCurrencyAndAmountSimpleType {
fn validate(&self) -> Result<(), String> {
if self.0 < "0".parse::<String>().unwrap() {
return Err(format!("MinInclusive validation error: invalid value of 0! \nExpected: 0 >= 0.\nActual: 0 == {}", self.0));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:fxtr.017.001.06")]
pub struct ActiveCurrencyAndAmount {
#[yaserde(text)]
pub value: String,
#[yaserde(attribute, rename = "Ccy")]
#[cfg_attr(feature = "serde", serde(rename = "Ccy"))]
pub ccy: ActiveCurrencyCode,
}
impl Validate for ActiveCurrencyAndAmount {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct ActiveCurrencyCode (pub String);
crate::simple_type!(ActiveCurrencyCode);
impl Validate for ActiveCurrencyCode {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(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:fxtr.017.001.06")]
pub struct ActiveOrHistoricCurrencyAndAmount {
#[yaserde(text)]
pub value: String,
#[yaserde(attribute, rename = "Ccy")]
#[cfg_attr(feature = "serde", serde(rename = "Ccy"))]
pub ccy: ActiveOrHistoricCurrencyCode,
}
impl Validate for ActiveOrHistoricCurrencyAndAmount {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct ActiveOrHistoricCurrencyCode (pub String);
crate::simple_type!(ActiveOrHistoricCurrencyCode);
impl Validate for ActiveOrHistoricCurrencyCode {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(PartialEq, Debug, Clone, YaSerialize, YaDeserialize)]#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:fxtr.017.001.06")]
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:fxtr.017.001.06")]
pub struct AgreedRate3 {
#[yaserde(rename = "XchgRate")]
#[cfg_attr(feature = "serde", serde(rename = "XchgRate"))]
pub xchg_rate: BaseOneRate,
#[yaserde(rename = "UnitCcy")]
#[cfg_attr(feature = "serde", serde(rename = "UnitCcy"))]
pub unit_ccy: ActiveCurrencyCode,
#[yaserde(rename = "QtdCcy")]
#[cfg_attr(feature = "serde", serde(rename = "QtdCcy"))]
pub qtd_ccy: ActiveCurrencyCode,
}
impl Validate for AgreedRate3 {}
#[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:fxtr.017.001.06")]
pub struct AgreementConditions1 {
#[yaserde(rename = "AgrmtCd")]
#[cfg_attr(feature = "serde", serde(rename = "AgrmtCd"))]
pub agrmt_cd: Max6AlphaText,
#[yaserde(rename = "Dt")]
#[cfg_attr(feature = "serde", serde(rename = "Dt"))]
pub dt: Isodate,
#[yaserde(rename = "Vrsn")]
#[cfg_attr(feature = "serde", serde(rename = "Vrsn"))]
pub vrsn: Exact4NumericText,
}
impl Validate for AgreementConditions1 {}
#[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:fxtr.017.001.06")]
pub enum AllocationIndicator1Code {
#[yaserde(rename = "POST")]
#[cfg_attr(feature = "serde", serde(rename = "POST"))]
Post,
#[yaserde(rename = "PREA")]
#[cfg_attr(feature = "serde", serde(rename = "PREA"))]
Prea,
#[yaserde(rename = "UNAL")]
#[cfg_attr(feature = "serde", serde(rename = "UNAL"))]
Unal,
__Unknown__(String),
}
impl Default for AllocationIndicator1Code {
fn default() -> AllocationIndicator1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for AllocationIndicator1Code {}
#[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:fxtr.017.001.06")]
pub struct AmountOrRate4Choice {
#[yaserde(rename = "Amt")]
#[cfg_attr(feature = "serde", serde(rename = "Amt"))]
pub amt: Option<ActiveCurrencyAndAmount>,
#[yaserde(rename = "Rate")]
#[cfg_attr(feature = "serde", serde(rename = "Rate"))]
pub rate: Option<BaseOneRate>,
}
impl Validate for AmountOrRate4Choice {}
#[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:fxtr.017.001.06")]
pub struct AmountsAndValueDate8 {
#[yaserde(rename = "TradgSdBuyAmt")]
#[cfg_attr(feature = "serde", serde(rename = "TradgSdBuyAmt"))]
pub tradg_sd_buy_amt: CurrencyOrDigitalTokenAmount2Choice,
#[yaserde(rename = "TradgSdSellAmt")]
#[cfg_attr(feature = "serde", serde(rename = "TradgSdSellAmt"))]
pub tradg_sd_sell_amt: CurrencyOrDigitalTokenAmount2Choice,
#[yaserde(rename = "SttlmDt")]
#[cfg_attr(feature = "serde", serde(rename = "SttlmDt"))]
pub sttlm_dt: Isodate,
}
impl Validate for AmountsAndValueDate8 {}
#[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 BaseOneRate (pub String);
crate::simple_type!(BaseOneRate);
impl Validate for BaseOneRate {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:fxtr.017.001.06")]
pub struct CalculationAgent1Choice {
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: Option<ExternalCalculationAgent1Code>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<Max35Text>,
}
impl Validate for CalculationAgent1Choice {}
#[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:fxtr.017.001.06")]
pub struct ClearingBrokerIdentification1 {
#[yaserde(rename = "SdInd")]
#[cfg_attr(feature = "serde", serde(rename = "SdInd"))]
pub sd_ind: SideIndicator1Code,
#[yaserde(rename = "ClrBrkrId")]
#[cfg_attr(feature = "serde", serde(rename = "ClrBrkrId"))]
pub clr_brkr_id: Max35Text,
}
impl Validate for ClearingBrokerIdentification1 {}
#[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:fxtr.017.001.06")]
pub struct ClearingSystemIdentification2Choice {
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: Option<ExternalClearingSystemIdentification1Code>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<Max35Text>,
}
impl Validate for ClearingSystemIdentification2Choice {}
#[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:fxtr.017.001.06")]
pub enum CollateralisationIndicator1Code {
#[yaserde(rename = "FULL")]
#[cfg_attr(feature = "serde", serde(rename = "FULL"))]
Full,
#[yaserde(rename = "ONEW")]
#[cfg_attr(feature = "serde", serde(rename = "ONEW"))]
Onew,
#[yaserde(rename = "PART")]
#[cfg_attr(feature = "serde", serde(rename = "PART"))]
Part,
#[yaserde(rename = "UNCO")]
#[cfg_attr(feature = "serde", serde(rename = "UNCO"))]
Unco,
__Unknown__(String),
}
impl Default for CollateralisationIndicator1Code {
fn default() -> CollateralisationIndicator1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for CollateralisationIndicator1Code {}
#[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:fxtr.017.001.06")]
pub struct ContactInformation1 {
#[yaserde(rename = "Nm")]
#[cfg_attr(feature = "serde", serde(rename = "Nm"))]
pub nm: Max350Text,
#[yaserde(rename = "FaxNb")]
#[cfg_attr(feature = "serde", serde(rename = "FaxNb"))]
pub fax_nb: PhoneNumber,
#[yaserde(rename = "TelNb")]
#[cfg_attr(feature = "serde", serde(rename = "TelNb"))]
pub tel_nb: PhoneNumber,
#[yaserde(rename = "EmailAdr")]
#[cfg_attr(feature = "serde", serde(rename = "EmailAdr"))]
pub email_adr: Max256Text,
}
impl Validate for ContactInformation1 {}
#[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:fxtr.017.001.06")]
pub enum CorporateSectorIdentifier1Code {
L,
A,
C,
I,
F,
O,
R,
U,
__Unknown__(String),
}
impl Default for CorporateSectorIdentifier1Code {
fn default() -> CorporateSectorIdentifier1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for CorporateSectorIdentifier1Code {}
#[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:fxtr.017.001.06")]
pub struct CounterpartySideTransactionReporting3 {
#[yaserde(rename = "RptgJursdctn")]
#[cfg_attr(feature = "serde", serde(rename = "RptgJursdctn"))]
pub rptg_jursdctn: Max35Text,
#[yaserde(rename = "RptgPty")]
#[cfg_attr(feature = "serde", serde(rename = "RptgPty"))]
pub rptg_pty: PartyIdentification242Choice,
#[yaserde(rename = "CtrPtySdUnqTxIdr")]
#[cfg_attr(feature = "serde", serde(rename = "CtrPtySdUnqTxIdr"))]
pub ctr_pty_sd_unq_tx_idr: Vec<UniqueTransactionIdentifier3>,
}
impl Validate for CounterpartySideTransactionReporting3 {}
#[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:fxtr.017.001.06")]
pub struct CurrencyOrDigitalTokenAmount2Choice {
#[yaserde(rename = "Amt")]
#[cfg_attr(feature = "serde", serde(rename = "Amt"))]
pub amt: Option<ActiveOrHistoricCurrencyAndAmount>,
#[yaserde(rename = "DgtlTknAmt")]
#[cfg_attr(feature = "serde", serde(rename = "DgtlTknAmt"))]
pub dgtl_tkn_amt: Option<DigitalTokenAmount3>,
}
impl Validate for CurrencyOrDigitalTokenAmount2Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Dti2024Identifier (pub String);
crate::simple_type!(Dti2024Identifier);
impl Validate for Dti2024Identifier {}
#[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:fxtr.017.001.06")]
pub struct DateAndDateTime2Choice {
#[yaserde(rename = "Dt")]
#[cfg_attr(feature = "serde", serde(rename = "Dt"))]
pub dt: Option<Isodate>,
#[yaserde(rename = "DtTm")]
#[cfg_attr(feature = "serde", serde(rename = "DtTm"))]
pub dt_tm: Option<IsodateTime>,
}
impl Validate for DateAndDateTime2Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:fxtr.017.001.06")]
pub struct DigitalTokenAmount3 {
#[yaserde(rename = "Idr")]
#[cfg_attr(feature = "serde", serde(rename = "Idr"))]
pub idr: Dti2024Identifier,
#[yaserde(rename = "Unit")]
#[cfg_attr(feature = "serde", serde(rename = "Unit"))]
pub unit: Max30DecimalNumber,
#[yaserde(rename = "Desc")]
#[cfg_attr(feature = "serde", serde(rename = "Desc"))]
pub desc: Max30Text,
}
impl Validate for DigitalTokenAmount3 {}
#[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:fxtr.017.001.06")]
pub struct Document {
#[yaserde(rename = "FXTradStsAndDtlsNtfctn")]
#[cfg_attr(feature = "serde", serde(rename = "FXTradStsAndDtlsNtfctn"))]
pub fx_trad_sts_and_dtls_ntfctn: ForeignExchangeTradeStatusAndDetailsNotificationV06,
}
impl Validate for Document {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Exact2AlphaNumericText (pub String);
crate::simple_type!(Exact2AlphaNumericText);
impl Validate for Exact2AlphaNumericText {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Exact42Text (pub String);
crate::simple_type!(Exact42Text);
impl Validate for Exact42Text {
fn validate(&self) -> Result<(), String> {
if self.0.len() != 42 {
return Err(format!("Length validation error. \nExpected: 0 length == 42 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[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 ExternalCalculationAgent1Code (pub String);
crate::simple_type!(ExternalCalculationAgent1Code);
impl Validate for ExternalCalculationAgent1Code {
fn validate(&self) -> Result<(), String> {
#[allow(clippy::len_zero)]
if self.0.len() < 1 {
return Err(format!("MinLength validation error. \nExpected: 0 length >= 1 \nActual: 0 length == {}", self.0.len()));
}
if self.0.len() > 4 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 4 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct ExternalClearingSystemIdentification1Code (pub String);
crate::simple_type!(ExternalClearingSystemIdentification1Code);
impl Validate for ExternalClearingSystemIdentification1Code {
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() > 5 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 5 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[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)]
pub struct ExternalPostTradeEventType1Code (pub String);
crate::simple_type!(ExternalPostTradeEventType1Code);
impl Validate for ExternalPostTradeEventType1Code {
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:fxtr.017.001.06")]
pub struct FxamountType1Choice {
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: Option<FxamountType1Code>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<Max35Text>,
}
impl Validate for FxamountType1Choice {}
#[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:fxtr.017.001.06")]
pub enum FxamountType1Code {
#[yaserde(rename = "ZWIS")]
#[cfg_attr(feature = "serde", serde(rename = "ZWIS"))]
Zwis,
#[yaserde(rename = "WITH")]
#[cfg_attr(feature = "serde", serde(rename = "WITH"))]
With,
#[yaserde(rename = "VATA")]
#[cfg_attr(feature = "serde", serde(rename = "VATA"))]
Vata,
#[yaserde(rename = "TRAN")]
#[cfg_attr(feature = "serde", serde(rename = "TRAN"))]
Tran,
#[yaserde(rename = "TRAX")]
#[cfg_attr(feature = "serde", serde(rename = "TRAX"))]
Trax,
#[yaserde(rename = "STEX")]
#[cfg_attr(feature = "serde", serde(rename = "STEX"))]
Stex,
#[yaserde(rename = "STAM")]
#[cfg_attr(feature = "serde", serde(rename = "STAM"))]
Stam,
#[yaserde(rename = "OTHR")]
#[cfg_attr(feature = "serde", serde(rename = "OTHR"))]
Othr,
#[yaserde(rename = "COUN")]
#[cfg_attr(feature = "serde", serde(rename = "COUN"))]
Coun,
#[yaserde(rename = "LOCL")]
#[cfg_attr(feature = "serde", serde(rename = "LOCL"))]
Locl,
#[yaserde(rename = "LOCO")]
#[cfg_attr(feature = "serde", serde(rename = "LOCO"))]
Loco,
#[yaserde(rename = "LYDT")]
#[cfg_attr(feature = "serde", serde(rename = "LYDT"))]
Lydt,
#[yaserde(rename = "LOTE")]
#[cfg_attr(feature = "serde", serde(rename = "LOTE"))]
Lote,
#[yaserde(rename = "LIDT")]
#[cfg_attr(feature = "serde", serde(rename = "LIDT"))]
Lidt,
#[yaserde(rename = "EXEC")]
#[cfg_attr(feature = "serde", serde(rename = "EXEC"))]
Exec,
#[yaserde(rename = "EUTR")]
#[cfg_attr(feature = "serde", serde(rename = "EUTR"))]
Eutr,
#[yaserde(rename = "EQUL")]
#[cfg_attr(feature = "serde", serde(rename = "EQUL"))]
Equl,
#[yaserde(rename = "COAX")]
#[cfg_attr(feature = "serde", serde(rename = "COAX"))]
Coax,
#[yaserde(rename = "AKTI")]
#[cfg_attr(feature = "serde", serde(rename = "AKTI"))]
Akti,
#[yaserde(rename = "ERFE")]
#[cfg_attr(feature = "serde", serde(rename = "ERFE"))]
Erfe,
#[yaserde(rename = "ENTF")]
#[cfg_attr(feature = "serde", serde(rename = "ENTF"))]
Entf,
#[yaserde(rename = "MARG")]
#[cfg_attr(feature = "serde", serde(rename = "MARG"))]
Marg,
#[yaserde(rename = "MACO")]
#[cfg_attr(feature = "serde", serde(rename = "MACO"))]
Maco,
#[yaserde(rename = "ANTO")]
#[cfg_attr(feature = "serde", serde(rename = "ANTO"))]
Anto,
#[yaserde(rename = "CREB")]
#[cfg_attr(feature = "serde", serde(rename = "CREB"))]
Creb,
#[yaserde(rename = "SPCN")]
#[cfg_attr(feature = "serde", serde(rename = "SPCN"))]
Spcn,
#[yaserde(rename = "SUBS")]
#[cfg_attr(feature = "serde", serde(rename = "SUBS"))]
Subs,
#[yaserde(rename = "TOTL")]
#[cfg_attr(feature = "serde", serde(rename = "TOTL"))]
Totl,
#[yaserde(rename = "DEAL")]
#[cfg_attr(feature = "serde", serde(rename = "DEAL"))]
Deal,
#[yaserde(rename = "ACRU")]
#[cfg_attr(feature = "serde", serde(rename = "ACRU"))]
Acru,
#[yaserde(rename = "BAKL")]
#[cfg_attr(feature = "serde", serde(rename = "BAKL"))]
Bakl,
#[yaserde(rename = "CHAR")]
#[cfg_attr(feature = "serde", serde(rename = "CHAR"))]
Char,
#[yaserde(rename = "CBCH")]
#[cfg_attr(feature = "serde", serde(rename = "CBCH"))]
Cbch,
#[yaserde(rename = "LADT")]
#[cfg_attr(feature = "serde", serde(rename = "LADT"))]
Ladt,
#[yaserde(rename = "DSCA")]
#[cfg_attr(feature = "serde", serde(rename = "DSCA"))]
Dsca,
#[yaserde(rename = "HDGE")]
#[cfg_attr(feature = "serde", serde(rename = "HDGE"))]
Hdge,
#[yaserde(rename = "ISDI")]
#[cfg_attr(feature = "serde", serde(rename = "ISDI"))]
Isdi,
#[yaserde(rename = "LEVY")]
#[cfg_attr(feature = "serde", serde(rename = "LEVY"))]
Levy,
#[yaserde(rename = "OCMT")]
#[cfg_attr(feature = "serde", serde(rename = "OCMT"))]
Ocmt,
#[yaserde(rename = "PRMA")]
#[cfg_attr(feature = "serde", serde(rename = "PRMA"))]
Prma,
#[yaserde(rename = "OTMG")]
#[cfg_attr(feature = "serde", serde(rename = "OTMG"))]
Otmg,
#[yaserde(rename = "REGF")]
#[cfg_attr(feature = "serde", serde(rename = "REGF"))]
Regf,
#[yaserde(rename = "REMU")]
#[cfg_attr(feature = "serde", serde(rename = "REMU"))]
Remu,
#[yaserde(rename = "RESU")]
#[cfg_attr(feature = "serde", serde(rename = "RESU"))]
Resu,
#[yaserde(rename = "SAMG")]
#[cfg_attr(feature = "serde", serde(rename = "SAMG"))]
Samg,
#[yaserde(rename = "SETT")]
#[cfg_attr(feature = "serde", serde(rename = "SETT"))]
Sett,
#[yaserde(rename = "SHIP")]
#[cfg_attr(feature = "serde", serde(rename = "SHIP"))]
Ship,
#[yaserde(rename = "ACCA")]
#[cfg_attr(feature = "serde", serde(rename = "ACCA"))]
Acca,
#[yaserde(rename = "PRDF")]
#[cfg_attr(feature = "serde", serde(rename = "PRDF"))]
Prdf,
#[yaserde(rename = "REFD")]
#[cfg_attr(feature = "serde", serde(rename = "REFD"))]
Refd,
#[yaserde(rename = "PRWI")]
#[cfg_attr(feature = "serde", serde(rename = "PRWI"))]
Prwi,
#[yaserde(rename = "RSCH")]
#[cfg_attr(feature = "serde", serde(rename = "RSCH"))]
Rsch,
__Unknown__(String),
}
impl Default for FxamountType1Code {
fn default() -> FxamountType1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for FxamountType1Code {}
#[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:fxtr.017.001.06")]
pub struct FxcommissionOrFee1 {
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: FxamountType1Choice,
#[yaserde(rename = "AmtOrRate")]
#[cfg_attr(feature = "serde", serde(rename = "AmtOrRate"))]
pub amt_or_rate: AmountOrRate4Choice,
#[yaserde(rename = "Sgn")]
#[cfg_attr(feature = "serde", serde(rename = "Sgn"))]
pub sgn: PlusOrMinusIndicator,
}
impl Validate for FxcommissionOrFee1 {}
#[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:fxtr.017.001.06")]
pub struct FixingConditions1 {
#[yaserde(rename = "TradDt")]
#[cfg_attr(feature = "serde", serde(rename = "TradDt"))]
pub trad_dt: Isodate,
#[yaserde(rename = "OrgtrRef")]
#[cfg_attr(feature = "serde", serde(rename = "OrgtrRef"))]
pub orgtr_ref: Max35Text,
#[yaserde(rename = "CmonRef")]
#[cfg_attr(feature = "serde", serde(rename = "CmonRef"))]
pub cmon_ref: Max35Text,
#[yaserde(rename = "RltdRef")]
#[cfg_attr(feature = "serde", serde(rename = "RltdRef"))]
pub rltd_ref: Max35Text,
#[yaserde(rename = "TradgSdBuyAmt")]
#[cfg_attr(feature = "serde", serde(rename = "TradgSdBuyAmt"))]
pub tradg_sd_buy_amt: ActiveOrHistoricCurrencyAndAmount,
#[yaserde(rename = "TradgSdSellAmt")]
#[cfg_attr(feature = "serde", serde(rename = "TradgSdSellAmt"))]
pub tradg_sd_sell_amt: ActiveOrHistoricCurrencyAndAmount,
#[yaserde(rename = "XchgRate")]
#[cfg_attr(feature = "serde", serde(rename = "XchgRate"))]
pub xchg_rate: BaseOneRate,
}
impl Validate for FixingConditions1 {}
#[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:fxtr.017.001.06")]
pub struct ForeignExchangeTradeStatusAndDetailsNotificationV06 {
#[yaserde(rename = "StsDtls")]
#[cfg_attr(feature = "serde", serde(rename = "StsDtls"))]
pub sts_dtls: TradeData14,
#[yaserde(rename = "TradInf")]
#[cfg_attr(feature = "serde", serde(rename = "TradInf"))]
pub trad_inf: TradeAgreement12,
#[yaserde(rename = "TradgSdId")]
#[cfg_attr(feature = "serde", serde(rename = "TradgSdId"))]
pub tradg_sd_id: TradePartyIdentification8,
#[yaserde(rename = "CtrPtySdId")]
#[cfg_attr(feature = "serde", serde(rename = "CtrPtySdId"))]
pub ctr_pty_sd_id: TradePartyIdentification8,
#[yaserde(rename = "TradAmts")]
#[cfg_attr(feature = "serde", serde(rename = "TradAmts"))]
pub trad_amts: AmountsAndValueDate8,
#[yaserde(rename = "AgrdRate")]
#[cfg_attr(feature = "serde", serde(rename = "AgrdRate"))]
pub agrd_rate: AgreedRate3,
#[yaserde(rename = "NDFConds")]
#[cfg_attr(feature = "serde", serde(rename = "NDFConds"))]
pub ndf_conds: NonDeliverableForwardConditions2,
#[yaserde(rename = "TradgSdSttlmInstrs")]
#[cfg_attr(feature = "serde", serde(rename = "TradgSdSttlmInstrs"))]
pub tradg_sd_sttlm_instrs: SettlementParties120,
#[yaserde(rename = "CtrPtySdSttlmInstrs")]
#[cfg_attr(feature = "serde", serde(rename = "CtrPtySdSttlmInstrs"))]
pub ctr_pty_sd_sttlm_instrs: SettlementParties120,
#[yaserde(rename = "GnlInf")]
#[cfg_attr(feature = "serde", serde(rename = "GnlInf"))]
pub gnl_inf: GeneralInformation9,
#[yaserde(rename = "SpltTradInf")]
#[cfg_attr(feature = "serde", serde(rename = "SpltTradInf"))]
pub splt_trad_inf: Vec<SplitTradeDetails5>,
#[yaserde(rename = "RgltryRptg")]
#[cfg_attr(feature = "serde", serde(rename = "RgltryRptg"))]
pub rgltry_rptg: RegulatoryReporting8,
#[yaserde(rename = "PstTradEvt")]
#[cfg_attr(feature = "serde", serde(rename = "PstTradEvt"))]
pub pst_trad_evt: PostTradeEvent1,
#[yaserde(rename = "SplmtryData")]
#[cfg_attr(feature = "serde", serde(rename = "SplmtryData"))]
pub splmtry_data: Vec<SupplementaryData1>,
}
impl Validate for ForeignExchangeTradeStatusAndDetailsNotificationV06 {}
#[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:fxtr.017.001.06")]
pub struct FundIdentification5 {
#[yaserde(rename = "FndId")]
#[cfg_attr(feature = "serde", serde(rename = "FndId"))]
pub fnd_id: PartyIdentification60,
#[yaserde(rename = "AcctIdWthCtdn")]
#[cfg_attr(feature = "serde", serde(rename = "AcctIdWthCtdn"))]
pub acct_id_wth_ctdn: Max35Text,
#[yaserde(rename = "CtdnId")]
#[cfg_attr(feature = "serde", serde(rename = "CtdnId"))]
pub ctdn_id: PartyIdentification242Choice,
}
impl Validate for FundIdentification5 {}
#[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:fxtr.017.001.06")]
pub struct GeneralInformation9 {
#[yaserde(rename = "BlckInd")]
#[cfg_attr(feature = "serde", serde(rename = "BlckInd"))]
pub blck_ind: YesNoIndicator,
#[yaserde(rename = "RltdTradRef")]
#[cfg_attr(feature = "serde", serde(rename = "RltdTradRef"))]
pub rltd_trad_ref: Max35Text,
#[yaserde(rename = "DealgMtd")]
#[cfg_attr(feature = "serde", serde(rename = "DealgMtd"))]
pub dealg_mtd: Trading1MethodCode,
#[yaserde(rename = "BrkrId")]
#[cfg_attr(feature = "serde", serde(rename = "BrkrId"))]
pub brkr_id: PartyIdentification242Choice,
#[yaserde(rename = "CtrPtyRef")]
#[cfg_attr(feature = "serde", serde(rename = "CtrPtyRef"))]
pub ctr_pty_ref: Max35Text,
#[yaserde(rename = "BrkrsComssn")]
#[cfg_attr(feature = "serde", serde(rename = "BrkrsComssn"))]
pub brkrs_comssn: ActiveCurrencyAndAmount,
#[yaserde(rename = "SndrToRcvrInf")]
#[cfg_attr(feature = "serde", serde(rename = "SndrToRcvrInf"))]
pub sndr_to_rcvr_inf: Max210Text,
#[yaserde(rename = "DealgBrnchTradgSd")]
#[cfg_attr(feature = "serde", serde(rename = "DealgBrnchTradgSd"))]
pub dealg_brnch_tradg_sd: PartyIdentification242Choice,
#[yaserde(rename = "DealgBrnchCtrPtySd")]
#[cfg_attr(feature = "serde", serde(rename = "DealgBrnchCtrPtySd"))]
pub dealg_brnch_ctr_pty_sd: PartyIdentification242Choice,
#[yaserde(rename = "CtctInf")]
#[cfg_attr(feature = "serde", serde(rename = "CtctInf"))]
pub ctct_inf: ContactInformation1,
#[yaserde(rename = "AgrmtDtls")]
#[cfg_attr(feature = "serde", serde(rename = "AgrmtDtls"))]
pub agrmt_dtls: AgreementConditions1,
#[yaserde(rename = "DefsYr")]
#[cfg_attr(feature = "serde", serde(rename = "DefsYr"))]
pub defs_yr: Isoyear,
#[yaserde(rename = "BrkrsRef")]
#[cfg_attr(feature = "serde", serde(rename = "BrkrsRef"))]
pub brkrs_ref: Max35Text,
#[yaserde(rename = "PmtClrCentr")]
#[cfg_attr(feature = "serde", serde(rename = "PmtClrCentr"))]
pub pmt_clr_centr: CountryCode,
#[yaserde(rename = "ClctnAgt")]
#[cfg_attr(feature = "serde", serde(rename = "ClctnAgt"))]
pub clctn_agt: CalculationAgent1Choice,
}
impl Validate for GeneralInformation9 {}
#[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 Isotime (pub String);
crate::simple_type!(Isotime);
impl Validate for Isotime {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Isoyear (pub String);
crate::simple_type!(Isoyear);
impl Validate for Isoyear {}
#[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:fxtr.017.001.06")]
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)]
pub struct Leiidentifier (pub String);
crate::simple_type!(Leiidentifier);
impl Validate for Leiidentifier {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max105Text (pub String);
crate::simple_type!(Max105Text);
impl Validate for Max105Text {
fn validate(&self) -> Result<(), String> {
#[allow(clippy::len_zero)]
if self.0.len() < 1 {
return Err(format!("MinLength validation error. \nExpected: 0 length >= 1 \nActual: 0 length == {}", self.0.len()));
}
if self.0.len() > 105 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 105 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max10Text (pub String);
crate::simple_type!(Max10Text);
impl Validate for Max10Text {
fn validate(&self) -> Result<(), String> {
#[allow(clippy::len_zero)]
if self.0.len() < 1 {
return Err(format!("MinLength validation error. \nExpected: 0 length >= 1 \nActual: 0 length == {}", self.0.len()));
}
if self.0.len() > 10 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 10 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max12Text (pub String);
crate::simple_type!(Max12Text);
impl Validate for Max12Text {
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() > 12 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 12 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max140Text (pub String);
crate::simple_type!(Max140Text);
impl Validate for Max140Text {
fn validate(&self) -> Result<(), String> {
#[allow(clippy::len_zero)]
if self.0.len() < 1 {
return Err(format!("MinLength validation error. \nExpected: 0 length >= 1 \nActual: 0 length == {}", self.0.len()));
}
if self.0.len() > 140 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 140 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max16Text (pub String);
crate::simple_type!(Max16Text);
impl Validate for Max16Text {
fn validate(&self) -> Result<(), String> {
#[allow(clippy::len_zero)]
if self.0.len() < 1 {
return Err(format!("MinLength validation error. \nExpected: 0 length >= 1 \nActual: 0 length == {}", self.0.len()));
}
if self.0.len() > 16 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 16 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct 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 Max256Text (pub String);
crate::simple_type!(Max256Text);
impl Validate for Max256Text {
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() > 256 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 256 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max30DecimalNumber (pub String);
crate::simple_type!(Max30DecimalNumber);
impl Validate for Max30DecimalNumber {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max30Text (pub String);
crate::simple_type!(Max30Text);
impl Validate for Max30Text {
fn validate(&self) -> Result<(), String> {
if self.0.len() > 30 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 30 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max34Text (pub String);
crate::simple_type!(Max34Text);
impl Validate for Max34Text {
fn validate(&self) -> Result<(), String> {
#[allow(clippy::len_zero)]
if self.0.len() < 1 {
return Err(format!("MinLength validation error. \nExpected: 0 length >= 1 \nActual: 0 length == {}", self.0.len()));
}
if self.0.len() > 34 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 34 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max350Text (pub String);
crate::simple_type!(Max350Text);
impl Validate for Max350Text {
fn validate(&self) -> Result<(), String> {
#[allow(clippy::len_zero)]
if self.0.len() < 1 {
return Err(format!("MinLength validation error. \nExpected: 0 length >= 1 \nActual: 0 length == {}", self.0.len()));
}
if self.0.len() > 350 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 350 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max35Text (pub String);
crate::simple_type!(Max35Text);
impl Validate for Max35Text {
fn validate(&self) -> Result<(), String> {
#[allow(clippy::len_zero)]
if self.0.len() < 1 {
return Err(format!("MinLength validation error. \nExpected: 0 length >= 1 \nActual: 0 length == {}", self.0.len()));
}
if self.0.len() > 35 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 35 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max4Text (pub String);
crate::simple_type!(Max4Text);
impl Validate for Max4Text {
fn validate(&self) -> Result<(), String> {
#[allow(clippy::len_zero)]
if self.0.len() < 1 {
return Err(format!("MinLength validation error. \nExpected: 0 length >= 1 \nActual: 0 length == {}", self.0.len()));
}
if self.0.len() > 4 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 4 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max6AlphaText (pub String);
crate::simple_type!(Max6AlphaText);
impl Validate for Max6AlphaText {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max70Text (pub String);
crate::simple_type!(Max70Text);
impl Validate for Max70Text {
fn validate(&self) -> Result<(), String> {
#[allow(clippy::len_zero)]
if self.0.len() < 1 {
return Err(format!("MinLength validation error. \nExpected: 0 length >= 1 \nActual: 0 length == {}", self.0.len()));
}
if self.0.len() > 70 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 70 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:fxtr.017.001.06")]
pub struct NameAndAddress8 {
#[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,
#[yaserde(rename = "AltrntvIdr")]
#[cfg_attr(feature = "serde", serde(rename = "AltrntvIdr"))]
pub altrntv_idr: Vec<Max35Text>,
}
impl Validate for NameAndAddress8 {}
#[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:fxtr.017.001.06")]
pub struct NonDeliverableForwardConditions2 {
#[yaserde(rename = "OpngConds")]
#[cfg_attr(feature = "serde", serde(rename = "OpngConds"))]
pub opng_conds: OpeningConditions1,
#[yaserde(rename = "FxgConds")]
#[cfg_attr(feature = "serde", serde(rename = "FxgConds"))]
pub fxg_conds: FixingConditions1,
}
impl Validate for NonDeliverableForwardConditions2 {}
#[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:fxtr.017.001.06")]
pub struct OpeningConditions1 {
#[yaserde(rename = "SttlmCcy")]
#[cfg_attr(feature = "serde", serde(rename = "SttlmCcy"))]
pub sttlm_ccy: ActiveCurrencyCode,
#[yaserde(rename = "ValtnDt")]
#[cfg_attr(feature = "serde", serde(rename = "ValtnDt"))]
pub valtn_dt: Isodate,
#[yaserde(rename = "SttlmRateSrc")]
#[cfg_attr(feature = "serde", serde(rename = "SttlmRateSrc"))]
pub sttlm_rate_src: Vec<SettlementRateSource1>,
}
impl Validate for OpeningConditions1 {}
#[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:fxtr.017.001.06")]
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:fxtr.017.001.06")]
pub struct PartyIdentification242Choice {
#[yaserde(rename = "NmAndAdr")]
#[cfg_attr(feature = "serde", serde(rename = "NmAndAdr"))]
pub nm_and_adr: Option<NameAndAddress8>,
#[yaserde(rename = "AnyBIC")]
#[cfg_attr(feature = "serde", serde(rename = "AnyBIC"))]
pub any_b_i_c: Option<PartyIdentification265>,
#[yaserde(rename = "PtyId")]
#[cfg_attr(feature = "serde", serde(rename = "PtyId"))]
pub pty_id: Option<PartyIdentification266>,
}
impl Validate for PartyIdentification242Choice {}
#[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:fxtr.017.001.06")]
pub struct PartyIdentification265 {
#[yaserde(rename = "AnyBIC")]
#[cfg_attr(feature = "serde", serde(rename = "AnyBIC"))]
pub any_bic: AnyBICDec2014Identifier,
#[yaserde(rename = "AltrntvIdr")]
#[cfg_attr(feature = "serde", serde(rename = "AltrntvIdr"))]
pub altrntv_idr: Vec<Max35Text>,
}
impl Validate for PartyIdentification265 {}
#[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:fxtr.017.001.06")]
pub struct PartyIdentification266 {
#[yaserde(rename = "PtyNm")]
#[cfg_attr(feature = "serde", serde(rename = "PtyNm"))]
pub pty_nm: Max34Text,
#[yaserde(rename = "AnyBIC")]
#[cfg_attr(feature = "serde", serde(rename = "AnyBIC"))]
pub any_bic: PartyIdentification265,
#[yaserde(rename = "AcctNb")]
#[cfg_attr(feature = "serde", serde(rename = "AcctNb"))]
pub acct_nb: Max34Text,
#[yaserde(rename = "Adr")]
#[cfg_attr(feature = "serde", serde(rename = "Adr"))]
pub adr: Max105Text,
#[yaserde(rename = "ClrSysId")]
#[cfg_attr(feature = "serde", serde(rename = "ClrSysId"))]
pub clr_sys_id: ClearingSystemIdentification2Choice,
#[yaserde(rename = "LglNttyIdr")]
#[cfg_attr(feature = "serde", serde(rename = "LglNttyIdr"))]
pub lgl_ntty_idr: Leiidentifier,
}
impl Validate for PartyIdentification266 {}
#[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:fxtr.017.001.06")]
pub struct PartyIdentification60 {
#[yaserde(rename = "FndId")]
#[cfg_attr(feature = "serde", serde(rename = "FndId"))]
pub fnd_id: Max35Text,
#[yaserde(rename = "NmAndAdr")]
#[cfg_attr(feature = "serde", serde(rename = "NmAndAdr"))]
pub nm_and_adr: NameAndAddress8,
#[yaserde(rename = "LglNttyIdr")]
#[cfg_attr(feature = "serde", serde(rename = "LglNttyIdr"))]
pub lgl_ntty_idr: Leiidentifier,
}
impl Validate for PartyIdentification60 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct PhoneNumber (pub String);
crate::simple_type!(PhoneNumber);
impl Validate for PhoneNumber {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct PlusOrMinusIndicator (pub bool);
crate::simple_type!(PlusOrMinusIndicator);
impl Validate for PlusOrMinusIndicator {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:fxtr.017.001.06")]
pub struct PostTradeEvent1 {
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: PostTradeEventType2Choice,
#[yaserde(rename = "OrgnlRef")]
#[cfg_attr(feature = "serde", serde(rename = "OrgnlRef"))]
pub orgnl_ref: Max35Text,
#[yaserde(rename = "UndrlygLbltyRef")]
#[cfg_attr(feature = "serde", serde(rename = "UndrlygLbltyRef"))]
pub undrlyg_lblty_ref: Max35Text,
#[yaserde(rename = "PrftOrLossSttlmDt")]
#[cfg_attr(feature = "serde", serde(rename = "PrftOrLossSttlmDt"))]
pub prft_or_loss_sttlm_dt: Isodate,
#[yaserde(rename = "PrftOrLoss")]
#[cfg_attr(feature = "serde", serde(rename = "PrftOrLoss"))]
pub prft_or_loss: ProfitAndLossAmount2,
#[yaserde(rename = "OutsdngSttlmAmt")]
#[cfg_attr(feature = "serde", serde(rename = "OutsdngSttlmAmt"))]
pub outsdng_sttlm_amt: ActiveOrHistoricCurrencyAndAmount,
}
impl Validate for PostTradeEvent1 {}
#[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:fxtr.017.001.06")]
pub struct PostTradeEventType2Choice {
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: Option<ExternalPostTradeEventType1Code>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<Max35Text>,
}
impl Validate for PostTradeEventType2Choice {}
#[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:fxtr.017.001.06")]
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:fxtr.017.001.06")]
pub struct ProductIdentifier3Choice {
#[yaserde(rename = "UndrlygPdctIdr")]
#[cfg_attr(feature = "serde", serde(rename = "UndrlygPdctIdr"))]
pub undrlyg_pdct_idr: Option<UnderlyingProductIdentifier1Code>,
#[yaserde(rename = "UnqPdctIdr")]
#[cfg_attr(feature = "serde", serde(rename = "UnqPdctIdr"))]
pub unq_pdct_idr: Option<Max12Text>,
}
impl Validate for ProductIdentifier3Choice {}
#[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:fxtr.017.001.06")]
pub struct ProfitAndLossAmount2 {
#[yaserde(rename = "Amt")]
#[cfg_attr(feature = "serde", serde(rename = "Amt"))]
pub amt: ActiveCurrencyAndAmount,
#[yaserde(rename = "Sgn")]
#[cfg_attr(feature = "serde", serde(rename = "Sgn"))]
pub sgn: PlusOrMinusIndicator,
}
impl Validate for ProfitAndLossAmount2 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct RateSourceText (pub String);
crate::simple_type!(RateSourceText);
impl Validate for RateSourceText {}
#[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:fxtr.017.001.06")]
pub struct RegulatoryReporting8 {
#[yaserde(rename = "TradgSdTxRptg")]
#[cfg_attr(feature = "serde", serde(rename = "TradgSdTxRptg"))]
pub tradg_sd_tx_rptg: Vec<TradingSideTransactionReporting3>,
#[yaserde(rename = "CtrPtySdTxRptg")]
#[cfg_attr(feature = "serde", serde(rename = "CtrPtySdTxRptg"))]
pub ctr_pty_sd_tx_rptg: Vec<CounterpartySideTransactionReporting3>,
#[yaserde(rename = "CntrlCtrPtyClrHs")]
#[cfg_attr(feature = "serde", serde(rename = "CntrlCtrPtyClrHs"))]
pub cntrl_ctr_pty_clr_hs: PartyIdentification242Choice,
#[yaserde(rename = "ClrBrkr")]
#[cfg_attr(feature = "serde", serde(rename = "ClrBrkr"))]
pub clr_brkr: PartyIdentification242Choice,
#[yaserde(rename = "ClrXcptnPty")]
#[cfg_attr(feature = "serde", serde(rename = "ClrXcptnPty"))]
pub clr_xcptn_pty: PartyIdentification242Choice,
#[yaserde(rename = "ClrBrkrId")]
#[cfg_attr(feature = "serde", serde(rename = "ClrBrkrId"))]
pub clr_brkr_id: ClearingBrokerIdentification1,
#[yaserde(rename = "ClrThrshldInd")]
#[cfg_attr(feature = "serde", serde(rename = "ClrThrshldInd"))]
pub clr_thrshld_ind: YesNoIndicator,
#[yaserde(rename = "ClrdPdctId")]
#[cfg_attr(feature = "serde", serde(rename = "ClrdPdctId"))]
pub clrd_pdct_id: Max35Text,
#[yaserde(rename = "PdctIdr")]
#[cfg_attr(feature = "serde", serde(rename = "PdctIdr"))]
pub pdct_idr: ProductIdentifier3Choice,
#[yaserde(rename = "AllcnInd")]
#[cfg_attr(feature = "serde", serde(rename = "AllcnInd"))]
pub allcn_ind: AllocationIndicator1Code,
#[yaserde(rename = "CollstnInd")]
#[cfg_attr(feature = "serde", serde(rename = "CollstnInd"))]
pub collstn_ind: CollateralisationIndicator1Code,
#[yaserde(rename = "ExctnVn")]
#[cfg_attr(feature = "serde", serde(rename = "ExctnVn"))]
pub exctn_vn: Max35Text,
#[yaserde(rename = "ExctnTmstmp")]
#[cfg_attr(feature = "serde", serde(rename = "ExctnTmstmp"))]
pub exctn_tmstmp: DateAndDateTime2Choice,
#[yaserde(rename = "NonStdFlg")]
#[cfg_attr(feature = "serde", serde(rename = "NonStdFlg"))]
pub non_std_flg: YesNoIndicator,
#[yaserde(rename = "LkSwpId")]
#[cfg_attr(feature = "serde", serde(rename = "LkSwpId"))]
pub lk_swp_id: Exact42Text,
#[yaserde(rename = "FinNtrOfTheCtrPtyInd")]
#[cfg_attr(feature = "serde", serde(rename = "FinNtrOfTheCtrPtyInd"))]
pub fin_ntr_of_the_ctr_pty_ind: YesNoIndicator,
#[yaserde(rename = "CollPrtflInd")]
#[cfg_attr(feature = "serde", serde(rename = "CollPrtflInd"))]
pub coll_prtfl_ind: YesNoIndicator,
#[yaserde(rename = "CollPrtflCd")]
#[cfg_attr(feature = "serde", serde(rename = "CollPrtflCd"))]
pub coll_prtfl_cd: Max10Text,
#[yaserde(rename = "PrtflCmprssnInd")]
#[cfg_attr(feature = "serde", serde(rename = "PrtflCmprssnInd"))]
pub prtfl_cmprssn_ind: YesNoIndicator,
#[yaserde(rename = "CorpSctrInd")]
#[cfg_attr(feature = "serde", serde(rename = "CorpSctrInd"))]
pub corp_sctr_ind: CorporateSectorIdentifier1Code,
#[yaserde(rename = "TradWthNonEEACtrPtyInd")]
#[cfg_attr(feature = "serde", serde(rename = "TradWthNonEEACtrPtyInd"))]
pub trad_wth_non_eea_ctr_pty_ind: YesNoIndicator,
#[yaserde(rename = "NtrgrpTradInd")]
#[cfg_attr(feature = "serde", serde(rename = "NtrgrpTradInd"))]
pub ntrgrp_trad_ind: YesNoIndicator,
#[yaserde(rename = "ComrclOrTrsrFincgInd")]
#[cfg_attr(feature = "serde", serde(rename = "ComrclOrTrsrFincgInd"))]
pub comrcl_or_trsr_fincg_ind: YesNoIndicator,
#[yaserde(rename = "FinInstrmId")]
#[cfg_attr(feature = "serde", serde(rename = "FinInstrmId"))]
pub fin_instrm_id: SecurityIdentification19,
#[yaserde(rename = "ConfDtAndTmstmp")]
#[cfg_attr(feature = "serde", serde(rename = "ConfDtAndTmstmp"))]
pub conf_dt_and_tmstmp: IsodateTime,
#[yaserde(rename = "ClrTmstmp")]
#[cfg_attr(feature = "serde", serde(rename = "ClrTmstmp"))]
pub clr_tmstmp: Isotime,
#[yaserde(rename = "ComssnsAndFees")]
#[cfg_attr(feature = "serde", serde(rename = "ComssnsAndFees"))]
pub comssns_and_fees: Vec<FxcommissionOrFee1>,
#[yaserde(rename = "AddtlRptgInf")]
#[cfg_attr(feature = "serde", serde(rename = "AddtlRptgInf"))]
pub addtl_rptg_inf: Max210Text,
}
impl Validate for RegulatoryReporting8 {}
#[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:fxtr.017.001.06")]
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:fxtr.017.001.06")]
pub struct SettlementParties120 {
#[yaserde(rename = "DlvryAgt")]
#[cfg_attr(feature = "serde", serde(rename = "DlvryAgt"))]
pub dlvry_agt: PartyIdentification242Choice,
#[yaserde(rename = "Intrmy")]
#[cfg_attr(feature = "serde", serde(rename = "Intrmy"))]
pub intrmy: PartyIdentification242Choice,
#[yaserde(rename = "RcvgAgt")]
#[cfg_attr(feature = "serde", serde(rename = "RcvgAgt"))]
pub rcvg_agt: PartyIdentification242Choice,
#[yaserde(rename = "BnfcryInstn")]
#[cfg_attr(feature = "serde", serde(rename = "BnfcryInstn"))]
pub bnfcry_instn: PartyIdentification242Choice,
}
impl Validate for SettlementParties120 {}
#[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:fxtr.017.001.06")]
pub struct SettlementRateSource1 {
#[yaserde(rename = "RateSrc")]
#[cfg_attr(feature = "serde", serde(rename = "RateSrc"))]
pub rate_src: RateSourceText,
#[yaserde(rename = "Tm")]
#[cfg_attr(feature = "serde", serde(rename = "Tm"))]
pub tm: Exact4NumericText,
#[yaserde(rename = "CtryCd")]
#[cfg_attr(feature = "serde", serde(rename = "CtryCd"))]
pub ctry_cd: CountryCode,
#[yaserde(rename = "LctnCd")]
#[cfg_attr(feature = "serde", serde(rename = "LctnCd"))]
pub lctn_cd: Exact2AlphaNumericText,
}
impl Validate for SettlementRateSource1 {}
#[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:fxtr.017.001.06")]
pub enum SideIndicator1Code {
#[yaserde(rename = "CCPL")]
#[cfg_attr(feature = "serde", serde(rename = "CCPL"))]
Ccpl,
#[yaserde(rename = "CLNT")]
#[cfg_attr(feature = "serde", serde(rename = "CLNT"))]
Clnt,
__Unknown__(String),
}
impl Default for SideIndicator1Code {
fn default() -> SideIndicator1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for SideIndicator1Code {}
#[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:fxtr.017.001.06")]
pub struct SplitTradeDetails5 {
#[yaserde(rename = "StsDtls")]
#[cfg_attr(feature = "serde", serde(rename = "StsDtls"))]
pub sts_dtls: TradeData16,
#[yaserde(rename = "TradAmts")]
#[cfg_attr(feature = "serde", serde(rename = "TradAmts"))]
pub trad_amts: AmountsAndValueDate8,
#[yaserde(rename = "AgrdRate")]
#[cfg_attr(feature = "serde", serde(rename = "AgrdRate"))]
pub agrd_rate: AgreedRate3,
}
impl Validate for SplitTradeDetails5 {}
#[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:fxtr.017.001.06")]
pub struct Status27Choice {
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: Option<TradeStatus6Code>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<Max35Text>,
}
impl Validate for Status27Choice {}
#[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:fxtr.017.001.06")]
pub struct Status28Choice {
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: Option<TradeStatus7Code>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<Max35Text>,
}
impl Validate for Status28Choice {}
#[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:fxtr.017.001.06")]
pub struct StatusAndSubStatus2 {
#[yaserde(rename = "StsCd")]
#[cfg_attr(feature = "serde", serde(rename = "StsCd"))]
pub sts_cd: Status27Choice,
#[yaserde(rename = "SubStsCd")]
#[cfg_attr(feature = "serde", serde(rename = "SubStsCd"))]
pub sub_sts_cd: Exact4AlphaNumericText,
}
impl Validate for StatusAndSubStatus2 {}
#[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:fxtr.017.001.06")]
pub enum StatusSubType2Code {
#[yaserde(rename = "SMDY")]
#[cfg_attr(feature = "serde", serde(rename = "SMDY"))]
Smdy,
__Unknown__(String),
}
impl Default for StatusSubType2Code {
fn default() -> StatusSubType2Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for StatusSubType2Code {}
#[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:fxtr.017.001.06")]
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:fxtr.017.001.06")]
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:fxtr.017.001.06")]
pub struct TradeAgreement12 {
#[yaserde(rename = "TradDt")]
#[cfg_attr(feature = "serde", serde(rename = "TradDt"))]
pub trad_dt: Isodate,
#[yaserde(rename = "MsgId")]
#[cfg_attr(feature = "serde", serde(rename = "MsgId"))]
pub msg_id: Max35Text,
#[yaserde(rename = "OrgtrRef")]
#[cfg_attr(feature = "serde", serde(rename = "OrgtrRef"))]
pub orgtr_ref: Max35Text,
#[yaserde(rename = "CmonRef")]
#[cfg_attr(feature = "serde", serde(rename = "CmonRef"))]
pub cmon_ref: Max35Text,
#[yaserde(rename = "AmdOrCclRsn")]
#[cfg_attr(feature = "serde", serde(rename = "AmdOrCclRsn"))]
pub amd_or_ccl_rsn: Max35Text,
#[yaserde(rename = "RltdRef")]
#[cfg_attr(feature = "serde", serde(rename = "RltdRef"))]
pub rltd_ref: Max35Text,
#[yaserde(rename = "PdctTp")]
#[cfg_attr(feature = "serde", serde(rename = "PdctTp"))]
pub pdct_tp: Max35Text,
#[yaserde(rename = "OprTp")]
#[cfg_attr(feature = "serde", serde(rename = "OprTp"))]
pub opr_tp: Max4Text,
#[yaserde(rename = "OprScp")]
#[cfg_attr(feature = "serde", serde(rename = "OprScp"))]
pub opr_scp: Max4Text,
#[yaserde(rename = "SttlmSsnIdr")]
#[cfg_attr(feature = "serde", serde(rename = "SttlmSsnIdr"))]
pub sttlm_ssn_idr: Exact4AlphaNumericText,
#[yaserde(rename = "SpltTradInd")]
#[cfg_attr(feature = "serde", serde(rename = "SpltTradInd"))]
pub splt_trad_ind: YesNoIndicator,
#[yaserde(rename = "PmtVrssPmtInd")]
#[cfg_attr(feature = "serde", serde(rename = "PmtVrssPmtInd"))]
pub pmt_vrss_pmt_ind: YesNoIndicator,
}
impl Validate for TradeAgreement12 {}
#[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:fxtr.017.001.06")]
pub struct TradeData14 {
#[yaserde(rename = "MtchgSysUnqRef")]
#[cfg_attr(feature = "serde", serde(rename = "MtchgSysUnqRef"))]
pub mtchg_sys_unq_ref: Max35Text,
#[yaserde(rename = "MtchgSysMtchgRef")]
#[cfg_attr(feature = "serde", serde(rename = "MtchgSysMtchgRef"))]
pub mtchg_sys_mtchg_ref: Max35Text,
#[yaserde(rename = "MtchgSysMtchdSdRef")]
#[cfg_attr(feature = "serde", serde(rename = "MtchgSysMtchdSdRef"))]
pub mtchg_sys_mtchd_sd_ref: Max35Text,
#[yaserde(rename = "StsOrgtr")]
#[cfg_attr(feature = "serde", serde(rename = "StsOrgtr"))]
pub sts_orgtr: Max35Text,
#[yaserde(rename = "CurSts")]
#[cfg_attr(feature = "serde", serde(rename = "CurSts"))]
pub cur_sts: StatusAndSubStatus2,
#[yaserde(rename = "CurStsSubTp")]
#[cfg_attr(feature = "serde", serde(rename = "CurStsSubTp"))]
pub cur_sts_sub_tp: StatusSubType2Code,
#[yaserde(rename = "CurStsDtTm")]
#[cfg_attr(feature = "serde", serde(rename = "CurStsDtTm"))]
pub cur_sts_dt_tm: IsodateTime,
#[yaserde(rename = "PrvsSts")]
#[cfg_attr(feature = "serde", serde(rename = "PrvsSts"))]
pub prvs_sts: Status28Choice,
#[yaserde(rename = "AllgdTrad")]
#[cfg_attr(feature = "serde", serde(rename = "AllgdTrad"))]
pub allgd_trad: YesNoIndicator,
#[yaserde(rename = "PrvsStsSubTp")]
#[cfg_attr(feature = "serde", serde(rename = "PrvsStsSubTp"))]
pub prvs_sts_sub_tp: StatusSubType2Code,
}
impl Validate for TradeData14 {}
#[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:fxtr.017.001.06")]
pub struct TradeData16 {
#[yaserde(rename = "MtchgSysUnqRef")]
#[cfg_attr(feature = "serde", serde(rename = "MtchgSysUnqRef"))]
pub mtchg_sys_unq_ref: Max35Text,
#[yaserde(rename = "MtchgSysMtchgRef")]
#[cfg_attr(feature = "serde", serde(rename = "MtchgSysMtchgRef"))]
pub mtchg_sys_mtchg_ref: Max35Text,
#[yaserde(rename = "MtchgSysMtchdSdRef")]
#[cfg_attr(feature = "serde", serde(rename = "MtchgSysMtchdSdRef"))]
pub mtchg_sys_mtchd_sd_ref: Max35Text,
#[yaserde(rename = "StsOrgtr")]
#[cfg_attr(feature = "serde", serde(rename = "StsOrgtr"))]
pub sts_orgtr: Max35Text,
#[yaserde(rename = "CurSts")]
#[cfg_attr(feature = "serde", serde(rename = "CurSts"))]
pub cur_sts: StatusAndSubStatus2,
#[yaserde(rename = "CurStsSubTp")]
#[cfg_attr(feature = "serde", serde(rename = "CurStsSubTp"))]
pub cur_sts_sub_tp: StatusSubType2Code,
#[yaserde(rename = "CurStsDtTm")]
#[cfg_attr(feature = "serde", serde(rename = "CurStsDtTm"))]
pub cur_sts_dt_tm: IsodateTime,
#[yaserde(rename = "PrvsSts")]
#[cfg_attr(feature = "serde", serde(rename = "PrvsSts"))]
pub prvs_sts: Status28Choice,
#[yaserde(rename = "PrvsStsSubTp")]
#[cfg_attr(feature = "serde", serde(rename = "PrvsStsSubTp"))]
pub prvs_sts_sub_tp: StatusSubType2Code,
}
impl Validate for TradeData16 {}
#[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:fxtr.017.001.06")]
pub struct TradePartyIdentification8 {
#[yaserde(rename = "SubmitgPty")]
#[cfg_attr(feature = "serde", serde(rename = "SubmitgPty"))]
pub submitg_pty: PartyIdentification242Choice,
#[yaserde(rename = "TradPty")]
#[cfg_attr(feature = "serde", serde(rename = "TradPty"))]
pub trad_pty: PartyIdentification242Choice,
#[yaserde(rename = "FndId")]
#[cfg_attr(feature = "serde", serde(rename = "FndId"))]
pub fnd_id: Vec<FundIdentification5>,
}
impl Validate for TradePartyIdentification8 {}
#[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:fxtr.017.001.06")]
pub enum TradeStatus6Code {
#[yaserde(rename = "INVA")]
#[cfg_attr(feature = "serde", serde(rename = "INVA"))]
Inva,
#[yaserde(rename = "FMTC")]
#[cfg_attr(feature = "serde", serde(rename = "FMTC"))]
Fmtc,
#[yaserde(rename = "SMAP")]
#[cfg_attr(feature = "serde", serde(rename = "SMAP"))]
Smap,
#[yaserde(rename = "RJCT")]
#[cfg_attr(feature = "serde", serde(rename = "RJCT"))]
Rjct,
#[yaserde(rename = "RSCD")]
#[cfg_attr(feature = "serde", serde(rename = "RSCD"))]
Rscd,
#[yaserde(rename = "STLD")]
#[cfg_attr(feature = "serde", serde(rename = "STLD"))]
Stld,
#[yaserde(rename = "SPLI")]
#[cfg_attr(feature = "serde", serde(rename = "SPLI"))]
Spli,
#[yaserde(rename = "UMTC")]
#[cfg_attr(feature = "serde", serde(rename = "UMTC"))]
Umtc,
#[yaserde(rename = "SMAT")]
#[cfg_attr(feature = "serde", serde(rename = "SMAT"))]
Smat,
#[yaserde(rename = "FUMT")]
#[cfg_attr(feature = "serde", serde(rename = "FUMT"))]
Fumt,
#[yaserde(rename = "NETT")]
#[cfg_attr(feature = "serde", serde(rename = "NETT"))]
Nett,
#[yaserde(rename = "PFIX")]
#[cfg_attr(feature = "serde", serde(rename = "PFIX"))]
Pfix,
#[yaserde(rename = "OMTC")]
#[cfg_attr(feature = "serde", serde(rename = "OMTC"))]
Omtc,
__Unknown__(String),
}
impl Default for TradeStatus6Code {
fn default() -> TradeStatus6Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for TradeStatus6Code {}
#[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:fxtr.017.001.06")]
pub enum TradeStatus7Code {
#[yaserde(rename = "INVA")]
#[cfg_attr(feature = "serde", serde(rename = "INVA"))]
Inva,
#[yaserde(rename = "UMTC")]
#[cfg_attr(feature = "serde", serde(rename = "UMTC"))]
Umtc,
#[yaserde(rename = "FMTC")]
#[cfg_attr(feature = "serde", serde(rename = "FMTC"))]
Fmtc,
#[yaserde(rename = "SMAT")]
#[cfg_attr(feature = "serde", serde(rename = "SMAT"))]
Smat,
#[yaserde(rename = "SUSP")]
#[cfg_attr(feature = "serde", serde(rename = "SUSP"))]
Susp,
#[yaserde(rename = "SMAP")]
#[cfg_attr(feature = "serde", serde(rename = "SMAP"))]
Smap,
#[yaserde(rename = "PFIX")]
#[cfg_attr(feature = "serde", serde(rename = "PFIX"))]
Pfix,
#[yaserde(rename = "FUMT")]
#[cfg_attr(feature = "serde", serde(rename = "FUMT"))]
Fumt,
__Unknown__(String),
}
impl Default for TradeStatus7Code {
fn default() -> TradeStatus7Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for TradeStatus7Code {}
#[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:fxtr.017.001.06")]
pub enum Trading1MethodCode {
#[yaserde(rename = "ELEC")]
#[cfg_attr(feature = "serde", serde(rename = "ELEC"))]
Elec,
#[yaserde(rename = "PHON")]
#[cfg_attr(feature = "serde", serde(rename = "PHON"))]
Phon,
#[yaserde(rename = "BROK")]
#[cfg_attr(feature = "serde", serde(rename = "BROK"))]
Brok,
__Unknown__(String),
}
impl Default for Trading1MethodCode {
fn default() -> Trading1MethodCode {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for Trading1MethodCode {}
#[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:fxtr.017.001.06")]
pub struct TradingSideTransactionReporting3 {
#[yaserde(rename = "RptgJursdctn")]
#[cfg_attr(feature = "serde", serde(rename = "RptgJursdctn"))]
pub rptg_jursdctn: Max35Text,
#[yaserde(rename = "RptgPty")]
#[cfg_attr(feature = "serde", serde(rename = "RptgPty"))]
pub rptg_pty: PartyIdentification242Choice,
#[yaserde(rename = "TradgSdUnqTxIdr")]
#[cfg_attr(feature = "serde", serde(rename = "TradgSdUnqTxIdr"))]
pub tradg_sd_unq_tx_idr: Vec<UniqueTransactionIdentifier3>,
}
impl Validate for TradingSideTransactionReporting3 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Utiidentifier (pub String);
crate::simple_type!(Utiidentifier);
impl Validate for Utiidentifier {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(PartialEq, Debug, Clone, YaSerialize, YaDeserialize)]#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:fxtr.017.001.06")]
pub enum UnderlyingProductIdentifier1Code {
#[yaserde(rename = "FORW")]
#[cfg_attr(feature = "serde", serde(rename = "FORW"))]
Forw,
#[yaserde(rename = "NDFO")]
#[cfg_attr(feature = "serde", serde(rename = "NDFO"))]
Ndfo,
#[yaserde(rename = "SPOT")]
#[cfg_attr(feature = "serde", serde(rename = "SPOT"))]
Spot,
#[yaserde(rename = "SWAP")]
#[cfg_attr(feature = "serde", serde(rename = "SWAP"))]
Swap,
__Unknown__(String),
}
impl Default for UnderlyingProductIdentifier1Code {
fn default() -> UnderlyingProductIdentifier1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for UnderlyingProductIdentifier1Code {}
#[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:fxtr.017.001.06")]
pub struct UniqueTransactionIdentifier3 {
#[yaserde(rename = "UnqTxIdr")]
#[cfg_attr(feature = "serde", serde(rename = "UnqTxIdr"))]
pub unq_tx_idr: Utiidentifier,
#[yaserde(rename = "PrrUnqTxIdr")]
#[cfg_attr(feature = "serde", serde(rename = "PrrUnqTxIdr"))]
pub prr_unq_tx_idr: Vec<Utiidentifier>,
}
impl Validate for UniqueTransactionIdentifier3 {}
#[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::fxtr;
const FUNCTIONALITY: &'static str = "017";
const VARIANT: &'static str = "001";
const VERSION: &'static str = "06";
const MESSAGE_NAME: &'static str = "fxtr.017.001.06";
const NAMESPACE: &'static str = "urn:iso:std:iso:20022:tech:xsd:fxtr.017.001.06";
}