#![allow(clippy::all)]
#![allow(non_snake_case, non_camel_case_types, dead_code, unused_imports)]
#![allow(non_local_definitions)]
use std::str::FromStr;
use crate::validate::Validate;
use yaserde_derive::{YaDeserialize, YaSerialize};
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(PartialEq, Debug, Clone, YaSerialize, YaDeserialize)]#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:fxtr.030.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(PartialEq, Debug, Clone, YaSerialize, YaDeserialize)]#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:fxtr.030.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)]
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, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:fxtr.030.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.030.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.030.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(PartialEq, Debug, Clone, YaSerialize, YaDeserialize)]#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:fxtr.030.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.030.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.030.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.030.001.04")]
pub struct Document {
#[yaserde(rename = "FXTradBlkStsNtfctn")]
#[cfg_attr(feature = "serde", serde(rename = "FXTradBlkStsNtfctn"))]
pub fx_trad_blk_sts_ntfctn: ForeignExchangeTradeBulkStatusNotificationV04,
}
impl Validate for Document {}
#[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 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, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:fxtr.030.001.04")]
pub struct ForeignExchangeTradeBulkStatusNotificationV04 {
#[yaserde(rename = "StsDtls")]
#[cfg_attr(feature = "serde", serde(rename = "StsDtls"))]
pub sts_dtls: TradeData12,
#[yaserde(rename = "TradData")]
#[cfg_attr(feature = "serde", serde(rename = "TradData"))]
pub trad_data: Vec<TradeData11>,
#[yaserde(rename = "MsgPgntn")]
#[cfg_attr(feature = "serde", serde(rename = "MsgPgntn"))]
pub msg_pgntn: Pagination,
#[yaserde(rename = "SplmtryData")]
#[cfg_attr(feature = "serde", serde(rename = "SplmtryData"))]
pub splmtry_data: Vec<SupplementaryData1>,
}
impl Validate for ForeignExchangeTradeBulkStatusNotificationV04 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Isodate (pub String);
crate::simple_type!(Isodate);
impl Validate for Isodate {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct IsodateTime (pub String);
crate::simple_type!(IsodateTime);
impl Validate for IsodateTime {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Leiidentifier (pub String);
crate::simple_type!(Leiidentifier);
impl Validate for Leiidentifier {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct 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 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 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 Max52Text (pub String);
crate::simple_type!(Max52Text);
impl Validate for Max52Text {
fn validate(&self) -> Result<(), String> {
#[allow(clippy::len_zero)]
if self.0.len() < 1 {
return Err(format!("MinLength validation error. \nExpected: 0 length >= 1 \nActual: 0 length == {}", self.0.len()));
}
if self.0.len() > 52 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 52 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max5NumericText (pub String);
crate::simple_type!(Max5NumericText);
impl Validate for Max5NumericText {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct 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.030.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.030.001.04")]
pub struct Pagination {
#[yaserde(rename = "PgNb")]
#[cfg_attr(feature = "serde", serde(rename = "PgNb"))]
pub pg_nb: Max5NumericText,
#[yaserde(rename = "LastPgInd")]
#[cfg_attr(feature = "serde", serde(rename = "LastPgInd"))]
pub last_pg_ind: YesNoIndicator,
}
impl Validate for Pagination {}
#[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.030.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.030.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.030.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, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:fxtr.030.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, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:fxtr.030.001.04")]
pub struct RegulatoryReporting4 {
#[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 = "AddtlRptgInf")]
#[cfg_attr(feature = "serde", serde(rename = "AddtlRptgInf"))]
pub addtl_rptg_inf: Max210Text,
}
impl Validate for RegulatoryReporting4 {}
#[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.030.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.030.001.04")]
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.030.001.04")]
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.030.001.04")]
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.030.001.04")]
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.030.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.030.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.030.001.04")]
pub struct TradeData11 {
#[yaserde(rename = "OrgtrRef")]
#[cfg_attr(feature = "serde", serde(rename = "OrgtrRef"))]
pub orgtr_ref: Max35Text,
#[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 = "CurSttlmDt")]
#[cfg_attr(feature = "serde", serde(rename = "CurSttlmDt"))]
pub cur_sttlm_dt: Isodate,
#[yaserde(rename = "NewSttlmDt")]
#[cfg_attr(feature = "serde", serde(rename = "NewSttlmDt"))]
pub new_sttlm_dt: Isodate,
#[yaserde(rename = "CurStsDtTm")]
#[cfg_attr(feature = "serde", serde(rename = "CurStsDtTm"))]
pub cur_sts_dt_tm: IsodateTime,
#[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 = "RgltryRptg")]
#[cfg_attr(feature = "serde", serde(rename = "RgltryRptg"))]
pub rgltry_rptg: RegulatoryReporting4,
}
impl Validate for TradeData11 {}
#[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.030.001.04")]
pub struct TradeData12 {
#[yaserde(rename = "MsgId")]
#[cfg_attr(feature = "serde", serde(rename = "MsgId"))]
pub msg_id: 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,
#[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 = "LkdRptId")]
#[cfg_attr(feature = "serde", serde(rename = "LkdRptId"))]
pub lkd_rpt_id: Max35Text,
}
impl Validate for TradeData12 {}
#[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.030.001.04")]
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.030.001.04")]
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(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:fxtr.030.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.030.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.030.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 = "030";
const VARIANT: &'static str = "001";
const VERSION: &'static str = "04";
const MESSAGE_NAME: &'static str = "fxtr.030.001.04";
const NAMESPACE: &'static str = "urn:iso:std:iso:20022:tech:xsd:fxtr.030.001.04";
}