#![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, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:fxtr.036.001.02")]
pub struct AccountIdentification26 {
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: SimpleIdentificationInformation4,
}
impl Validate for AccountIdentification26 {}
#[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.036.001.02")]
pub struct AccountIdentification30 {
#[yaserde(rename = "AcctTp")]
#[cfg_attr(feature = "serde", serde(rename = "AcctTp"))]
pub acct_tp: AccountInformationType1Code,
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: AccountIdentification26,
}
impl Validate for AccountIdentification30 {}
#[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.036.001.02")]
pub enum AccountInformationType1Code {
#[yaserde(rename = "IBND")]
#[cfg_attr(feature = "serde", serde(rename = "IBND"))]
Ibnd,
#[yaserde(rename = "IBCC")]
#[cfg_attr(feature = "serde", serde(rename = "IBCC"))]
Ibcc,
#[yaserde(rename = "IBDC")]
#[cfg_attr(feature = "serde", serde(rename = "IBDC"))]
Ibdc,
#[yaserde(rename = "BIBC")]
#[cfg_attr(feature = "serde", serde(rename = "BIBC"))]
Bibc,
#[yaserde(rename = "BIBD")]
#[cfg_attr(feature = "serde", serde(rename = "BIBD"))]
Bibd,
#[yaserde(rename = "BINC")]
#[cfg_attr(feature = "serde", serde(rename = "BINC"))]
Binc,
#[yaserde(rename = "BIND")]
#[cfg_attr(feature = "serde", serde(rename = "BIND"))]
Bind,
#[yaserde(rename = "BICC")]
#[cfg_attr(feature = "serde", serde(rename = "BICC"))]
Bicc,
#[yaserde(rename = "BIDC")]
#[cfg_attr(feature = "serde", serde(rename = "BIDC"))]
Bidc,
#[yaserde(rename = "CMSA")]
#[cfg_attr(feature = "serde", serde(rename = "CMSA"))]
Cmsa,
#[yaserde(rename = "CBBC")]
#[cfg_attr(feature = "serde", serde(rename = "CBBC"))]
Cbbc,
#[yaserde(rename = "CBBD")]
#[cfg_attr(feature = "serde", serde(rename = "CBBD"))]
Cbbd,
#[yaserde(rename = "CBNC")]
#[cfg_attr(feature = "serde", serde(rename = "CBNC"))]
Cbnc,
#[yaserde(rename = "CBND")]
#[cfg_attr(feature = "serde", serde(rename = "CBND"))]
Cbnd,
#[yaserde(rename = "CBCC")]
#[cfg_attr(feature = "serde", serde(rename = "CBCC"))]
Cbcc,
#[yaserde(rename = "CBDC")]
#[cfg_attr(feature = "serde", serde(rename = "CBDC"))]
Cbdc,
#[yaserde(rename = "CUAC")]
#[cfg_attr(feature = "serde", serde(rename = "CUAC"))]
Cuac,
#[yaserde(rename = "DEAC")]
#[cfg_attr(feature = "serde", serde(rename = "DEAC"))]
Deac,
#[yaserde(rename = "FCAA")]
#[cfg_attr(feature = "serde", serde(rename = "FCAA"))]
Fcaa,
#[yaserde(rename = "FCAN")]
#[cfg_attr(feature = "serde", serde(rename = "FCAN"))]
Fcan,
#[yaserde(rename = "FCBN")]
#[cfg_attr(feature = "serde", serde(rename = "FCBN"))]
Fcbn,
#[yaserde(rename = "IBBC")]
#[cfg_attr(feature = "serde", serde(rename = "IBBC"))]
Ibbc,
#[yaserde(rename = "IBBD")]
#[cfg_attr(feature = "serde", serde(rename = "IBBD"))]
Ibbd,
#[yaserde(rename = "IBNC")]
#[cfg_attr(feature = "serde", serde(rename = "IBNC"))]
Ibnc,
#[yaserde(rename = "MCAA")]
#[cfg_attr(feature = "serde", serde(rename = "MCAA"))]
Mcaa,
#[yaserde(rename = "MCAN")]
#[cfg_attr(feature = "serde", serde(rename = "MCAN"))]
Mcan,
#[yaserde(rename = "MCIC")]
#[cfg_attr(feature = "serde", serde(rename = "MCIC"))]
Mcic,
#[yaserde(rename = "MCIN")]
#[cfg_attr(feature = "serde", serde(rename = "MCIN"))]
Mcin,
#[yaserde(rename = "MSAA")]
#[cfg_attr(feature = "serde", serde(rename = "MSAA"))]
Msaa,
#[yaserde(rename = "MSBN")]
#[cfg_attr(feature = "serde", serde(rename = "MSBN"))]
Msbn,
#[yaserde(rename = "MCAD")]
#[cfg_attr(feature = "serde", serde(rename = "MCAD"))]
Mcad,
#[yaserde(rename = "NODC")]
#[cfg_attr(feature = "serde", serde(rename = "NODC"))]
Nodc,
#[yaserde(rename = "SCAC")]
#[cfg_attr(feature = "serde", serde(rename = "SCAC"))]
Scac,
#[yaserde(rename = "SCAA")]
#[cfg_attr(feature = "serde", serde(rename = "SCAA"))]
Scaa,
#[yaserde(rename = "OMSA")]
#[cfg_attr(feature = "serde", serde(rename = "OMSA"))]
Omsa,
#[yaserde(rename = "NOCC")]
#[cfg_attr(feature = "serde", serde(rename = "NOCC"))]
Nocc,
#[yaserde(rename = "MSBS")]
#[cfg_attr(feature = "serde", serde(rename = "MSBS"))]
Msbs,
#[yaserde(rename = "MSAN")]
#[cfg_attr(feature = "serde", serde(rename = "MSAN"))]
Msan,
#[yaserde(rename = "SCAN")]
#[cfg_attr(feature = "serde", serde(rename = "SCAN"))]
Scan,
#[yaserde(rename = "SCIC")]
#[cfg_attr(feature = "serde", serde(rename = "SCIC"))]
Scic,
#[yaserde(rename = "SCIN")]
#[cfg_attr(feature = "serde", serde(rename = "SCIN"))]
Scin,
#[yaserde(rename = "SOCA")]
#[cfg_attr(feature = "serde", serde(rename = "SOCA"))]
Soca,
#[yaserde(rename = "SSCA")]
#[cfg_attr(feature = "serde", serde(rename = "SSCA"))]
Ssca,
__Unknown__(String),
}
impl Default for AccountInformationType1Code {
fn default() -> AccountInformationType1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for AccountInformationType1Code {}
#[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.036.001.02")]
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)]
pub struct AnyBICDec2014Identifier (pub String);
crate::simple_type!(AnyBICDec2014Identifier);
impl Validate for AnyBICDec2014Identifier {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct CountryCode (pub String);
crate::simple_type!(CountryCode);
impl Validate for CountryCode {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:fxtr.036.001.02")]
pub struct Document {
#[yaserde(rename = "FXTradConfReqCxlReq")]
#[cfg_attr(feature = "serde", serde(rename = "FXTradConfReqCxlReq"))]
pub fx_trad_conf_req_cxl_req: ForeignExchangeTradeConfirmationRequestCancellationRequestV02,
}
impl Validate for Document {}
#[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.036.001.02")]
pub struct ForeignExchangeTradeConfirmationRequestCancellationRequestV02 {
#[yaserde(rename = "Hdr")]
#[cfg_attr(feature = "serde", serde(rename = "Hdr"))]
pub hdr: Header23,
#[yaserde(rename = "CxlReqId")]
#[cfg_attr(feature = "serde", serde(rename = "CxlReqId"))]
pub cxl_req_id: MessageIdentification1,
#[yaserde(rename = "TradgSdId")]
#[cfg_attr(feature = "serde", serde(rename = "TradgSdId"))]
pub tradg_sd_id: TradePartyIdentification9,
#[yaserde(rename = "CtrPtyRoleId")]
#[cfg_attr(feature = "serde", serde(rename = "CtrPtyRoleId"))]
pub ctr_pty_role_id: TradePartyIdentification9,
#[yaserde(rename = "TradId")]
#[cfg_attr(feature = "serde", serde(rename = "TradId"))]
pub trad_id: Max35Text,
#[yaserde(rename = "UndrlygPdctTp")]
#[cfg_attr(feature = "serde", serde(rename = "UndrlygPdctTp"))]
pub undrlyg_pdct_tp: UnderlyingProductIdentifier1Code,
#[yaserde(rename = "SplmtryData")]
#[cfg_attr(feature = "serde", serde(rename = "SplmtryData"))]
pub splmtry_data: Vec<SupplementaryData1>,
}
impl Validate for ForeignExchangeTradeConfirmationRequestCancellationRequestV02 {}
#[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.036.001.02")]
pub struct FundIdentification6 {
#[yaserde(rename = "FndId")]
#[cfg_attr(feature = "serde", serde(rename = "FndId"))]
pub fnd_id: Max35Text,
#[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: PartyIdentification251Choice,
}
impl Validate for FundIdentification6 {}
#[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.036.001.02")]
pub struct GenericIdentification32 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Max35Text,
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: PartyType3Code,
#[yaserde(rename = "Issr")]
#[cfg_attr(feature = "serde", serde(rename = "Issr"))]
pub issr: PartyType4Code,
#[yaserde(rename = "ShrtNm")]
#[cfg_attr(feature = "serde", serde(rename = "ShrtNm"))]
pub shrt_nm: Max35Text,
}
impl Validate for GenericIdentification32 {}
#[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.036.001.02")]
pub struct Header23 {
#[yaserde(rename = "FrmtVrsn")]
#[cfg_attr(feature = "serde", serde(rename = "FrmtVrsn"))]
pub frmt_vrsn: Max6Text,
#[yaserde(rename = "XchgId")]
#[cfg_attr(feature = "serde", serde(rename = "XchgId"))]
pub xchg_id: Max3NumericText,
#[yaserde(rename = "InitgPty")]
#[cfg_attr(feature = "serde", serde(rename = "InitgPty"))]
pub initg_pty: GenericIdentification32,
#[yaserde(rename = "RcptPty")]
#[cfg_attr(feature = "serde", serde(rename = "RcptPty"))]
pub rcpt_pty: GenericIdentification32,
#[yaserde(rename = "MsgSeqNb")]
#[cfg_attr(feature = "serde", serde(rename = "MsgSeqNb"))]
pub msg_seq_nb: Number,
#[yaserde(rename = "CreDtTm")]
#[cfg_attr(feature = "serde", serde(rename = "CreDtTm"))]
pub cre_dt_tm: IsodateTime,
}
impl Validate for Header23 {}
#[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(PartialEq, Debug, Clone, YaSerialize, YaDeserialize)]#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:fxtr.036.001.02")]
pub enum IdentificationType1Code {
#[yaserde(rename = "BASC")]
#[cfg_attr(feature = "serde", serde(rename = "BASC"))]
Basc,
#[yaserde(rename = "BICO")]
#[cfg_attr(feature = "serde", serde(rename = "BICO"))]
Bico,
#[yaserde(rename = "CFET")]
#[cfg_attr(feature = "serde", serde(rename = "CFET"))]
Cfet,
__Unknown__(String),
}
impl Default for IdentificationType1Code {
fn default() -> IdentificationType1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for IdentificationType1Code {}
#[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 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 Max3NumericText (pub String);
crate::simple_type!(Max3NumericText);
impl Validate for Max3NumericText {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max6Text (pub String);
crate::simple_type!(Max6Text);
impl Validate for Max6Text {
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() > 6 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 6 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max70Text (pub String);
crate::simple_type!(Max70Text);
impl Validate for Max70Text {
fn validate(&self) -> Result<(), String> {
#[allow(clippy::len_zero)]
if self.0.len() < 1 {
return Err(format!("MinLength validation error. \nExpected: 0 length >= 1 \nActual: 0 length == {}", self.0.len()));
}
if self.0.len() > 70 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 70 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:fxtr.036.001.02")]
pub struct MessageIdentification1 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Max35Text,
#[yaserde(rename = "CreDtTm")]
#[cfg_attr(feature = "serde", serde(rename = "CreDtTm"))]
pub cre_dt_tm: IsodateTime,
}
impl Validate for MessageIdentification1 {}
#[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.036.001.02")]
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)]
pub struct Number (pub String);
crate::simple_type!(Number);
impl Validate for Number {}
#[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.036.001.02")]
pub enum OptionParty1Code {
#[yaserde(rename = "SLLR")]
#[cfg_attr(feature = "serde", serde(rename = "SLLR"))]
Sllr,
#[yaserde(rename = "BYER")]
#[cfg_attr(feature = "serde", serde(rename = "BYER"))]
Byer,
__Unknown__(String),
}
impl Default for OptionParty1Code {
fn default() -> OptionParty1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for OptionParty1Code {}
#[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.036.001.02")]
pub enum OptionParty3Code {
#[yaserde(rename = "MAKE")]
#[cfg_attr(feature = "serde", serde(rename = "MAKE"))]
Make,
#[yaserde(rename = "TAKE")]
#[cfg_attr(feature = "serde", serde(rename = "TAKE"))]
Take,
__Unknown__(String),
}
impl Default for OptionParty3Code {
fn default() -> OptionParty3Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for OptionParty3Code {}
#[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.036.001.02")]
pub struct PartyIdentification251Choice {
#[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>,
}
impl Validate for PartyIdentification251Choice {}
#[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.036.001.02")]
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.036.001.02")]
pub struct PartyIdentification78 {
#[yaserde(rename = "PtySrc")]
#[cfg_attr(feature = "serde", serde(rename = "PtySrc"))]
pub pty_src: IdentificationType1Code,
#[yaserde(rename = "TradPtyId")]
#[cfg_attr(feature = "serde", serde(rename = "TradPtyId"))]
pub trad_pty_id: Max35Text,
}
impl Validate for PartyIdentification78 {}
#[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.036.001.02")]
pub struct PartyIdentification90 {
#[yaserde(rename = "IdTp")]
#[cfg_attr(feature = "serde", serde(rename = "IdTp"))]
pub id_tp: PartyIdentificationType1Code,
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Max35Text,
}
impl Validate for PartyIdentification90 {}
#[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.036.001.02")]
pub struct PartyIdentificationAndAccount119 {
#[yaserde(rename = "PtyId")]
#[cfg_attr(feature = "serde", serde(rename = "PtyId"))]
pub pty_id: Vec<PartyIdentification90>,
#[yaserde(rename = "AcctId")]
#[cfg_attr(feature = "serde", serde(rename = "AcctId"))]
pub acct_id: Vec<AccountIdentification30>,
}
impl Validate for PartyIdentificationAndAccount119 {}
#[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.036.001.02")]
pub enum PartyIdentificationType1Code {
#[yaserde(rename = "FXID")]
#[cfg_attr(feature = "serde", serde(rename = "FXID"))]
Fxid,
#[yaserde(rename = "FXSN")]
#[cfg_attr(feature = "serde", serde(rename = "FXSN"))]
Fxsn,
#[yaserde(rename = "INGN")]
#[cfg_attr(feature = "serde", serde(rename = "INGN"))]
Ingn,
#[yaserde(rename = "IICS")]
#[cfg_attr(feature = "serde", serde(rename = "IICS"))]
Iics,
#[yaserde(rename = "IGBT")]
#[cfg_attr(feature = "serde", serde(rename = "IGBT"))]
Igbt,
#[yaserde(rename = "MAMA")]
#[cfg_attr(feature = "serde", serde(rename = "MAMA"))]
Mama,
#[yaserde(rename = "MEOC")]
#[cfg_attr(feature = "serde", serde(rename = "MEOC"))]
Meoc,
#[yaserde(rename = "METY")]
#[cfg_attr(feature = "serde", serde(rename = "METY"))]
Mety,
#[yaserde(rename = "NOMM")]
#[cfg_attr(feature = "serde", serde(rename = "NOMM"))]
Nomm,
#[yaserde(rename = "OSCO")]
#[cfg_attr(feature = "serde", serde(rename = "OSCO"))]
Osco,
#[yaserde(rename = "PASS")]
#[cfg_attr(feature = "serde", serde(rename = "PASS"))]
Pass,
#[yaserde(rename = "PONU")]
#[cfg_attr(feature = "serde", serde(rename = "PONU"))]
Ponu,
#[yaserde(rename = "POAD")]
#[cfg_attr(feature = "serde", serde(rename = "POAD"))]
Poad,
#[yaserde(rename = "RMID")]
#[cfg_attr(feature = "serde", serde(rename = "RMID"))]
Rmid,
#[yaserde(rename = "SLCN")]
#[cfg_attr(feature = "serde", serde(rename = "SLCN"))]
Slcn,
#[yaserde(rename = "SLNF")]
#[cfg_attr(feature = "serde", serde(rename = "SLNF"))]
Slnf,
#[yaserde(rename = "TACN")]
#[cfg_attr(feature = "serde", serde(rename = "TACN"))]
Tacn,
#[yaserde(rename = "TRCO")]
#[cfg_attr(feature = "serde", serde(rename = "TRCO"))]
Trco,
#[yaserde(rename = "TANA")]
#[cfg_attr(feature = "serde", serde(rename = "TANA"))]
Tana,
#[yaserde(rename = "USIT")]
#[cfg_attr(feature = "serde", serde(rename = "USIT"))]
Usit,
#[yaserde(rename = "USNA")]
#[cfg_attr(feature = "serde", serde(rename = "USNA"))]
Usna,
#[yaserde(rename = "AUIT")]
#[cfg_attr(feature = "serde", serde(rename = "AUIT"))]
Auit,
#[yaserde(rename = "BRID")]
#[cfg_attr(feature = "serde", serde(rename = "BRID"))]
Brid,
#[yaserde(rename = "CLIN")]
#[cfg_attr(feature = "serde", serde(rename = "CLIN"))]
Clin,
#[yaserde(rename = "CMID")]
#[cfg_attr(feature = "serde", serde(rename = "CMID"))]
Cmid,
#[yaserde(rename = "COIN")]
#[cfg_attr(feature = "serde", serde(rename = "COIN"))]
Coin,
#[yaserde(rename = "CMOT")]
#[cfg_attr(feature = "serde", serde(rename = "CMOT"))]
Cmot,
#[yaserde(rename = "CONU")]
#[cfg_attr(feature = "serde", serde(rename = "CONU"))]
Conu,
#[yaserde(rename = "CMIN")]
#[cfg_attr(feature = "serde", serde(rename = "CMIN"))]
Cmin,
#[yaserde(rename = "DECN")]
#[cfg_attr(feature = "serde", serde(rename = "DECN"))]
Decn,
#[yaserde(rename = "DEPA")]
#[cfg_attr(feature = "serde", serde(rename = "DEPA"))]
Depa,
#[yaserde(rename = "ELCO")]
#[cfg_attr(feature = "serde", serde(rename = "ELCO"))]
Elco,
#[yaserde(rename = "EXVE")]
#[cfg_attr(feature = "serde", serde(rename = "EXVE"))]
Exve,
#[yaserde(rename = "FICO")]
#[cfg_attr(feature = "serde", serde(rename = "FICO"))]
Fico,
#[yaserde(rename = "FIID")]
#[cfg_attr(feature = "serde", serde(rename = "FIID"))]
Fiid,
#[yaserde(rename = "FLCN")]
#[cfg_attr(feature = "serde", serde(rename = "FLCN"))]
Flcn,
#[yaserde(rename = "FLNF")]
#[cfg_attr(feature = "serde", serde(rename = "FLNF"))]
Flnf,
__Unknown__(String),
}
impl Default for PartyIdentificationType1Code {
fn default() -> PartyIdentificationType1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for PartyIdentificationType1Code {}
#[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.036.001.02")]
pub enum PartyType3Code {
#[yaserde(rename = "OPOI")]
#[cfg_attr(feature = "serde", serde(rename = "OPOI"))]
Opoi,
#[yaserde(rename = "MERC")]
#[cfg_attr(feature = "serde", serde(rename = "MERC"))]
Merc,
#[yaserde(rename = "ACCP")]
#[cfg_attr(feature = "serde", serde(rename = "ACCP"))]
Accp,
#[yaserde(rename = "ITAG")]
#[cfg_attr(feature = "serde", serde(rename = "ITAG"))]
Itag,
#[yaserde(rename = "ACQR")]
#[cfg_attr(feature = "serde", serde(rename = "ACQR"))]
Acqr,
#[yaserde(rename = "CISS")]
#[cfg_attr(feature = "serde", serde(rename = "CISS"))]
Ciss,
#[yaserde(rename = "DLIS")]
#[cfg_attr(feature = "serde", serde(rename = "DLIS"))]
Dlis,
__Unknown__(String),
}
impl Default for PartyType3Code {
fn default() -> PartyType3Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for PartyType3Code {}
#[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.036.001.02")]
pub enum PartyType4Code {
#[yaserde(rename = "MERC")]
#[cfg_attr(feature = "serde", serde(rename = "MERC"))]
Merc,
#[yaserde(rename = "ACCP")]
#[cfg_attr(feature = "serde", serde(rename = "ACCP"))]
Accp,
#[yaserde(rename = "ITAG")]
#[cfg_attr(feature = "serde", serde(rename = "ITAG"))]
Itag,
#[yaserde(rename = "ACQR")]
#[cfg_attr(feature = "serde", serde(rename = "ACQR"))]
Acqr,
#[yaserde(rename = "CISS")]
#[cfg_attr(feature = "serde", serde(rename = "CISS"))]
Ciss,
#[yaserde(rename = "TAXH")]
#[cfg_attr(feature = "serde", serde(rename = "TAXH"))]
Taxh,
__Unknown__(String),
}
impl Default for PartyType4Code {
fn default() -> PartyType4Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for PartyType4Code {}
#[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.036.001.02")]
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.036.001.02")]
pub struct SimpleIdentificationInformation4 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Max35Text,
}
impl Validate for SimpleIdentificationInformation4 {}
#[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.036.001.02")]
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.036.001.02")]
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.036.001.02")]
pub struct TradePartyIdentification9 {
#[yaserde(rename = "FndInf")]
#[cfg_attr(feature = "serde", serde(rename = "FndInf"))]
pub fnd_inf: FundIdentification6,
#[yaserde(rename = "BuyrOrSellrInd")]
#[cfg_attr(feature = "serde", serde(rename = "BuyrOrSellrInd"))]
pub buyr_or_sellr_ind: OptionParty1Code,
#[yaserde(rename = "InitrInd")]
#[cfg_attr(feature = "serde", serde(rename = "InitrInd"))]
pub initr_ind: OptionParty3Code,
#[yaserde(rename = "TradPtyId")]
#[cfg_attr(feature = "serde", serde(rename = "TradPtyId"))]
pub trad_pty_id: PartyIdentification78,
#[yaserde(rename = "SubmitgPty")]
#[cfg_attr(feature = "serde", serde(rename = "SubmitgPty"))]
pub submitg_pty: PartyIdentificationAndAccount119,
}
impl Validate for TradePartyIdentification9 {}
#[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.036.001.02")]
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 {}
impl crate::MxMessage for Document {
const BUSINESS_AREA: crate::BusinessArea = crate::BusinessArea::fxtr;
const FUNCTIONALITY: &'static str = "036";
const VARIANT: &'static str = "001";
const VERSION: &'static str = "02";
const MESSAGE_NAME: &'static str = "fxtr.036.001.02";
const NAMESPACE: &'static str = "urn:iso:std:iso:20022:tech:xsd:fxtr.036.001.02";
}