#![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.016.001.04")]
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.016.001.04")]
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.016.001.04")]
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.016.001.04")]
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.016.001.04")]
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.016.001.04")]
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.016.001.04")]
pub struct AmountsAndValueDate1 {
#[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 = "SttlmDt")]
#[cfg_attr(feature = "serde", serde(rename = "SttlmDt"))]
pub sttlm_dt: Isodate,
}
impl Validate for AmountsAndValueDate1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct AnyBICIdentifier (pub String);
crate::simple_type!(AnyBICIdentifier);
impl Validate for AnyBICIdentifier {}
#[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.016.001.04")]
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.016.001.04")]
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.016.001.04")]
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.016.001.04")]
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.016.001.04")]
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.016.001.04")]
pub struct CounterpartySideTransactionReporting1 {
#[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: PartyIdentification73Choice,
#[yaserde(rename = "CtrPtySdUnqTxIdr")]
#[cfg_attr(feature = "serde", serde(rename = "CtrPtySdUnqTxIdr"))]
pub ctr_pty_sd_unq_tx_idr: Vec<UniqueTransactionIdentifier2>,
}
impl Validate for CounterpartySideTransactionReporting1 {}
#[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.016.001.04")]
pub struct DateAndDateTimeChoice {
#[yaserde(rename = "Dt")]
#[cfg_attr(feature = "serde", serde(rename = "Dt"))]
pub dt: Option<Isodate>,
#[yaserde(rename = "DtTm")]
#[cfg_attr(feature = "serde", serde(rename = "DtTm"))]
pub dt_tm: Option<IsodateTime>,
}
impl Validate for DateAndDateTimeChoice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:fxtr.016.001.04")]
pub struct Document {
#[yaserde(rename = "FXTradInstrCxl")]
#[cfg_attr(feature = "serde", serde(rename = "FXTradInstrCxl"))]
pub fx_trad_instr_cxl: ForeignExchangeTradeInstructionCancellationV04,
}
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 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, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:fxtr.016.001.04")]
pub struct ForeignExchangeTradeInstructionCancellationV04 {
#[yaserde(rename = "TradInf")]
#[cfg_attr(feature = "serde", serde(rename = "TradInf"))]
pub trad_inf: TradeAgreement15,
#[yaserde(rename = "TradgSdId")]
#[cfg_attr(feature = "serde", serde(rename = "TradgSdId"))]
pub tradg_sd_id: TradePartyIdentification6,
#[yaserde(rename = "CtrPtySdId")]
#[cfg_attr(feature = "serde", serde(rename = "CtrPtySdId"))]
pub ctr_pty_sd_id: TradePartyIdentification6,
#[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: NonDeliverableForwardConditions1,
#[yaserde(rename = "TradgSdSttlmInstrs")]
#[cfg_attr(feature = "serde", serde(rename = "TradgSdSttlmInstrs"))]
pub tradg_sd_sttlm_instrs: SettlementParties29,
#[yaserde(rename = "CtrPtySdSttlmInstrs")]
#[cfg_attr(feature = "serde", serde(rename = "CtrPtySdSttlmInstrs"))]
pub ctr_pty_sd_sttlm_instrs: SettlementParties29,
#[yaserde(rename = "OptnlGnlInf")]
#[cfg_attr(feature = "serde", serde(rename = "OptnlGnlInf"))]
pub optnl_gnl_inf: GeneralInformation5,
#[yaserde(rename = "TradAmts")]
#[cfg_attr(feature = "serde", serde(rename = "TradAmts"))]
pub trad_amts: AmountsAndValueDate1,
#[yaserde(rename = "RgltryRptg")]
#[cfg_attr(feature = "serde", serde(rename = "RgltryRptg"))]
pub rgltry_rptg: RegulatoryReporting6,
#[yaserde(rename = "SplmtryData")]
#[cfg_attr(feature = "serde", serde(rename = "SplmtryData"))]
pub splmtry_data: Vec<SupplementaryData1>,
}
impl Validate for ForeignExchangeTradeInstructionCancellationV04 {}
#[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.016.001.04")]
pub struct FundIdentification4 {
#[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: PartyIdentification73Choice,
}
impl Validate for FundIdentification4 {}
#[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.016.001.04")]
pub struct GeneralInformation5 {
#[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: PartyIdentification73Choice,
#[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: PartyIdentification73Choice,
#[yaserde(rename = "DealgBrnchCtrPtySd")]
#[cfg_attr(feature = "serde", serde(rename = "DealgBrnchCtrPtySd"))]
pub dealg_brnch_ctr_pty_sd: PartyIdentification73Choice,
#[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,
}
impl Validate for GeneralInformation5 {}
#[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.016.001.04")]
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, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:fxtr.016.001.04")]
pub struct MatchingSystemReference1Choice {
#[yaserde(rename = "MtchgSysUnqRef")]
#[cfg_attr(feature = "serde", serde(rename = "MtchgSysUnqRef"))]
pub mtchg_sys_unq_ref: Option<Max35Text>,
#[yaserde(rename = "RltdRef")]
#[cfg_attr(feature = "serde", serde(rename = "RltdRef"))]
pub rltd_ref: Option<Max35Text>,
}
impl Validate for MatchingSystemReference1Choice {}
#[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 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 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 Max52Text (pub String);
crate::simple_type!(Max52Text);
impl Validate for Max52Text {
fn validate(&self) -> Result<(), String> {
#[allow(clippy::len_zero)]
if self.0.len() < 1 {
return Err(format!("MinLength validation error. \nExpected: 0 length >= 1 \nActual: 0 length == {}", self.0.len()));
}
if self.0.len() > 52 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 52 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct 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.016.001.04")]
pub struct NdfopeningFixing1Choice {
#[yaserde(rename = "OpngConds")]
#[cfg_attr(feature = "serde", serde(rename = "OpngConds"))]
pub opng_conds: Option<OpeningConditions1>,
#[yaserde(rename = "OpngConfRef")]
#[cfg_attr(feature = "serde", serde(rename = "OpngConfRef"))]
pub opng_conf_ref: Option<Max35Text>,
}
impl Validate for NdfopeningFixing1Choice {}
#[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.016.001.04")]
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.016.001.04")]
pub struct NonDeliverableForwardConditions1 {
#[yaserde(rename = "OpngInd")]
#[cfg_attr(feature = "serde", serde(rename = "OpngInd"))]
pub opng_ind: YesNoIndicator,
#[yaserde(rename = "OpngFxgConds")]
#[cfg_attr(feature = "serde", serde(rename = "OpngFxgConds"))]
pub opng_fxg_conds: NdfopeningFixing1Choice,
}
impl Validate for NonDeliverableForwardConditions1 {}
#[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.016.001.04")]
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.016.001.04")]
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.016.001.04")]
pub struct PartyIdentification44 {
#[yaserde(rename = "AnyBIC")]
#[cfg_attr(feature = "serde", serde(rename = "AnyBIC"))]
pub any_bic: AnyBICIdentifier,
#[yaserde(rename = "AltrntvIdr")]
#[cfg_attr(feature = "serde", serde(rename = "AltrntvIdr"))]
pub altrntv_idr: Vec<Max35Text>,
}
impl Validate for PartyIdentification44 {}
#[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.016.001.04")]
pub struct PartyIdentification59 {
#[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: PartyIdentification44,
#[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 PartyIdentification59 {}
#[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.016.001.04")]
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, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:fxtr.016.001.04")]
pub struct PartyIdentification73Choice {
#[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<PartyIdentification44>,
#[yaserde(rename = "PtyId")]
#[cfg_attr(feature = "serde", serde(rename = "PtyId"))]
pub pty_id: Option<PartyIdentification59>,
}
impl Validate for PartyIdentification73Choice {}
#[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, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:fxtr.016.001.04")]
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)]
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.016.001.04")]
pub struct RegulatoryReporting6 {
#[yaserde(rename = "TradgSdTxRptg")]
#[cfg_attr(feature = "serde", serde(rename = "TradgSdTxRptg"))]
pub tradg_sd_tx_rptg: Vec<TradingSideTransactionReporting1>,
#[yaserde(rename = "CtrPtySdTxRptg")]
#[cfg_attr(feature = "serde", serde(rename = "CtrPtySdTxRptg"))]
pub ctr_pty_sd_tx_rptg: Vec<CounterpartySideTransactionReporting1>,
#[yaserde(rename = "CntrlCtrPtyClrHs")]
#[cfg_attr(feature = "serde", serde(rename = "CntrlCtrPtyClrHs"))]
pub cntrl_ctr_pty_clr_hs: PartyIdentification73Choice,
#[yaserde(rename = "ClrBrkr")]
#[cfg_attr(feature = "serde", serde(rename = "ClrBrkr"))]
pub clr_brkr: PartyIdentification73Choice,
#[yaserde(rename = "ClrXcptnPty")]
#[cfg_attr(feature = "serde", serde(rename = "ClrXcptnPty"))]
pub clr_xcptn_pty: PartyIdentification73Choice,
#[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 = "UndrlygPdctIdr")]
#[cfg_attr(feature = "serde", serde(rename = "UndrlygPdctIdr"))]
pub undrlyg_pdct_idr: UnderlyingProductIdentifier1Code,
#[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: DateAndDateTimeChoice,
#[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 = "AddtlRptgInf")]
#[cfg_attr(feature = "serde", serde(rename = "AddtlRptgInf"))]
pub addtl_rptg_inf: Max210Text,
}
impl Validate for RegulatoryReporting6 {}
#[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.016.001.04")]
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.016.001.04")]
pub struct SettlementParties29 {
#[yaserde(rename = "DlvryAgt")]
#[cfg_attr(feature = "serde", serde(rename = "DlvryAgt"))]
pub dlvry_agt: PartyIdentification73Choice,
#[yaserde(rename = "Intrmy")]
#[cfg_attr(feature = "serde", serde(rename = "Intrmy"))]
pub intrmy: PartyIdentification73Choice,
#[yaserde(rename = "RcvgAgt")]
#[cfg_attr(feature = "serde", serde(rename = "RcvgAgt"))]
pub rcvg_agt: PartyIdentification73Choice,
#[yaserde(rename = "BnfcryInstn")]
#[cfg_attr(feature = "serde", serde(rename = "BnfcryInstn"))]
pub bnfcry_instn: PartyIdentification73Choice,
}
impl Validate for SettlementParties29 {}
#[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.016.001.04")]
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.016.001.04")]
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.016.001.04")]
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.016.001.04")]
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.016.001.04")]
pub struct TradeAgreement15 {
#[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 = "MtchgSysRef")]
#[cfg_attr(feature = "serde", serde(rename = "MtchgSysRef"))]
pub mtchg_sys_ref: MatchingSystemReference1Choice,
#[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 = "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 = "PdctTp")]
#[cfg_attr(feature = "serde", serde(rename = "PdctTp"))]
pub pdct_tp: Max35Text,
#[yaserde(rename = "SttlmSsnIdr")]
#[cfg_attr(feature = "serde", serde(rename = "SttlmSsnIdr"))]
pub sttlm_ssn_idr: Exact4AlphaNumericText,
#[yaserde(rename = "PmtVrssPmtInd")]
#[cfg_attr(feature = "serde", serde(rename = "PmtVrssPmtInd"))]
pub pmt_vrss_pmt_ind: YesNoIndicator,
}
impl Validate for TradeAgreement15 {}
#[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.016.001.04")]
pub struct TradePartyIdentification6 {
#[yaserde(rename = "SubmitgPty")]
#[cfg_attr(feature = "serde", serde(rename = "SubmitgPty"))]
pub submitg_pty: PartyIdentification73Choice,
#[yaserde(rename = "TradPty")]
#[cfg_attr(feature = "serde", serde(rename = "TradPty"))]
pub trad_pty: PartyIdentification73Choice,
#[yaserde(rename = "FndId")]
#[cfg_attr(feature = "serde", serde(rename = "FndId"))]
pub fnd_id: Vec<FundIdentification4>,
}
impl Validate for TradePartyIdentification6 {}
#[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.016.001.04")]
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.016.001.04")]
pub struct TradingSideTransactionReporting1 {
#[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: PartyIdentification73Choice,
#[yaserde(rename = "TradgSdUnqTxIdr")]
#[cfg_attr(feature = "serde", serde(rename = "TradgSdUnqTxIdr"))]
pub tradg_sd_unq_tx_idr: Vec<UniqueTransactionIdentifier2>,
}
impl Validate for TradingSideTransactionReporting1 {}
#[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.016.001.04")]
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.016.001.04")]
pub struct UniqueTransactionIdentifier2 {
#[yaserde(rename = "UnqTxIdr")]
#[cfg_attr(feature = "serde", serde(rename = "UnqTxIdr"))]
pub unq_tx_idr: Max52Text,
#[yaserde(rename = "PrrUnqTxIdr")]
#[cfg_attr(feature = "serde", serde(rename = "PrrUnqTxIdr"))]
pub prr_unq_tx_idr: Vec<Max52Text>,
}
impl Validate for UniqueTransactionIdentifier2 {}
#[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 = "016";
const VARIANT: &'static str = "001";
const VERSION: &'static str = "04";
const MESSAGE_NAME: &'static str = "fxtr.016.001.04";
const NAMESPACE: &'static str = "urn:iso:std:iso:20022:tech:xsd:fxtr.016.001.04";
}