#![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 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 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, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:seev.041.002.14")]
pub struct BlockChainAddressWallet11 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Max140Text,
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: GenericIdentification47,
#[yaserde(rename = "Nm")]
#[cfg_attr(feature = "serde", serde(rename = "Nm"))]
pub nm: Max70Text,
}
impl Validate for BlockChainAddressWallet11 {}
#[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:seev.041.002.14")]
pub struct CancelledReason10Choice {
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: Option<CancelledStatusReason5Code>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<GenericIdentification47>,
}
impl Validate for CancelledReason10Choice {}
#[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:seev.041.002.14")]
pub struct CancelledStatus14Choice {
#[yaserde(rename = "NoSpcfdRsn")]
#[cfg_attr(feature = "serde", serde(rename = "NoSpcfdRsn"))]
pub no_spcfd_rsn: Option<NoReasonCode>,
#[yaserde(rename = "Rsn")]
#[cfg_attr(feature = "serde", serde(rename = "Rsn"))]
pub rsn: Vec<CancelledStatusReason13>,
}
impl Validate for CancelledStatus14Choice {}
#[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:seev.041.002.14")]
pub struct CancelledStatusReason13 {
#[yaserde(rename = "RsnCd")]
#[cfg_attr(feature = "serde", serde(rename = "RsnCd"))]
pub rsn_cd: CancelledReason10Choice,
#[yaserde(rename = "AddtlRsnInf")]
#[cfg_attr(feature = "serde", serde(rename = "AddtlRsnInf"))]
pub addtl_rsn_inf: RestrictedFINXMax210Text,
}
impl Validate for CancelledStatusReason13 {}
#[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:seev.041.002.14")]
pub enum CancelledStatusReason5Code {
#[yaserde(rename = "CANI")]
#[cfg_attr(feature = "serde", serde(rename = "CANI"))]
Cani,
#[yaserde(rename = "OTHR")]
#[cfg_attr(feature = "serde", serde(rename = "OTHR"))]
Othr,
__Unknown__(String),
}
impl Default for CancelledStatusReason5Code {
fn default() -> CancelledStatusReason5Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for CancelledStatusReason5Code {}
#[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:seev.041.002.14")]
pub struct CashAccountIdentification10Choice {
#[yaserde(rename = "IBAN")]
#[cfg_attr(feature = "serde", serde(rename = "IBAN"))]
pub iban: Option<Iban2007Identifier>,
#[yaserde(rename = "BlckChainCshWllt")]
#[cfg_attr(feature = "serde", serde(rename = "BlckChainCshWllt"))]
pub blck_chain_csh_wllt: Option<BlockChainAddressWallet11>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<RestrictedFINX2Max34Text>,
}
impl Validate for CashAccountIdentification10Choice {}
#[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:seev.041.002.14")]
pub struct CorporateActionEventType115Choice {
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: Option<CorporateActionEventType40Code>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<GenericIdentification47>,
}
impl Validate for CorporateActionEventType115Choice {}
#[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:seev.041.002.14")]
pub enum CorporateActionEventType40Code {
#[yaserde(rename = "ACTV")]
#[cfg_attr(feature = "serde", serde(rename = "ACTV"))]
Actv,
#[yaserde(rename = "ATTI")]
#[cfg_attr(feature = "serde", serde(rename = "ATTI"))]
Atti,
#[yaserde(rename = "BRUP")]
#[cfg_attr(feature = "serde", serde(rename = "BRUP"))]
Brup,
#[yaserde(rename = "DFLT")]
#[cfg_attr(feature = "serde", serde(rename = "DFLT"))]
Dflt,
#[yaserde(rename = "BONU")]
#[cfg_attr(feature = "serde", serde(rename = "BONU"))]
Bonu,
#[yaserde(rename = "EXRI")]
#[cfg_attr(feature = "serde", serde(rename = "EXRI"))]
Exri,
#[yaserde(rename = "CAPD")]
#[cfg_attr(feature = "serde", serde(rename = "CAPD"))]
Capd,
#[yaserde(rename = "CAPG")]
#[cfg_attr(feature = "serde", serde(rename = "CAPG"))]
Capg,
#[yaserde(rename = "CAPI")]
#[cfg_attr(feature = "serde", serde(rename = "CAPI"))]
Capi,
#[yaserde(rename = "DRCA")]
#[cfg_attr(feature = "serde", serde(rename = "DRCA"))]
Drca,
#[yaserde(rename = "DVCA")]
#[cfg_attr(feature = "serde", serde(rename = "DVCA"))]
Dvca,
#[yaserde(rename = "CHAN")]
#[cfg_attr(feature = "serde", serde(rename = "CHAN"))]
Chan,
#[yaserde(rename = "COOP")]
#[cfg_attr(feature = "serde", serde(rename = "COOP"))]
Coop,
#[yaserde(rename = "CLSA")]
#[cfg_attr(feature = "serde", serde(rename = "CLSA"))]
Clsa,
#[yaserde(rename = "CONS")]
#[cfg_attr(feature = "serde", serde(rename = "CONS"))]
Cons,
#[yaserde(rename = "CONV")]
#[cfg_attr(feature = "serde", serde(rename = "CONV"))]
Conv,
#[yaserde(rename = "CREV")]
#[cfg_attr(feature = "serde", serde(rename = "CREV"))]
Crev,
#[yaserde(rename = "DECR")]
#[cfg_attr(feature = "serde", serde(rename = "DECR"))]
Decr,
#[yaserde(rename = "DETI")]
#[cfg_attr(feature = "serde", serde(rename = "DETI"))]
Deti,
#[yaserde(rename = "DSCL")]
#[cfg_attr(feature = "serde", serde(rename = "DSCL"))]
Dscl,
#[yaserde(rename = "DVOP")]
#[cfg_attr(feature = "serde", serde(rename = "DVOP"))]
Dvop,
#[yaserde(rename = "DRIP")]
#[cfg_attr(feature = "serde", serde(rename = "DRIP"))]
Drip,
#[yaserde(rename = "DRAW")]
#[cfg_attr(feature = "serde", serde(rename = "DRAW"))]
Draw,
#[yaserde(rename = "DTCH")]
#[cfg_attr(feature = "serde", serde(rename = "DTCH"))]
Dtch,
#[yaserde(rename = "EXOF")]
#[cfg_attr(feature = "serde", serde(rename = "EXOF"))]
Exof,
#[yaserde(rename = "REDM")]
#[cfg_attr(feature = "serde", serde(rename = "REDM"))]
Redm,
#[yaserde(rename = "MCAL")]
#[cfg_attr(feature = "serde", serde(rename = "MCAL"))]
Mcal,
#[yaserde(rename = "INCR")]
#[cfg_attr(feature = "serde", serde(rename = "INCR"))]
Incr,
#[yaserde(rename = "PPMT")]
#[cfg_attr(feature = "serde", serde(rename = "PPMT"))]
Ppmt,
#[yaserde(rename = "INTR")]
#[cfg_attr(feature = "serde", serde(rename = "INTR"))]
Intr,
#[yaserde(rename = "RHDI")]
#[cfg_attr(feature = "serde", serde(rename = "RHDI"))]
Rhdi,
#[yaserde(rename = "LIQU")]
#[cfg_attr(feature = "serde", serde(rename = "LIQU"))]
Liqu,
#[yaserde(rename = "EXTM")]
#[cfg_attr(feature = "serde", serde(rename = "EXTM"))]
Extm,
#[yaserde(rename = "MRGR")]
#[cfg_attr(feature = "serde", serde(rename = "MRGR"))]
Mrgr,
#[yaserde(rename = "NOOF")]
#[cfg_attr(feature = "serde", serde(rename = "NOOF"))]
Noof,
#[yaserde(rename = "CERT")]
#[cfg_attr(feature = "serde", serde(rename = "CERT"))]
Cert,
#[yaserde(rename = "ODLT")]
#[cfg_attr(feature = "serde", serde(rename = "ODLT"))]
Odlt,
#[yaserde(rename = "OTHR")]
#[cfg_attr(feature = "serde", serde(rename = "OTHR"))]
Othr,
#[yaserde(rename = "PARI")]
#[cfg_attr(feature = "serde", serde(rename = "PARI"))]
Pari,
#[yaserde(rename = "PCAL")]
#[cfg_attr(feature = "serde", serde(rename = "PCAL"))]
Pcal,
#[yaserde(rename = "PRED")]
#[cfg_attr(feature = "serde", serde(rename = "PRED"))]
Pred,
#[yaserde(rename = "PINK")]
#[cfg_attr(feature = "serde", serde(rename = "PINK"))]
Pink,
#[yaserde(rename = "PLAC")]
#[cfg_attr(feature = "serde", serde(rename = "PLAC"))]
Plac,
#[yaserde(rename = "PDEF")]
#[cfg_attr(feature = "serde", serde(rename = "PDEF"))]
Pdef,
#[yaserde(rename = "PRIO")]
#[cfg_attr(feature = "serde", serde(rename = "PRIO"))]
Prio,
#[yaserde(rename = "BPUT")]
#[cfg_attr(feature = "serde", serde(rename = "BPUT"))]
Bput,
#[yaserde(rename = "REDO")]
#[cfg_attr(feature = "serde", serde(rename = "REDO"))]
Redo,
#[yaserde(rename = "REMK")]
#[cfg_attr(feature = "serde", serde(rename = "REMK"))]
Remk,
#[yaserde(rename = "BIDS")]
#[cfg_attr(feature = "serde", serde(rename = "BIDS"))]
Bids,
#[yaserde(rename = "SPLR")]
#[cfg_attr(feature = "serde", serde(rename = "SPLR"))]
Splr,
#[yaserde(rename = "RHTS")]
#[cfg_attr(feature = "serde", serde(rename = "RHTS"))]
Rhts,
#[yaserde(rename = "DVSC")]
#[cfg_attr(feature = "serde", serde(rename = "DVSC"))]
Dvsc,
#[yaserde(rename = "SHPR")]
#[cfg_attr(feature = "serde", serde(rename = "SHPR"))]
Shpr,
#[yaserde(rename = "SMAL")]
#[cfg_attr(feature = "serde", serde(rename = "SMAL"))]
Smal,
#[yaserde(rename = "SOFF")]
#[cfg_attr(feature = "serde", serde(rename = "SOFF"))]
Soff,
#[yaserde(rename = "DVSE")]
#[cfg_attr(feature = "serde", serde(rename = "DVSE"))]
Dvse,
#[yaserde(rename = "SPLF")]
#[cfg_attr(feature = "serde", serde(rename = "SPLF"))]
Splf,
#[yaserde(rename = "TREC")]
#[cfg_attr(feature = "serde", serde(rename = "TREC"))]
Trec,
#[yaserde(rename = "TEND")]
#[cfg_attr(feature = "serde", serde(rename = "TEND"))]
Tend,
#[yaserde(rename = "DLST")]
#[cfg_attr(feature = "serde", serde(rename = "DLST"))]
Dlst,
#[yaserde(rename = "SUSP")]
#[cfg_attr(feature = "serde", serde(rename = "SUSP"))]
Susp,
#[yaserde(rename = "EXWA")]
#[cfg_attr(feature = "serde", serde(rename = "EXWA"))]
Exwa,
#[yaserde(rename = "WTRC")]
#[cfg_attr(feature = "serde", serde(rename = "WTRC"))]
Wtrc,
#[yaserde(rename = "WRTH")]
#[cfg_attr(feature = "serde", serde(rename = "WRTH"))]
Wrth,
#[yaserde(rename = "ACCU")]
#[cfg_attr(feature = "serde", serde(rename = "ACCU"))]
Accu,
__Unknown__(String),
}
impl Default for CorporateActionEventType40Code {
fn default() -> CorporateActionEventType40Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for CorporateActionEventType40Code {}
#[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:seev.041.002.14")]
pub struct CorporateActionGeneralInformation186 {
#[yaserde(rename = "CorpActnEvtId")]
#[cfg_attr(feature = "serde", serde(rename = "CorpActnEvtId"))]
pub corp_actn_evt_id: RestrictedFINXMax16Text,
#[yaserde(rename = "OffclCorpActnEvtId")]
#[cfg_attr(feature = "serde", serde(rename = "OffclCorpActnEvtId"))]
pub offcl_corp_actn_evt_id: RestrictedFINXMax16Text,
#[yaserde(rename = "ClssActnNb")]
#[cfg_attr(feature = "serde", serde(rename = "ClssActnNb"))]
pub clss_actn_nb: RestrictedFINXMax16Text,
#[yaserde(rename = "EvtTp")]
#[cfg_attr(feature = "serde", serde(rename = "EvtTp"))]
pub evt_tp: CorporateActionEventType115Choice,
}
impl Validate for CorporateActionGeneralInformation186 {}
#[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:seev.041.002.14")]
pub struct CorporateActionInstructionCancellationRequestStatusAdvice002V14 {
#[yaserde(rename = "InstrCxlReqId")]
#[cfg_attr(feature = "serde", serde(rename = "InstrCxlReqId"))]
pub instr_cxl_req_id: DocumentIdentification17,
#[yaserde(rename = "OthrDocId")]
#[cfg_attr(feature = "serde", serde(rename = "OthrDocId"))]
pub othr_doc_id: Vec<DocumentIdentification34>,
#[yaserde(rename = "CorpActnGnlInf")]
#[cfg_attr(feature = "serde", serde(rename = "CorpActnGnlInf"))]
pub corp_actn_gnl_inf: CorporateActionGeneralInformation186,
#[yaserde(rename = "InstrCxlReqSts")]
#[cfg_attr(feature = "serde", serde(rename = "InstrCxlReqSts"))]
pub instr_cxl_req_sts: Vec<InstructionCancellationRequestStatus18Choice>,
#[yaserde(rename = "CorpActnInstr")]
#[cfg_attr(feature = "serde", serde(rename = "CorpActnInstr"))]
pub corp_actn_instr: CorporateActionOption241,
#[yaserde(rename = "PrtctInstr")]
#[cfg_attr(feature = "serde", serde(rename = "PrtctInstr"))]
pub prtct_instr: ProtectInstruction8,
#[yaserde(rename = "AddtlInf")]
#[cfg_attr(feature = "serde", serde(rename = "AddtlInf"))]
pub addtl_inf: CorporateActionNarrative19,
#[yaserde(rename = "SplmtryData")]
#[cfg_attr(feature = "serde", serde(rename = "SplmtryData"))]
pub splmtry_data: Vec<SupplementaryData1>,
}
impl Validate for CorporateActionInstructionCancellationRequestStatusAdvice002V14 {}
#[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:seev.041.002.14")]
pub struct CorporateActionNarrative19 {
#[yaserde(rename = "AddtlTxt")]
#[cfg_attr(feature = "serde", serde(rename = "AddtlTxt"))]
pub addtl_txt: Vec<RestrictedFINXMax350Text>,
#[yaserde(rename = "PtyCtctNrrtv")]
#[cfg_attr(feature = "serde", serde(rename = "PtyCtctNrrtv"))]
pub pty_ctct_nrrtv: Vec<RestrictedFINXMax350Text>,
}
impl Validate for CorporateActionNarrative19 {}
#[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:seev.041.002.14")]
pub enum CorporateActionOption17Code {
#[yaserde(rename = "ABST")]
#[cfg_attr(feature = "serde", serde(rename = "ABST"))]
Abst,
#[yaserde(rename = "BSPL")]
#[cfg_attr(feature = "serde", serde(rename = "BSPL"))]
Bspl,
#[yaserde(rename = "BUYA")]
#[cfg_attr(feature = "serde", serde(rename = "BUYA"))]
Buya,
#[yaserde(rename = "CASE")]
#[cfg_attr(feature = "serde", serde(rename = "CASE"))]
Case,
#[yaserde(rename = "CASH")]
#[cfg_attr(feature = "serde", serde(rename = "CASH"))]
Cash,
#[yaserde(rename = "CEXC")]
#[cfg_attr(feature = "serde", serde(rename = "CEXC"))]
Cexc,
#[yaserde(rename = "CONN")]
#[cfg_attr(feature = "serde", serde(rename = "CONN"))]
Conn,
#[yaserde(rename = "CONY")]
#[cfg_attr(feature = "serde", serde(rename = "CONY"))]
Cony,
#[yaserde(rename = "CTEN")]
#[cfg_attr(feature = "serde", serde(rename = "CTEN"))]
Cten,
#[yaserde(rename = "EXER")]
#[cfg_attr(feature = "serde", serde(rename = "EXER"))]
Exer,
#[yaserde(rename = "LAPS")]
#[cfg_attr(feature = "serde", serde(rename = "LAPS"))]
Laps,
#[yaserde(rename = "MKDW")]
#[cfg_attr(feature = "serde", serde(rename = "MKDW"))]
Mkdw,
#[yaserde(rename = "MKUP")]
#[cfg_attr(feature = "serde", serde(rename = "MKUP"))]
Mkup,
#[yaserde(rename = "MPUT")]
#[cfg_attr(feature = "serde", serde(rename = "MPUT"))]
Mput,
#[yaserde(rename = "NOAC")]
#[cfg_attr(feature = "serde", serde(rename = "NOAC"))]
Noac,
#[yaserde(rename = "NOQU")]
#[cfg_attr(feature = "serde", serde(rename = "NOQU"))]
Noqu,
#[yaserde(rename = "OFFR")]
#[cfg_attr(feature = "serde", serde(rename = "OFFR"))]
Offr,
#[yaserde(rename = "OTHR")]
#[cfg_attr(feature = "serde", serde(rename = "OTHR"))]
Othr,
#[yaserde(rename = "OVER")]
#[cfg_attr(feature = "serde", serde(rename = "OVER"))]
Over,
#[yaserde(rename = "QINV")]
#[cfg_attr(feature = "serde", serde(rename = "QINV"))]
Qinv,
#[yaserde(rename = "SECU")]
#[cfg_attr(feature = "serde", serde(rename = "SECU"))]
Secu,
#[yaserde(rename = "SLLE")]
#[cfg_attr(feature = "serde", serde(rename = "SLLE"))]
Slle,
#[yaserde(rename = "TAXI")]
#[cfg_attr(feature = "serde", serde(rename = "TAXI"))]
Taxi,
#[yaserde(rename = "PRUN")]
#[cfg_attr(feature = "serde", serde(rename = "PRUN"))]
Prun,
#[yaserde(rename = "BOBD")]
#[cfg_attr(feature = "serde", serde(rename = "BOBD"))]
Bobd,
__Unknown__(String),
}
impl Default for CorporateActionOption17Code {
fn default() -> CorporateActionOption17Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for CorporateActionOption17Code {}
#[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:seev.041.002.14")]
pub struct CorporateActionOption241 {
#[yaserde(rename = "OptnNb")]
#[cfg_attr(feature = "serde", serde(rename = "OptnNb"))]
pub optn_nb: OptionNumber1Choice,
#[yaserde(rename = "OptnTp")]
#[cfg_attr(feature = "serde", serde(rename = "OptnTp"))]
pub optn_tp: CorporateActionOption42Choice,
#[yaserde(rename = "OptnFeatrs")]
#[cfg_attr(feature = "serde", serde(rename = "OptnFeatrs"))]
pub optn_featrs: OptionFeaturesFormat27Choice,
#[yaserde(rename = "AcctOwnr")]
#[cfg_attr(feature = "serde", serde(rename = "AcctOwnr"))]
pub acct_ownr: PartyIdentification136Choice,
#[yaserde(rename = "SfkpgAcct")]
#[cfg_attr(feature = "serde", serde(rename = "SfkpgAcct"))]
pub sfkpg_acct: RestrictedFINXMax35Text,
#[yaserde(rename = "BlckChainAdrOrWllt")]
#[cfg_attr(feature = "serde", serde(rename = "BlckChainAdrOrWllt"))]
pub blck_chain_adr_or_wllt: RestrictedFINXMax140Text,
#[yaserde(rename = "CshAcct")]
#[cfg_attr(feature = "serde", serde(rename = "CshAcct"))]
pub csh_acct: CashAccountIdentification10Choice,
#[yaserde(rename = "SfkpgPlc")]
#[cfg_attr(feature = "serde", serde(rename = "SfkpgPlc"))]
pub sfkpg_plc: SafekeepingPlaceFormat44Choice,
#[yaserde(rename = "FinInstrmId")]
#[cfg_attr(feature = "serde", serde(rename = "FinInstrmId"))]
pub fin_instrm_id: SecurityIdentification20,
#[yaserde(rename = "TtlElgblBal")]
#[cfg_attr(feature = "serde", serde(rename = "TtlElgblBal"))]
pub ttl_elgbl_bal: SignedQuantityFormat12,
#[yaserde(rename = "InstdBal")]
#[cfg_attr(feature = "serde", serde(rename = "InstdBal"))]
pub instd_bal: SignedQuantityFormat12,
#[yaserde(rename = "UinstdBal")]
#[cfg_attr(feature = "serde", serde(rename = "UinstdBal"))]
pub uinstd_bal: SignedQuantityFormat12,
#[yaserde(rename = "PrtctBal")]
#[cfg_attr(feature = "serde", serde(rename = "PrtctBal"))]
pub prtct_bal: SignedQuantityFormat12,
#[yaserde(rename = "StsQty")]
#[cfg_attr(feature = "serde", serde(rename = "StsQty"))]
pub sts_qty: Quantity54Choice,
#[yaserde(rename = "StsCshAmt")]
#[cfg_attr(feature = "serde", serde(rename = "StsCshAmt"))]
pub sts_csh_amt: RestrictedFINActiveCurrencyAndAmount,
}
impl Validate for CorporateActionOption241 {}
#[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:seev.041.002.14")]
pub struct CorporateActionOption42Choice {
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: Option<CorporateActionOption17Code>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<GenericIdentification47>,
}
impl Validate for CorporateActionOption42Choice {}
#[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)]
pub struct Dti2024Identifier (pub String);
crate::simple_type!(Dti2024Identifier);
impl Validate for Dti2024Identifier {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:seev.041.002.14")]
pub struct Document {
#[yaserde(rename = "CorpActnInstrCxlReqStsAdvc")]
#[cfg_attr(feature = "serde", serde(rename = "CorpActnInstrCxlReqStsAdvc"))]
pub corp_actn_instr_cxl_req_sts_advc: CorporateActionInstructionCancellationRequestStatusAdvice002V14,
}
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:seev.041.002.14")]
pub struct DocumentIdentification17 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: RestrictedFINXMax16Text,
}
impl Validate for DocumentIdentification17 {}
#[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:seev.041.002.14")]
pub struct DocumentIdentification34 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: DocumentIdentification4Choice,
#[yaserde(rename = "DocNb")]
#[cfg_attr(feature = "serde", serde(rename = "DocNb"))]
pub doc_nb: DocumentNumber6Choice,
}
impl Validate for DocumentIdentification34 {}
#[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:seev.041.002.14")]
pub struct DocumentIdentification4Choice {
#[yaserde(rename = "AcctSvcrDocId")]
#[cfg_attr(feature = "serde", serde(rename = "AcctSvcrDocId"))]
pub acct_svcr_doc_id: Option<RestrictedFINXMax16Text>,
#[yaserde(rename = "AcctOwnrDocId")]
#[cfg_attr(feature = "serde", serde(rename = "AcctOwnrDocId"))]
pub acct_ownr_doc_id: Option<RestrictedFINXMax16Text>,
}
impl Validate for DocumentIdentification4Choice {}
#[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:seev.041.002.14")]
pub struct DocumentNumber6Choice {
#[yaserde(rename = "ShrtNb")]
#[cfg_attr(feature = "serde", serde(rename = "ShrtNb"))]
pub shrt_nb: Option<Exact3NumericText>,
#[yaserde(rename = "LngNb")]
#[cfg_attr(feature = "serde", serde(rename = "LngNb"))]
pub lng_nb: Option<Iso20022MessageIdentificationText>,
#[yaserde(rename = "PrtryNb")]
#[cfg_attr(feature = "serde", serde(rename = "PrtryNb"))]
pub prtry_nb: Option<GenericIdentification86>,
}
impl Validate for DocumentNumber6Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Exact3NumericText (pub String);
crate::simple_type!(Exact3NumericText);
impl Validate for Exact3NumericText {}
#[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 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:seev.041.002.14")]
pub struct FinancialInstrumentQuantity31Choice {
#[yaserde(rename = "Unit")]
#[cfg_attr(feature = "serde", serde(rename = "Unit"))]
pub unit: Option<RestrictedFINDecimalNumber>,
#[yaserde(rename = "FaceAmt")]
#[cfg_attr(feature = "serde", serde(rename = "FaceAmt"))]
pub face_amt: Option<RestrictedFINImpliedCurrencyAndAmount>,
}
impl Validate for FinancialInstrumentQuantity31Choice {}
#[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:seev.041.002.14")]
pub struct FinancialInstrumentQuantity36Choice {
#[yaserde(rename = "Unit")]
#[cfg_attr(feature = "serde", serde(rename = "Unit"))]
pub unit: Option<RestrictedFINDecimalNumber>,
#[yaserde(rename = "FaceAmt")]
#[cfg_attr(feature = "serde", serde(rename = "FaceAmt"))]
pub face_amt: Option<RestrictedFINImpliedCurrencyAndAmount>,
#[yaserde(rename = "AmtsdVal")]
#[cfg_attr(feature = "serde", serde(rename = "AmtsdVal"))]
pub amtsd_val: Option<RestrictedFINImpliedCurrencyAndAmount>,
#[yaserde(rename = "DgtlTknUnit")]
#[cfg_attr(feature = "serde", serde(rename = "DgtlTknUnit"))]
pub dgtl_tkn_unit: Option<Max30DecimalNumber>,
}
impl Validate for FinancialInstrumentQuantity36Choice {}
#[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:seev.041.002.14")]
pub struct GenericIdentification47 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Exact4AlphaNumericText,
#[yaserde(rename = "Issr")]
#[cfg_attr(feature = "serde", serde(rename = "Issr"))]
pub issr: Max4AlphaNumericText,
#[yaserde(rename = "SchmeNm")]
#[cfg_attr(feature = "serde", serde(rename = "SchmeNm"))]
pub schme_nm: Max4AlphaNumericText,
}
impl Validate for GenericIdentification47 {}
#[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:seev.041.002.14")]
pub struct GenericIdentification84 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: RestrictedFINXMax34Text,
#[yaserde(rename = "Issr")]
#[cfg_attr(feature = "serde", serde(rename = "Issr"))]
pub issr: Max4AlphaNumericText,
#[yaserde(rename = "SchmeNm")]
#[cfg_attr(feature = "serde", serde(rename = "SchmeNm"))]
pub schme_nm: Max4AlphaNumericText,
}
impl Validate for GenericIdentification84 {}
#[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:seev.041.002.14")]
pub struct GenericIdentification85 {
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: GenericIdentification47,
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: RestrictedFINXMax30Text,
}
impl Validate for GenericIdentification85 {}
#[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:seev.041.002.14")]
pub struct GenericIdentification86 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: RestrictedFINXMax30Text,
#[yaserde(rename = "Issr")]
#[cfg_attr(feature = "serde", serde(rename = "Issr"))]
pub issr: Max4AlphaNumericText,
#[yaserde(rename = "SchmeNm")]
#[cfg_attr(feature = "serde", serde(rename = "SchmeNm"))]
pub schme_nm: Max4AlphaNumericText,
}
impl Validate for GenericIdentification86 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Iban2007Identifier (pub String);
crate::simple_type!(Iban2007Identifier);
impl Validate for Iban2007Identifier {}
#[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 Iso20022MessageIdentificationText (pub String);
crate::simple_type!(Iso20022MessageIdentificationText);
impl Validate for Iso20022MessageIdentificationText {}
#[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, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:seev.041.002.14")]
pub struct IdentificationSource4Choice {
#[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<RestrictedFINExact2Text>,
}
impl Validate for IdentificationSource4Choice {}
#[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:seev.041.002.14")]
pub struct InstructionCancellationRequestStatus18Choice {
#[yaserde(rename = "CxlCmpltd")]
#[cfg_attr(feature = "serde", serde(rename = "CxlCmpltd"))]
pub cxl_cmpltd: Option<CancelledStatus14Choice>,
#[yaserde(rename = "Accptd")]
#[cfg_attr(feature = "serde", serde(rename = "Accptd"))]
pub accptd: Option<NoSpecifiedReason1>,
#[yaserde(rename = "Rjctd")]
#[cfg_attr(feature = "serde", serde(rename = "Rjctd"))]
pub rjctd: Option<RejectedStatus54Choice>,
#[yaserde(rename = "PdgCxl")]
#[cfg_attr(feature = "serde", serde(rename = "PdgCxl"))]
pub pdg_cxl: Option<PendingCancellationStatus15Choice>,
#[yaserde(rename = "PrtrySts")]
#[cfg_attr(feature = "serde", serde(rename = "PrtrySts"))]
pub prtry_sts: Option<ProprietaryStatusAndReason7>,
}
impl Validate for InstructionCancellationRequestStatus18Choice {}
#[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 Max30DecimalNumber (pub String);
crate::simple_type!(Max30DecimalNumber);
impl Validate for Max30DecimalNumber {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct 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 Max4AlphaNumericText (pub String);
crate::simple_type!(Max4AlphaNumericText);
impl Validate for Max4AlphaNumericText {
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 Max70Text (pub String);
crate::simple_type!(Max70Text);
impl Validate for Max70Text {
fn validate(&self) -> Result<(), String> {
#[allow(clippy::len_zero)]
if self.0.len() < 1 {
return Err(format!("MinLength validation error. \nExpected: 0 length >= 1 \nActual: 0 length == {}", self.0.len()));
}
if self.0.len() > 70 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 70 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(PartialEq, Debug, Clone, YaSerialize, YaDeserialize)]#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:seev.041.002.14")]
pub enum NoReasonCode {
#[yaserde(rename = "NORE")]
#[cfg_attr(feature = "serde", serde(rename = "NORE"))]
Nore,
__Unknown__(String),
}
impl Default for NoReasonCode {
fn default() -> NoReasonCode {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for NoReasonCode {}
#[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:seev.041.002.14")]
pub struct NoSpecifiedReason1 {
#[yaserde(rename = "NoSpcfdRsn")]
#[cfg_attr(feature = "serde", serde(rename = "NoSpcfdRsn"))]
pub no_spcfd_rsn: NoReasonCode,
}
impl Validate for NoSpecifiedReason1 {}
#[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:seev.041.002.14")]
pub enum OptionFeatures12Code {
#[yaserde(rename = "OPLF")]
#[cfg_attr(feature = "serde", serde(rename = "OPLF"))]
Oplf,
__Unknown__(String),
}
impl Default for OptionFeatures12Code {
fn default() -> OptionFeatures12Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for OptionFeatures12Code {}
#[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:seev.041.002.14")]
pub struct OptionFeaturesFormat27Choice {
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: Option<OptionFeatures12Code>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<GenericIdentification47>,
}
impl Validate for OptionFeaturesFormat27Choice {}
#[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:seev.041.002.14")]
pub struct OptionNumber1Choice {
#[yaserde(rename = "Nb")]
#[cfg_attr(feature = "serde", serde(rename = "Nb"))]
pub nb: Option<Exact3NumericText>,
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: Option<OptionNumber1Code>,
}
impl Validate for OptionNumber1Choice {}
#[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:seev.041.002.14")]
pub enum OptionNumber1Code {
#[yaserde(rename = "UNSO")]
#[cfg_attr(feature = "serde", serde(rename = "UNSO"))]
Unso,
__Unknown__(String),
}
impl Default for OptionNumber1Code {
fn default() -> OptionNumber1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for OptionNumber1Code {}
#[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:seev.041.002.14")]
pub struct OriginalAndCurrentQuantities4 {
#[yaserde(rename = "FaceAmt")]
#[cfg_attr(feature = "serde", serde(rename = "FaceAmt"))]
pub face_amt: RestrictedFINImpliedCurrencyAndAmount,
#[yaserde(rename = "AmtsdVal")]
#[cfg_attr(feature = "serde", serde(rename = "AmtsdVal"))]
pub amtsd_val: RestrictedFINImpliedCurrencyAndAmount,
}
impl Validate for OriginalAndCurrentQuantities4 {}
#[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:seev.041.002.14")]
pub struct OtherIdentification2 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: RestrictedFINXMax31Text,
#[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: IdentificationSource4Choice,
}
impl Validate for OtherIdentification2 {}
#[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:seev.041.002.14")]
pub struct PartyIdentification136Choice {
#[yaserde(rename = "AnyBIC")]
#[cfg_attr(feature = "serde", serde(rename = "AnyBIC"))]
pub any_b_i_c: Option<AnyBICDec2014Identifier>,
#[yaserde(rename = "PrtryId")]
#[cfg_attr(feature = "serde", serde(rename = "PrtryId"))]
pub prtry_id: Option<GenericIdentification84>,
}
impl Validate for PartyIdentification136Choice {}
#[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:seev.041.002.14")]
pub enum PendingCancellationReason5Code {
#[yaserde(rename = "ADEA")]
#[cfg_attr(feature = "serde", serde(rename = "ADEA"))]
Adea,
#[yaserde(rename = "DQUA")]
#[cfg_attr(feature = "serde", serde(rename = "DQUA"))]
Dqua,
#[yaserde(rename = "DQCS")]
#[cfg_attr(feature = "serde", serde(rename = "DQCS"))]
Dqcs,
#[yaserde(rename = "LATE")]
#[cfg_attr(feature = "serde", serde(rename = "LATE"))]
Late,
#[yaserde(rename = "OTHR")]
#[cfg_attr(feature = "serde", serde(rename = "OTHR"))]
Othr,
__Unknown__(String),
}
impl Default for PendingCancellationReason5Code {
fn default() -> PendingCancellationReason5Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for PendingCancellationReason5Code {}
#[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:seev.041.002.14")]
pub struct PendingCancellationReason6Choice {
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: Option<PendingCancellationReason5Code>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<GenericIdentification47>,
}
impl Validate for PendingCancellationReason6Choice {}
#[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:seev.041.002.14")]
pub struct PendingCancellationStatus15Choice {
#[yaserde(rename = "NoSpcfdRsn")]
#[cfg_attr(feature = "serde", serde(rename = "NoSpcfdRsn"))]
pub no_spcfd_rsn: Option<NoReasonCode>,
#[yaserde(rename = "Rsn")]
#[cfg_attr(feature = "serde", serde(rename = "Rsn"))]
pub rsn: Vec<PendingCancellationStatusReason8>,
}
impl Validate for PendingCancellationStatus15Choice {}
#[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:seev.041.002.14")]
pub struct PendingCancellationStatusReason8 {
#[yaserde(rename = "RsnCd")]
#[cfg_attr(feature = "serde", serde(rename = "RsnCd"))]
pub rsn_cd: PendingCancellationReason6Choice,
#[yaserde(rename = "AddtlRsnInf")]
#[cfg_attr(feature = "serde", serde(rename = "AddtlRsnInf"))]
pub addtl_rsn_inf: RestrictedFINXMax210Text,
}
impl Validate for PendingCancellationStatusReason8 {}
#[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:seev.041.002.14")]
pub struct ProprietaryQuantity9 {
#[yaserde(rename = "Qty")]
#[cfg_attr(feature = "serde", serde(rename = "Qty"))]
pub qty: RestrictedFINDecimalNumber,
#[yaserde(rename = "QtyTp")]
#[cfg_attr(feature = "serde", serde(rename = "QtyTp"))]
pub qty_tp: Exact4AlphaNumericText,
#[yaserde(rename = "Issr")]
#[cfg_attr(feature = "serde", serde(rename = "Issr"))]
pub issr: Max4AlphaNumericText,
#[yaserde(rename = "SchmeNm")]
#[cfg_attr(feature = "serde", serde(rename = "SchmeNm"))]
pub schme_nm: Max4AlphaNumericText,
}
impl Validate for ProprietaryQuantity9 {}
#[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:seev.041.002.14")]
pub struct ProprietaryReason5 {
#[yaserde(rename = "Rsn")]
#[cfg_attr(feature = "serde", serde(rename = "Rsn"))]
pub rsn: GenericIdentification47,
#[yaserde(rename = "AddtlRsnInf")]
#[cfg_attr(feature = "serde", serde(rename = "AddtlRsnInf"))]
pub addtl_rsn_inf: RestrictedFINXMax210Text,
}
impl Validate for ProprietaryReason5 {}
#[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:seev.041.002.14")]
pub struct ProprietaryStatusAndReason7 {
#[yaserde(rename = "PrtrySts")]
#[cfg_attr(feature = "serde", serde(rename = "PrtrySts"))]
pub prtry_sts: GenericIdentification47,
#[yaserde(rename = "PrtryRsn")]
#[cfg_attr(feature = "serde", serde(rename = "PrtryRsn"))]
pub prtry_rsn: Vec<ProprietaryReason5>,
}
impl Validate for ProprietaryStatusAndReason7 {}
#[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:seev.041.002.14")]
pub struct ProtectInstruction8 {
#[yaserde(rename = "TxTp")]
#[cfg_attr(feature = "serde", serde(rename = "TxTp"))]
pub tx_tp: ProtectTransactionType3Code,
#[yaserde(rename = "PrtctTxSts")]
#[cfg_attr(feature = "serde", serde(rename = "PrtctTxSts"))]
pub prtct_tx_sts: ProtectInstructionStatus4Code,
#[yaserde(rename = "TxId")]
#[cfg_attr(feature = "serde", serde(rename = "TxId"))]
pub tx_id: RestrictedFINMax15Text,
#[yaserde(rename = "PrtctDt")]
#[cfg_attr(feature = "serde", serde(rename = "PrtctDt"))]
pub prtct_dt: Isodate,
#[yaserde(rename = "UcvrdPrtctQty")]
#[cfg_attr(feature = "serde", serde(rename = "UcvrdPrtctQty"))]
pub ucvrd_prtct_qty: FinancialInstrumentQuantity31Choice,
}
impl Validate for ProtectInstruction8 {}
#[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:seev.041.002.14")]
pub enum ProtectInstructionStatus4Code {
#[yaserde(rename = "OPEN")]
#[cfg_attr(feature = "serde", serde(rename = "OPEN"))]
Open,
__Unknown__(String),
}
impl Default for ProtectInstructionStatus4Code {
fn default() -> ProtectInstructionStatus4Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for ProtectInstructionStatus4Code {}
#[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:seev.041.002.14")]
pub enum ProtectTransactionType3Code {
#[yaserde(rename = "PROT")]
#[cfg_attr(feature = "serde", serde(rename = "PROT"))]
Prot,
__Unknown__(String),
}
impl Default for ProtectTransactionType3Code {
fn default() -> ProtectTransactionType3Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for ProtectTransactionType3Code {}
#[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:seev.041.002.14")]
pub struct Quantity53Choice {
#[yaserde(rename = "Qty")]
#[cfg_attr(feature = "serde", serde(rename = "Qty"))]
pub qty: Option<FinancialInstrumentQuantity36Choice>,
#[yaserde(rename = "PrtryQty")]
#[cfg_attr(feature = "serde", serde(rename = "PrtryQty"))]
pub prtry_qty: Option<ProprietaryQuantity9>,
}
impl Validate for Quantity53Choice {}
#[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:seev.041.002.14")]
pub struct Quantity54Choice {
#[yaserde(rename = "Qty")]
#[cfg_attr(feature = "serde", serde(rename = "Qty"))]
pub qty: Option<FinancialInstrumentQuantity36Choice>,
#[yaserde(rename = "OrgnlAndCurFace")]
#[cfg_attr(feature = "serde", serde(rename = "OrgnlAndCurFace"))]
pub orgnl_and_cur_face: Option<OriginalAndCurrentQuantities4>,
}
impl Validate for Quantity54Choice {}
#[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:seev.041.002.14")]
pub struct RejectedReason56Choice {
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: Option<RejectionReason79Code>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<GenericIdentification47>,
}
impl Validate for RejectedReason56Choice {}
#[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:seev.041.002.14")]
pub struct RejectedStatus54Choice {
#[yaserde(rename = "NoSpcfdRsn")]
#[cfg_attr(feature = "serde", serde(rename = "NoSpcfdRsn"))]
pub no_spcfd_rsn: Option<NoReasonCode>,
#[yaserde(rename = "Rsn")]
#[cfg_attr(feature = "serde", serde(rename = "Rsn"))]
pub rsn: Vec<RejectedStatusReason53>,
}
impl Validate for RejectedStatus54Choice {}
#[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:seev.041.002.14")]
pub struct RejectedStatusReason53 {
#[yaserde(rename = "RsnCd")]
#[cfg_attr(feature = "serde", serde(rename = "RsnCd"))]
pub rsn_cd: RejectedReason56Choice,
#[yaserde(rename = "AddtlRsnInf")]
#[cfg_attr(feature = "serde", serde(rename = "AddtlRsnInf"))]
pub addtl_rsn_inf: RestrictedFINXMax210Text,
}
impl Validate for RejectedStatusReason53 {}
#[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:seev.041.002.14")]
pub enum RejectionReason79Code {
#[yaserde(rename = "ADEA")]
#[cfg_attr(feature = "serde", serde(rename = "ADEA"))]
Adea,
#[yaserde(rename = "INIR")]
#[cfg_attr(feature = "serde", serde(rename = "INIR"))]
Inir,
#[yaserde(rename = "ULNK")]
#[cfg_attr(feature = "serde", serde(rename = "ULNK"))]
Ulnk,
#[yaserde(rename = "LATE")]
#[cfg_attr(feature = "serde", serde(rename = "LATE"))]
Late,
#[yaserde(rename = "OTHR")]
#[cfg_attr(feature = "serde", serde(rename = "OTHR"))]
Othr,
#[yaserde(rename = "DCAN")]
#[cfg_attr(feature = "serde", serde(rename = "DCAN"))]
Dcan,
#[yaserde(rename = "DPRG")]
#[cfg_attr(feature = "serde", serde(rename = "DPRG"))]
Dprg,
#[yaserde(rename = "REJA")]
#[cfg_attr(feature = "serde", serde(rename = "REJA"))]
Reja,
#[yaserde(rename = "CTCT")]
#[cfg_attr(feature = "serde", serde(rename = "CTCT"))]
Ctct,
#[yaserde(rename = "DSEC")]
#[cfg_attr(feature = "serde", serde(rename = "DSEC"))]
Dsec,
#[yaserde(rename = "DQUA")]
#[cfg_attr(feature = "serde", serde(rename = "DQUA"))]
Dqua,
#[yaserde(rename = "PROT")]
#[cfg_attr(feature = "serde", serde(rename = "PROT"))]
Prot,
#[yaserde(rename = "SAFE")]
#[cfg_attr(feature = "serde", serde(rename = "SAFE"))]
Safe,
#[yaserde(rename = "PROI")]
#[cfg_attr(feature = "serde", serde(rename = "PROI"))]
Proi,
#[yaserde(rename = "TRTI")]
#[cfg_attr(feature = "serde", serde(rename = "TRTI"))]
Trti,
#[yaserde(rename = "DUPL")]
#[cfg_attr(feature = "serde", serde(rename = "DUPL"))]
Dupl,
__Unknown__(String),
}
impl Default for RejectionReason79Code {
fn default() -> RejectionReason79Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for RejectionReason79Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct RestrictedFINActiveCurrencyAndAmountSimpleType (pub String);
crate::simple_type!(RestrictedFINActiveCurrencyAndAmountSimpleType);
impl Validate for RestrictedFINActiveCurrencyAndAmountSimpleType {
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:seev.041.002.14")]
pub struct RestrictedFINActiveCurrencyAndAmount {
#[yaserde(text)]
pub value: String,
#[yaserde(attribute, rename = "Ccy")]
#[cfg_attr(feature = "serde", serde(rename = "Ccy"))]
pub ccy: ActiveCurrencyCode,
}
impl Validate for RestrictedFINActiveCurrencyAndAmount {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct RestrictedFINDecimalNumber (pub String);
crate::simple_type!(RestrictedFINDecimalNumber);
impl Validate for RestrictedFINDecimalNumber {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct RestrictedFINExact2Text (pub String);
crate::simple_type!(RestrictedFINExact2Text);
impl Validate for RestrictedFINExact2Text {
fn validate(&self) -> Result<(), String> {
if self.0.len() != 2 {
return Err(format!("Length validation error. \nExpected: 0 length == 2 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct RestrictedFINImpliedCurrencyAndAmount (pub String);
crate::simple_type!(RestrictedFINImpliedCurrencyAndAmount);
impl Validate for RestrictedFINImpliedCurrencyAndAmount {
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)]
pub struct RestrictedFINMax15Text (pub String);
crate::simple_type!(RestrictedFINMax15Text);
impl Validate for RestrictedFINMax15Text {
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() > 15 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 15 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct RestrictedFINX2Max34Text (pub String);
crate::simple_type!(RestrictedFINX2Max34Text);
impl Validate for RestrictedFINX2Max34Text {
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 RestrictedFINXMax140Text (pub String);
crate::simple_type!(RestrictedFINXMax140Text);
impl Validate for RestrictedFINXMax140Text {
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 RestrictedFINXMax16Text (pub String);
crate::simple_type!(RestrictedFINXMax16Text);
impl Validate for RestrictedFINXMax16Text {
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 RestrictedFINXMax210Text (pub String);
crate::simple_type!(RestrictedFINXMax210Text);
impl Validate for RestrictedFINXMax210Text {
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 RestrictedFINXMax30Text (pub String);
crate::simple_type!(RestrictedFINXMax30Text);
impl Validate for RestrictedFINXMax30Text {
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() > 30 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 30 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct RestrictedFINXMax31Text (pub String);
crate::simple_type!(RestrictedFINXMax31Text);
impl Validate for RestrictedFINXMax31Text {
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() > 31 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 31 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct RestrictedFINXMax34Text (pub String);
crate::simple_type!(RestrictedFINXMax34Text);
impl Validate for RestrictedFINXMax34Text {
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 RestrictedFINXMax350Text (pub String);
crate::simple_type!(RestrictedFINXMax350Text);
impl Validate for RestrictedFINXMax350Text {
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 RestrictedFINXMax35Text (pub String);
crate::simple_type!(RestrictedFINXMax35Text);
impl Validate for RestrictedFINXMax35Text {
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(PartialEq, Debug, Clone, YaSerialize, YaDeserialize)]#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:seev.041.002.14")]
pub enum SafekeepingPlace1Code {
#[yaserde(rename = "CUST")]
#[cfg_attr(feature = "serde", serde(rename = "CUST"))]
Cust,
#[yaserde(rename = "ICSD")]
#[cfg_attr(feature = "serde", serde(rename = "ICSD"))]
Icsd,
#[yaserde(rename = "NCSD")]
#[cfg_attr(feature = "serde", serde(rename = "NCSD"))]
Ncsd,
#[yaserde(rename = "SHHE")]
#[cfg_attr(feature = "serde", serde(rename = "SHHE"))]
Shhe,
__Unknown__(String),
}
impl Default for SafekeepingPlace1Code {
fn default() -> SafekeepingPlace1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for SafekeepingPlace1Code {}
#[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:seev.041.002.14")]
pub enum SafekeepingPlace2Code {
#[yaserde(rename = "SHHE")]
#[cfg_attr(feature = "serde", serde(rename = "SHHE"))]
Shhe,
#[yaserde(rename = "ALLP")]
#[cfg_attr(feature = "serde", serde(rename = "ALLP"))]
Allp,
__Unknown__(String),
}
impl Default for SafekeepingPlace2Code {
fn default() -> SafekeepingPlace2Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for SafekeepingPlace2Code {}
#[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:seev.041.002.14")]
pub struct SafekeepingPlaceFormat44Choice {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Option<SafekeepingPlaceTypeAndText9>,
#[yaserde(rename = "Ctry")]
#[cfg_attr(feature = "serde", serde(rename = "Ctry"))]
pub ctry: Option<CountryCode>,
#[yaserde(rename = "DgtlLdgrId")]
#[cfg_attr(feature = "serde", serde(rename = "DgtlLdgrId"))]
pub dgtl_ldgr_id: Option<Dti2024Identifier>,
#[yaserde(rename = "TpAndId")]
#[cfg_attr(feature = "serde", serde(rename = "TpAndId"))]
pub tp_and_id: Option<SafekeepingPlaceTypeAndIdentification1>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<GenericIdentification85>,
}
impl Validate for SafekeepingPlaceFormat44Choice {}
#[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:seev.041.002.14")]
pub struct SafekeepingPlaceTypeAndIdentification1 {
#[yaserde(rename = "SfkpgPlcTp")]
#[cfg_attr(feature = "serde", serde(rename = "SfkpgPlcTp"))]
pub sfkpg_plc_tp: SafekeepingPlace1Code,
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: AnyBICDec2014Identifier,
}
impl Validate for SafekeepingPlaceTypeAndIdentification1 {}
#[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:seev.041.002.14")]
pub struct SafekeepingPlaceTypeAndText9 {
#[yaserde(rename = "SfkpgPlcTp")]
#[cfg_attr(feature = "serde", serde(rename = "SfkpgPlcTp"))]
pub sfkpg_plc_tp: SafekeepingPlace2Code,
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: RestrictedFINXMax30Text,
}
impl Validate for SafekeepingPlaceTypeAndText9 {}
#[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:seev.041.002.14")]
pub struct SecurityIdentification20 {
#[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<OtherIdentification2>,
#[yaserde(rename = "Desc")]
#[cfg_attr(feature = "serde", serde(rename = "Desc"))]
pub desc: RestrictedFINXMax140Text,
}
impl Validate for SecurityIdentification20 {}
#[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:seev.041.002.14")]
pub enum ShortLong1Code {
#[yaserde(rename = "SHOR")]
#[cfg_attr(feature = "serde", serde(rename = "SHOR"))]
Shor,
#[yaserde(rename = "LONG")]
#[cfg_attr(feature = "serde", serde(rename = "LONG"))]
Long,
__Unknown__(String),
}
impl Default for ShortLong1Code {
fn default() -> ShortLong1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for ShortLong1Code {}
#[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:seev.041.002.14")]
pub struct SignedQuantityFormat12 {
#[yaserde(rename = "ShrtLngPos")]
#[cfg_attr(feature = "serde", serde(rename = "ShrtLngPos"))]
pub shrt_lng_pos: ShortLong1Code,
#[yaserde(rename = "QtyChc")]
#[cfg_attr(feature = "serde", serde(rename = "QtyChc"))]
pub qty_chc: Quantity53Choice,
}
impl Validate for SignedQuantityFormat12 {}
#[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:seev.041.002.14")]
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:seev.041.002.14")]
pub struct SupplementaryDataEnvelope1 {}
impl Validate for SupplementaryDataEnvelope1 {}
impl crate::MxMessage for Document {
const BUSINESS_AREA: crate::BusinessArea = crate::BusinessArea::seev;
const FUNCTIONALITY: &'static str = "041";
const VARIANT: &'static str = "002";
const VERSION: &'static str = "14";
const MESSAGE_NAME: &'static str = "seev.041.002.14";
const NAMESPACE: &'static str = "urn:iso:std:iso:20022:tech:xsd:seev.041.002.14";
}