#![allow(clippy::all)]
#![allow(non_snake_case, non_camel_case_types, dead_code, unused_imports)]
#![allow(non_local_definitions)]
use std::str::FromStr;
use crate::validate::Validate;
use yaserde_derive::{YaDeserialize, YaSerialize};
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:tsmt.009.001.05")]
pub struct AccountIdentification4Choice {
#[yaserde(rename = "IBAN")]
#[cfg_attr(feature = "serde", serde(rename = "IBAN"))]
pub iban: Option<Iban2007Identifier>,
#[yaserde(rename = "Othr")]
#[cfg_attr(feature = "serde", serde(rename = "Othr"))]
pub othr: Option<GenericAccountIdentification1>,
}
impl Validate for AccountIdentification4Choice {}
#[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:tsmt.009.001.05")]
pub struct AccountSchemeName1Choice {
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: Option<ExternalAccountIdentification1Code>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<Max35Text>,
}
impl Validate for AccountSchemeName1Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct ActiveCurrencyAndAmountSimpleType (pub String);
crate::simple_type!(ActiveCurrencyAndAmountSimpleType);
impl Validate for ActiveCurrencyAndAmountSimpleType {
fn validate(&self) -> Result<(), String> {
if self.0 < "0".parse::<String>().unwrap() {
return Err(format!("MinInclusive validation error: invalid value of 0! \nExpected: 0 >= 0.\nActual: 0 == {}", self.0));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:tsmt.009.001.05")]
pub struct ActiveCurrencyAndAmount {
#[yaserde(text)]
pub value: String,
#[yaserde(attribute, rename = "Ccy")]
#[cfg_attr(feature = "serde", serde(rename = "Ccy"))]
pub ccy: ActiveCurrencyCode,
}
impl Validate for ActiveCurrencyAndAmount {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct ActiveCurrencyCode (pub String);
crate::simple_type!(ActiveCurrencyCode);
impl Validate for ActiveCurrencyCode {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct 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, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:tsmt.009.001.05")]
pub struct Adjustment7 {
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: AdjustmentType1Choice,
#[yaserde(rename = "AmtOrPctg")]
#[cfg_attr(feature = "serde", serde(rename = "AmtOrPctg"))]
pub amt_or_pctg: AmountOrPercentage2Choice,
#[yaserde(rename = "Drctn")]
#[cfg_attr(feature = "serde", serde(rename = "Drctn"))]
pub drctn: AdjustmentDirection1Code,
}
impl Validate for Adjustment7 {}
#[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:tsmt.009.001.05")]
pub enum AdjustmentDirection1Code {
#[yaserde(rename = "ADDD")]
#[cfg_attr(feature = "serde", serde(rename = "ADDD"))]
Addd,
#[yaserde(rename = "SUBS")]
#[cfg_attr(feature = "serde", serde(rename = "SUBS"))]
Subs,
__Unknown__(String),
}
impl Default for AdjustmentDirection1Code {
fn default() -> AdjustmentDirection1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for AdjustmentDirection1Code {}
#[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:tsmt.009.001.05")]
pub struct AdjustmentType1Choice {
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: Option<AdjustmentType2Code>,
#[yaserde(rename = "OthrAdjstmntTp")]
#[cfg_attr(feature = "serde", serde(rename = "OthrAdjstmntTp"))]
pub othr_adjstmnt_tp: Option<Max35Text>,
}
impl Validate for AdjustmentType1Choice {}
#[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:tsmt.009.001.05")]
pub enum AdjustmentType2Code {
#[yaserde(rename = "REBA")]
#[cfg_attr(feature = "serde", serde(rename = "REBA"))]
Reba,
#[yaserde(rename = "DISC")]
#[cfg_attr(feature = "serde", serde(rename = "DISC"))]
Disc,
#[yaserde(rename = "CREN")]
#[cfg_attr(feature = "serde", serde(rename = "CREN"))]
Cren,
#[yaserde(rename = "SURC")]
#[cfg_attr(feature = "serde", serde(rename = "SURC"))]
Surc,
__Unknown__(String),
}
impl Default for AdjustmentType2Code {
fn default() -> AdjustmentType2Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for AdjustmentType2Code {}
#[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:tsmt.009.001.05")]
pub struct AirportDescription1 {
#[yaserde(rename = "Twn")]
#[cfg_attr(feature = "serde", serde(rename = "Twn"))]
pub twn: Max35Text,
#[yaserde(rename = "AirprtNm")]
#[cfg_attr(feature = "serde", serde(rename = "AirprtNm"))]
pub airprt_nm: Max35Text,
}
impl Validate for AirportDescription1 {}
#[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:tsmt.009.001.05")]
pub struct AirportName1Choice {
#[yaserde(rename = "AirprtCd")]
#[cfg_attr(feature = "serde", serde(rename = "AirprtCd"))]
pub airprt_cd: Option<Max6Text>,
#[yaserde(rename = "OthrAirprtDesc")]
#[cfg_attr(feature = "serde", serde(rename = "OthrAirprtDesc"))]
pub othr_airprt_desc: Option<AirportDescription1>,
}
impl Validate for AirportName1Choice {}
#[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:tsmt.009.001.05")]
pub struct AmountOrPercentage2Choice {
#[yaserde(rename = "Amt")]
#[cfg_attr(feature = "serde", serde(rename = "Amt"))]
pub amt: Option<ActiveCurrencyAndAmount>,
#[yaserde(rename = "Pctg")]
#[cfg_attr(feature = "serde", serde(rename = "Pctg"))]
pub pctg: Option<PercentageRate>,
}
impl Validate for AmountOrPercentage2Choice {}
#[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:tsmt.009.001.05")]
pub enum AssuredType1Code {
#[yaserde(rename = "BUYE")]
#[cfg_attr(feature = "serde", serde(rename = "BUYE"))]
Buye,
#[yaserde(rename = "SELL")]
#[cfg_attr(feature = "serde", serde(rename = "SELL"))]
Sell,
#[yaserde(rename = "BUBA")]
#[cfg_attr(feature = "serde", serde(rename = "BUBA"))]
Buba,
#[yaserde(rename = "SEBA")]
#[cfg_attr(feature = "serde", serde(rename = "SEBA"))]
Seba,
__Unknown__(String),
}
impl Default for AssuredType1Code {
fn default() -> AssuredType1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for AssuredType1Code {}
#[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:tsmt.009.001.05")]
pub struct Bicidentification1 {
#[yaserde(rename = "BIC")]
#[cfg_attr(feature = "serde", serde(rename = "BIC"))]
pub bic: Bicidentifier,
}
impl Validate for Bicidentification1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Bicidentifier (pub String);
crate::simple_type!(Bicidentifier);
impl Validate for Bicidentifier {}
#[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:tsmt.009.001.05")]
pub struct BpoapplicableRules1Choice {
#[yaserde(rename = "URBPOVrsn")]
#[cfg_attr(feature = "serde", serde(rename = "URBPOVrsn"))]
pub urbpovrsn: Option<DecimalNumber>,
#[yaserde(rename = "OthrRulesAndVrsn")]
#[cfg_attr(feature = "serde", serde(rename = "OthrRulesAndVrsn"))]
pub othr_rules_and_vrsn: Option<Max35Text>,
}
impl Validate for BpoapplicableRules1Choice {}
#[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:tsmt.009.001.05")]
pub enum BankRole1Code {
#[yaserde(rename = "BUYB")]
#[cfg_attr(feature = "serde", serde(rename = "BUYB"))]
Buyb,
#[yaserde(rename = "OBLB")]
#[cfg_attr(feature = "serde", serde(rename = "OBLB"))]
Oblb,
#[yaserde(rename = "RECB")]
#[cfg_attr(feature = "serde", serde(rename = "RECB"))]
Recb,
#[yaserde(rename = "SELB")]
#[cfg_attr(feature = "serde", serde(rename = "SELB"))]
Selb,
__Unknown__(String),
}
impl Default for BankRole1Code {
fn default() -> BankRole1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for BankRole1Code {}
#[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:tsmt.009.001.05")]
pub struct Baseline5 {
#[yaserde(rename = "SubmitrBaselnId")]
#[cfg_attr(feature = "serde", serde(rename = "SubmitrBaselnId"))]
pub submitr_baseln_id: DocumentIdentification1,
#[yaserde(rename = "SvcCd")]
#[cfg_attr(feature = "serde", serde(rename = "SvcCd"))]
pub svc_cd: TradeFinanceService2Code,
#[yaserde(rename = "PurchsOrdrRef")]
#[cfg_attr(feature = "serde", serde(rename = "PurchsOrdrRef"))]
pub purchs_ordr_ref: DocumentIdentification7,
#[yaserde(rename = "Buyr")]
#[cfg_attr(feature = "serde", serde(rename = "Buyr"))]
pub buyr: PartyIdentification26,
#[yaserde(rename = "Sellr")]
#[cfg_attr(feature = "serde", serde(rename = "Sellr"))]
pub sellr: PartyIdentification26,
#[yaserde(rename = "BuyrBk")]
#[cfg_attr(feature = "serde", serde(rename = "BuyrBk"))]
pub buyr_bk: Bicidentification1,
#[yaserde(rename = "SellrBk")]
#[cfg_attr(feature = "serde", serde(rename = "SellrBk"))]
pub sellr_bk: Bicidentification1,
#[yaserde(rename = "BuyrSdSubmitgBk")]
#[cfg_attr(feature = "serde", serde(rename = "BuyrSdSubmitgBk"))]
pub buyr_sd_submitg_bk: Vec<Bicidentification1>,
#[yaserde(rename = "SellrSdSubmitgBk")]
#[cfg_attr(feature = "serde", serde(rename = "SellrSdSubmitgBk"))]
pub sellr_sd_submitg_bk: Vec<Bicidentification1>,
#[yaserde(rename = "BllTo")]
#[cfg_attr(feature = "serde", serde(rename = "BllTo"))]
pub bll_to: PartyIdentification26,
#[yaserde(rename = "ShipTo")]
#[cfg_attr(feature = "serde", serde(rename = "ShipTo"))]
pub ship_to: PartyIdentification26,
#[yaserde(rename = "Consgn")]
#[cfg_attr(feature = "serde", serde(rename = "Consgn"))]
pub consgn: PartyIdentification26,
#[yaserde(rename = "Goods")]
#[cfg_attr(feature = "serde", serde(rename = "Goods"))]
pub goods: LineItem13,
#[yaserde(rename = "PmtTerms")]
#[cfg_attr(feature = "serde", serde(rename = "PmtTerms"))]
pub pmt_terms: Vec<PaymentTerms5>,
#[yaserde(rename = "SttlmTerms")]
#[cfg_attr(feature = "serde", serde(rename = "SttlmTerms"))]
pub sttlm_terms: SettlementTerms3,
#[yaserde(rename = "PmtOblgtn")]
#[cfg_attr(feature = "serde", serde(rename = "PmtOblgtn"))]
pub pmt_oblgtn: Vec<PaymentObligation2>,
#[yaserde(rename = "LatstMtchDt")]
#[cfg_attr(feature = "serde", serde(rename = "LatstMtchDt"))]
pub latst_mtch_dt: Isodate,
#[yaserde(rename = "ComrclDataSetReqrd")]
#[cfg_attr(feature = "serde", serde(rename = "ComrclDataSetReqrd"))]
pub comrcl_data_set_reqrd: RequiredSubmission2,
#[yaserde(rename = "TrnsprtDataSetReqrd")]
#[cfg_attr(feature = "serde", serde(rename = "TrnsprtDataSetReqrd"))]
pub trnsprt_data_set_reqrd: RequiredSubmission2,
#[yaserde(rename = "InsrncDataSetReqrd")]
#[cfg_attr(feature = "serde", serde(rename = "InsrncDataSetReqrd"))]
pub insrnc_data_set_reqrd: RequiredSubmission3,
#[yaserde(rename = "CertDataSetReqrd")]
#[cfg_attr(feature = "serde", serde(rename = "CertDataSetReqrd"))]
pub cert_data_set_reqrd: Vec<RequiredSubmission4>,
#[yaserde(rename = "OthrCertDataSetReqrd")]
#[cfg_attr(feature = "serde", serde(rename = "OthrCertDataSetReqrd"))]
pub othr_cert_data_set_reqrd: Vec<RequiredSubmission6>,
#[yaserde(rename = "InttToPayXpctd")]
#[cfg_attr(feature = "serde", serde(rename = "InttToPayXpctd"))]
pub intt_to_pay_xpctd: YesNoIndicator,
}
impl Validate for Baseline5 {}
#[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:tsmt.009.001.05")]
pub struct BaselineAmendmentRequestV05 {
#[yaserde(rename = "ReqId")]
#[cfg_attr(feature = "serde", serde(rename = "ReqId"))]
pub req_id: MessageIdentification1,
#[yaserde(rename = "TxId")]
#[cfg_attr(feature = "serde", serde(rename = "TxId"))]
pub tx_id: SimpleIdentificationInformation,
#[yaserde(rename = "SubmitrTxRef")]
#[cfg_attr(feature = "serde", serde(rename = "SubmitrTxRef"))]
pub submitr_tx_ref: SimpleIdentificationInformation,
#[yaserde(rename = "Baseln")]
#[cfg_attr(feature = "serde", serde(rename = "Baseln"))]
pub baseln: Baseline5,
#[yaserde(rename = "BuyrCtctPrsn")]
#[cfg_attr(feature = "serde", serde(rename = "BuyrCtctPrsn"))]
pub buyr_ctct_prsn: Vec<ContactIdentification1>,
#[yaserde(rename = "SellrCtctPrsn")]
#[cfg_attr(feature = "serde", serde(rename = "SellrCtctPrsn"))]
pub sellr_ctct_prsn: Vec<ContactIdentification1>,
#[yaserde(rename = "BuyrBkCtctPrsn")]
#[cfg_attr(feature = "serde", serde(rename = "BuyrBkCtctPrsn"))]
pub buyr_bk_ctct_prsn: Vec<ContactIdentification1>,
#[yaserde(rename = "SellrBkCtctPrsn")]
#[cfg_attr(feature = "serde", serde(rename = "SellrBkCtctPrsn"))]
pub sellr_bk_ctct_prsn: Vec<ContactIdentification1>,
#[yaserde(rename = "OthrBkCtctPrsn")]
#[cfg_attr(feature = "serde", serde(rename = "OthrBkCtctPrsn"))]
pub othr_bk_ctct_prsn: Vec<ContactIdentification3>,
}
impl Validate for BaselineAmendmentRequestV05 {}
#[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:tsmt.009.001.05")]
pub struct CashAccount24 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: AccountIdentification4Choice,
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: CashAccountType2Choice,
#[yaserde(rename = "Ccy")]
#[cfg_attr(feature = "serde", serde(rename = "Ccy"))]
pub ccy: ActiveOrHistoricCurrencyCode,
#[yaserde(rename = "Nm")]
#[cfg_attr(feature = "serde", serde(rename = "Nm"))]
pub nm: Max70Text,
}
impl Validate for CashAccount24 {}
#[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:tsmt.009.001.05")]
pub struct CashAccountType2Choice {
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: Option<ExternalCashAccountType1Code>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<Max35Text>,
}
impl Validate for CashAccountType2Choice {}
#[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:tsmt.009.001.05")]
pub struct Charge24 {
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: FreightCharges1Code,
#[yaserde(rename = "Chrgs")]
#[cfg_attr(feature = "serde", serde(rename = "Chrgs"))]
pub chrgs: Vec<ChargesDetails3>,
}
impl Validate for Charge24 {}
#[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:tsmt.009.001.05")]
pub enum ChargeType8Code {
#[yaserde(rename = "SIGN")]
#[cfg_attr(feature = "serde", serde(rename = "SIGN"))]
Sign,
#[yaserde(rename = "STDE")]
#[cfg_attr(feature = "serde", serde(rename = "STDE"))]
Stde,
#[yaserde(rename = "STOR")]
#[cfg_attr(feature = "serde", serde(rename = "STOR"))]
Stor,
#[yaserde(rename = "PACK")]
#[cfg_attr(feature = "serde", serde(rename = "PACK"))]
Pack,
#[yaserde(rename = "PICK")]
#[cfg_attr(feature = "serde", serde(rename = "PICK"))]
Pick,
#[yaserde(rename = "DNGR")]
#[cfg_attr(feature = "serde", serde(rename = "DNGR"))]
Dngr,
#[yaserde(rename = "SECU")]
#[cfg_attr(feature = "serde", serde(rename = "SECU"))]
Secu,
#[yaserde(rename = "INSU")]
#[cfg_attr(feature = "serde", serde(rename = "INSU"))]
Insu,
#[yaserde(rename = "COLF")]
#[cfg_attr(feature = "serde", serde(rename = "COLF"))]
Colf,
#[yaserde(rename = "CHOR")]
#[cfg_attr(feature = "serde", serde(rename = "CHOR"))]
Chor,
#[yaserde(rename = "CHDE")]
#[cfg_attr(feature = "serde", serde(rename = "CHDE"))]
Chde,
#[yaserde(rename = "AIRF")]
#[cfg_attr(feature = "serde", serde(rename = "AIRF"))]
Airf,
#[yaserde(rename = "TRPT")]
#[cfg_attr(feature = "serde", serde(rename = "TRPT"))]
Trpt,
__Unknown__(String),
}
impl Default for ChargeType8Code {
fn default() -> ChargeType8Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for ChargeType8Code {}
#[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:tsmt.009.001.05")]
pub struct Charges5 {
#[yaserde(rename = "ChrgsPyer")]
#[cfg_attr(feature = "serde", serde(rename = "ChrgsPyer"))]
pub chrgs_pyer: BankRole1Code,
#[yaserde(rename = "ChrgsPyee")]
#[cfg_attr(feature = "serde", serde(rename = "ChrgsPyee"))]
pub chrgs_pyee: BankRole1Code,
#[yaserde(rename = "Amt")]
#[cfg_attr(feature = "serde", serde(rename = "Amt"))]
pub amt: CurrencyAndAmount,
#[yaserde(rename = "Pctg")]
#[cfg_attr(feature = "serde", serde(rename = "Pctg"))]
pub pctg: PercentageRate,
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: Max35Text,
}
impl Validate for Charges5 {}
#[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:tsmt.009.001.05")]
pub struct ChargesDetails3 {
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: ChargesType1Choice,
#[yaserde(rename = "AmtOrPctg")]
#[cfg_attr(feature = "serde", serde(rename = "AmtOrPctg"))]
pub amt_or_pctg: AmountOrPercentage2Choice,
}
impl Validate for ChargesDetails3 {}
#[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:tsmt.009.001.05")]
pub struct ChargesType1Choice {
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: Option<ChargeType8Code>,
#[yaserde(rename = "OthrChrgsTp")]
#[cfg_attr(feature = "serde", serde(rename = "OthrChrgsTp"))]
pub othr_chrgs_tp: Option<Max35Text>,
}
impl Validate for ChargesType1Choice {}
#[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:tsmt.009.001.05")]
pub struct ContactIdentification1 {
#[yaserde(rename = "Nm")]
#[cfg_attr(feature = "serde", serde(rename = "Nm"))]
pub nm: Max35Text,
#[yaserde(rename = "NmPrfx")]
#[cfg_attr(feature = "serde", serde(rename = "NmPrfx"))]
pub nm_prfx: NamePrefix1Code,
#[yaserde(rename = "GvnNm")]
#[cfg_attr(feature = "serde", serde(rename = "GvnNm"))]
pub gvn_nm: Max35Text,
#[yaserde(rename = "Role")]
#[cfg_attr(feature = "serde", serde(rename = "Role"))]
pub role: Max35Text,
#[yaserde(rename = "PhneNb")]
#[cfg_attr(feature = "serde", serde(rename = "PhneNb"))]
pub phne_nb: PhoneNumber,
#[yaserde(rename = "FaxNb")]
#[cfg_attr(feature = "serde", serde(rename = "FaxNb"))]
pub fax_nb: PhoneNumber,
#[yaserde(rename = "EmailAdr")]
#[cfg_attr(feature = "serde", serde(rename = "EmailAdr"))]
pub email_adr: Max256Text,
}
impl Validate for ContactIdentification1 {}
#[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:tsmt.009.001.05")]
pub struct ContactIdentification3 {
#[yaserde(rename = "BIC")]
#[cfg_attr(feature = "serde", serde(rename = "BIC"))]
pub bic: Bicidentifier,
#[yaserde(rename = "Nm")]
#[cfg_attr(feature = "serde", serde(rename = "Nm"))]
pub nm: Max35Text,
#[yaserde(rename = "NmPrfx")]
#[cfg_attr(feature = "serde", serde(rename = "NmPrfx"))]
pub nm_prfx: NamePrefix1Code,
#[yaserde(rename = "GvnNm")]
#[cfg_attr(feature = "serde", serde(rename = "GvnNm"))]
pub gvn_nm: Max35Text,
#[yaserde(rename = "Role")]
#[cfg_attr(feature = "serde", serde(rename = "Role"))]
pub role: Max35Text,
#[yaserde(rename = "PhneNb")]
#[cfg_attr(feature = "serde", serde(rename = "PhneNb"))]
pub phne_nb: PhoneNumber,
#[yaserde(rename = "FaxNb")]
#[cfg_attr(feature = "serde", serde(rename = "FaxNb"))]
pub fax_nb: PhoneNumber,
#[yaserde(rename = "EmailAdr")]
#[cfg_attr(feature = "serde", serde(rename = "EmailAdr"))]
pub email_adr: Max256Text,
}
impl Validate for ContactIdentification3 {}
#[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:tsmt.009.001.05")]
pub struct CountrySubdivision1Choice {
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: Option<Max35Text>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<GenericIdentification1>,
}
impl Validate for CountrySubdivision1Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct CurrencyAndAmountSimpleType (pub String);
crate::simple_type!(CurrencyAndAmountSimpleType);
impl Validate for CurrencyAndAmountSimpleType {
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:tsmt.009.001.05")]
pub struct CurrencyAndAmount {
#[yaserde(text)]
pub value: String,
#[yaserde(attribute, rename = "Ccy")]
#[cfg_attr(feature = "serde", serde(rename = "Ccy"))]
pub ccy: CurrencyCode,
}
impl Validate for CurrencyAndAmount {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct CurrencyCode (pub String);
crate::simple_type!(CurrencyCode);
impl Validate for CurrencyCode {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct DecimalNumber (pub String);
crate::simple_type!(DecimalNumber);
impl Validate for DecimalNumber {}
#[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:tsmt.009.001.05")]
pub struct Document {
#[yaserde(rename = "BaselnAmdmntReq")]
#[cfg_attr(feature = "serde", serde(rename = "BaselnAmdmntReq"))]
pub baseln_amdmnt_req: BaselineAmendmentRequestV05,
}
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:tsmt.009.001.05")]
pub struct DocumentIdentification1 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Max35Text,
#[yaserde(rename = "Vrsn")]
#[cfg_attr(feature = "serde", serde(rename = "Vrsn"))]
pub vrsn: Number,
#[yaserde(rename = "Submitr")]
#[cfg_attr(feature = "serde", serde(rename = "Submitr"))]
pub submitr: Bicidentification1,
}
impl Validate for DocumentIdentification1 {}
#[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:tsmt.009.001.05")]
pub struct DocumentIdentification7 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Max35Text,
#[yaserde(rename = "DtOfIsse")]
#[cfg_attr(feature = "serde", serde(rename = "DtOfIsse"))]
pub dt_of_isse: Isodate,
}
impl Validate for DocumentIdentification7 {}
#[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 ExternalAccountIdentification1Code (pub String);
crate::simple_type!(ExternalAccountIdentification1Code);
impl Validate for ExternalAccountIdentification1Code {
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 ExternalCashAccountType1Code (pub String);
crate::simple_type!(ExternalCashAccountType1Code);
impl Validate for ExternalCashAccountType1Code {
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 ExternalIncoterms1Code (pub String);
crate::simple_type!(ExternalIncoterms1Code);
impl Validate for ExternalIncoterms1Code {
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:tsmt.009.001.05")]
pub struct FinancialInstitutionIdentification4Choice {
#[yaserde(rename = "BIC")]
#[cfg_attr(feature = "serde", serde(rename = "BIC"))]
pub bic: Option<Bicidentifier>,
#[yaserde(rename = "NmAndAdr")]
#[cfg_attr(feature = "serde", serde(rename = "NmAndAdr"))]
pub nm_and_adr: Option<NameAndAddress6>,
}
impl Validate for FinancialInstitutionIdentification4Choice {}
#[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:tsmt.009.001.05")]
pub enum FreightCharges1Code {
#[yaserde(rename = "CLCT")]
#[cfg_attr(feature = "serde", serde(rename = "CLCT"))]
Clct,
#[yaserde(rename = "PRPD")]
#[cfg_attr(feature = "serde", serde(rename = "PRPD"))]
Prpd,
__Unknown__(String),
}
impl Default for FreightCharges1Code {
fn default() -> FreightCharges1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for FreightCharges1Code {}
#[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:tsmt.009.001.05")]
pub struct GenericAccountIdentification1 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Max34Text,
#[yaserde(rename = "SchmeNm")]
#[cfg_attr(feature = "serde", serde(rename = "SchmeNm"))]
pub schme_nm: AccountSchemeName1Choice,
#[yaserde(rename = "Issr")]
#[cfg_attr(feature = "serde", serde(rename = "Issr"))]
pub issr: Max35Text,
}
impl Validate for GenericAccountIdentification1 {}
#[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:tsmt.009.001.05")]
pub struct GenericIdentification1 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Max35Text,
#[yaserde(rename = "SchmeNm")]
#[cfg_attr(feature = "serde", serde(rename = "SchmeNm"))]
pub schme_nm: Max35Text,
#[yaserde(rename = "Issr")]
#[cfg_attr(feature = "serde", serde(rename = "Issr"))]
pub issr: Max35Text,
}
impl Validate for GenericIdentification1 {}
#[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:tsmt.009.001.05")]
pub struct GenericIdentification13 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Max4AlphaNumericText,
#[yaserde(rename = "SchmeNm")]
#[cfg_attr(feature = "serde", serde(rename = "SchmeNm"))]
pub schme_nm: Max35Text,
#[yaserde(rename = "Issr")]
#[cfg_attr(feature = "serde", serde(rename = "Issr"))]
pub issr: Max35Text,
}
impl Validate for GenericIdentification13 {}
#[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:tsmt.009.001.05")]
pub struct GenericIdentification4 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Max35Text,
#[yaserde(rename = "IdTp")]
#[cfg_attr(feature = "serde", serde(rename = "IdTp"))]
pub id_tp: Max35Text,
}
impl Validate for GenericIdentification4 {}
#[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 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, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:tsmt.009.001.05")]
pub struct Incoterms4 {
#[yaserde(rename = "IncotrmsCd")]
#[cfg_attr(feature = "serde", serde(rename = "IncotrmsCd"))]
pub incotrms_cd: Incoterms4Choice,
#[yaserde(rename = "Lctn")]
#[cfg_attr(feature = "serde", serde(rename = "Lctn"))]
pub lctn: Max70Text,
}
impl Validate for Incoterms4 {}
#[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:tsmt.009.001.05")]
pub struct Incoterms4Choice {
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: Option<ExternalIncoterms1Code>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<GenericIdentification13>,
}
impl Validate for Incoterms4Choice {}
#[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:tsmt.009.001.05")]
pub enum InsuranceClauses1Code {
#[yaserde(rename = "ICCA")]
#[cfg_attr(feature = "serde", serde(rename = "ICCA"))]
Icca,
#[yaserde(rename = "ICCB")]
#[cfg_attr(feature = "serde", serde(rename = "ICCB"))]
Iccb,
#[yaserde(rename = "ICCC")]
#[cfg_attr(feature = "serde", serde(rename = "ICCC"))]
Iccc,
#[yaserde(rename = "ICAI")]
#[cfg_attr(feature = "serde", serde(rename = "ICAI"))]
Icai,
#[yaserde(rename = "IWCC")]
#[cfg_attr(feature = "serde", serde(rename = "IWCC"))]
Iwcc,
#[yaserde(rename = "ISCC")]
#[cfg_attr(feature = "serde", serde(rename = "ISCC"))]
Iscc,
#[yaserde(rename = "IREC")]
#[cfg_attr(feature = "serde", serde(rename = "IREC"))]
Irec,
#[yaserde(rename = "ICLC")]
#[cfg_attr(feature = "serde", serde(rename = "ICLC"))]
Iclc,
#[yaserde(rename = "ISMC")]
#[cfg_attr(feature = "serde", serde(rename = "ISMC"))]
Ismc,
#[yaserde(rename = "CMCC")]
#[cfg_attr(feature = "serde", serde(rename = "CMCC"))]
Cmcc,
#[yaserde(rename = "IRCE")]
#[cfg_attr(feature = "serde", serde(rename = "IRCE"))]
Irce,
__Unknown__(String),
}
impl Default for InsuranceClauses1Code {
fn default() -> InsuranceClauses1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for InsuranceClauses1Code {}
#[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:tsmt.009.001.05")]
pub struct LineItem13 {
#[yaserde(rename = "GoodsAndOrSvcsDesc")]
#[cfg_attr(feature = "serde", serde(rename = "GoodsAndOrSvcsDesc"))]
pub goods_and_or_svcs_desc: Max70Text,
#[yaserde(rename = "PrtlShipmnt")]
#[cfg_attr(feature = "serde", serde(rename = "PrtlShipmnt"))]
pub prtl_shipmnt: YesNoIndicator,
#[yaserde(rename = "TrnsShipmnt")]
#[cfg_attr(feature = "serde", serde(rename = "TrnsShipmnt"))]
pub trns_shipmnt: YesNoIndicator,
#[yaserde(rename = "ShipmntDtRg")]
#[cfg_attr(feature = "serde", serde(rename = "ShipmntDtRg"))]
pub shipmnt_dt_rg: ShipmentDateRange1,
#[yaserde(rename = "LineItmDtls")]
#[cfg_attr(feature = "serde", serde(rename = "LineItmDtls"))]
pub line_itm_dtls: Vec<LineItemDetails13>,
#[yaserde(rename = "LineItmsTtlAmt")]
#[cfg_attr(feature = "serde", serde(rename = "LineItmsTtlAmt"))]
pub line_itms_ttl_amt: CurrencyAndAmount,
#[yaserde(rename = "RtgSummry")]
#[cfg_attr(feature = "serde", serde(rename = "RtgSummry"))]
pub rtg_summry: TransportMeans5,
#[yaserde(rename = "Incotrms")]
#[cfg_attr(feature = "serde", serde(rename = "Incotrms"))]
pub incotrms: Incoterms4,
#[yaserde(rename = "Adjstmnt")]
#[cfg_attr(feature = "serde", serde(rename = "Adjstmnt"))]
pub adjstmnt: Vec<Adjustment7>,
#[yaserde(rename = "FrghtChrgs")]
#[cfg_attr(feature = "serde", serde(rename = "FrghtChrgs"))]
pub frght_chrgs: Charge24,
#[yaserde(rename = "Tax")]
#[cfg_attr(feature = "serde", serde(rename = "Tax"))]
pub tax: Vec<Tax23>,
#[yaserde(rename = "TtlNetAmt")]
#[cfg_attr(feature = "serde", serde(rename = "TtlNetAmt"))]
pub ttl_net_amt: CurrencyAndAmount,
#[yaserde(rename = "BuyrDfndInf")]
#[cfg_attr(feature = "serde", serde(rename = "BuyrDfndInf"))]
pub buyr_dfnd_inf: Vec<UserDefinedInformation1>,
#[yaserde(rename = "SellrDfndInf")]
#[cfg_attr(feature = "serde", serde(rename = "SellrDfndInf"))]
pub sellr_dfnd_inf: Vec<UserDefinedInformation1>,
}
impl Validate for LineItem13 {}
#[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:tsmt.009.001.05")]
pub struct LineItemDetails13 {
#[yaserde(rename = "LineItmId")]
#[cfg_attr(feature = "serde", serde(rename = "LineItmId"))]
pub line_itm_id: Max70Text,
#[yaserde(rename = "Qty")]
#[cfg_attr(feature = "serde", serde(rename = "Qty"))]
pub qty: Quantity9,
#[yaserde(rename = "QtyTlrnce")]
#[cfg_attr(feature = "serde", serde(rename = "QtyTlrnce"))]
pub qty_tlrnce: PercentageTolerance1,
#[yaserde(rename = "UnitPric")]
#[cfg_attr(feature = "serde", serde(rename = "UnitPric"))]
pub unit_pric: UnitPrice18,
#[yaserde(rename = "PricTlrnce")]
#[cfg_attr(feature = "serde", serde(rename = "PricTlrnce"))]
pub pric_tlrnce: PercentageTolerance1,
#[yaserde(rename = "PdctNm")]
#[cfg_attr(feature = "serde", serde(rename = "PdctNm"))]
pub pdct_nm: Max70Text,
#[yaserde(rename = "PdctIdr")]
#[cfg_attr(feature = "serde", serde(rename = "PdctIdr"))]
pub pdct_idr: Vec<ProductIdentifier2Choice>,
#[yaserde(rename = "PdctChrtcs")]
#[cfg_attr(feature = "serde", serde(rename = "PdctChrtcs"))]
pub pdct_chrtcs: Vec<ProductCharacteristics1Choice>,
#[yaserde(rename = "PdctCtgy")]
#[cfg_attr(feature = "serde", serde(rename = "PdctCtgy"))]
pub pdct_ctgy: Vec<ProductCategory1Choice>,
#[yaserde(rename = "PdctOrgn")]
#[cfg_attr(feature = "serde", serde(rename = "PdctOrgn"))]
pub pdct_orgn: Vec<CountryCode>,
#[yaserde(rename = "ShipmntSchdl")]
#[cfg_attr(feature = "serde", serde(rename = "ShipmntSchdl"))]
pub shipmnt_schdl: ShipmentSchedule2Choice,
#[yaserde(rename = "RtgSummry")]
#[cfg_attr(feature = "serde", serde(rename = "RtgSummry"))]
pub rtg_summry: TransportMeans5,
#[yaserde(rename = "Adjstmnt")]
#[cfg_attr(feature = "serde", serde(rename = "Adjstmnt"))]
pub adjstmnt: Vec<Adjustment7>,
#[yaserde(rename = "FrghtChrgs")]
#[cfg_attr(feature = "serde", serde(rename = "FrghtChrgs"))]
pub frght_chrgs: Charge24,
#[yaserde(rename = "Tax")]
#[cfg_attr(feature = "serde", serde(rename = "Tax"))]
pub tax: Vec<Tax23>,
#[yaserde(rename = "TtlAmt")]
#[cfg_attr(feature = "serde", serde(rename = "TtlAmt"))]
pub ttl_amt: CurrencyAndAmount,
#[yaserde(rename = "Incotrms")]
#[cfg_attr(feature = "serde", serde(rename = "Incotrms"))]
pub incotrms: Incoterms4,
}
impl Validate for LineItemDetails13 {}
#[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:tsmt.009.001.05")]
pub struct Location2 {
#[yaserde(rename = "Ctry")]
#[cfg_attr(feature = "serde", serde(rename = "Ctry"))]
pub ctry: CountryCode,
#[yaserde(rename = "CtrySubDvsn")]
#[cfg_attr(feature = "serde", serde(rename = "CtrySubDvsn"))]
pub ctry_sub_dvsn: CountrySubdivision1Choice,
#[yaserde(rename = "Txt")]
#[cfg_attr(feature = "serde", serde(rename = "Txt"))]
pub txt: Max35Text,
}
impl Validate for Location2 {}
#[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 Max15NumericText (pub String);
crate::simple_type!(Max15NumericText);
impl Validate for Max15NumericText {}
#[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 Max256Text (pub String);
crate::simple_type!(Max256Text);
impl Validate for Max256Text {
fn validate(&self) -> Result<(), String> {
#[allow(clippy::len_zero)]
if self.0.len() < 1 {
return Err(format!("MinLength validation error. \nExpected: 0 length >= 1 \nActual: 0 length == {}", self.0.len()));
}
if self.0.len() > 256 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 256 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max34Text (pub String);
crate::simple_type!(Max34Text);
impl Validate for Max34Text {
fn validate(&self) -> Result<(), String> {
#[allow(clippy::len_zero)]
if self.0.len() < 1 {
return Err(format!("MinLength validation error. \nExpected: 0 length >= 1 \nActual: 0 length == {}", self.0.len()));
}
if self.0.len() > 34 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 34 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct 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 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 Max6Text (pub String);
crate::simple_type!(Max6Text);
impl Validate for Max6Text {
fn validate(&self) -> Result<(), String> {
#[allow(clippy::len_zero)]
if self.0.len() < 1 {
return Err(format!("MinLength validation error. \nExpected: 0 length >= 1 \nActual: 0 length == {}", self.0.len()));
}
if self.0.len() > 6 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 6 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max70Text (pub String);
crate::simple_type!(Max70Text);
impl Validate for Max70Text {
fn validate(&self) -> Result<(), String> {
#[allow(clippy::len_zero)]
if self.0.len() < 1 {
return Err(format!("MinLength validation error. \nExpected: 0 length >= 1 \nActual: 0 length == {}", self.0.len()));
}
if self.0.len() > 70 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 70 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:tsmt.009.001.05")]
pub struct MessageIdentification1 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Max35Text,
#[yaserde(rename = "CreDtTm")]
#[cfg_attr(feature = "serde", serde(rename = "CreDtTm"))]
pub cre_dt_tm: IsodateTime,
}
impl Validate for MessageIdentification1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:tsmt.009.001.05")]
pub struct MultimodalTransport3 {
#[yaserde(rename = "TakngInChrg")]
#[cfg_attr(feature = "serde", serde(rename = "TakngInChrg"))]
pub takng_in_chrg: Max35Text,
#[yaserde(rename = "PlcOfFnlDstn")]
#[cfg_attr(feature = "serde", serde(rename = "PlcOfFnlDstn"))]
pub plc_of_fnl_dstn: Max35Text,
}
impl Validate for MultimodalTransport3 {}
#[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:tsmt.009.001.05")]
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(PartialEq, Debug, Clone, YaSerialize, YaDeserialize)]#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:tsmt.009.001.05")]
pub enum NamePrefix1Code {
#[yaserde(rename = "DOCT")]
#[cfg_attr(feature = "serde", serde(rename = "DOCT"))]
Doct,
#[yaserde(rename = "MIST")]
#[cfg_attr(feature = "serde", serde(rename = "MIST"))]
Mist,
#[yaserde(rename = "MISS")]
#[cfg_attr(feature = "serde", serde(rename = "MISS"))]
Miss,
#[yaserde(rename = "MADM")]
#[cfg_attr(feature = "serde", serde(rename = "MADM"))]
Madm,
__Unknown__(String),
}
impl Default for NamePrefix1Code {
fn default() -> NamePrefix1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for NamePrefix1Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Number (pub String);
crate::simple_type!(Number);
impl Validate for Number {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:tsmt.009.001.05")]
pub struct PartyIdentification26 {
#[yaserde(rename = "Nm")]
#[cfg_attr(feature = "serde", serde(rename = "Nm"))]
pub nm: Max70Text,
#[yaserde(rename = "PrtryId")]
#[cfg_attr(feature = "serde", serde(rename = "PrtryId"))]
pub prtry_id: GenericIdentification4,
#[yaserde(rename = "PstlAdr")]
#[cfg_attr(feature = "serde", serde(rename = "PstlAdr"))]
pub pstl_adr: PostalAddress5,
}
impl Validate for PartyIdentification26 {}
#[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:tsmt.009.001.05")]
pub struct PartyIdentification27 {
#[yaserde(rename = "Nm")]
#[cfg_attr(feature = "serde", serde(rename = "Nm"))]
pub nm: Max70Text,
#[yaserde(rename = "PrtryId")]
#[cfg_attr(feature = "serde", serde(rename = "PrtryId"))]
pub prtry_id: GenericIdentification4,
#[yaserde(rename = "Ctry")]
#[cfg_attr(feature = "serde", serde(rename = "Ctry"))]
pub ctry: CountryCode,
}
impl Validate for PartyIdentification27 {}
#[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:tsmt.009.001.05")]
pub struct PaymentCodeOrOther1Choice {
#[yaserde(rename = "PmtCd")]
#[cfg_attr(feature = "serde", serde(rename = "PmtCd"))]
pub pmt_cd: Option<PaymentPeriod3>,
#[yaserde(rename = "PmtDueDt")]
#[cfg_attr(feature = "serde", serde(rename = "PmtDueDt"))]
pub pmt_due_dt: Option<Isodate>,
#[yaserde(rename = "OthrPmtTerms")]
#[cfg_attr(feature = "serde", serde(rename = "OthrPmtTerms"))]
pub othr_pmt_terms: Option<Max140Text>,
}
impl Validate for PaymentCodeOrOther1Choice {}
#[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:tsmt.009.001.05")]
pub struct PaymentCodeOrOther2Choice {
#[yaserde(rename = "PmtCd")]
#[cfg_attr(feature = "serde", serde(rename = "PmtCd"))]
pub pmt_cd: Option<PaymentPeriod4>,
#[yaserde(rename = "PmtDueDt")]
#[cfg_attr(feature = "serde", serde(rename = "PmtDueDt"))]
pub pmt_due_dt: Option<Isodate>,
#[yaserde(rename = "OthrPmtTerms")]
#[cfg_attr(feature = "serde", serde(rename = "OthrPmtTerms"))]
pub othr_pmt_terms: Option<Max140Text>,
}
impl Validate for PaymentCodeOrOther2Choice {}
#[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:tsmt.009.001.05")]
pub struct PaymentObligation2 {
#[yaserde(rename = "OblgrBk")]
#[cfg_attr(feature = "serde", serde(rename = "OblgrBk"))]
pub oblgr_bk: Bicidentification1,
#[yaserde(rename = "RcptBk")]
#[cfg_attr(feature = "serde", serde(rename = "RcptBk"))]
pub rcpt_bk: Bicidentification1,
#[yaserde(rename = "PmtOblgtnAmt")]
#[cfg_attr(feature = "serde", serde(rename = "PmtOblgtnAmt"))]
pub pmt_oblgtn_amt: AmountOrPercentage2Choice,
#[yaserde(rename = "Chrgs")]
#[cfg_attr(feature = "serde", serde(rename = "Chrgs"))]
pub chrgs: Vec<Charges5>,
#[yaserde(rename = "XpryDt")]
#[cfg_attr(feature = "serde", serde(rename = "XpryDt"))]
pub xpry_dt: Isodate,
#[yaserde(rename = "AplblRules")]
#[cfg_attr(feature = "serde", serde(rename = "AplblRules"))]
pub aplbl_rules: BpoapplicableRules1Choice,
#[yaserde(rename = "AplblLaw")]
#[cfg_attr(feature = "serde", serde(rename = "AplblLaw"))]
pub aplbl_law: CountryCode,
#[yaserde(rename = "PlcOfJursdctn")]
#[cfg_attr(feature = "serde", serde(rename = "PlcOfJursdctn"))]
pub plc_of_jursdctn: Location2,
#[yaserde(rename = "PmtTerms")]
#[cfg_attr(feature = "serde", serde(rename = "PmtTerms"))]
pub pmt_terms: Vec<PaymentTerms4>,
#[yaserde(rename = "SttlmTerms")]
#[cfg_attr(feature = "serde", serde(rename = "SttlmTerms"))]
pub sttlm_terms: SettlementTerms3,
}
impl Validate for PaymentObligation2 {}
#[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:tsmt.009.001.05")]
pub struct PaymentPeriod3 {
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: PaymentTime3Code,
#[yaserde(rename = "NbOfDays")]
#[cfg_attr(feature = "serde", serde(rename = "NbOfDays"))]
pub nb_of_days: Number,
}
impl Validate for PaymentPeriod3 {}
#[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:tsmt.009.001.05")]
pub struct PaymentPeriod4 {
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: PaymentTime4Code,
#[yaserde(rename = "NbOfDays")]
#[cfg_attr(feature = "serde", serde(rename = "NbOfDays"))]
pub nb_of_days: Number,
}
impl Validate for PaymentPeriod4 {}
#[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:tsmt.009.001.05")]
pub struct PaymentTerms4 {
#[yaserde(rename = "PmtTerms")]
#[cfg_attr(feature = "serde", serde(rename = "PmtTerms"))]
pub pmt_terms: PaymentCodeOrOther1Choice,
#[yaserde(rename = "AmtOrPctg")]
#[cfg_attr(feature = "serde", serde(rename = "AmtOrPctg"))]
pub amt_or_pctg: AmountOrPercentage2Choice,
}
impl Validate for PaymentTerms4 {}
#[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:tsmt.009.001.05")]
pub struct PaymentTerms5 {
#[yaserde(rename = "PmtTerms")]
#[cfg_attr(feature = "serde", serde(rename = "PmtTerms"))]
pub pmt_terms: PaymentCodeOrOther2Choice,
#[yaserde(rename = "AmtOrPctg")]
#[cfg_attr(feature = "serde", serde(rename = "AmtOrPctg"))]
pub amt_or_pctg: AmountOrPercentage2Choice,
}
impl Validate for PaymentTerms5 {}
#[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:tsmt.009.001.05")]
pub enum PaymentTime3Code {
#[yaserde(rename = "EMTD")]
#[cfg_attr(feature = "serde", serde(rename = "EMTD"))]
Emtd,
#[yaserde(rename = "EMTR")]
#[cfg_attr(feature = "serde", serde(rename = "EMTR"))]
Emtr,
#[yaserde(rename = "EPBE")]
#[cfg_attr(feature = "serde", serde(rename = "EPBE"))]
Epbe,
#[yaserde(rename = "EPRD")]
#[cfg_attr(feature = "serde", serde(rename = "EPRD"))]
Eprd,
#[yaserde(rename = "PRMD")]
#[cfg_attr(feature = "serde", serde(rename = "PRMD"))]
Prmd,
#[yaserde(rename = "PRMR")]
#[cfg_attr(feature = "serde", serde(rename = "PRMR"))]
Prmr,
#[yaserde(rename = "EPIN")]
#[cfg_attr(feature = "serde", serde(rename = "EPIN"))]
Epin,
#[yaserde(rename = "EPAM")]
#[cfg_attr(feature = "serde", serde(rename = "EPAM"))]
Epam,
#[yaserde(rename = "EPPO")]
#[cfg_attr(feature = "serde", serde(rename = "EPPO"))]
Eppo,
#[yaserde(rename = "EPRR")]
#[cfg_attr(feature = "serde", serde(rename = "EPRR"))]
Eprr,
#[yaserde(rename = "EPSD")]
#[cfg_attr(feature = "serde", serde(rename = "EPSD"))]
Epsd,
#[yaserde(rename = "CASH")]
#[cfg_attr(feature = "serde", serde(rename = "CASH"))]
Cash,
#[yaserde(rename = "IREC")]
#[cfg_attr(feature = "serde", serde(rename = "IREC"))]
Irec,
__Unknown__(String),
}
impl Default for PaymentTime3Code {
fn default() -> PaymentTime3Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for PaymentTime3Code {}
#[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:tsmt.009.001.05")]
pub enum PaymentTime4Code {
#[yaserde(rename = "IREC")]
#[cfg_attr(feature = "serde", serde(rename = "IREC"))]
Irec,
#[yaserde(rename = "CASH")]
#[cfg_attr(feature = "serde", serde(rename = "CASH"))]
Cash,
#[yaserde(rename = "EPSD")]
#[cfg_attr(feature = "serde", serde(rename = "EPSD"))]
Epsd,
#[yaserde(rename = "EPRR")]
#[cfg_attr(feature = "serde", serde(rename = "EPRR"))]
Eprr,
#[yaserde(rename = "EPPO")]
#[cfg_attr(feature = "serde", serde(rename = "EPPO"))]
Eppo,
#[yaserde(rename = "EPIN")]
#[cfg_attr(feature = "serde", serde(rename = "EPIN"))]
Epin,
#[yaserde(rename = "PRMR")]
#[cfg_attr(feature = "serde", serde(rename = "PRMR"))]
Prmr,
#[yaserde(rename = "PRMD")]
#[cfg_attr(feature = "serde", serde(rename = "PRMD"))]
Prmd,
#[yaserde(rename = "EPRD")]
#[cfg_attr(feature = "serde", serde(rename = "EPRD"))]
Eprd,
#[yaserde(rename = "EPBE")]
#[cfg_attr(feature = "serde", serde(rename = "EPBE"))]
Epbe,
#[yaserde(rename = "EMTR")]
#[cfg_attr(feature = "serde", serde(rename = "EMTR"))]
Emtr,
#[yaserde(rename = "EMTD")]
#[cfg_attr(feature = "serde", serde(rename = "EMTD"))]
Emtd,
__Unknown__(String),
}
impl Default for PaymentTime4Code {
fn default() -> PaymentTime4Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for PaymentTime4Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct PercentageRate (pub String);
crate::simple_type!(PercentageRate);
impl Validate for PercentageRate {}
#[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:tsmt.009.001.05")]
pub struct PercentageTolerance1 {
#[yaserde(rename = "PlusPct")]
#[cfg_attr(feature = "serde", serde(rename = "PlusPct"))]
pub plus_pct: PercentageRate,
#[yaserde(rename = "MnsPct")]
#[cfg_attr(feature = "serde", serde(rename = "MnsPct"))]
pub mns_pct: PercentageRate,
}
impl Validate for PercentageTolerance1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct PhoneNumber (pub String);
crate::simple_type!(PhoneNumber);
impl Validate for PhoneNumber {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:tsmt.009.001.05")]
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:tsmt.009.001.05")]
pub struct PostalAddress5 {
#[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 PostalAddress5 {}
#[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:tsmt.009.001.05")]
pub struct ProductCategory1 {
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: ProductCategory1Code,
#[yaserde(rename = "Ctgy")]
#[cfg_attr(feature = "serde", serde(rename = "Ctgy"))]
pub ctgy: Max35Text,
}
impl Validate for ProductCategory1 {}
#[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:tsmt.009.001.05")]
pub struct ProductCategory1Choice {
#[yaserde(rename = "StrdPdctCtgy")]
#[cfg_attr(feature = "serde", serde(rename = "StrdPdctCtgy"))]
pub strd_pdct_ctgy: Option<ProductCategory1>,
#[yaserde(rename = "OthrPdctCtgy")]
#[cfg_attr(feature = "serde", serde(rename = "OthrPdctCtgy"))]
pub othr_pdct_ctgy: Option<GenericIdentification4>,
}
impl Validate for ProductCategory1Choice {}
#[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:tsmt.009.001.05")]
pub enum ProductCategory1Code {
#[yaserde(rename = "HRTR")]
#[cfg_attr(feature = "serde", serde(rename = "HRTR"))]
Hrtr,
#[yaserde(rename = "QOTA")]
#[cfg_attr(feature = "serde", serde(rename = "QOTA"))]
Qota,
#[yaserde(rename = "PRGP")]
#[cfg_attr(feature = "serde", serde(rename = "PRGP"))]
Prgp,
#[yaserde(rename = "LOBU")]
#[cfg_attr(feature = "serde", serde(rename = "LOBU"))]
Lobu,
#[yaserde(rename = "GNDR")]
#[cfg_attr(feature = "serde", serde(rename = "GNDR"))]
Gndr,
__Unknown__(String),
}
impl Default for ProductCategory1Code {
fn default() -> ProductCategory1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for ProductCategory1Code {}
#[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:tsmt.009.001.05")]
pub struct ProductCharacteristics1 {
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: ProductCharacteristics1Code,
#[yaserde(rename = "Chrtcs")]
#[cfg_attr(feature = "serde", serde(rename = "Chrtcs"))]
pub chrtcs: Max35Text,
}
impl Validate for ProductCharacteristics1 {}
#[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:tsmt.009.001.05")]
pub struct ProductCharacteristics1Choice {
#[yaserde(rename = "StrdPdctChrtcs")]
#[cfg_attr(feature = "serde", serde(rename = "StrdPdctChrtcs"))]
pub strd_pdct_chrtcs: Option<ProductCharacteristics1>,
#[yaserde(rename = "OthrPdctChrtcs")]
#[cfg_attr(feature = "serde", serde(rename = "OthrPdctChrtcs"))]
pub othr_pdct_chrtcs: Option<GenericIdentification4>,
}
impl Validate for ProductCharacteristics1Choice {}
#[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:tsmt.009.001.05")]
pub enum ProductCharacteristics1Code {
#[yaserde(rename = "BISP")]
#[cfg_attr(feature = "serde", serde(rename = "BISP"))]
Bisp,
#[yaserde(rename = "CHNR")]
#[cfg_attr(feature = "serde", serde(rename = "CHNR"))]
Chnr,
#[yaserde(rename = "CLOR")]
#[cfg_attr(feature = "serde", serde(rename = "CLOR"))]
Clor,
#[yaserde(rename = "EDSP")]
#[cfg_attr(feature = "serde", serde(rename = "EDSP"))]
Edsp,
#[yaserde(rename = "ENNR")]
#[cfg_attr(feature = "serde", serde(rename = "ENNR"))]
Ennr,
#[yaserde(rename = "OPTN")]
#[cfg_attr(feature = "serde", serde(rename = "OPTN"))]
Optn,
#[yaserde(rename = "ORCR")]
#[cfg_attr(feature = "serde", serde(rename = "ORCR"))]
Orcr,
#[yaserde(rename = "PCTV")]
#[cfg_attr(feature = "serde", serde(rename = "PCTV"))]
Pctv,
#[yaserde(rename = "SISP")]
#[cfg_attr(feature = "serde", serde(rename = "SISP"))]
Sisp,
#[yaserde(rename = "SIZE")]
#[cfg_attr(feature = "serde", serde(rename = "SIZE"))]
Size,
#[yaserde(rename = "SZRG")]
#[cfg_attr(feature = "serde", serde(rename = "SZRG"))]
Szrg,
#[yaserde(rename = "SPRM")]
#[cfg_attr(feature = "serde", serde(rename = "SPRM"))]
Sprm,
#[yaserde(rename = "STOR")]
#[cfg_attr(feature = "serde", serde(rename = "STOR"))]
Stor,
#[yaserde(rename = "VINR")]
#[cfg_attr(feature = "serde", serde(rename = "VINR"))]
Vinr,
__Unknown__(String),
}
impl Default for ProductCharacteristics1Code {
fn default() -> ProductCharacteristics1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for ProductCharacteristics1Code {}
#[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:tsmt.009.001.05")]
pub struct ProductIdentifier2 {
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: ProductIdentifier2Code,
#[yaserde(rename = "Idr")]
#[cfg_attr(feature = "serde", serde(rename = "Idr"))]
pub idr: Max35Text,
}
impl Validate for ProductIdentifier2 {}
#[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:tsmt.009.001.05")]
pub struct ProductIdentifier2Choice {
#[yaserde(rename = "StrdPdctIdr")]
#[cfg_attr(feature = "serde", serde(rename = "StrdPdctIdr"))]
pub strd_pdct_idr: Option<ProductIdentifier2>,
#[yaserde(rename = "OthrPdctIdr")]
#[cfg_attr(feature = "serde", serde(rename = "OthrPdctIdr"))]
pub othr_pdct_idr: Option<GenericIdentification4>,
}
impl Validate for ProductIdentifier2Choice {}
#[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:tsmt.009.001.05")]
pub enum ProductIdentifier2Code {
#[yaserde(rename = "BINR")]
#[cfg_attr(feature = "serde", serde(rename = "BINR"))]
Binr,
#[yaserde(rename = "COMD")]
#[cfg_attr(feature = "serde", serde(rename = "COMD"))]
Comd,
#[yaserde(rename = "EANC")]
#[cfg_attr(feature = "serde", serde(rename = "EANC"))]
Eanc,
#[yaserde(rename = "HRTR")]
#[cfg_attr(feature = "serde", serde(rename = "HRTR"))]
Hrtr,
#[yaserde(rename = "MANI")]
#[cfg_attr(feature = "serde", serde(rename = "MANI"))]
Mani,
#[yaserde(rename = "MODL")]
#[cfg_attr(feature = "serde", serde(rename = "MODL"))]
Modl,
#[yaserde(rename = "PART")]
#[cfg_attr(feature = "serde", serde(rename = "PART"))]
Part,
#[yaserde(rename = "QOTA")]
#[cfg_attr(feature = "serde", serde(rename = "QOTA"))]
Qota,
#[yaserde(rename = "STYL")]
#[cfg_attr(feature = "serde", serde(rename = "STYL"))]
Styl,
#[yaserde(rename = "SUPI")]
#[cfg_attr(feature = "serde", serde(rename = "SUPI"))]
Supi,
#[yaserde(rename = "UPCC")]
#[cfg_attr(feature = "serde", serde(rename = "UPCC"))]
Upcc,
__Unknown__(String),
}
impl Default for ProductIdentifier2Code {
fn default() -> ProductIdentifier2Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for ProductIdentifier2Code {}
#[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:tsmt.009.001.05")]
pub struct Quantity9 {
#[yaserde(rename = "UnitOfMeasr")]
#[cfg_attr(feature = "serde", serde(rename = "UnitOfMeasr"))]
pub unit_of_measr: UnitOfMeasure3Choice,
#[yaserde(rename = "Val")]
#[cfg_attr(feature = "serde", serde(rename = "Val"))]
pub val: DecimalNumber,
#[yaserde(rename = "Fctr")]
#[cfg_attr(feature = "serde", serde(rename = "Fctr"))]
pub fctr: Max15NumericText,
}
impl Validate for Quantity9 {}
#[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:tsmt.009.001.05")]
pub struct RequiredSubmission2 {
#[yaserde(rename = "Submitr")]
#[cfg_attr(feature = "serde", serde(rename = "Submitr"))]
pub submitr: Vec<Bicidentification1>,
}
impl Validate for RequiredSubmission2 {}
#[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:tsmt.009.001.05")]
pub struct RequiredSubmission3 {
#[yaserde(rename = "Submitr")]
#[cfg_attr(feature = "serde", serde(rename = "Submitr"))]
pub submitr: Vec<Bicidentification1>,
#[yaserde(rename = "MtchIssr")]
#[cfg_attr(feature = "serde", serde(rename = "MtchIssr"))]
pub mtch_issr: PartyIdentification27,
#[yaserde(rename = "MtchIsseDt")]
#[cfg_attr(feature = "serde", serde(rename = "MtchIsseDt"))]
pub mtch_isse_dt: YesNoIndicator,
#[yaserde(rename = "MtchTrnsprt")]
#[cfg_attr(feature = "serde", serde(rename = "MtchTrnsprt"))]
pub mtch_trnsprt: YesNoIndicator,
#[yaserde(rename = "MtchAmt")]
#[cfg_attr(feature = "serde", serde(rename = "MtchAmt"))]
pub mtch_amt: YesNoIndicator,
#[yaserde(rename = "ClausesReqrd")]
#[cfg_attr(feature = "serde", serde(rename = "ClausesReqrd"))]
pub clauses_reqrd: Vec<InsuranceClauses1Code>,
#[yaserde(rename = "MtchAssrdPty")]
#[cfg_attr(feature = "serde", serde(rename = "MtchAssrdPty"))]
pub mtch_assrd_pty: AssuredType1Code,
}
impl Validate for RequiredSubmission3 {}
#[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:tsmt.009.001.05")]
pub struct RequiredSubmission4 {
#[yaserde(rename = "Submitr")]
#[cfg_attr(feature = "serde", serde(rename = "Submitr"))]
pub submitr: Vec<Bicidentification1>,
#[yaserde(rename = "CertTp")]
#[cfg_attr(feature = "serde", serde(rename = "CertTp"))]
pub cert_tp: TradeCertificateType1Code,
#[yaserde(rename = "MtchIssr")]
#[cfg_attr(feature = "serde", serde(rename = "MtchIssr"))]
pub mtch_issr: PartyIdentification27,
#[yaserde(rename = "MtchIsseDt")]
#[cfg_attr(feature = "serde", serde(rename = "MtchIsseDt"))]
pub mtch_isse_dt: YesNoIndicator,
#[yaserde(rename = "MtchInspctnDt")]
#[cfg_attr(feature = "serde", serde(rename = "MtchInspctnDt"))]
pub mtch_inspctn_dt: YesNoIndicator,
#[yaserde(rename = "AuthrsdInspctrInd")]
#[cfg_attr(feature = "serde", serde(rename = "AuthrsdInspctrInd"))]
pub authrsd_inspctr_ind: YesNoIndicator,
#[yaserde(rename = "MtchConsgn")]
#[cfg_attr(feature = "serde", serde(rename = "MtchConsgn"))]
pub mtch_consgn: YesNoIndicator,
#[yaserde(rename = "MtchManfctr")]
#[cfg_attr(feature = "serde", serde(rename = "MtchManfctr"))]
pub mtch_manfctr: PartyIdentification27,
#[yaserde(rename = "LineItmId")]
#[cfg_attr(feature = "serde", serde(rename = "LineItmId"))]
pub line_itm_id: Vec<Max70Text>,
}
impl Validate for RequiredSubmission4 {}
#[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:tsmt.009.001.05")]
pub struct RequiredSubmission6 {
#[yaserde(rename = "Submitr")]
#[cfg_attr(feature = "serde", serde(rename = "Submitr"))]
pub submitr: Vec<Bicidentification1>,
#[yaserde(rename = "CertTp")]
#[cfg_attr(feature = "serde", serde(rename = "CertTp"))]
pub cert_tp: Exact4AlphaNumericText,
#[yaserde(rename = "CertTpDesc")]
#[cfg_attr(feature = "serde", serde(rename = "CertTpDesc"))]
pub cert_tp_desc: Max140Text,
}
impl Validate for RequiredSubmission6 {}
#[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:tsmt.009.001.05")]
pub struct SettlementTerms3 {
#[yaserde(rename = "CdtrAgt")]
#[cfg_attr(feature = "serde", serde(rename = "CdtrAgt"))]
pub cdtr_agt: FinancialInstitutionIdentification4Choice,
#[yaserde(rename = "CdtrAcct")]
#[cfg_attr(feature = "serde", serde(rename = "CdtrAcct"))]
pub cdtr_acct: CashAccount24,
}
impl Validate for SettlementTerms3 {}
#[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:tsmt.009.001.05")]
pub struct ShipmentDateRange1 {
#[yaserde(rename = "EarlstShipmntDt")]
#[cfg_attr(feature = "serde", serde(rename = "EarlstShipmntDt"))]
pub earlst_shipmnt_dt: Isodate,
#[yaserde(rename = "LatstShipmntDt")]
#[cfg_attr(feature = "serde", serde(rename = "LatstShipmntDt"))]
pub latst_shipmnt_dt: Isodate,
}
impl Validate for ShipmentDateRange1 {}
#[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:tsmt.009.001.05")]
pub struct ShipmentDateRange2 {
#[yaserde(rename = "SubQtyVal")]
#[cfg_attr(feature = "serde", serde(rename = "SubQtyVal"))]
pub sub_qty_val: DecimalNumber,
#[yaserde(rename = "EarlstShipmntDt")]
#[cfg_attr(feature = "serde", serde(rename = "EarlstShipmntDt"))]
pub earlst_shipmnt_dt: Isodate,
#[yaserde(rename = "LatstShipmntDt")]
#[cfg_attr(feature = "serde", serde(rename = "LatstShipmntDt"))]
pub latst_shipmnt_dt: Isodate,
}
impl Validate for ShipmentDateRange2 {}
#[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:tsmt.009.001.05")]
pub struct ShipmentSchedule2Choice {
#[yaserde(rename = "ShipmntDtRg")]
#[cfg_attr(feature = "serde", serde(rename = "ShipmntDtRg"))]
pub shipmnt_dt_rg: Option<ShipmentDateRange1>,
#[yaserde(rename = "ShipmntSubSchdl")]
#[cfg_attr(feature = "serde", serde(rename = "ShipmntSubSchdl"))]
pub shipmnt_sub_schdl: Vec<ShipmentDateRange2>,
}
impl Validate for ShipmentSchedule2Choice {}
#[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:tsmt.009.001.05")]
pub struct SimpleIdentificationInformation {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Max35Text,
}
impl Validate for SimpleIdentificationInformation {}
#[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:tsmt.009.001.05")]
pub struct SingleTransport7 {
#[yaserde(rename = "TrnsprtByAir")]
#[cfg_attr(feature = "serde", serde(rename = "TrnsprtByAir"))]
pub trnsprt_by_air: Vec<TransportByAir5>,
#[yaserde(rename = "TrnsprtBySea")]
#[cfg_attr(feature = "serde", serde(rename = "TrnsprtBySea"))]
pub trnsprt_by_sea: Vec<TransportBySea6>,
#[yaserde(rename = "TrnsprtByRoad")]
#[cfg_attr(feature = "serde", serde(rename = "TrnsprtByRoad"))]
pub trnsprt_by_road: Vec<TransportByRoad5>,
#[yaserde(rename = "TrnsprtByRail")]
#[cfg_attr(feature = "serde", serde(rename = "TrnsprtByRail"))]
pub trnsprt_by_rail: Vec<TransportByRail5>,
}
impl Validate for SingleTransport7 {}
#[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:tsmt.009.001.05")]
pub struct Tax23 {
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: TaxType2Choice,
#[yaserde(rename = "AmtOrPctg")]
#[cfg_attr(feature = "serde", serde(rename = "AmtOrPctg"))]
pub amt_or_pctg: AmountOrPercentage2Choice,
}
impl Validate for Tax23 {}
#[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:tsmt.009.001.05")]
pub struct TaxType2Choice {
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: Option<TaxType9Code>,
#[yaserde(rename = "OthrTaxTp")]
#[cfg_attr(feature = "serde", serde(rename = "OthrTaxTp"))]
pub othr_tax_tp: Option<Max35Text>,
}
impl Validate for TaxType2Choice {}
#[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:tsmt.009.001.05")]
pub enum TaxType9Code {
#[yaserde(rename = "PROV")]
#[cfg_attr(feature = "serde", serde(rename = "PROV"))]
Prov,
#[yaserde(rename = "NATI")]
#[cfg_attr(feature = "serde", serde(rename = "NATI"))]
Nati,
#[yaserde(rename = "STAT")]
#[cfg_attr(feature = "serde", serde(rename = "STAT"))]
Stat,
#[yaserde(rename = "WITH")]
#[cfg_attr(feature = "serde", serde(rename = "WITH"))]
With,
#[yaserde(rename = "STAM")]
#[cfg_attr(feature = "serde", serde(rename = "STAM"))]
Stam,
#[yaserde(rename = "COAX")]
#[cfg_attr(feature = "serde", serde(rename = "COAX"))]
Coax,
#[yaserde(rename = "VATA")]
#[cfg_attr(feature = "serde", serde(rename = "VATA"))]
Vata,
#[yaserde(rename = "CUST")]
#[cfg_attr(feature = "serde", serde(rename = "CUST"))]
Cust,
__Unknown__(String),
}
impl Default for TaxType9Code {
fn default() -> TaxType9Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for TaxType9Code {}
#[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:tsmt.009.001.05")]
pub enum TradeCertificateType1Code {
#[yaserde(rename = "ANLY")]
#[cfg_attr(feature = "serde", serde(rename = "ANLY"))]
Anly,
#[yaserde(rename = "QUAL")]
#[cfg_attr(feature = "serde", serde(rename = "QUAL"))]
Qual,
#[yaserde(rename = "QUAN")]
#[cfg_attr(feature = "serde", serde(rename = "QUAN"))]
Quan,
#[yaserde(rename = "WEIG")]
#[cfg_attr(feature = "serde", serde(rename = "WEIG"))]
Weig,
#[yaserde(rename = "ORIG")]
#[cfg_attr(feature = "serde", serde(rename = "ORIG"))]
Orig,
#[yaserde(rename = "HEAL")]
#[cfg_attr(feature = "serde", serde(rename = "HEAL"))]
Heal,
#[yaserde(rename = "PHYT")]
#[cfg_attr(feature = "serde", serde(rename = "PHYT"))]
Phyt,
__Unknown__(String),
}
impl Default for TradeCertificateType1Code {
fn default() -> TradeCertificateType1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for TradeCertificateType1Code {}
#[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:tsmt.009.001.05")]
pub enum TradeFinanceService2Code {
#[yaserde(rename = "LEV1")]
#[cfg_attr(feature = "serde", serde(rename = "LEV1"))]
Lev1,
#[yaserde(rename = "LEV2")]
#[cfg_attr(feature = "serde", serde(rename = "LEV2"))]
Lev2,
#[yaserde(rename = "LEV3")]
#[cfg_attr(feature = "serde", serde(rename = "LEV3"))]
Lev3,
__Unknown__(String),
}
impl Default for TradeFinanceService2Code {
fn default() -> TradeFinanceService2Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for TradeFinanceService2Code {}
#[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:tsmt.009.001.05")]
pub struct TransportByAir5 {
#[yaserde(rename = "DprtureAirprt")]
#[cfg_attr(feature = "serde", serde(rename = "DprtureAirprt"))]
pub dprture_airprt: Vec<AirportName1Choice>,
#[yaserde(rename = "DstnAirprt")]
#[cfg_attr(feature = "serde", serde(rename = "DstnAirprt"))]
pub dstn_airprt: Vec<AirportName1Choice>,
#[yaserde(rename = "AirCrrierNm")]
#[cfg_attr(feature = "serde", serde(rename = "AirCrrierNm"))]
pub air_crrier_nm: Max70Text,
#[yaserde(rename = "AirCrrierCtry")]
#[cfg_attr(feature = "serde", serde(rename = "AirCrrierCtry"))]
pub air_crrier_ctry: CountryCode,
#[yaserde(rename = "CrrierAgtNm")]
#[cfg_attr(feature = "serde", serde(rename = "CrrierAgtNm"))]
pub crrier_agt_nm: Max70Text,
#[yaserde(rename = "CrrierAgtCtry")]
#[cfg_attr(feature = "serde", serde(rename = "CrrierAgtCtry"))]
pub crrier_agt_ctry: CountryCode,
}
impl Validate for TransportByAir5 {}
#[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:tsmt.009.001.05")]
pub struct TransportByRail5 {
#[yaserde(rename = "PlcOfRct")]
#[cfg_attr(feature = "serde", serde(rename = "PlcOfRct"))]
pub plc_of_rct: Vec<Max35Text>,
#[yaserde(rename = "PlcOfDlvry")]
#[cfg_attr(feature = "serde", serde(rename = "PlcOfDlvry"))]
pub plc_of_dlvry: Vec<Max35Text>,
#[yaserde(rename = "RailCrrierNm")]
#[cfg_attr(feature = "serde", serde(rename = "RailCrrierNm"))]
pub rail_crrier_nm: Max70Text,
#[yaserde(rename = "RailCrrierCtry")]
#[cfg_attr(feature = "serde", serde(rename = "RailCrrierCtry"))]
pub rail_crrier_ctry: CountryCode,
#[yaserde(rename = "CrrierAgtNm")]
#[cfg_attr(feature = "serde", serde(rename = "CrrierAgtNm"))]
pub crrier_agt_nm: Max70Text,
#[yaserde(rename = "CrrierAgtCtry")]
#[cfg_attr(feature = "serde", serde(rename = "CrrierAgtCtry"))]
pub crrier_agt_ctry: CountryCode,
}
impl Validate for TransportByRail5 {}
#[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:tsmt.009.001.05")]
pub struct TransportByRoad5 {
#[yaserde(rename = "PlcOfRct")]
#[cfg_attr(feature = "serde", serde(rename = "PlcOfRct"))]
pub plc_of_rct: Vec<Max35Text>,
#[yaserde(rename = "PlcOfDlvry")]
#[cfg_attr(feature = "serde", serde(rename = "PlcOfDlvry"))]
pub plc_of_dlvry: Vec<Max35Text>,
#[yaserde(rename = "RoadCrrierNm")]
#[cfg_attr(feature = "serde", serde(rename = "RoadCrrierNm"))]
pub road_crrier_nm: Max70Text,
#[yaserde(rename = "RoadCrrierCtry")]
#[cfg_attr(feature = "serde", serde(rename = "RoadCrrierCtry"))]
pub road_crrier_ctry: CountryCode,
#[yaserde(rename = "CrrierAgtNm")]
#[cfg_attr(feature = "serde", serde(rename = "CrrierAgtNm"))]
pub crrier_agt_nm: Max70Text,
#[yaserde(rename = "CrrierAgtCtry")]
#[cfg_attr(feature = "serde", serde(rename = "CrrierAgtCtry"))]
pub crrier_agt_ctry: CountryCode,
}
impl Validate for TransportByRoad5 {}
#[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:tsmt.009.001.05")]
pub struct TransportBySea6 {
#[yaserde(rename = "PortOfLoadng")]
#[cfg_attr(feature = "serde", serde(rename = "PortOfLoadng"))]
pub port_of_loadng: Vec<Max35Text>,
#[yaserde(rename = "PortOfDschrge")]
#[cfg_attr(feature = "serde", serde(rename = "PortOfDschrge"))]
pub port_of_dschrge: Vec<Max35Text>,
#[yaserde(rename = "VsslNm")]
#[cfg_attr(feature = "serde", serde(rename = "VsslNm"))]
pub vssl_nm: Max70Text,
#[yaserde(rename = "SeaCrrierNm")]
#[cfg_attr(feature = "serde", serde(rename = "SeaCrrierNm"))]
pub sea_crrier_nm: Max70Text,
#[yaserde(rename = "SeaCrrierCtry")]
#[cfg_attr(feature = "serde", serde(rename = "SeaCrrierCtry"))]
pub sea_crrier_ctry: CountryCode,
#[yaserde(rename = "CrrierAgtNm")]
#[cfg_attr(feature = "serde", serde(rename = "CrrierAgtNm"))]
pub crrier_agt_nm: Max70Text,
#[yaserde(rename = "CrrierAgtCtry")]
#[cfg_attr(feature = "serde", serde(rename = "CrrierAgtCtry"))]
pub crrier_agt_ctry: CountryCode,
}
impl Validate for TransportBySea6 {}
#[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:tsmt.009.001.05")]
pub struct TransportMeans5 {
#[yaserde(rename = "IndvTrnsprt")]
#[cfg_attr(feature = "serde", serde(rename = "IndvTrnsprt"))]
pub indv_trnsprt: SingleTransport7,
#[yaserde(rename = "MltmdlTrnsprt")]
#[cfg_attr(feature = "serde", serde(rename = "MltmdlTrnsprt"))]
pub mltmdl_trnsprt: MultimodalTransport3,
}
impl Validate for TransportMeans5 {}
#[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:tsmt.009.001.05")]
pub struct UnitOfMeasure3Choice {
#[yaserde(rename = "UnitOfMeasrCd")]
#[cfg_attr(feature = "serde", serde(rename = "UnitOfMeasrCd"))]
pub unit_of_measr_cd: Option<UnitOfMeasure4Code>,
#[yaserde(rename = "OthrUnitOfMeasr")]
#[cfg_attr(feature = "serde", serde(rename = "OthrUnitOfMeasr"))]
pub othr_unit_of_measr: Option<Max35Text>,
}
impl Validate for UnitOfMeasure3Choice {}
#[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:tsmt.009.001.05")]
pub enum UnitOfMeasure4Code {
#[yaserde(rename = "KGM")]
#[cfg_attr(feature = "serde", serde(rename = "KGM"))]
Kgm,
#[yaserde(rename = "EA")]
#[cfg_attr(feature = "serde", serde(rename = "EA"))]
Ea,
#[yaserde(rename = "LTN")]
#[cfg_attr(feature = "serde", serde(rename = "LTN"))]
Ltn,
#[yaserde(rename = "MTR")]
#[cfg_attr(feature = "serde", serde(rename = "MTR"))]
Mtr,
#[yaserde(rename = "INH")]
#[cfg_attr(feature = "serde", serde(rename = "INH"))]
Inh,
#[yaserde(rename = "LY")]
#[cfg_attr(feature = "serde", serde(rename = "LY"))]
Ly,
#[yaserde(rename = "GLI")]
#[cfg_attr(feature = "serde", serde(rename = "GLI"))]
Gli,
#[yaserde(rename = "GRM")]
#[cfg_attr(feature = "serde", serde(rename = "GRM"))]
Grm,
#[yaserde(rename = "CMT")]
#[cfg_attr(feature = "serde", serde(rename = "CMT"))]
Cmt,
#[yaserde(rename = "MTK")]
#[cfg_attr(feature = "serde", serde(rename = "MTK"))]
Mtk,
#[yaserde(rename = "FOT")]
#[cfg_attr(feature = "serde", serde(rename = "FOT"))]
Fot,
#[yaserde(rename = "1A")]
#[cfg_attr(feature = "serde", serde(rename = "1A"))]
_1A,
#[yaserde(rename = "INK")]
#[cfg_attr(feature = "serde", serde(rename = "INK"))]
Ink,
#[yaserde(rename = "FTK")]
#[cfg_attr(feature = "serde", serde(rename = "FTK"))]
Ftk,
#[yaserde(rename = "MIK")]
#[cfg_attr(feature = "serde", serde(rename = "MIK"))]
Mik,
#[yaserde(rename = "ONZ")]
#[cfg_attr(feature = "serde", serde(rename = "ONZ"))]
Onz,
#[yaserde(rename = "PTI")]
#[cfg_attr(feature = "serde", serde(rename = "PTI"))]
Pti,
#[yaserde(rename = "PT")]
#[cfg_attr(feature = "serde", serde(rename = "PT"))]
Pt,
#[yaserde(rename = "QTI")]
#[cfg_attr(feature = "serde", serde(rename = "QTI"))]
Qti,
#[yaserde(rename = "QT")]
#[cfg_attr(feature = "serde", serde(rename = "QT"))]
Qt,
#[yaserde(rename = "GLL")]
#[cfg_attr(feature = "serde", serde(rename = "GLL"))]
Gll,
#[yaserde(rename = "MMT")]
#[cfg_attr(feature = "serde", serde(rename = "MMT"))]
Mmt,
#[yaserde(rename = "KTM")]
#[cfg_attr(feature = "serde", serde(rename = "KTM"))]
Ktm,
#[yaserde(rename = "YDK")]
#[cfg_attr(feature = "serde", serde(rename = "YDK"))]
Ydk,
#[yaserde(rename = "MMK")]
#[cfg_attr(feature = "serde", serde(rename = "MMK"))]
Mmk,
#[yaserde(rename = "CMK")]
#[cfg_attr(feature = "serde", serde(rename = "CMK"))]
Cmk,
#[yaserde(rename = "KMK")]
#[cfg_attr(feature = "serde", serde(rename = "KMK"))]
Kmk,
#[yaserde(rename = "MMQ")]
#[cfg_attr(feature = "serde", serde(rename = "MMQ"))]
Mmq,
#[yaserde(rename = "CLT")]
#[cfg_attr(feature = "serde", serde(rename = "CLT"))]
Clt,
#[yaserde(rename = "LTR")]
#[cfg_attr(feature = "serde", serde(rename = "LTR"))]
Ltr,
#[yaserde(rename = "LBR")]
#[cfg_attr(feature = "serde", serde(rename = "LBR"))]
Lbr,
#[yaserde(rename = "STN")]
#[cfg_attr(feature = "serde", serde(rename = "STN"))]
Stn,
#[yaserde(rename = "BLL")]
#[cfg_attr(feature = "serde", serde(rename = "BLL"))]
Bll,
#[yaserde(rename = "BX")]
#[cfg_attr(feature = "serde", serde(rename = "BX"))]
Bx,
#[yaserde(rename = "BO")]
#[cfg_attr(feature = "serde", serde(rename = "BO"))]
Bo,
#[yaserde(rename = "CT")]
#[cfg_attr(feature = "serde", serde(rename = "CT"))]
Ct,
#[yaserde(rename = "CH")]
#[cfg_attr(feature = "serde", serde(rename = "CH"))]
Ch,
#[yaserde(rename = "CR")]
#[cfg_attr(feature = "serde", serde(rename = "CR"))]
Cr,
#[yaserde(rename = "INQ")]
#[cfg_attr(feature = "serde", serde(rename = "INQ"))]
Inq,
#[yaserde(rename = "MTQ")]
#[cfg_attr(feature = "serde", serde(rename = "MTQ"))]
Mtq,
#[yaserde(rename = "OZI")]
#[cfg_attr(feature = "serde", serde(rename = "OZI"))]
Ozi,
#[yaserde(rename = "OZA")]
#[cfg_attr(feature = "serde", serde(rename = "OZA"))]
Oza,
#[yaserde(rename = "BG")]
#[cfg_attr(feature = "serde", serde(rename = "BG"))]
Bg,
#[yaserde(rename = "BL")]
#[cfg_attr(feature = "serde", serde(rename = "BL"))]
Bl,
#[yaserde(rename = "TNE")]
#[cfg_attr(feature = "serde", serde(rename = "TNE"))]
Tne,
__Unknown__(String),
}
impl Default for UnitOfMeasure4Code {
fn default() -> UnitOfMeasure4Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for UnitOfMeasure4Code {}
#[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:tsmt.009.001.05")]
pub struct UnitPrice18 {
#[yaserde(rename = "UnitPric")]
#[cfg_attr(feature = "serde", serde(rename = "UnitPric"))]
pub unit_pric: UnitOfMeasure3Choice,
#[yaserde(rename = "Amt")]
#[cfg_attr(feature = "serde", serde(rename = "Amt"))]
pub amt: CurrencyAndAmount,
#[yaserde(rename = "Fctr")]
#[cfg_attr(feature = "serde", serde(rename = "Fctr"))]
pub fctr: Max15NumericText,
}
impl Validate for UnitPrice18 {}
#[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:tsmt.009.001.05")]
pub struct UserDefinedInformation1 {
#[yaserde(rename = "Labl")]
#[cfg_attr(feature = "serde", serde(rename = "Labl"))]
pub labl: Max35Text,
#[yaserde(rename = "Inf")]
#[cfg_attr(feature = "serde", serde(rename = "Inf"))]
pub inf: Max140Text,
}
impl Validate for UserDefinedInformation1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct YesNoIndicator (pub bool);
crate::simple_type!(YesNoIndicator);
impl Validate for YesNoIndicator {}
impl crate::MxMessage for Document {
const BUSINESS_AREA: crate::BusinessArea = crate::BusinessArea::tsmt;
const FUNCTIONALITY: &'static str = "009";
const VARIANT: &'static str = "001";
const VERSION: &'static str = "05";
const MESSAGE_NAME: &'static str = "tsmt.009.001.05";
const NAMESPACE: &'static str = "urn:iso:std:iso:20022:tech:xsd:tsmt.009.001.05";
}