#![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 ActiveOrHistoricCurrencyAndAmountSimpleType (pub String);
crate::simple_type!(ActiveOrHistoricCurrencyAndAmountSimpleType);
impl Validate for ActiveOrHistoricCurrencyAndAmountSimpleType {
fn validate(&self) -> Result<(), String> {
if self.0 < "0".parse::<String>().unwrap() {
return Err(format!("MinInclusive validation error: invalid value of 0! \nExpected: 0 >= 0.\nActual: 0 == {}", self.0));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:colr.005.001.06")]
pub struct ActiveOrHistoricCurrencyAndAmount {
#[yaserde(text)]
pub value: String,
#[yaserde(attribute, rename = "Ccy")]
#[cfg_attr(feature = "serde", serde(rename = "Ccy"))]
pub ccy: ActiveOrHistoricCurrencyCode,
}
impl Validate for ActiveOrHistoricCurrencyAndAmount {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct ActiveOrHistoricCurrencyCode (pub String);
crate::simple_type!(ActiveOrHistoricCurrencyCode);
impl Validate for ActiveOrHistoricCurrencyCode {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(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:colr.005.001.06")]
pub struct BlockChainAddressWallet5 {
#[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: CollateralAccountIdentificationType3Choice,
#[yaserde(rename = "Nm")]
#[cfg_attr(feature = "serde", serde(rename = "Nm"))]
pub nm: Max70Text,
}
impl Validate for BlockChainAddressWallet5 {}
#[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:colr.005.001.06")]
pub struct ClosingDate4Choice {
#[yaserde(rename = "Dt")]
#[cfg_attr(feature = "serde", serde(rename = "Dt"))]
pub dt: Option<DateAndDateTime2Choice>,
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: Option<Date3Choice>,
}
impl Validate for ClosingDate4Choice {}
#[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:colr.005.001.06")]
pub struct CollateralAccount3 {
#[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: CollateralAccountIdentificationType3Choice,
#[yaserde(rename = "Nm")]
#[cfg_attr(feature = "serde", serde(rename = "Nm"))]
pub nm: Max70Text,
}
impl Validate for CollateralAccount3 {}
#[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:colr.005.001.06")]
pub struct CollateralAccountIdentificationType3Choice {
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: Option<CollateralAccountType1Code>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<GenericIdentification36>,
}
impl Validate for CollateralAccountIdentificationType3Choice {}
#[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:colr.005.001.06")]
pub enum CollateralAccountType1Code {
#[yaserde(rename = "HOUS")]
#[cfg_attr(feature = "serde", serde(rename = "HOUS"))]
Hous,
#[yaserde(rename = "CLIE")]
#[cfg_attr(feature = "serde", serde(rename = "CLIE"))]
Clie,
#[yaserde(rename = "LIPR")]
#[cfg_attr(feature = "serde", serde(rename = "LIPR"))]
Lipr,
#[yaserde(rename = "MGIN")]
#[cfg_attr(feature = "serde", serde(rename = "MGIN"))]
Mgin,
#[yaserde(rename = "DFLT")]
#[cfg_attr(feature = "serde", serde(rename = "DFLT"))]
Dflt,
__Unknown__(String),
}
impl Default for CollateralAccountType1Code {
fn default() -> CollateralAccountType1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for CollateralAccountType1Code {}
#[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:colr.005.001.06")]
pub struct CollateralCancellationReason1 {
#[yaserde(rename = "AddtlInf")]
#[cfg_attr(feature = "serde", serde(rename = "AddtlInf"))]
pub addtl_inf: Max35Text,
#[yaserde(rename = "CxlRsnCd")]
#[cfg_attr(feature = "serde", serde(rename = "CxlRsnCd"))]
pub cxl_rsn_cd: CollateralCancellationType1Choice,
}
impl Validate for CollateralCancellationReason1 {}
#[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:colr.005.001.06")]
pub struct CollateralCancellationType1Choice {
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: Option<CollateralManagementCancellationReason1Code>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<GenericIdentification30>,
}
impl Validate for CollateralCancellationType1Choice {}
#[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:colr.005.001.06")]
pub enum CollateralManagementCancellationReason1Code {
#[yaserde(rename = "PRER")]
#[cfg_attr(feature = "serde", serde(rename = "PRER"))]
Prer,
#[yaserde(rename = "PNSU")]
#[cfg_attr(feature = "serde", serde(rename = "PNSU"))]
Pnsu,
__Unknown__(String),
}
impl Default for CollateralManagementCancellationReason1Code {
fn default() -> CollateralManagementCancellationReason1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for CollateralManagementCancellationReason1Code {}
#[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:colr.005.001.06")]
pub struct CollateralManagementCancellationRequestV06 {
#[yaserde(rename = "Ref")]
#[cfg_attr(feature = "serde", serde(rename = "Ref"))]
pub _ref: Reference3Choice,
#[yaserde(rename = "Oblgtn")]
#[cfg_attr(feature = "serde", serde(rename = "Oblgtn"))]
pub oblgtn: Obligation8,
#[yaserde(rename = "CxlRsn")]
#[cfg_attr(feature = "serde", serde(rename = "CxlRsn"))]
pub cxl_rsn: CollateralCancellationReason1,
#[yaserde(rename = "SplmtryData")]
#[cfg_attr(feature = "serde", serde(rename = "SplmtryData"))]
pub splmtry_data: Vec<SupplementaryData1>,
}
impl Validate for CollateralManagementCancellationRequestV06 {}
#[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:colr.005.001.06")]
pub enum CollateralRole1Code {
#[yaserde(rename = "GIVE")]
#[cfg_attr(feature = "serde", serde(rename = "GIVE"))]
Give,
#[yaserde(rename = "TAKE")]
#[cfg_attr(feature = "serde", serde(rename = "TAKE"))]
Take,
__Unknown__(String),
}
impl Default for CollateralRole1Code {
fn default() -> CollateralRole1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for CollateralRole1Code {}
#[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:colr.005.001.06")]
pub struct CollateralTransactionType1Choice {
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: Option<CollateralTransactionType1Code>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<GenericIdentification30>,
}
impl Validate for CollateralTransactionType1Choice {}
#[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:colr.005.001.06")]
pub enum CollateralTransactionType1Code {
#[yaserde(rename = "AADJ")]
#[cfg_attr(feature = "serde", serde(rename = "AADJ"))]
Aadj,
#[yaserde(rename = "CDTA")]
#[cfg_attr(feature = "serde", serde(rename = "CDTA"))]
Cdta,
#[yaserde(rename = "CADJ")]
#[cfg_attr(feature = "serde", serde(rename = "CADJ"))]
Cadj,
#[yaserde(rename = "DADJ")]
#[cfg_attr(feature = "serde", serde(rename = "DADJ"))]
Dadj,
#[yaserde(rename = "DBVT")]
#[cfg_attr(feature = "serde", serde(rename = "DBVT"))]
Dbvt,
#[yaserde(rename = "INIT")]
#[cfg_attr(feature = "serde", serde(rename = "INIT"))]
Init,
#[yaserde(rename = "MADJ")]
#[cfg_attr(feature = "serde", serde(rename = "MADJ"))]
Madj,
#[yaserde(rename = "PADJ")]
#[cfg_attr(feature = "serde", serde(rename = "PADJ"))]
Padj,
#[yaserde(rename = "RATA")]
#[cfg_attr(feature = "serde", serde(rename = "RATA"))]
Rata,
#[yaserde(rename = "TERM")]
#[cfg_attr(feature = "serde", serde(rename = "TERM"))]
Term,
__Unknown__(String),
}
impl Default for CollateralTransactionType1Code {
fn default() -> CollateralTransactionType1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for CollateralTransactionType1Code {}
#[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:colr.005.001.06")]
pub struct Date3Choice {
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: Option<DateType2Code>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<GenericIdentification30>,
}
impl Validate for Date3Choice {}
#[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:colr.005.001.06")]
pub struct DateAndDateTime2Choice {
#[yaserde(rename = "Dt")]
#[cfg_attr(feature = "serde", serde(rename = "Dt"))]
pub dt: Option<Isodate>,
#[yaserde(rename = "DtTm")]
#[cfg_attr(feature = "serde", serde(rename = "DtTm"))]
pub dt_tm: Option<IsodateTime>,
}
impl Validate for DateAndDateTime2Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(PartialEq, Debug, Clone, YaSerialize, YaDeserialize)]#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:colr.005.001.06")]
pub enum DateType2Code {
#[yaserde(rename = "OPEN")]
#[cfg_attr(feature = "serde", serde(rename = "OPEN"))]
Open,
__Unknown__(String),
}
impl Default for DateType2Code {
fn default() -> DateType2Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for DateType2Code {}
#[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:colr.005.001.06")]
pub struct Document {
#[yaserde(rename = "CollMgmtCxlReq")]
#[cfg_attr(feature = "serde", serde(rename = "CollMgmtCxlReq"))]
pub coll_mgmt_cxl_req: CollateralManagementCancellationRequestV06,
}
impl Validate for Document {}
#[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(PartialEq, Debug, Clone, YaSerialize, YaDeserialize)]#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:colr.005.001.06")]
pub enum ExposureType11Code {
#[yaserde(rename = "BFWD")]
#[cfg_attr(feature = "serde", serde(rename = "BFWD"))]
Bfwd,
#[yaserde(rename = "PAYM")]
#[cfg_attr(feature = "serde", serde(rename = "PAYM"))]
Paym,
#[yaserde(rename = "CBCO")]
#[cfg_attr(feature = "serde", serde(rename = "CBCO"))]
Cbco,
#[yaserde(rename = "COMM")]
#[cfg_attr(feature = "serde", serde(rename = "COMM"))]
Comm,
#[yaserde(rename = "CRDS")]
#[cfg_attr(feature = "serde", serde(rename = "CRDS"))]
Crds,
#[yaserde(rename = "CRTL")]
#[cfg_attr(feature = "serde", serde(rename = "CRTL"))]
Crtl,
#[yaserde(rename = "CRSP")]
#[cfg_attr(feature = "serde", serde(rename = "CRSP"))]
Crsp,
#[yaserde(rename = "CCIR")]
#[cfg_attr(feature = "serde", serde(rename = "CCIR"))]
Ccir,
#[yaserde(rename = "CRPR")]
#[cfg_attr(feature = "serde", serde(rename = "CRPR"))]
Crpr,
#[yaserde(rename = "EQPT")]
#[cfg_attr(feature = "serde", serde(rename = "EQPT"))]
Eqpt,
#[yaserde(rename = "EQUS")]
#[cfg_attr(feature = "serde", serde(rename = "EQUS"))]
Equs,
#[yaserde(rename = "EXTD")]
#[cfg_attr(feature = "serde", serde(rename = "EXTD"))]
Extd,
#[yaserde(rename = "EXPT")]
#[cfg_attr(feature = "serde", serde(rename = "EXPT"))]
Expt,
#[yaserde(rename = "FIXI")]
#[cfg_attr(feature = "serde", serde(rename = "FIXI"))]
Fixi,
#[yaserde(rename = "FORX")]
#[cfg_attr(feature = "serde", serde(rename = "FORX"))]
Forx,
#[yaserde(rename = "FORW")]
#[cfg_attr(feature = "serde", serde(rename = "FORW"))]
Forw,
#[yaserde(rename = "FUTR")]
#[cfg_attr(feature = "serde", serde(rename = "FUTR"))]
Futr,
#[yaserde(rename = "OPTN")]
#[cfg_attr(feature = "serde", serde(rename = "OPTN"))]
Optn,
#[yaserde(rename = "LIQU")]
#[cfg_attr(feature = "serde", serde(rename = "LIQU"))]
Liqu,
#[yaserde(rename = "OTCD")]
#[cfg_attr(feature = "serde", serde(rename = "OTCD"))]
Otcd,
#[yaserde(rename = "RVPO")]
#[cfg_attr(feature = "serde", serde(rename = "RVPO"))]
Rvpo,
#[yaserde(rename = "SLOA")]
#[cfg_attr(feature = "serde", serde(rename = "SLOA"))]
Sloa,
#[yaserde(rename = "SBSC")]
#[cfg_attr(feature = "serde", serde(rename = "SBSC"))]
Sbsc,
#[yaserde(rename = "SCRP")]
#[cfg_attr(feature = "serde", serde(rename = "SCRP"))]
Scrp,
#[yaserde(rename = "SLEB")]
#[cfg_attr(feature = "serde", serde(rename = "SLEB"))]
Sleb,
#[yaserde(rename = "SCIR")]
#[cfg_attr(feature = "serde", serde(rename = "SCIR"))]
Scir,
#[yaserde(rename = "SCIE")]
#[cfg_attr(feature = "serde", serde(rename = "SCIE"))]
Scie,
#[yaserde(rename = "SWPT")]
#[cfg_attr(feature = "serde", serde(rename = "SWPT"))]
Swpt,
#[yaserde(rename = "TBAS")]
#[cfg_attr(feature = "serde", serde(rename = "TBAS"))]
Tbas,
#[yaserde(rename = "TRCP")]
#[cfg_attr(feature = "serde", serde(rename = "TRCP"))]
Trcp,
#[yaserde(rename = "UDMS")]
#[cfg_attr(feature = "serde", serde(rename = "UDMS"))]
Udms,
#[yaserde(rename = "CCPC")]
#[cfg_attr(feature = "serde", serde(rename = "CCPC"))]
Ccpc,
#[yaserde(rename = "EQUI")]
#[cfg_attr(feature = "serde", serde(rename = "EQUI"))]
Equi,
#[yaserde(rename = "TRBD")]
#[cfg_attr(feature = "serde", serde(rename = "TRBD"))]
Trbd,
#[yaserde(rename = "REPO")]
#[cfg_attr(feature = "serde", serde(rename = "REPO"))]
Repo,
#[yaserde(rename = "SHSL")]
#[cfg_attr(feature = "serde", serde(rename = "SHSL"))]
Shsl,
__Unknown__(String),
}
impl Default for ExposureType11Code {
fn default() -> ExposureType11Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for ExposureType11Code {}
#[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:colr.005.001.06")]
pub struct ExposureType21Choice {
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: Option<ExposureType11Code>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<GenericIdentification30>,
}
impl Validate for ExposureType21Choice {}
#[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:colr.005.001.06")]
pub struct GenericIdentification30 {
#[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: Max35Text,
#[yaserde(rename = "SchmeNm")]
#[cfg_attr(feature = "serde", serde(rename = "SchmeNm"))]
pub schme_nm: Max35Text,
}
impl Validate for GenericIdentification30 {}
#[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:colr.005.001.06")]
pub struct GenericIdentification36 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Max35Text,
#[yaserde(rename = "Issr")]
#[cfg_attr(feature = "serde", serde(rename = "Issr"))]
pub issr: Max35Text,
#[yaserde(rename = "SchmeNm")]
#[cfg_attr(feature = "serde", serde(rename = "SchmeNm"))]
pub schme_nm: Max35Text,
}
impl Validate for GenericIdentification36 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Isodate (pub String);
crate::simple_type!(Isodate);
impl Validate for Isodate {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct IsodateTime (pub String);
crate::simple_type!(IsodateTime);
impl Validate for IsodateTime {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct 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 Max350Text (pub String);
crate::simple_type!(Max350Text);
impl Validate for Max350Text {
fn validate(&self) -> Result<(), String> {
#[allow(clippy::len_zero)]
if self.0.len() < 1 {
return Err(format!("MinLength validation error. \nExpected: 0 length >= 1 \nActual: 0 length == {}", self.0.len()));
}
if self.0.len() > 350 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 350 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max35Text (pub String);
crate::simple_type!(Max35Text);
impl Validate for Max35Text {
fn validate(&self) -> Result<(), String> {
#[allow(clippy::len_zero)]
if self.0.len() < 1 {
return Err(format!("MinLength validation error. \nExpected: 0 length >= 1 \nActual: 0 length == {}", self.0.len()));
}
if self.0.len() > 35 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 35 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max52Text (pub String);
crate::simple_type!(Max52Text);
impl Validate for Max52Text {
fn validate(&self) -> Result<(), String> {
#[allow(clippy::len_zero)]
if self.0.len() < 1 {
return Err(format!("MinLength validation error. \nExpected: 0 length >= 1 \nActual: 0 length == {}", self.0.len()));
}
if self.0.len() > 52 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 52 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct 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:colr.005.001.06")]
pub struct NameAndAddress6 {
#[yaserde(rename = "Nm")]
#[cfg_attr(feature = "serde", serde(rename = "Nm"))]
pub nm: Max70Text,
#[yaserde(rename = "Adr")]
#[cfg_attr(feature = "serde", serde(rename = "Adr"))]
pub adr: PostalAddress2,
}
impl Validate for NameAndAddress6 {}
#[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:colr.005.001.06")]
pub struct Obligation8 {
#[yaserde(rename = "PtyA")]
#[cfg_attr(feature = "serde", serde(rename = "PtyA"))]
pub pty_a: PartyIdentification178Choice,
#[yaserde(rename = "SvcgPtyA")]
#[cfg_attr(feature = "serde", serde(rename = "SvcgPtyA"))]
pub svcg_pty_a: PartyIdentification178Choice,
#[yaserde(rename = "PtyB")]
#[cfg_attr(feature = "serde", serde(rename = "PtyB"))]
pub pty_b: PartyIdentification178Choice,
#[yaserde(rename = "SvcgPtyB")]
#[cfg_attr(feature = "serde", serde(rename = "SvcgPtyB"))]
pub svcg_pty_b: PartyIdentification178Choice,
#[yaserde(rename = "CollAcctId")]
#[cfg_attr(feature = "serde", serde(rename = "CollAcctId"))]
pub coll_acct_id: CollateralAccount3,
#[yaserde(rename = "BlckChainAdrOrWllt")]
#[cfg_attr(feature = "serde", serde(rename = "BlckChainAdrOrWllt"))]
pub blck_chain_adr_or_wllt: BlockChainAddressWallet5,
#[yaserde(rename = "XpsrTp")]
#[cfg_attr(feature = "serde", serde(rename = "XpsrTp"))]
pub xpsr_tp: ExposureType21Choice,
#[yaserde(rename = "CollTxTp")]
#[cfg_attr(feature = "serde", serde(rename = "CollTxTp"))]
pub coll_tx_tp: CollateralTransactionType1Choice,
#[yaserde(rename = "CollSd")]
#[cfg_attr(feature = "serde", serde(rename = "CollSd"))]
pub coll_sd: CollateralRole1Code,
#[yaserde(rename = "XpsrAmt")]
#[cfg_attr(feature = "serde", serde(rename = "XpsrAmt"))]
pub xpsr_amt: ActiveOrHistoricCurrencyAndAmount,
#[yaserde(rename = "ValtnDt")]
#[cfg_attr(feature = "serde", serde(rename = "ValtnDt"))]
pub valtn_dt: DateAndDateTime2Choice,
#[yaserde(rename = "ClsgDt")]
#[cfg_attr(feature = "serde", serde(rename = "ClsgDt"))]
pub clsg_dt: ClosingDate4Choice,
#[yaserde(rename = "ReqdExctnDt")]
#[cfg_attr(feature = "serde", serde(rename = "ReqdExctnDt"))]
pub reqd_exctn_dt: DateAndDateTime2Choice,
#[yaserde(rename = "SttlmPrc")]
#[cfg_attr(feature = "serde", serde(rename = "SttlmPrc"))]
pub sttlm_prc: GenericIdentification30,
}
impl Validate for Obligation8 {}
#[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:colr.005.001.06")]
pub struct PartyIdentification178Choice {
#[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<GenericIdentification36>,
#[yaserde(rename = "NmAndAdr")]
#[cfg_attr(feature = "serde", serde(rename = "NmAndAdr"))]
pub nm_and_adr: Option<NameAndAddress6>,
}
impl Validate for PartyIdentification178Choice {}
#[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:colr.005.001.06")]
pub struct PostalAddress2 {
#[yaserde(rename = "StrtNm")]
#[cfg_attr(feature = "serde", serde(rename = "StrtNm"))]
pub strt_nm: Max70Text,
#[yaserde(rename = "PstCdId")]
#[cfg_attr(feature = "serde", serde(rename = "PstCdId"))]
pub pst_cd_id: 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 PostalAddress2 {}
#[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:colr.005.001.06")]
pub struct Reference3Choice {
#[yaserde(rename = "ClntCollInstrId")]
#[cfg_attr(feature = "serde", serde(rename = "ClntCollInstrId"))]
pub clnt_coll_instr_id: Option<Max35Text>,
#[yaserde(rename = "ClntCollTxId")]
#[cfg_attr(feature = "serde", serde(rename = "ClntCollTxId"))]
pub clnt_coll_tx_id: Option<Max35Text>,
#[yaserde(rename = "CollPrpslId")]
#[cfg_attr(feature = "serde", serde(rename = "CollPrpslId"))]
pub coll_prpsl_id: Option<Max35Text>,
#[yaserde(rename = "CollPrpslRspnId")]
#[cfg_attr(feature = "serde", serde(rename = "CollPrpslRspnId"))]
pub coll_prpsl_rspn_id: Option<Max35Text>,
#[yaserde(rename = "CollSbstitnConfId")]
#[cfg_attr(feature = "serde", serde(rename = "CollSbstitnConfId"))]
pub coll_sbstitn_conf_id: Option<Max35Text>,
#[yaserde(rename = "CollSbstitnReqId")]
#[cfg_attr(feature = "serde", serde(rename = "CollSbstitnReqId"))]
pub coll_sbstitn_req_id: Option<Max35Text>,
#[yaserde(rename = "CollSbstitnRspnId")]
#[cfg_attr(feature = "serde", serde(rename = "CollSbstitnRspnId"))]
pub coll_sbstitn_rspn_id: Option<Max35Text>,
#[yaserde(rename = "CmonTxId")]
#[cfg_attr(feature = "serde", serde(rename = "CmonTxId"))]
pub cmon_tx_id: Option<Max52Text>,
#[yaserde(rename = "DsptNtfctnId")]
#[cfg_attr(feature = "serde", serde(rename = "DsptNtfctnId"))]
pub dspt_ntfctn_id: Option<Max35Text>,
#[yaserde(rename = "IntrstPmtReqId")]
#[cfg_attr(feature = "serde", serde(rename = "IntrstPmtReqId"))]
pub intrst_pmt_req_id: Option<Max35Text>,
#[yaserde(rename = "IntrstPmtRspnId")]
#[cfg_attr(feature = "serde", serde(rename = "IntrstPmtRspnId"))]
pub intrst_pmt_rspn_id: Option<Max35Text>,
#[yaserde(rename = "IntrstPmtStmtId")]
#[cfg_attr(feature = "serde", serde(rename = "IntrstPmtStmtId"))]
pub intrst_pmt_stmt_id: Option<Max35Text>,
#[yaserde(rename = "MrgnCallReqId")]
#[cfg_attr(feature = "serde", serde(rename = "MrgnCallReqId"))]
pub mrgn_call_req_id: Option<Max35Text>,
#[yaserde(rename = "MrgnCallRspnId")]
#[cfg_attr(feature = "serde", serde(rename = "MrgnCallRspnId"))]
pub mrgn_call_rspn_id: Option<Max35Text>,
#[yaserde(rename = "TrptyAgtSvcPrvdrCollInstrId")]
#[cfg_attr(feature = "serde", serde(rename = "TrptyAgtSvcPrvdrCollInstrId"))]
pub trpty_agt_svc_prvdr_coll_instr_id: Option<Max35Text>,
#[yaserde(rename = "TrptyAgtSvcPrvdrCollTxId")]
#[cfg_attr(feature = "serde", serde(rename = "TrptyAgtSvcPrvdrCollTxId"))]
pub trpty_agt_svc_prvdr_coll_tx_id: Option<Max35Text>,
}
impl Validate for Reference3Choice {}
#[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:colr.005.001.06")]
pub struct SupplementaryData1 {
#[yaserde(rename = "PlcAndNm")]
#[cfg_attr(feature = "serde", serde(rename = "PlcAndNm"))]
pub plc_and_nm: Max350Text,
#[yaserde(rename = "Envlp")]
#[cfg_attr(feature = "serde", serde(rename = "Envlp"))]
pub envlp: SupplementaryDataEnvelope1,
}
impl Validate for SupplementaryData1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:colr.005.001.06")]
pub struct SupplementaryDataEnvelope1 {}
impl Validate for SupplementaryDataEnvelope1 {}
impl crate::MxMessage for Document {
const BUSINESS_AREA: crate::BusinessArea = crate::BusinessArea::colr;
const FUNCTIONALITY: &'static str = "005";
const VARIANT: &'static str = "001";
const VERSION: &'static str = "06";
const MESSAGE_NAME: &'static str = "colr.005.001.06";
const NAMESPACE: &'static str = "urn:iso:std:iso:20022:tech:xsd:colr.005.001.06";
}