#![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:cain.025.001.01")]
pub struct AddendumData1 {
#[yaserde(rename = "PurchsIdrTp")]
#[cfg_attr(feature = "serde", serde(rename = "PurchsIdrTp"))]
pub purchs_idr_tp: PurchaseIdentifierType1Code,
#[yaserde(rename = "OthrPurchsIdrTp")]
#[cfg_attr(feature = "serde", serde(rename = "OthrPurchsIdrTp"))]
pub othr_purchs_idr_tp: Max35Text,
#[yaserde(rename = "PurchsIdr")]
#[cfg_attr(feature = "serde", serde(rename = "PurchsIdr"))]
pub purchs_idr: Max99Text,
#[yaserde(rename = "AddtlAccptrData")]
#[cfg_attr(feature = "serde", serde(rename = "AddtlAccptrData"))]
pub addtl_accptr_data: AdditionalAcceptorData1,
#[yaserde(rename = "Cstmr")]
#[cfg_attr(feature = "serde", serde(rename = "Cstmr"))]
pub cstmr: Customer4,
#[yaserde(rename = "Sale")]
#[cfg_attr(feature = "serde", serde(rename = "Sale"))]
pub sale: Sale1,
#[yaserde(rename = "Fleet")]
#[cfg_attr(feature = "serde", serde(rename = "Fleet"))]
pub fleet: FleetData2,
#[yaserde(rename = "Invc")]
#[cfg_attr(feature = "serde", serde(rename = "Invc"))]
pub invc: Invoice1,
#[yaserde(rename = "TrvlAgcy")]
#[cfg_attr(feature = "serde", serde(rename = "TrvlAgcy"))]
pub trvl_agcy: TravelAgency2,
#[yaserde(rename = "PssngrTrnsprt")]
#[cfg_attr(feature = "serde", serde(rename = "PssngrTrnsprt"))]
pub pssngr_trnsprt: PassengerTransport1,
#[yaserde(rename = "VhclRntl")]
#[cfg_attr(feature = "serde", serde(rename = "VhclRntl"))]
pub vhcl_rntl: Vec<VehicleRentalService1>,
#[yaserde(rename = "Ldgg")]
#[cfg_attr(feature = "serde", serde(rename = "Ldgg"))]
pub ldgg: Vec<Lodging2>,
#[yaserde(rename = "ShppgData")]
#[cfg_attr(feature = "serde", serde(rename = "ShppgData"))]
pub shppg_data: ShippingData1,
#[yaserde(rename = "TelecomSvcs")]
#[cfg_attr(feature = "serde", serde(rename = "TelecomSvcs"))]
pub telecom_svcs: TelecomServices1,
#[yaserde(rename = "TempSvcs")]
#[cfg_attr(feature = "serde", serde(rename = "TempSvcs"))]
pub temp_svcs: Vec<TemporaryServices1>,
#[yaserde(rename = "Instlmt")]
#[cfg_attr(feature = "serde", serde(rename = "Instlmt"))]
pub instlmt: Instalment3,
#[yaserde(rename = "AddtlData")]
#[cfg_attr(feature = "serde", serde(rename = "AddtlData"))]
pub addtl_data: Vec<AdditionalData1>,
}
impl Validate for AddendumData1 {}
#[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:cain.025.001.01")]
pub struct AddendumInitiation1 {
#[yaserde(rename = "Envt")]
#[cfg_attr(feature = "serde", serde(rename = "Envt"))]
pub envt: Environment16,
#[yaserde(rename = "Cntxt")]
#[cfg_attr(feature = "serde", serde(rename = "Cntxt"))]
pub cntxt: Context8,
#[yaserde(rename = "Tx")]
#[cfg_attr(feature = "serde", serde(rename = "Tx"))]
pub tx: Transaction91,
#[yaserde(rename = "AdddmData")]
#[cfg_attr(feature = "serde", serde(rename = "AdddmData"))]
pub adddm_data: AddendumData1,
#[yaserde(rename = "PrtctdData")]
#[cfg_attr(feature = "serde", serde(rename = "PrtctdData"))]
pub prtctd_data: Vec<ProtectedData1>,
#[yaserde(rename = "SplmtryData")]
#[cfg_attr(feature = "serde", serde(rename = "SplmtryData"))]
pub splmtry_data: Vec<SupplementaryData1>,
}
impl Validate for AddendumInitiation1 {}
#[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:cain.025.001.01")]
pub struct AddendumInitiationV01 {
#[yaserde(rename = "Hdr")]
#[cfg_attr(feature = "serde", serde(rename = "Hdr"))]
pub hdr: Header48,
#[yaserde(rename = "Body")]
#[cfg_attr(feature = "serde", serde(rename = "Body"))]
pub body: AddendumInitiation1,
#[yaserde(rename = "SctyTrlr")]
#[cfg_attr(feature = "serde", serde(rename = "SctyTrlr"))]
pub scty_trlr: ContentInformationType20,
}
impl Validate for AddendumInitiationV01 {}
#[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:cain.025.001.01")]
pub enum AddendumTaxType1Code {
#[yaserde(rename = "TOTL")]
#[cfg_attr(feature = "serde", serde(rename = "TOTL"))]
Totl,
#[yaserde(rename = "ALMI")]
#[cfg_attr(feature = "serde", serde(rename = "ALMI"))]
Almi,
#[yaserde(rename = "ASNT")]
#[cfg_attr(feature = "serde", serde(rename = "ASNT"))]
Asnt,
#[yaserde(rename = "BPTX")]
#[cfg_attr(feature = "serde", serde(rename = "BPTX"))]
Bptx,
#[yaserde(rename = "KAPA")]
#[cfg_attr(feature = "serde", serde(rename = "KAPA"))]
Kapa,
#[yaserde(rename = "NKAP")]
#[cfg_attr(feature = "serde", serde(rename = "NKAP"))]
Nkap,
#[yaserde(rename = "CRTX")]
#[cfg_attr(feature = "serde", serde(rename = "CRTX"))]
Crtx,
#[yaserde(rename = "CSTX")]
#[cfg_attr(feature = "serde", serde(rename = "CSTX"))]
Cstx,
#[yaserde(rename = "CITX")]
#[cfg_attr(feature = "serde", serde(rename = "CITX"))]
Citx,
#[yaserde(rename = "COAX")]
#[cfg_attr(feature = "serde", serde(rename = "COAX"))]
Coax,
#[yaserde(rename = "CPST")]
#[cfg_attr(feature = "serde", serde(rename = "CPST"))]
Cpst,
#[yaserde(rename = "CORT")]
#[cfg_attr(feature = "serde", serde(rename = "CORT"))]
Cort,
#[yaserde(rename = "COTX")]
#[cfg_attr(feature = "serde", serde(rename = "COTX"))]
Cotx,
#[yaserde(rename = "CUST")]
#[cfg_attr(feature = "serde", serde(rename = "CUST"))]
Cust,
#[yaserde(rename = "DLTX")]
#[cfg_attr(feature = "serde", serde(rename = "DLTX"))]
Dltx,
#[yaserde(rename = "DUTY")]
#[cfg_attr(feature = "serde", serde(rename = "DUTY"))]
Duty,
#[yaserde(rename = "EMIT")]
#[cfg_attr(feature = "serde", serde(rename = "EMIT"))]
Emit,
#[yaserde(rename = "EMUT")]
#[cfg_attr(feature = "serde", serde(rename = "EMUT"))]
Emut,
#[yaserde(rename = "EMET")]
#[cfg_attr(feature = "serde", serde(rename = "EMET"))]
Emet,
#[yaserde(rename = "EMST")]
#[cfg_attr(feature = "serde", serde(rename = "EMST"))]
Emst,
#[yaserde(rename = "EMRT")]
#[cfg_attr(feature = "serde", serde(rename = "EMRT"))]
Emrt,
#[yaserde(rename = "ENTX")]
#[cfg_attr(feature = "serde", serde(rename = "ENTX"))]
Entx,
#[yaserde(rename = "ESET")]
#[cfg_attr(feature = "serde", serde(rename = "ESET"))]
Eset,
#[yaserde(rename = "ENVT")]
#[cfg_attr(feature = "serde", serde(rename = "ENVT"))]
Envt,
#[yaserde(rename = "EQUL")]
#[cfg_attr(feature = "serde", serde(rename = "EQUL"))]
Equl,
#[yaserde(rename = "EQTX")]
#[cfg_attr(feature = "serde", serde(rename = "EQTX"))]
Eqtx,
#[yaserde(rename = "EUTR")]
#[cfg_attr(feature = "serde", serde(rename = "EUTR"))]
Eutr,
#[yaserde(rename = "EXEC")]
#[cfg_attr(feature = "serde", serde(rename = "EXEC"))]
Exec,
#[yaserde(rename = "FEXT")]
#[cfg_attr(feature = "serde", serde(rename = "FEXT"))]
Fext,
#[yaserde(rename = "FNST")]
#[cfg_attr(feature = "serde", serde(rename = "FNST"))]
Fnst,
#[yaserde(rename = "FETX")]
#[cfg_attr(feature = "serde", serde(rename = "FETX"))]
Fetx,
#[yaserde(rename = "FVAT")]
#[cfg_attr(feature = "serde", serde(rename = "FVAT"))]
Fvat,
#[yaserde(rename = "FVTS")]
#[cfg_attr(feature = "serde", serde(rename = "FVTS"))]
Fvts,
#[yaserde(rename = "FIMT")]
#[cfg_attr(feature = "serde", serde(rename = "FIMT"))]
Fimt,
#[yaserde(rename = "FSST")]
#[cfg_attr(feature = "serde", serde(rename = "FSST"))]
Fsst,
#[yaserde(rename = "FICA")]
#[cfg_attr(feature = "serde", serde(rename = "FICA"))]
Fica,
#[yaserde(rename = "FRTX")]
#[cfg_attr(feature = "serde", serde(rename = "FRTX"))]
Frtx,
#[yaserde(rename = "FSTX")]
#[cfg_attr(feature = "serde", serde(rename = "FSTX"))]
Fstx,
#[yaserde(rename = "FSFT")]
#[cfg_attr(feature = "serde", serde(rename = "FSFT"))]
Fsft,
#[yaserde(rename = "FUVT")]
#[cfg_attr(feature = "serde", serde(rename = "FUVT"))]
Fuvt,
#[yaserde(rename = "GIFT")]
#[cfg_attr(feature = "serde", serde(rename = "GIFT"))]
Gift,
#[yaserde(rename = "GCAT")]
#[cfg_attr(feature = "serde", serde(rename = "GCAT"))]
Gcat,
#[yaserde(rename = "GRTX")]
#[cfg_attr(feature = "serde", serde(rename = "GRTX"))]
Grtx,
#[yaserde(rename = "HVAT")]
#[cfg_attr(feature = "serde", serde(rename = "HVAT"))]
Hvat,
#[yaserde(rename = "HATX")]
#[cfg_attr(feature = "serde", serde(rename = "HATX"))]
Hatx,
#[yaserde(rename = "HSTX")]
#[cfg_attr(feature = "serde", serde(rename = "HSTX"))]
Hstx,
#[yaserde(rename = "HWTX")]
#[cfg_attr(feature = "serde", serde(rename = "HWTX"))]
Hwtx,
#[yaserde(rename = "INHT")]
#[cfg_attr(feature = "serde", serde(rename = "INHT"))]
Inht,
#[yaserde(rename = "INPO")]
#[cfg_attr(feature = "serde", serde(rename = "INPO"))]
Inpo,
#[yaserde(rename = "LTTX")]
#[cfg_attr(feature = "serde", serde(rename = "LTTX"))]
Lttx,
#[yaserde(rename = "FLST")]
#[cfg_attr(feature = "serde", serde(rename = "FLST"))]
Flst,
#[yaserde(rename = "LITX")]
#[cfg_attr(feature = "serde", serde(rename = "LITX"))]
Litx,
#[yaserde(rename = "LOCO")]
#[cfg_attr(feature = "serde", serde(rename = "LOCO"))]
Loco,
#[yaserde(rename = "LSTX")]
#[cfg_attr(feature = "serde", serde(rename = "LSTX"))]
Lstx,
#[yaserde(rename = "LOCL")]
#[cfg_attr(feature = "serde", serde(rename = "LOCL"))]
Locl,
#[yaserde(rename = "LUTX")]
#[cfg_attr(feature = "serde", serde(rename = "LUTX"))]
Lutx,
#[yaserde(rename = "MATX")]
#[cfg_attr(feature = "serde", serde(rename = "MATX"))]
Matx,
#[yaserde(rename = "METX")]
#[cfg_attr(feature = "serde", serde(rename = "METX"))]
Metx,
#[yaserde(rename = "MITX")]
#[cfg_attr(feature = "serde", serde(rename = "MITX"))]
Mitx,
#[yaserde(rename = "MUTX")]
#[cfg_attr(feature = "serde", serde(rename = "MUTX"))]
Mutx,
#[yaserde(rename = "MUDE")]
#[cfg_attr(feature = "serde", serde(rename = "MUDE"))]
Mude,
#[yaserde(rename = "COUN")]
#[cfg_attr(feature = "serde", serde(rename = "COUN"))]
Coun,
#[yaserde(rename = "NATI")]
#[cfg_attr(feature = "serde", serde(rename = "NATI"))]
Nati,
#[yaserde(rename = "OCTX")]
#[cfg_attr(feature = "serde", serde(rename = "OCTX"))]
Octx,
#[yaserde(rename = "OPTX")]
#[cfg_attr(feature = "serde", serde(rename = "OPTX"))]
Optx,
#[yaserde(rename = "OTHR")]
#[cfg_attr(feature = "serde", serde(rename = "OTHR"))]
Othr,
#[yaserde(rename = "OTHN")]
#[cfg_attr(feature = "serde", serde(rename = "OTHN"))]
Othn,
#[yaserde(rename = "OTHP")]
#[cfg_attr(feature = "serde", serde(rename = "OTHP"))]
Othp,
#[yaserde(rename = "OTTX")]
#[cfg_attr(feature = "serde", serde(rename = "OTTX"))]
Ottx,
#[yaserde(rename = "LEVY")]
#[cfg_attr(feature = "serde", serde(rename = "LEVY"))]
Levy,
#[yaserde(rename = "POTX")]
#[cfg_attr(feature = "serde", serde(rename = "POTX"))]
Potx,
#[yaserde(rename = "PRTX")]
#[cfg_attr(feature = "serde", serde(rename = "PRTX"))]
Prtx,
#[yaserde(rename = "PSTX")]
#[cfg_attr(feature = "serde", serde(rename = "PSTX"))]
Pstx,
#[yaserde(rename = "PPTX")]
#[cfg_attr(feature = "serde", serde(rename = "PPTX"))]
Pptx,
#[yaserde(rename = "PROV")]
#[cfg_attr(feature = "serde", serde(rename = "PROV"))]
Prov,
#[yaserde(rename = "PHET")]
#[cfg_attr(feature = "serde", serde(rename = "PHET"))]
Phet,
#[yaserde(rename = "QUST")]
#[cfg_attr(feature = "serde", serde(rename = "QUST"))]
Qust,
#[yaserde(rename = "ROCI")]
#[cfg_attr(feature = "serde", serde(rename = "ROCI"))]
Roci,
#[yaserde(rename = "RCSB")]
#[cfg_attr(feature = "serde", serde(rename = "RCSB"))]
Rcsb,
#[yaserde(rename = "RCSD")]
#[cfg_attr(feature = "serde", serde(rename = "RCSD"))]
Rcsd,
#[yaserde(rename = "ROTX")]
#[cfg_attr(feature = "serde", serde(rename = "ROTX"))]
Rotx,
#[yaserde(rename = "RVAT")]
#[cfg_attr(feature = "serde", serde(rename = "RVAT"))]
Rvat,
#[yaserde(rename = "ROVI")]
#[cfg_attr(feature = "serde", serde(rename = "ROVI"))]
Rovi,
#[yaserde(rename = "SAUT")]
#[cfg_attr(feature = "serde", serde(rename = "SAUT"))]
Saut,
#[yaserde(rename = "SCTX")]
#[cfg_attr(feature = "serde", serde(rename = "SCTX"))]
Sctx,
#[yaserde(rename = "SPTX")]
#[cfg_attr(feature = "serde", serde(rename = "SPTX"))]
Sptx,
#[yaserde(rename = "STTA")]
#[cfg_attr(feature = "serde", serde(rename = "STTA"))]
Stta,
#[yaserde(rename = "STAM")]
#[cfg_attr(feature = "serde", serde(rename = "STAM"))]
Stam,
#[yaserde(rename = "SLST")]
#[cfg_attr(feature = "serde", serde(rename = "SLST"))]
Slst,
#[yaserde(rename = "SLTX")]
#[cfg_attr(feature = "serde", serde(rename = "SLTX"))]
Sltx,
#[yaserde(rename = "SETX")]
#[cfg_attr(feature = "serde", serde(rename = "SETX"))]
Setx,
#[yaserde(rename = "STPT")]
#[cfg_attr(feature = "serde", serde(rename = "STPT"))]
Stpt,
#[yaserde(rename = "SPTS")]
#[cfg_attr(feature = "serde", serde(rename = "SPTS"))]
Spts,
#[yaserde(rename = "SPFT")]
#[cfg_attr(feature = "serde", serde(rename = "SPFT"))]
Spft,
#[yaserde(rename = "SPTG")]
#[cfg_attr(feature = "serde", serde(rename = "SPTG"))]
Sptg,
#[yaserde(rename = "SRTX")]
#[cfg_attr(feature = "serde", serde(rename = "SRTX"))]
Srtx,
#[yaserde(rename = "SSTX")]
#[cfg_attr(feature = "serde", serde(rename = "SSTX"))]
Sstx,
#[yaserde(rename = "STAT")]
#[cfg_attr(feature = "serde", serde(rename = "STAT"))]
Stat,
#[yaserde(rename = "STSL")]
#[cfg_attr(feature = "serde", serde(rename = "STSL"))]
Stsl,
#[yaserde(rename = "STEX")]
#[cfg_attr(feature = "serde", serde(rename = "STEX"))]
Stex,
#[yaserde(rename = "SUTX")]
#[cfg_attr(feature = "serde", serde(rename = "SUTX"))]
Sutx,
#[yaserde(rename = "CTAX")]
#[cfg_attr(feature = "serde", serde(rename = "CTAX"))]
Ctax,
#[yaserde(rename = "TDDT")]
#[cfg_attr(feature = "serde", serde(rename = "TDDT"))]
Tddt,
#[yaserde(rename = "TELT")]
#[cfg_attr(feature = "serde", serde(rename = "TELT"))]
Telt,
#[yaserde(rename = "THTX")]
#[cfg_attr(feature = "serde", serde(rename = "THTX"))]
Thtx,
#[yaserde(rename = "TRAX")]
#[cfg_attr(feature = "serde", serde(rename = "TRAX"))]
Trax,
#[yaserde(rename = "TRAN")]
#[cfg_attr(feature = "serde", serde(rename = "TRAN"))]
Tran,
#[yaserde(rename = "UNSP")]
#[cfg_attr(feature = "serde", serde(rename = "UNSP"))]
Unsp,
#[yaserde(rename = "UUTX")]
#[cfg_attr(feature = "serde", serde(rename = "UUTX"))]
Uutx,
#[yaserde(rename = "VATA")]
#[cfg_attr(feature = "serde", serde(rename = "VATA"))]
Vata,
#[yaserde(rename = "VATB")]
#[cfg_attr(feature = "serde", serde(rename = "VATB"))]
Vatb,
#[yaserde(rename = "WTAX")]
#[cfg_attr(feature = "serde", serde(rename = "WTAX"))]
Wtax,
#[yaserde(rename = "WESV")]
#[cfg_attr(feature = "serde", serde(rename = "WESV"))]
Wesv,
#[yaserde(rename = "WITF")]
#[cfg_attr(feature = "serde", serde(rename = "WITF"))]
Witf,
#[yaserde(rename = "WITL")]
#[cfg_attr(feature = "serde", serde(rename = "WITL"))]
Witl,
#[yaserde(rename = "WITH")]
#[cfg_attr(feature = "serde", serde(rename = "WITH"))]
With,
__Unknown__(String),
}
impl Default for AddendumTaxType1Code {
fn default() -> AddendumTaxType1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for AddendumTaxType1Code {}
#[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:cain.025.001.01")]
pub struct AdditionalAcceptorData1 {
#[yaserde(rename = "AddtlTxRefNb")]
#[cfg_attr(feature = "serde", serde(rename = "AddtlTxRefNb"))]
pub addtl_tx_ref_nb: Max70Text,
#[yaserde(rename = "TaxRegnId")]
#[cfg_attr(feature = "serde", serde(rename = "TaxRegnId"))]
pub tax_regn_id: Max70Text,
#[yaserde(rename = "CorpTaxId")]
#[cfg_attr(feature = "serde", serde(rename = "CorpTaxId"))]
pub corp_tax_id: Max35Text,
#[yaserde(rename = "CorpTaxIdTp")]
#[cfg_attr(feature = "serde", serde(rename = "CorpTaxIdTp"))]
pub corp_tax_id_tp: CorporateTaxType1Code,
#[yaserde(rename = "AddtlId")]
#[cfg_attr(feature = "serde", serde(rename = "AddtlId"))]
pub addtl_id: Vec<AdditionalIdentification1>,
#[yaserde(rename = "Chrtcs")]
#[cfg_attr(feature = "serde", serde(rename = "Chrtcs"))]
pub chrtcs: AdditionalCharacteristics1,
#[yaserde(rename = "AddtlInf")]
#[cfg_attr(feature = "serde", serde(rename = "AddtlInf"))]
pub addtl_inf: Max350Text,
}
impl Validate for AdditionalAcceptorData1 {}
#[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:cain.025.001.01")]
pub struct AdditionalCharacteristicDetails1 {
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: Max35Text,
#[yaserde(rename = "PrvddBy")]
#[cfg_attr(feature = "serde", serde(rename = "PrvddBy"))]
pub prvdd_by: Max35Text,
}
impl Validate for AdditionalCharacteristicDetails1 {}
#[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:cain.025.001.01")]
pub struct AdditionalCharacteristics1 {
#[yaserde(rename = "BizTp")]
#[cfg_attr(feature = "serde", serde(rename = "BizTp"))]
pub biz_tp: AdditionalCharacteristicDetails1,
#[yaserde(rename = "Ownr")]
#[cfg_attr(feature = "serde", serde(rename = "Ownr"))]
pub ownr: AdditionalCharacteristicDetails1,
#[yaserde(rename = "Certfctn")]
#[cfg_attr(feature = "serde", serde(rename = "Certfctn"))]
pub certfctn: AdditionalCharacteristicDetails1,
#[yaserde(rename = "OwnrEthncty")]
#[cfg_attr(feature = "serde", serde(rename = "OwnrEthncty"))]
pub ownr_ethncty: AdditionalCharacteristicDetails1,
}
impl Validate for AdditionalCharacteristics1 {}
#[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:cain.025.001.01")]
pub struct AdditionalData1 {
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: Max35Text,
#[yaserde(rename = "Val")]
#[cfg_attr(feature = "serde", serde(rename = "Val"))]
pub val: Max2048Text,
}
impl Validate for AdditionalData1 {}
#[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:cain.025.001.01")]
pub struct AdditionalFee1 {
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: TypeOfAmount10Code,
#[yaserde(rename = "OthrTp")]
#[cfg_attr(feature = "serde", serde(rename = "OthrTp"))]
pub othr_tp: Max35Text,
#[yaserde(rename = "FeePrgm")]
#[cfg_attr(feature = "serde", serde(rename = "FeePrgm"))]
pub fee_prgm: Max35Text,
#[yaserde(rename = "FeeDscrptr")]
#[cfg_attr(feature = "serde", serde(rename = "FeeDscrptr"))]
pub fee_dscrptr: Max35Text,
#[yaserde(rename = "Amt")]
#[cfg_attr(feature = "serde", serde(rename = "Amt"))]
pub amt: FeeAmount2,
#[yaserde(rename = "Labl")]
#[cfg_attr(feature = "serde", serde(rename = "Labl"))]
pub labl: Max140Text,
}
impl Validate for AdditionalFee1 {}
#[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:cain.025.001.01")]
pub struct AdditionalIdentification1 {
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: AdditionalIdentificationType1Code,
#[yaserde(rename = "OthrTp")]
#[cfg_attr(feature = "serde", serde(rename = "OthrTp"))]
pub othr_tp: Max35Text,
#[yaserde(rename = "Val")]
#[cfg_attr(feature = "serde", serde(rename = "Val"))]
pub val: Max35Text,
}
impl Validate for AdditionalIdentification1 {}
#[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:cain.025.001.01")]
pub enum AdditionalIdentificationType1Code {
#[yaserde(rename = "OTHP")]
#[cfg_attr(feature = "serde", serde(rename = "OTHP"))]
Othp,
#[yaserde(rename = "OTHN")]
#[cfg_attr(feature = "serde", serde(rename = "OTHN"))]
Othn,
#[yaserde(rename = "ICSN")]
#[cfg_attr(feature = "serde", serde(rename = "ICSN"))]
Icsn,
#[yaserde(rename = "ATNU")]
#[cfg_attr(feature = "serde", serde(rename = "ATNU"))]
Atnu,
__Unknown__(String),
}
impl Default for AdditionalIdentificationType1Code {
fn default() -> AdditionalIdentificationType1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for AdditionalIdentificationType1Code {}
#[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:cain.025.001.01")]
pub struct AdditionalInformation19 {
#[yaserde(rename = "NtrdDataNmrc")]
#[cfg_attr(feature = "serde", serde(rename = "NtrdDataNmrc"))]
pub ntrd_data_nmrc: Max35NumericText,
#[yaserde(rename = "NtrdDataAlphaNmrc")]
#[cfg_attr(feature = "serde", serde(rename = "NtrdDataAlphaNmrc"))]
pub ntrd_data_alpha_nmrc: Max350Text,
#[yaserde(rename = "AddtlData")]
#[cfg_attr(feature = "serde", serde(rename = "AddtlData"))]
pub addtl_data: Max350Text,
}
impl Validate for AdditionalInformation19 {}
#[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:cain.025.001.01")]
pub struct Address1 {
#[yaserde(rename = "AdrLine1")]
#[cfg_attr(feature = "serde", serde(rename = "AdrLine1"))]
pub adr_line_1: Max70Text,
#[yaserde(rename = "AdrLine2")]
#[cfg_attr(feature = "serde", serde(rename = "AdrLine2"))]
pub adr_line_2: Max70Text,
#[yaserde(rename = "StrtNm")]
#[cfg_attr(feature = "serde", serde(rename = "StrtNm"))]
pub strt_nm: Max70Text,
#[yaserde(rename = "BldgNb")]
#[cfg_attr(feature = "serde", serde(rename = "BldgNb"))]
pub bldg_nb: Max16Text,
#[yaserde(rename = "PstlCd")]
#[cfg_attr(feature = "serde", serde(rename = "PstlCd"))]
pub pstl_cd: Max16Text,
#[yaserde(rename = "TwnNm")]
#[cfg_attr(feature = "serde", serde(rename = "TwnNm"))]
pub twn_nm: Max35Text,
#[yaserde(rename = "CtrySubDvsnMnr")]
#[cfg_attr(feature = "serde", serde(rename = "CtrySubDvsnMnr"))]
pub ctry_sub_dvsn_mnr: Max35Text,
#[yaserde(rename = "CtrySubDvsnMjr")]
#[cfg_attr(feature = "serde", serde(rename = "CtrySubDvsnMjr"))]
pub ctry_sub_dvsn_mjr: Max35Text,
#[yaserde(rename = "Ctry")]
#[cfg_attr(feature = "serde", serde(rename = "Ctry"))]
pub ctry: Min2Max3AlphaText,
}
impl Validate for Address1 {}
#[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:cain.025.001.01")]
pub struct Adjustment10 {
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: Max35Text,
#[yaserde(rename = "AddtlTp")]
#[cfg_attr(feature = "serde", serde(rename = "AddtlTp"))]
pub addtl_tp: Max35Text,
#[yaserde(rename = "Desc")]
#[cfg_attr(feature = "serde", serde(rename = "Desc"))]
pub desc: Max70Text,
#[yaserde(rename = "Rsn")]
#[cfg_attr(feature = "serde", serde(rename = "Rsn"))]
pub rsn: Max35Text,
#[yaserde(rename = "PrmtnElgblty")]
#[cfg_attr(feature = "serde", serde(rename = "PrmtnElgblty"))]
pub prmtn_elgblty: TrueFalseIndicator,
#[yaserde(rename = "PrmtnCd")]
#[cfg_attr(feature = "serde", serde(rename = "PrmtnCd"))]
pub prmtn_cd: Max35Text,
#[yaserde(rename = "PrmtnCpnNb")]
#[cfg_attr(feature = "serde", serde(rename = "PrmtnCpnNb"))]
pub prmtn_cpn_nb: Max35Text,
#[yaserde(rename = "Qty")]
#[cfg_attr(feature = "serde", serde(rename = "Qty"))]
pub qty: DecimalNumber,
#[yaserde(rename = "UnitPric")]
#[cfg_attr(feature = "serde", serde(rename = "UnitPric"))]
pub unit_pric: ImpliedCurrencyAndAmount,
#[yaserde(rename = "Pctg")]
#[cfg_attr(feature = "serde", serde(rename = "Pctg"))]
pub pctg: PercentageRate,
#[yaserde(rename = "AdjstmntAmt")]
#[cfg_attr(feature = "serde", serde(rename = "AdjstmntAmt"))]
pub adjstmnt_amt: ImpliedCurrencyAndAmount,
#[yaserde(rename = "TaxClctdOnOrgnlAmt")]
#[cfg_attr(feature = "serde", serde(rename = "TaxClctdOnOrgnlAmt"))]
pub tax_clctd_on_orgnl_amt: TrueFalseIndicator,
}
impl Validate for Adjustment10 {}
#[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:cain.025.001.01")]
pub struct Adjustment11 {
#[yaserde(rename = "Amt")]
#[cfg_attr(feature = "serde", serde(rename = "Amt"))]
pub amt: ImpliedCurrencyAndAmount,
#[yaserde(rename = "CdtInd")]
#[cfg_attr(feature = "serde", serde(rename = "CdtInd"))]
pub cdt_ind: TrueFalseIndicator,
#[yaserde(rename = "Rsn")]
#[cfg_attr(feature = "serde", serde(rename = "Rsn"))]
pub rsn: Max35Text,
}
impl Validate for Adjustment11 {}
#[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:cain.025.001.01")]
pub struct Adjustment9 {
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: Max35Text,
#[yaserde(rename = "AddtlTp")]
#[cfg_attr(feature = "serde", serde(rename = "AddtlTp"))]
pub addtl_tp: Max35Text,
#[yaserde(rename = "Desc")]
#[cfg_attr(feature = "serde", serde(rename = "Desc"))]
pub desc: Max70Text,
#[yaserde(rename = "Rsn")]
#[cfg_attr(feature = "serde", serde(rename = "Rsn"))]
pub rsn: Max35Text,
#[yaserde(rename = "PrmtnCd")]
#[cfg_attr(feature = "serde", serde(rename = "PrmtnCd"))]
pub prmtn_cd: Max35Text,
#[yaserde(rename = "Pctg")]
#[cfg_attr(feature = "serde", serde(rename = "Pctg"))]
pub pctg: PercentageRate,
#[yaserde(rename = "AdjstmntAmt")]
#[cfg_attr(feature = "serde", serde(rename = "AdjstmntAmt"))]
pub adjstmnt_amt: ImpliedCurrencyAndAmount,
#[yaserde(rename = "TaxClctdOnOrgnlAmt")]
#[cfg_attr(feature = "serde", serde(rename = "TaxClctdOnOrgnlAmt"))]
pub tax_clctd_on_orgnl_amt: TrueFalseIndicator,
}
impl Validate for Adjustment9 {}
#[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:cain.025.001.01")]
pub enum Algorithm13Code {
#[yaserde(rename = "EA2C")]
#[cfg_attr(feature = "serde", serde(rename = "EA2C"))]
Ea2C,
#[yaserde(rename = "E3DC")]
#[cfg_attr(feature = "serde", serde(rename = "E3DC"))]
E3Dc,
#[yaserde(rename = "DKP9")]
#[cfg_attr(feature = "serde", serde(rename = "DKP9"))]
Dkp9,
#[yaserde(rename = "UKPT")]
#[cfg_attr(feature = "serde", serde(rename = "UKPT"))]
Ukpt,
#[yaserde(rename = "UKA1")]
#[cfg_attr(feature = "serde", serde(rename = "UKA1"))]
Uka1,
#[yaserde(rename = "EA9C")]
#[cfg_attr(feature = "serde", serde(rename = "EA9C"))]
Ea9C,
#[yaserde(rename = "EA5C")]
#[cfg_attr(feature = "serde", serde(rename = "EA5C"))]
Ea5C,
__Unknown__(String),
}
impl Default for Algorithm13Code {
fn default() -> Algorithm13Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for Algorithm13Code {}
#[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:cain.025.001.01")]
pub enum Algorithm20Code {
#[yaserde(rename = "HS25")]
#[cfg_attr(feature = "serde", serde(rename = "HS25"))]
Hs25,
#[yaserde(rename = "HS38")]
#[cfg_attr(feature = "serde", serde(rename = "HS38"))]
Hs38,
#[yaserde(rename = "HS51")]
#[cfg_attr(feature = "serde", serde(rename = "HS51"))]
Hs51,
__Unknown__(String),
}
impl Default for Algorithm20Code {
fn default() -> Algorithm20Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for Algorithm20Code {}
#[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:cain.025.001.01")]
pub enum Algorithm23Code {
#[yaserde(rename = "EA2C")]
#[cfg_attr(feature = "serde", serde(rename = "EA2C"))]
Ea2C,
#[yaserde(rename = "E3DC")]
#[cfg_attr(feature = "serde", serde(rename = "E3DC"))]
E3Dc,
#[yaserde(rename = "EA9C")]
#[cfg_attr(feature = "serde", serde(rename = "EA9C"))]
Ea9C,
#[yaserde(rename = "EA5C")]
#[cfg_attr(feature = "serde", serde(rename = "EA5C"))]
Ea5C,
#[yaserde(rename = "EA2R")]
#[cfg_attr(feature = "serde", serde(rename = "EA2R"))]
Ea2R,
#[yaserde(rename = "EA9R")]
#[cfg_attr(feature = "serde", serde(rename = "EA9R"))]
Ea9R,
#[yaserde(rename = "EA5R")]
#[cfg_attr(feature = "serde", serde(rename = "EA5R"))]
Ea5R,
#[yaserde(rename = "E3DR")]
#[cfg_attr(feature = "serde", serde(rename = "E3DR"))]
E3Dr,
E36C,
E36R,
#[yaserde(rename = "SD5C")]
#[cfg_attr(feature = "serde", serde(rename = "SD5C"))]
Sd5C,
__Unknown__(String),
}
impl Default for Algorithm23Code {
fn default() -> Algorithm23Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for Algorithm23Code {}
#[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:cain.025.001.01")]
pub enum Algorithm5Code {
#[yaserde(rename = "HS25")]
#[cfg_attr(feature = "serde", serde(rename = "HS25"))]
Hs25,
#[yaserde(rename = "HS38")]
#[cfg_attr(feature = "serde", serde(rename = "HS38"))]
Hs38,
#[yaserde(rename = "HS51")]
#[cfg_attr(feature = "serde", serde(rename = "HS51"))]
Hs51,
__Unknown__(String),
}
impl Default for Algorithm5Code {
fn default() -> Algorithm5Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for Algorithm5Code {}
#[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:cain.025.001.01")]
pub enum Algorithm7Code {
#[yaserde(rename = "ERSA")]
#[cfg_attr(feature = "serde", serde(rename = "ERSA"))]
Ersa,
#[yaserde(rename = "RSAO")]
#[cfg_attr(feature = "serde", serde(rename = "RSAO"))]
Rsao,
__Unknown__(String),
}
impl Default for Algorithm7Code {
fn default() -> Algorithm7Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for Algorithm7Code {}
#[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:cain.025.001.01")]
pub enum Algorithm8Code {
#[yaserde(rename = "MGF1")]
#[cfg_attr(feature = "serde", serde(rename = "MGF1"))]
Mgf1,
__Unknown__(String),
}
impl Default for Algorithm8Code {
fn default() -> Algorithm8Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for Algorithm8Code {}
#[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:cain.025.001.01")]
pub struct AlgorithmIdentification25 {
#[yaserde(rename = "Algo")]
#[cfg_attr(feature = "serde", serde(rename = "Algo"))]
pub algo: Algorithm23Code,
#[yaserde(rename = "Param")]
#[cfg_attr(feature = "serde", serde(rename = "Param"))]
pub param: Parameter7,
}
impl Validate for AlgorithmIdentification25 {}
#[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:cain.025.001.01")]
pub struct AlgorithmIdentification26 {
#[yaserde(rename = "Algo")]
#[cfg_attr(feature = "serde", serde(rename = "Algo"))]
pub algo: Algorithm8Code,
#[yaserde(rename = "Param")]
#[cfg_attr(feature = "serde", serde(rename = "Param"))]
pub param: Algorithm5Code,
}
impl Validate for AlgorithmIdentification26 {}
#[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:cain.025.001.01")]
pub struct AlgorithmIdentification27 {
#[yaserde(rename = "Algo")]
#[cfg_attr(feature = "serde", serde(rename = "Algo"))]
pub algo: Algorithm7Code,
#[yaserde(rename = "Param")]
#[cfg_attr(feature = "serde", serde(rename = "Param"))]
pub param: Parameter13,
}
impl Validate for AlgorithmIdentification27 {}
#[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:cain.025.001.01")]
pub struct AlgorithmIdentification28 {
#[yaserde(rename = "Algo")]
#[cfg_attr(feature = "serde", serde(rename = "Algo"))]
pub algo: Algorithm13Code,
#[yaserde(rename = "Param")]
#[cfg_attr(feature = "serde", serde(rename = "Param"))]
pub param: Parameter14,
}
impl Validate for AlgorithmIdentification28 {}
#[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:cain.025.001.01")]
pub struct Amount10 {
#[yaserde(rename = "Desc")]
#[cfg_attr(feature = "serde", serde(rename = "Desc"))]
pub desc: Max35Text,
#[yaserde(rename = "Amt")]
#[cfg_attr(feature = "serde", serde(rename = "Amt"))]
pub amt: ImpliedCurrencyAndAmount,
#[yaserde(rename = "CdtInd")]
#[cfg_attr(feature = "serde", serde(rename = "CdtInd"))]
pub cdt_ind: TrueFalseIndicator,
#[yaserde(rename = "Tax")]
#[cfg_attr(feature = "serde", serde(rename = "Tax"))]
pub tax: Vec<Tax33>,
}
impl Validate for Amount10 {}
#[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:cain.025.001.01")]
pub struct Amount11 {
#[yaserde(rename = "TpOfChrg")]
#[cfg_attr(feature = "serde", serde(rename = "TpOfChrg"))]
pub tp_of_chrg: TypeOfAmount19Code,
#[yaserde(rename = "OthrTpOfChrg")]
#[cfg_attr(feature = "serde", serde(rename = "OthrTpOfChrg"))]
pub othr_tp_of_chrg: Max35Text,
#[yaserde(rename = "Amt")]
#[cfg_attr(feature = "serde", serde(rename = "Amt"))]
pub amt: ImpliedCurrencyAndAmount,
#[yaserde(rename = "CdtInd")]
#[cfg_attr(feature = "serde", serde(rename = "CdtInd"))]
pub cdt_ind: TrueFalseIndicator,
}
impl Validate for Amount11 {}
#[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:cain.025.001.01")]
pub struct Amount12 {
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: TemporaryServicesCharge1Code,
#[yaserde(rename = "OthrTp")]
#[cfg_attr(feature = "serde", serde(rename = "OthrTp"))]
pub othr_tp: Max35Text,
#[yaserde(rename = "Rate")]
#[cfg_attr(feature = "serde", serde(rename = "Rate"))]
pub rate: ImpliedCurrencyAndAmount,
#[yaserde(rename = "Hrs")]
#[cfg_attr(feature = "serde", serde(rename = "Hrs"))]
pub hrs: Max6NumericText,
}
impl Validate for Amount12 {}
#[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:cain.025.001.01")]
pub struct Amount13 {
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: Max35Text,
#[yaserde(rename = "Desc")]
#[cfg_attr(feature = "serde", serde(rename = "Desc"))]
pub desc: Max35Text,
#[yaserde(rename = "Amt")]
#[cfg_attr(feature = "serde", serde(rename = "Amt"))]
pub amt: ImpliedCurrencyAndAmount,
}
impl Validate for Amount13 {}
#[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:cain.025.001.01")]
pub struct Amount5 {
#[yaserde(rename = "Amt")]
#[cfg_attr(feature = "serde", serde(rename = "Amt"))]
pub amt: ImpliedCurrencyAndAmount,
#[yaserde(rename = "Sgn")]
#[cfg_attr(feature = "serde", serde(rename = "Sgn"))]
pub sgn: PlusOrMinusIndicator,
}
impl Validate for Amount5 {}
#[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:cain.025.001.01")]
pub struct Amount9 {
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: CarRentalServiceType2Code,
#[yaserde(rename = "OthrTp")]
#[cfg_attr(feature = "serde", serde(rename = "OthrTp"))]
pub othr_tp: Max35Text,
#[yaserde(rename = "Amt")]
#[cfg_attr(feature = "serde", serde(rename = "Amt"))]
pub amt: ImpliedCurrencyAndAmount,
#[yaserde(rename = "CdtInd")]
#[cfg_attr(feature = "serde", serde(rename = "CdtInd"))]
pub cdt_ind: TrueFalseIndicator,
#[yaserde(rename = "CstmrNtfdInd")]
#[cfg_attr(feature = "serde", serde(rename = "CstmrNtfdInd"))]
pub cstmr_ntfd_ind: TrueFalseIndicator,
}
impl Validate for Amount9 {}
#[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:cain.025.001.01")]
pub struct AmountDetails1 {
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: TypeOfAmount18Code,
#[yaserde(rename = "OthrTp")]
#[cfg_attr(feature = "serde", serde(rename = "OthrTp"))]
pub othr_tp: Max35Text,
#[yaserde(rename = "Amt")]
#[cfg_attr(feature = "serde", serde(rename = "Amt"))]
pub amt: ImpliedCurrencyAndAmount,
#[yaserde(rename = "CdtInd")]
#[cfg_attr(feature = "serde", serde(rename = "CdtInd"))]
pub cdt_ind: TrueFalseIndicator,
#[yaserde(rename = "Tax")]
#[cfg_attr(feature = "serde", serde(rename = "Tax"))]
pub tax: Vec<Tax33>,
}
impl Validate for AmountDetails1 {}
#[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:cain.025.001.01")]
pub struct AncillaryPurchase1 {
#[yaserde(rename = "AncllryDocNb")]
#[cfg_attr(feature = "serde", serde(rename = "AncllryDocNb"))]
pub ancllry_doc_nb: Max15Text,
#[yaserde(rename = "RltdDocNb")]
#[cfg_attr(feature = "serde", serde(rename = "RltdDocNb"))]
pub rltd_doc_nb: Max15Text,
#[yaserde(rename = "SvcCtgyCd")]
#[cfg_attr(feature = "serde", serde(rename = "SvcCtgyCd"))]
pub svc_ctgy_cd: Max4Text,
#[yaserde(rename = "SvcSubCtgyCd")]
#[cfg_attr(feature = "serde", serde(rename = "SvcSubCtgyCd"))]
pub svc_sub_ctgy_cd: Max4Text,
#[yaserde(rename = "SvcPrvdrSvcTp")]
#[cfg_attr(feature = "serde", serde(rename = "SvcPrvdrSvcTp"))]
pub svc_prvdr_svc_tp: Max35Text,
#[yaserde(rename = "CdtRsnCd")]
#[cfg_attr(feature = "serde", serde(rename = "CdtRsnCd"))]
pub cdt_rsn_cd: Max35Text,
#[yaserde(rename = "SummryCmmdtyId")]
#[cfg_attr(feature = "serde", serde(rename = "SummryCmmdtyId"))]
pub summry_cmmdty_id: Max35Text,
#[yaserde(rename = "Amt")]
#[cfg_attr(feature = "serde", serde(rename = "Amt"))]
pub amt: Amount5,
#[yaserde(rename = "Fee")]
#[cfg_attr(feature = "serde", serde(rename = "Fee"))]
pub fee: ImpliedCurrencyAndAmount,
#[yaserde(rename = "Tax")]
#[cfg_attr(feature = "serde", serde(rename = "Tax"))]
pub tax: Vec<Tax33>,
#[yaserde(rename = "AddtlData")]
#[cfg_attr(feature = "serde", serde(rename = "AddtlData"))]
pub addtl_data: Max350Text,
}
impl Validate for AncillaryPurchase1 {}
#[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:cain.025.001.01")]
pub enum AttributeType1Code {
#[yaserde(rename = "CNAT")]
#[cfg_attr(feature = "serde", serde(rename = "CNAT"))]
Cnat,
#[yaserde(rename = "LATT")]
#[cfg_attr(feature = "serde", serde(rename = "LATT"))]
Latt,
#[yaserde(rename = "OATT")]
#[cfg_attr(feature = "serde", serde(rename = "OATT"))]
Oatt,
#[yaserde(rename = "OUAT")]
#[cfg_attr(feature = "serde", serde(rename = "OUAT"))]
Ouat,
#[yaserde(rename = "CATT")]
#[cfg_attr(feature = "serde", serde(rename = "CATT"))]
Catt,
__Unknown__(String),
}
impl Default for AttributeType1Code {
fn default() -> AttributeType1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for AttributeType1Code {}
#[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:cain.025.001.01")]
pub struct AuthorisedAmount1 {
#[yaserde(rename = "DtTm")]
#[cfg_attr(feature = "serde", serde(rename = "DtTm"))]
pub dt_tm: IsodateTime,
#[yaserde(rename = "Amt")]
#[cfg_attr(feature = "serde", serde(rename = "Amt"))]
pub amt: ImpliedCurrencyAndAmount,
#[yaserde(rename = "AddtlData")]
#[cfg_attr(feature = "serde", serde(rename = "AddtlData"))]
pub addtl_data: Max350Text,
}
impl Validate for AuthorisedAmount1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct BaseOneRate (pub String);
crate::simple_type!(BaseOneRate);
impl Validate for BaseOneRate {}
#[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:cain.025.001.01")]
pub struct BatchManagementInformation1 {
#[yaserde(rename = "ColltnId")]
#[cfg_attr(feature = "serde", serde(rename = "ColltnId"))]
pub colltn_id: Max35Text,
#[yaserde(rename = "BtchId")]
#[cfg_attr(feature = "serde", serde(rename = "BtchId"))]
pub btch_id: Max35Text,
#[yaserde(rename = "MsgSeqNb")]
#[cfg_attr(feature = "serde", serde(rename = "MsgSeqNb"))]
pub msg_seq_nb: Max15NumericText,
#[yaserde(rename = "MsgChcksmInptVal")]
#[cfg_attr(feature = "serde", serde(rename = "MsgChcksmInptVal"))]
pub msg_chcksm_inpt_val: Max140Binary,
}
impl Validate for BatchManagementInformation1 {}
#[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:cain.025.001.01")]
pub enum BytePadding1Code {
#[yaserde(rename = "LNGT")]
#[cfg_attr(feature = "serde", serde(rename = "LNGT"))]
Lngt,
#[yaserde(rename = "NUL8")]
#[cfg_attr(feature = "serde", serde(rename = "NUL8"))]
Nul8,
#[yaserde(rename = "NULG")]
#[cfg_attr(feature = "serde", serde(rename = "NULG"))]
Nulg,
#[yaserde(rename = "NULL")]
#[cfg_attr(feature = "serde", serde(rename = "NULL"))]
Null,
#[yaserde(rename = "RAND")]
#[cfg_attr(feature = "serde", serde(rename = "RAND"))]
Rand,
__Unknown__(String),
}
impl Default for BytePadding1Code {
fn default() -> BytePadding1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for BytePadding1Code {}
#[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:cain.025.001.01")]
pub enum CarRentalActivity1Code {
#[yaserde(rename = "CARS")]
#[cfg_attr(feature = "serde", serde(rename = "CARS"))]
Cars,
#[yaserde(rename = "GLBL")]
#[cfg_attr(feature = "serde", serde(rename = "GLBL"))]
Glbl,
#[yaserde(rename = "INDV")]
#[cfg_attr(feature = "serde", serde(rename = "INDV"))]
Indv,
#[yaserde(rename = "PETP")]
#[cfg_attr(feature = "serde", serde(rename = "PETP"))]
Petp,
#[yaserde(rename = "OTHP")]
#[cfg_attr(feature = "serde", serde(rename = "OTHP"))]
Othp,
#[yaserde(rename = "OTHN")]
#[cfg_attr(feature = "serde", serde(rename = "OTHN"))]
Othn,
#[yaserde(rename = "OTHR")]
#[cfg_attr(feature = "serde", serde(rename = "OTHR"))]
Othr,
__Unknown__(String),
}
impl Default for CarRentalActivity1Code {
fn default() -> CarRentalActivity1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for CarRentalActivity1Code {}
#[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:cain.025.001.01")]
pub enum CarRentalServiceType2Code {
#[yaserde(rename = "ADJM")]
#[cfg_attr(feature = "serde", serde(rename = "ADJM"))]
Adjm,
#[yaserde(rename = "AUTH")]
#[cfg_attr(feature = "serde", serde(rename = "AUTH"))]
Auth,
#[yaserde(rename = "BAST")]
#[cfg_attr(feature = "serde", serde(rename = "BAST"))]
Bast,
#[yaserde(rename = "CLEA")]
#[cfg_attr(feature = "serde", serde(rename = "CLEA"))]
Clea,
#[yaserde(rename = "DMGS")]
#[cfg_attr(feature = "serde", serde(rename = "DMGS"))]
Dmgs,
#[yaserde(rename = "DLVR")]
#[cfg_attr(feature = "serde", serde(rename = "DLVR"))]
Dlvr,
#[yaserde(rename = "DPOF")]
#[cfg_attr(feature = "serde", serde(rename = "DPOF"))]
Dpof,
#[yaserde(rename = "ENTE")]
#[cfg_attr(feature = "serde", serde(rename = "ENTE"))]
Ente,
#[yaserde(rename = "EXTC")]
#[cfg_attr(feature = "serde", serde(rename = "EXTC"))]
Extc,
#[yaserde(rename = "EXDY")]
#[cfg_attr(feature = "serde", serde(rename = "EXDY"))]
Exdy,
#[yaserde(rename = "EXDI")]
#[cfg_attr(feature = "serde", serde(rename = "EXDI"))]
Exdi,
#[yaserde(rename = "EXHR")]
#[cfg_attr(feature = "serde", serde(rename = "EXHR"))]
Exhr,
#[yaserde(rename = "FINE")]
#[cfg_attr(feature = "serde", serde(rename = "FINE"))]
Fine,
#[yaserde(rename = "FUEL")]
#[cfg_attr(feature = "serde", serde(rename = "FUEL"))]
Fuel,
#[yaserde(rename = "GARA")]
#[cfg_attr(feature = "serde", serde(rename = "GARA"))]
Gara,
#[yaserde(rename = "GPSY")]
#[cfg_attr(feature = "serde", serde(rename = "GPSY"))]
Gpsy,
#[yaserde(rename = "INSU")]
#[cfg_attr(feature = "serde", serde(rename = "INSU"))]
Insu,
#[yaserde(rename = "LATE")]
#[cfg_attr(feature = "serde", serde(rename = "LATE"))]
Late,
#[yaserde(rename = "LIIN")]
#[cfg_attr(feature = "serde", serde(rename = "LIIN"))]
Liin,
#[yaserde(rename = "LDIN")]
#[cfg_attr(feature = "serde", serde(rename = "LDIN"))]
Ldin,
#[yaserde(rename = "MISC")]
#[cfg_attr(feature = "serde", serde(rename = "MISC"))]
Misc,
#[yaserde(rename = "NAVI")]
#[cfg_attr(feature = "serde", serde(rename = "NAVI"))]
Navi,
#[yaserde(rename = "NOSH")]
#[cfg_attr(feature = "serde", serde(rename = "NOSH"))]
Nosh,
#[yaserde(rename = "ONEW")]
#[cfg_attr(feature = "serde", serde(rename = "ONEW"))]
Onew,
#[yaserde(rename = "OTHN")]
#[cfg_attr(feature = "serde", serde(rename = "OTHN"))]
Othn,
#[yaserde(rename = "OTHP")]
#[cfg_attr(feature = "serde", serde(rename = "OTHP"))]
Othp,
#[yaserde(rename = "PARK")]
#[cfg_attr(feature = "serde", serde(rename = "PARK"))]
Park,
#[yaserde(rename = "PRIN")]
#[cfg_attr(feature = "serde", serde(rename = "PRIN"))]
Prin,
#[yaserde(rename = "PFIN")]
#[cfg_attr(feature = "serde", serde(rename = "PFIN"))]
Pfin,
#[yaserde(rename = "PHON")]
#[cfg_attr(feature = "serde", serde(rename = "PHON"))]
Phon,
#[yaserde(rename = "REGD")]
#[cfg_attr(feature = "serde", serde(rename = "REGD"))]
Regd,
#[yaserde(rename = "SMOK")]
#[cfg_attr(feature = "serde", serde(rename = "SMOK"))]
Smok,
#[yaserde(rename = "TOLL")]
#[cfg_attr(feature = "serde", serde(rename = "TOLL"))]
Toll,
#[yaserde(rename = "TOWI")]
#[cfg_attr(feature = "serde", serde(rename = "TOWI"))]
Towi,
__Unknown__(String),
}
impl Default for CarRentalServiceType2Code {
fn default() -> CarRentalServiceType2Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for CarRentalServiceType2Code {}
#[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:cain.025.001.01")]
pub struct CardData2 {
#[yaserde(rename = "PAN")]
#[cfg_attr(feature = "serde", serde(rename = "PAN"))]
pub pan: Max19NumericText,
#[yaserde(rename = "CardSeqNb")]
#[cfg_attr(feature = "serde", serde(rename = "CardSeqNb"))]
pub card_seq_nb: Min2Max3NumericText,
#[yaserde(rename = "PmtAcctRef")]
#[cfg_attr(feature = "serde", serde(rename = "PmtAcctRef"))]
pub pmt_acct_ref: Max35Text,
#[yaserde(rename = "CardPrtflIdr")]
#[cfg_attr(feature = "serde", serde(rename = "CardPrtflIdr"))]
pub card_prtfl_idr: Max35Text,
}
impl Validate for CardData2 {}
#[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:cain.025.001.01")]
pub enum CardDataReading5Code {
#[yaserde(rename = "TAGC")]
#[cfg_attr(feature = "serde", serde(rename = "TAGC"))]
Tagc,
#[yaserde(rename = "PHYS")]
#[cfg_attr(feature = "serde", serde(rename = "PHYS"))]
Phys,
#[yaserde(rename = "BRCD")]
#[cfg_attr(feature = "serde", serde(rename = "BRCD"))]
Brcd,
#[yaserde(rename = "MGST")]
#[cfg_attr(feature = "serde", serde(rename = "MGST"))]
Mgst,
#[yaserde(rename = "CICC")]
#[cfg_attr(feature = "serde", serde(rename = "CICC"))]
Cicc,
#[yaserde(rename = "DFLE")]
#[cfg_attr(feature = "serde", serde(rename = "DFLE"))]
Dfle,
#[yaserde(rename = "CTLS")]
#[cfg_attr(feature = "serde", serde(rename = "CTLS"))]
Ctls,
#[yaserde(rename = "ECTL")]
#[cfg_attr(feature = "serde", serde(rename = "ECTL"))]
Ectl,
#[yaserde(rename = "CDFL")]
#[cfg_attr(feature = "serde", serde(rename = "CDFL"))]
Cdfl,
__Unknown__(String),
}
impl Default for CardDataReading5Code {
fn default() -> CardDataReading5Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for CardDataReading5Code {}
#[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:cain.025.001.01")]
pub struct CardProgrammeMode1 {
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: Max35Text,
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Max35Text,
}
impl Validate for CardProgrammeMode1 {}
#[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:cain.025.001.01")]
pub struct CarrierIdentification1 {
#[yaserde(rename = "Nm")]
#[cfg_attr(feature = "serde", serde(rename = "Nm"))]
pub nm: Max70Text,
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: Max35Text,
#[yaserde(rename = "IATACd")]
#[cfg_attr(feature = "serde", serde(rename = "IATACd"))]
pub iata_cd: Max35Text,
}
impl Validate for CarrierIdentification1 {}
#[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:cain.025.001.01")]
pub struct CertificateIssuer1 {
#[yaserde(rename = "RltvDstngshdNm")]
#[cfg_attr(feature = "serde", serde(rename = "RltvDstngshdNm"))]
pub rltv_dstngshd_nm: Vec<RelativeDistinguishedName1>,
}
impl Validate for CertificateIssuer1 {}
#[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:cain.025.001.01")]
pub enum CompanyAssigner2Code {
#[yaserde(rename = "ASSO")]
#[cfg_attr(feature = "serde", serde(rename = "ASSO"))]
Asso,
#[yaserde(rename = "AUTH")]
#[cfg_attr(feature = "serde", serde(rename = "AUTH"))]
Auth,
#[yaserde(rename = "CPNY")]
#[cfg_attr(feature = "serde", serde(rename = "CPNY"))]
Cpny,
#[yaserde(rename = "LEII")]
#[cfg_attr(feature = "serde", serde(rename = "LEII"))]
Leii,
#[yaserde(rename = "TRAG")]
#[cfg_attr(feature = "serde", serde(rename = "TRAG"))]
Trag,
#[yaserde(rename = "OTHP")]
#[cfg_attr(feature = "serde", serde(rename = "OTHP"))]
Othp,
#[yaserde(rename = "OTHN")]
#[cfg_attr(feature = "serde", serde(rename = "OTHN"))]
Othn,
__Unknown__(String),
}
impl Default for CompanyAssigner2Code {
fn default() -> CompanyAssigner2Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for CompanyAssigner2Code {}
#[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:cain.025.001.01")]
pub struct Contact2 {
#[yaserde(rename = "Nm")]
#[cfg_attr(feature = "serde", serde(rename = "Nm"))]
pub nm: Max70Text,
#[yaserde(rename = "HomePhneNb")]
#[cfg_attr(feature = "serde", serde(rename = "HomePhneNb"))]
pub home_phne_nb: PhoneNumber,
#[yaserde(rename = "BizPhneNb")]
#[cfg_attr(feature = "serde", serde(rename = "BizPhneNb"))]
pub biz_phne_nb: PhoneNumber,
#[yaserde(rename = "MobPhneNb")]
#[cfg_attr(feature = "serde", serde(rename = "MobPhneNb"))]
pub mob_phne_nb: PhoneNumber,
#[yaserde(rename = "OthrPhneNb")]
#[cfg_attr(feature = "serde", serde(rename = "OthrPhneNb"))]
pub othr_phne_nb: PhoneNumber,
#[yaserde(rename = "PrsnlEmailAdr")]
#[cfg_attr(feature = "serde", serde(rename = "PrsnlEmailAdr"))]
pub prsnl_email_adr: Max256Text,
#[yaserde(rename = "BizEmailAdr")]
#[cfg_attr(feature = "serde", serde(rename = "BizEmailAdr"))]
pub biz_email_adr: Max256Text,
#[yaserde(rename = "OthrEmailAdr")]
#[cfg_attr(feature = "serde", serde(rename = "OthrEmailAdr"))]
pub othr_email_adr: Max256Text,
#[yaserde(rename = "HomeFaxNb")]
#[cfg_attr(feature = "serde", serde(rename = "HomeFaxNb"))]
pub home_fax_nb: PhoneNumber,
#[yaserde(rename = "BizFaxNb")]
#[cfg_attr(feature = "serde", serde(rename = "BizFaxNb"))]
pub biz_fax_nb: PhoneNumber,
#[yaserde(rename = "URLAdr")]
#[cfg_attr(feature = "serde", serde(rename = "URLAdr"))]
pub url_adr: Max256Text,
#[yaserde(rename = "Lang")]
#[cfg_attr(feature = "serde", serde(rename = "Lang"))]
pub lang: Iso2AlanguageCode,
}
impl Validate for Contact2 {}
#[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:cain.025.001.01")]
pub struct Contact3 {
#[yaserde(rename = "CntrlPhneNb")]
#[cfg_attr(feature = "serde", serde(rename = "CntrlPhneNb"))]
pub cntrl_phne_nb: PhoneNumber,
#[yaserde(rename = "PrprtyPhneNb")]
#[cfg_attr(feature = "serde", serde(rename = "PrprtyPhneNb"))]
pub prprty_phne_nb: PhoneNumber,
#[yaserde(rename = "TollFreePhneNb")]
#[cfg_attr(feature = "serde", serde(rename = "TollFreePhneNb"))]
pub toll_free_phne_nb: PhoneNumber,
#[yaserde(rename = "Email")]
#[cfg_attr(feature = "serde", serde(rename = "Email"))]
pub email: Max256Text,
#[yaserde(rename = "FaxNb")]
#[cfg_attr(feature = "serde", serde(rename = "FaxNb"))]
pub fax_nb: PhoneNumber,
#[yaserde(rename = "URLAdr")]
#[cfg_attr(feature = "serde", serde(rename = "URLAdr"))]
pub url_adr: Max256Text,
#[yaserde(rename = "Lang")]
#[cfg_attr(feature = "serde", serde(rename = "Lang"))]
pub lang: LanguageCode,
}
impl Validate for Contact3 {}
#[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:cain.025.001.01")]
pub struct Contact6 {
#[yaserde(rename = "HomePhneNb")]
#[cfg_attr(feature = "serde", serde(rename = "HomePhneNb"))]
pub home_phne_nb: PhoneNumber,
#[yaserde(rename = "BizPhneNb")]
#[cfg_attr(feature = "serde", serde(rename = "BizPhneNb"))]
pub biz_phne_nb: PhoneNumber,
#[yaserde(rename = "MobPhneNb")]
#[cfg_attr(feature = "serde", serde(rename = "MobPhneNb"))]
pub mob_phne_nb: PhoneNumber,
#[yaserde(rename = "OthrPhneNb")]
#[cfg_attr(feature = "serde", serde(rename = "OthrPhneNb"))]
pub othr_phne_nb: PhoneNumber,
#[yaserde(rename = "PrsnlEmailAdr")]
#[cfg_attr(feature = "serde", serde(rename = "PrsnlEmailAdr"))]
pub prsnl_email_adr: Max256Text,
#[yaserde(rename = "BizEmailAdr")]
#[cfg_attr(feature = "serde", serde(rename = "BizEmailAdr"))]
pub biz_email_adr: Max256Text,
#[yaserde(rename = "OthrEmailAdr")]
#[cfg_attr(feature = "serde", serde(rename = "OthrEmailAdr"))]
pub othr_email_adr: Max256Text,
#[yaserde(rename = "HomeFaxNb")]
#[cfg_attr(feature = "serde", serde(rename = "HomeFaxNb"))]
pub home_fax_nb: PhoneNumber,
#[yaserde(rename = "BizFaxNb")]
#[cfg_attr(feature = "serde", serde(rename = "BizFaxNb"))]
pub biz_fax_nb: PhoneNumber,
#[yaserde(rename = "URLAdr")]
#[cfg_attr(feature = "serde", serde(rename = "URLAdr"))]
pub url_adr: Max256Text,
#[yaserde(rename = "Lang")]
#[cfg_attr(feature = "serde", serde(rename = "Lang"))]
pub lang: LanguageCode,
}
impl Validate for Contact6 {}
#[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:cain.025.001.01")]
pub struct ContentInformationType20 {
#[yaserde(rename = "MACData")]
#[cfg_attr(feature = "serde", serde(rename = "MACData"))]
pub mac_data: Macdata1,
#[yaserde(rename = "MAC")]
#[cfg_attr(feature = "serde", serde(rename = "MAC"))]
pub mac: Max8HexBinaryText,
}
impl Validate for ContentInformationType20 {}
#[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:cain.025.001.01")]
pub enum ContentType2Code {
#[yaserde(rename = "DATA")]
#[cfg_attr(feature = "serde", serde(rename = "DATA"))]
Data,
#[yaserde(rename = "SIGN")]
#[cfg_attr(feature = "serde", serde(rename = "SIGN"))]
Sign,
#[yaserde(rename = "EVLP")]
#[cfg_attr(feature = "serde", serde(rename = "EVLP"))]
Evlp,
#[yaserde(rename = "DGST")]
#[cfg_attr(feature = "serde", serde(rename = "DGST"))]
Dgst,
#[yaserde(rename = "AUTH")]
#[cfg_attr(feature = "serde", serde(rename = "AUTH"))]
Auth,
__Unknown__(String),
}
impl Default for ContentType2Code {
fn default() -> ContentType2Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for ContentType2Code {}
#[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:cain.025.001.01")]
pub enum ContentType3Code {
#[yaserde(rename = "EVLP")]
#[cfg_attr(feature = "serde", serde(rename = "EVLP"))]
Evlp,
#[yaserde(rename = "IFSE")]
#[cfg_attr(feature = "serde", serde(rename = "IFSE"))]
Ifse,
__Unknown__(String),
}
impl Default for ContentType3Code {
fn default() -> ContentType3Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for ContentType3Code {}
#[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:cain.025.001.01")]
pub struct Context8 {
#[yaserde(rename = "TxCntxt")]
#[cfg_attr(feature = "serde", serde(rename = "TxCntxt"))]
pub tx_cntxt: TransactionContext5,
}
impl Validate for Context8 {}
#[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:cain.025.001.01")]
pub enum CorporateTaxType1Code {
#[yaserde(rename = "SMBS")]
#[cfg_attr(feature = "serde", serde(rename = "SMBS"))]
Smbs,
#[yaserde(rename = "OTHR")]
#[cfg_attr(feature = "serde", serde(rename = "OTHR"))]
Othr,
#[yaserde(rename = "CORP")]
#[cfg_attr(feature = "serde", serde(rename = "CORP"))]
Corp,
__Unknown__(String),
}
impl Default for CorporateTaxType1Code {
fn default() -> CorporateTaxType1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for CorporateTaxType1Code {}
#[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:cain.025.001.01")]
pub struct Customer4 {
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: CustomerType2Code,
#[yaserde(rename = "RefNb")]
#[cfg_attr(feature = "serde", serde(rename = "RefNb"))]
pub ref_nb: Max35Text,
#[yaserde(rename = "TaxRegnId")]
#[cfg_attr(feature = "serde", serde(rename = "TaxRegnId"))]
pub tax_regn_id: Vec<Max70Text>,
#[yaserde(rename = "AuthrsdCtctCpny")]
#[cfg_attr(feature = "serde", serde(rename = "AuthrsdCtctCpny"))]
pub authrsd_ctct_cpny: Max70Text,
#[yaserde(rename = "AuthrsdCtctNm")]
#[cfg_attr(feature = "serde", serde(rename = "AuthrsdCtctNm"))]
pub authrsd_ctct_nm: Max70Text,
#[yaserde(rename = "AuthrsdCtctPhneNb")]
#[cfg_attr(feature = "serde", serde(rename = "AuthrsdCtctPhneNb"))]
pub authrsd_ctct_phne_nb: PhoneNumber,
#[yaserde(rename = "VIPInd")]
#[cfg_attr(feature = "serde", serde(rename = "VIPInd"))]
pub vip_ind: TrueFalseIndicator,
#[yaserde(rename = "CstmrRltsh")]
#[cfg_attr(feature = "serde", serde(rename = "CstmrRltsh"))]
pub cstmr_rltsh: Max35Text,
}
impl Validate for Customer4 {}
#[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:cain.025.001.01")]
pub struct Customer5 {
#[yaserde(rename = "Nm")]
#[cfg_attr(feature = "serde", serde(rename = "Nm"))]
pub nm: Max70Text,
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: PartyIdentification208,
#[yaserde(rename = "CstmrFileRefNb")]
#[cfg_attr(feature = "serde", serde(rename = "CstmrFileRefNb"))]
pub cstmr_file_ref_nb: Max70Text,
#[yaserde(rename = "Age")]
#[cfg_attr(feature = "serde", serde(rename = "Age"))]
pub age: Max2NumericText,
#[yaserde(rename = "Adr")]
#[cfg_attr(feature = "serde", serde(rename = "Adr"))]
pub adr: Address1,
#[yaserde(rename = "Ctct")]
#[cfg_attr(feature = "serde", serde(rename = "Ctct"))]
pub ctct: Contact6,
}
impl Validate for Customer5 {}
#[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:cain.025.001.01")]
pub struct Customer6 {
#[yaserde(rename = "AcctNb")]
#[cfg_attr(feature = "serde", serde(rename = "AcctNb"))]
pub acct_nb: Max35Text,
#[yaserde(rename = "Nm")]
#[cfg_attr(feature = "serde", serde(rename = "Nm"))]
pub nm: Max70Text,
#[yaserde(rename = "PhneNb")]
#[cfg_attr(feature = "serde", serde(rename = "PhneNb"))]
pub phne_nb: PhoneNumber,
}
impl Validate for Customer6 {}
#[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:cain.025.001.01")]
pub enum CustomerAssigner1Code {
#[yaserde(rename = "AUTH")]
#[cfg_attr(feature = "serde", serde(rename = "AUTH"))]
Auth,
#[yaserde(rename = "CRCY")]
#[cfg_attr(feature = "serde", serde(rename = "CRCY"))]
Crcy,
#[yaserde(rename = "CUST")]
#[cfg_attr(feature = "serde", serde(rename = "CUST"))]
Cust,
#[yaserde(rename = "ONFL")]
#[cfg_attr(feature = "serde", serde(rename = "ONFL"))]
Onfl,
#[yaserde(rename = "OTHR")]
#[cfg_attr(feature = "serde", serde(rename = "OTHR"))]
Othr,
#[yaserde(rename = "TRAY")]
#[cfg_attr(feature = "serde", serde(rename = "TRAY"))]
Tray,
__Unknown__(String),
}
impl Default for CustomerAssigner1Code {
fn default() -> CustomerAssigner1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for CustomerAssigner1Code {}
#[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:cain.025.001.01")]
pub struct CustomerReference1 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Max35Text,
#[yaserde(rename = "Dtl")]
#[cfg_attr(feature = "serde", serde(rename = "Dtl"))]
pub dtl: Max70Text,
}
impl Validate for CustomerReference1 {}
#[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:cain.025.001.01")]
pub enum CustomerType2Code {
#[yaserde(rename = "CSMR")]
#[cfg_attr(feature = "serde", serde(rename = "CSMR"))]
Csmr,
#[yaserde(rename = "CPNY")]
#[cfg_attr(feature = "serde", serde(rename = "CPNY"))]
Cpny,
__Unknown__(String),
}
impl Default for CustomerType2Code {
fn default() -> CustomerType2Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for CustomerType2Code {}
#[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:cain.025.001.01")]
pub struct DeliveryInformation3 {
#[yaserde(rename = "DlvryNoteNb")]
#[cfg_attr(feature = "serde", serde(rename = "DlvryNoteNb"))]
pub dlvry_note_nb: Max35Text,
#[yaserde(rename = "Adr")]
#[cfg_attr(feature = "serde", serde(rename = "Adr"))]
pub adr: Address1,
#[yaserde(rename = "Ctct")]
#[cfg_attr(feature = "serde", serde(rename = "Ctct"))]
pub ctct: Contact6,
#[yaserde(rename = "Instrs")]
#[cfg_attr(feature = "serde", serde(rename = "Instrs"))]
pub instrs: Max350Text,
#[yaserde(rename = "Dt")]
#[cfg_attr(feature = "serde", serde(rename = "Dt"))]
pub dt: Isodate,
#[yaserde(rename = "Tm")]
#[cfg_attr(feature = "serde", serde(rename = "Tm"))]
pub tm: Isotime,
}
impl Validate for DeliveryInformation3 {}
#[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:cain.025.001.01")]
pub struct DepartureOrArrival1 {
#[yaserde(rename = "Lctn")]
#[cfg_attr(feature = "serde", serde(rename = "Lctn"))]
pub lctn: Max70Text,
#[yaserde(rename = "Desc")]
#[cfg_attr(feature = "serde", serde(rename = "Desc"))]
pub desc: Max256Text,
#[yaserde(rename = "Dt")]
#[cfg_attr(feature = "serde", serde(rename = "Dt"))]
pub dt: Isodate,
#[yaserde(rename = "Tm")]
#[cfg_attr(feature = "serde", serde(rename = "Tm"))]
pub tm: Isotime,
}
impl Validate for DepartureOrArrival1 {}
#[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:cain.025.001.01")]
pub struct DepartureOrArrival2 {
#[yaserde(rename = "CrrierCd")]
#[cfg_attr(feature = "serde", serde(rename = "CrrierCd"))]
pub crrier_cd: Max35Text,
#[yaserde(rename = "RouteNb")]
#[cfg_attr(feature = "serde", serde(rename = "RouteNb"))]
pub route_nb: Max35NumericText,
#[yaserde(rename = "Dt")]
#[cfg_attr(feature = "serde", serde(rename = "Dt"))]
pub dt: Isodate,
#[yaserde(rename = "Tm")]
#[cfg_attr(feature = "serde", serde(rename = "Tm"))]
pub tm: Isotime,
}
impl Validate for DepartureOrArrival2 {}
#[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:cain.025.001.01")]
pub struct Destination2 {
#[yaserde(rename = "NmAndLctn")]
#[cfg_attr(feature = "serde", serde(rename = "NmAndLctn"))]
pub nm_and_lctn: Max99Text,
#[yaserde(rename = "Adr")]
#[cfg_attr(feature = "serde", serde(rename = "Adr"))]
pub adr: Address1,
}
impl Validate for Destination2 {}
#[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:cain.025.001.01")]
pub struct Discount3 {
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: Max35Text,
#[yaserde(rename = "Val")]
#[cfg_attr(feature = "serde", serde(rename = "Val"))]
pub val: Max35Text,
}
impl Validate for Discount3 {}
#[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:cain.025.001.01")]
pub struct Distance1 {
#[yaserde(rename = "UnitOfMeasr")]
#[cfg_attr(feature = "serde", serde(rename = "UnitOfMeasr"))]
pub unit_of_measr: UnitOfMeasure10Code,
#[yaserde(rename = "OdmtrStart")]
#[cfg_attr(feature = "serde", serde(rename = "OdmtrStart"))]
pub odmtr_start: Max10NumericText,
#[yaserde(rename = "OdmtrRtr")]
#[cfg_attr(feature = "serde", serde(rename = "OdmtrRtr"))]
pub odmtr_rtr: Max10NumericText,
#[yaserde(rename = "TtlDstnc")]
#[cfg_attr(feature = "serde", serde(rename = "TtlDstnc"))]
pub ttl_dstnc: Max10NumericText,
#[yaserde(rename = "FreeDstnc")]
#[cfg_attr(feature = "serde", serde(rename = "FreeDstnc"))]
pub free_dstnc: Max10NumericText,
#[yaserde(rename = "Rate")]
#[cfg_attr(feature = "serde", serde(rename = "Rate"))]
pub rate: ImpliedCurrencyAndAmount,
}
impl Validate for Distance1 {}
#[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:cain.025.001.01")]
pub struct Document {
#[yaserde(rename = "AdddmInitn")]
#[cfg_attr(feature = "serde", serde(rename = "AdddmInitn"))]
pub adddm_initn: AddendumInitiationV01,
}
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:cain.025.001.01")]
pub struct DocumentReference1 {
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: Max35Text,
#[yaserde(rename = "Ref")]
#[cfg_attr(feature = "serde", serde(rename = "Ref"))]
pub _ref: Max70Text,
}
impl Validate for DocumentReference1 {}
#[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:cain.025.001.01")]
pub struct Driver1 {
#[yaserde(rename = "Nm")]
#[cfg_attr(feature = "serde", serde(rename = "Nm"))]
pub nm: Max70Text,
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Max70Text,
#[yaserde(rename = "DrvgLic")]
#[cfg_attr(feature = "serde", serde(rename = "DrvgLic"))]
pub drvg_lic: DrivingLicense1,
#[yaserde(rename = "Mplyr")]
#[cfg_attr(feature = "serde", serde(rename = "Mplyr"))]
pub mplyr: Max70Text,
#[yaserde(rename = "MplyeeId")]
#[cfg_attr(feature = "serde", serde(rename = "MplyeeId"))]
pub mplyee_id: Max70Text,
#[yaserde(rename = "DeptNb")]
#[cfg_attr(feature = "serde", serde(rename = "DeptNb"))]
pub dept_nb: Max35Text,
#[yaserde(rename = "AddtlId")]
#[cfg_attr(feature = "serde", serde(rename = "AddtlId"))]
pub addtl_id: Vec<TravelDocument1>,
#[yaserde(rename = "DtOfBirth")]
#[cfg_attr(feature = "serde", serde(rename = "DtOfBirth"))]
pub dt_of_birth: Isodate,
#[yaserde(rename = "AddtlData")]
#[cfg_attr(feature = "serde", serde(rename = "AddtlData"))]
pub addtl_data: Max350Text,
}
impl Validate for Driver1 {}
#[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:cain.025.001.01")]
pub struct DriverInParty1 {
#[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: Address1,
#[yaserde(rename = "Ctct")]
#[cfg_attr(feature = "serde", serde(rename = "Ctct"))]
pub ctct: Contact6,
#[yaserde(rename = "DtOfBirth")]
#[cfg_attr(feature = "serde", serde(rename = "DtOfBirth"))]
pub dt_of_birth: Isodate,
#[yaserde(rename = "Age")]
#[cfg_attr(feature = "serde", serde(rename = "Age"))]
pub age: Max2NumericText,
#[yaserde(rename = "DrvrCrdntl")]
#[cfg_attr(feature = "serde", serde(rename = "DrvrCrdntl"))]
pub drvr_crdntl: Vec<TravelDocument1>,
#[yaserde(rename = "DrvgLic")]
#[cfg_attr(feature = "serde", serde(rename = "DrvgLic"))]
pub drvg_lic: DrivingLicense1,
}
impl Validate for DriverInParty1 {}
#[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:cain.025.001.01")]
pub struct DrivingLicense1 {
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: Max70Text,
#[yaserde(rename = "Form")]
#[cfg_attr(feature = "serde", serde(rename = "Form"))]
pub form: PresentationMedium2Code,
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Max70Text,
#[yaserde(rename = "Assgnr")]
#[cfg_attr(feature = "serde", serde(rename = "Assgnr"))]
pub assgnr: LegalStructure1Code,
#[yaserde(rename = "IssncDt")]
#[cfg_attr(feature = "serde", serde(rename = "IssncDt"))]
pub issnc_dt: Isodate,
#[yaserde(rename = "XprtnDt")]
#[cfg_attr(feature = "serde", serde(rename = "XprtnDt"))]
pub xprtn_dt: Isodate,
#[yaserde(rename = "Ctry")]
#[cfg_attr(feature = "serde", serde(rename = "Ctry"))]
pub ctry: Min2Max3AlphaText,
#[yaserde(rename = "Stat")]
#[cfg_attr(feature = "serde", serde(rename = "Stat"))]
pub stat: Max16Text,
#[yaserde(rename = "Prvc")]
#[cfg_attr(feature = "serde", serde(rename = "Prvc"))]
pub prvc: Max16Text,
#[yaserde(rename = "OthrAuthrty")]
#[cfg_attr(feature = "serde", serde(rename = "OthrAuthrty"))]
pub othr_authrty: Max16Text,
}
impl Validate for DrivingLicense1 {}
#[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:cain.025.001.01")]
pub struct EncryptedContent5 {
#[yaserde(rename = "CnttTp")]
#[cfg_attr(feature = "serde", serde(rename = "CnttTp"))]
pub cntt_tp: ContentType2Code,
#[yaserde(rename = "CnttNcrptnAlgo")]
#[cfg_attr(feature = "serde", serde(rename = "CnttNcrptnAlgo"))]
pub cntt_ncrptn_algo: AlgorithmIdentification25,
#[yaserde(rename = "NcrptdDataElmt")]
#[cfg_attr(feature = "serde", serde(rename = "NcrptdDataElmt"))]
pub ncrptd_data_elmt: Vec<EncryptedDataElement1>,
}
impl Validate for EncryptedContent5 {}
#[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:cain.025.001.01")]
pub struct EncryptedData1 {
#[yaserde(rename = "Ctrl")]
#[cfg_attr(feature = "serde", serde(rename = "Ctrl"))]
pub ctrl: Exact1HexBinaryText,
#[yaserde(rename = "KeySetIdr")]
#[cfg_attr(feature = "serde", serde(rename = "KeySetIdr"))]
pub key_set_idr: Max8NumericText,
#[yaserde(rename = "DrvdInf")]
#[cfg_attr(feature = "serde", serde(rename = "DrvdInf"))]
pub drvd_inf: Max32HexBinaryText,
#[yaserde(rename = "Algo")]
#[cfg_attr(feature = "serde", serde(rename = "Algo"))]
pub algo: Max2NumericText,
#[yaserde(rename = "KeyLngth")]
#[cfg_attr(feature = "serde", serde(rename = "KeyLngth"))]
pub key_lngth: Max4NumericText,
#[yaserde(rename = "KeyPrtcn")]
#[cfg_attr(feature = "serde", serde(rename = "KeyPrtcn"))]
pub key_prtcn: Max2NumericText,
#[yaserde(rename = "KeyIndx")]
#[cfg_attr(feature = "serde", serde(rename = "KeyIndx"))]
pub key_indx: Max5NumericText,
#[yaserde(rename = "PddgMtd")]
#[cfg_attr(feature = "serde", serde(rename = "PddgMtd"))]
pub pddg_mtd: Max2NumericText,
#[yaserde(rename = "NcrptdDataFrmt")]
#[cfg_attr(feature = "serde", serde(rename = "NcrptdDataFrmt"))]
pub ncrptd_data_frmt: Max2NumericText,
#[yaserde(rename = "NcrptdDataElmt")]
#[cfg_attr(feature = "serde", serde(rename = "NcrptdDataElmt"))]
pub ncrptd_data_elmt: Vec<EncryptedDataElement1>,
}
impl Validate for EncryptedData1 {}
#[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:cain.025.001.01")]
pub struct EncryptedData1Choice {
#[yaserde(rename = "BinryData")]
#[cfg_attr(feature = "serde", serde(rename = "BinryData"))]
pub binry_data: Option<Max100KBinary>,
#[yaserde(rename = "HexBinryVal")]
#[cfg_attr(feature = "serde", serde(rename = "HexBinryVal"))]
pub hex_binry_val: Option<Max9999HexBinaryText>,
}
impl Validate for EncryptedData1Choice {}
#[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:cain.025.001.01")]
pub struct EncryptedDataElement1 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: ExternalEncryptedElementIdentification1Code,
#[yaserde(rename = "OthrId")]
#[cfg_attr(feature = "serde", serde(rename = "OthrId"))]
pub othr_id: Max35Text,
#[yaserde(rename = "NcrptdData")]
#[cfg_attr(feature = "serde", serde(rename = "NcrptdData"))]
pub ncrptd_data: EncryptedData1Choice,
#[yaserde(rename = "ClearTxtDataFrmt")]
#[cfg_attr(feature = "serde", serde(rename = "ClearTxtDataFrmt"))]
pub clear_txt_data_frmt: EncryptedDataFormat1Code,
#[yaserde(rename = "OthrClearTxtDataFrmt")]
#[cfg_attr(feature = "serde", serde(rename = "OthrClearTxtDataFrmt"))]
pub othr_clear_txt_data_frmt: Max35Text,
}
impl Validate for EncryptedDataElement1 {}
#[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:cain.025.001.01")]
pub enum EncryptedDataFormat1Code {
#[yaserde(rename = "ASCI")]
#[cfg_attr(feature = "serde", serde(rename = "ASCI"))]
Asci,
#[yaserde(rename = "BINF")]
#[cfg_attr(feature = "serde", serde(rename = "BINF"))]
Binf,
#[yaserde(rename = "EBCD")]
#[cfg_attr(feature = "serde", serde(rename = "EBCD"))]
Ebcd,
#[yaserde(rename = "HEXF")]
#[cfg_attr(feature = "serde", serde(rename = "HEXF"))]
Hexf,
#[yaserde(rename = "OTHN")]
#[cfg_attr(feature = "serde", serde(rename = "OTHN"))]
Othn,
#[yaserde(rename = "OTHP")]
#[cfg_attr(feature = "serde", serde(rename = "OTHP"))]
Othp,
__Unknown__(String),
}
impl Default for EncryptedDataFormat1Code {
fn default() -> EncryptedDataFormat1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for EncryptedDataFormat1Code {}
#[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:cain.025.001.01")]
pub enum EncryptionFormat3Code {
#[yaserde(rename = "TR34")]
#[cfg_attr(feature = "serde", serde(rename = "TR34"))]
Tr34,
#[yaserde(rename = "TR31")]
#[cfg_attr(feature = "serde", serde(rename = "TR31"))]
Tr31,
#[yaserde(rename = "CTCE")]
#[cfg_attr(feature = "serde", serde(rename = "CTCE"))]
Ctce,
#[yaserde(rename = "CBCE")]
#[cfg_attr(feature = "serde", serde(rename = "CBCE"))]
Cbce,
__Unknown__(String),
}
impl Default for EncryptionFormat3Code {
fn default() -> EncryptionFormat3Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for EncryptionFormat3Code {}
#[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:cain.025.001.01")]
pub struct EnvelopedData6 {
#[yaserde(rename = "Vrsn")]
#[cfg_attr(feature = "serde", serde(rename = "Vrsn"))]
pub vrsn: Number,
#[yaserde(rename = "Rcpt")]
#[cfg_attr(feature = "serde", serde(rename = "Rcpt"))]
pub rcpt: Vec<Recipient7Choice>,
#[yaserde(rename = "NcrptdCntt")]
#[cfg_attr(feature = "serde", serde(rename = "NcrptdCntt"))]
pub ncrptd_cntt: EncryptedContent5,
}
impl Validate for EnvelopedData6 {}
#[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:cain.025.001.01")]
pub struct Environment16 {
#[yaserde(rename = "Acqrr")]
#[cfg_attr(feature = "serde", serde(rename = "Acqrr"))]
pub acqrr: PartyIdentification197,
#[yaserde(rename = "Sndr")]
#[cfg_attr(feature = "serde", serde(rename = "Sndr"))]
pub sndr: PartyIdentification197,
#[yaserde(rename = "Rcvr")]
#[cfg_attr(feature = "serde", serde(rename = "Rcvr"))]
pub rcvr: PartyIdentification197,
#[yaserde(rename = "Dstn")]
#[cfg_attr(feature = "serde", serde(rename = "Dstn"))]
pub dstn: PartyIdentification197,
#[yaserde(rename = "Card")]
#[cfg_attr(feature = "serde", serde(rename = "Card"))]
pub card: CardData2,
#[yaserde(rename = "Tkn")]
#[cfg_attr(feature = "serde", serde(rename = "Tkn"))]
pub tkn: Token1,
}
impl Validate for Environment16 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Exact12Text (pub String);
crate::simple_type!(Exact12Text);
impl Validate for Exact12Text {
fn validate(&self) -> Result<(), String> {
if self.0.len() != 12 {
return Err(format!("Length validation error. \nExpected: 0 length == 12 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Exact15Text (pub String);
crate::simple_type!(Exact15Text);
impl Validate for Exact15Text {
fn validate(&self) -> Result<(), String> {
if self.0.len() != 15 {
return Err(format!("Length validation error. \nExpected: 0 length == 15 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Exact1HexBinaryText (pub String);
crate::simple_type!(Exact1HexBinaryText);
impl Validate for Exact1HexBinaryText {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Exact2AlphaNumericText (pub String);
crate::simple_type!(Exact2AlphaNumericText);
impl Validate for Exact2AlphaNumericText {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Exact2NumericText (pub String);
crate::simple_type!(Exact2NumericText);
impl Validate for Exact2NumericText {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Exact4NumericText (pub String);
crate::simple_type!(Exact4NumericText);
impl Validate for Exact4NumericText {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct ExternalEncryptedElementIdentification1Code (pub String);
crate::simple_type!(ExternalEncryptedElementIdentification1Code);
impl Validate for ExternalEncryptedElementIdentification1Code {}
#[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:cain.025.001.01")]
pub struct FeeAmount2 {
#[yaserde(rename = "Amt")]
#[cfg_attr(feature = "serde", serde(rename = "Amt"))]
pub amt: ImpliedCurrencyAndAmount,
#[yaserde(rename = "Ccy")]
#[cfg_attr(feature = "serde", serde(rename = "Ccy"))]
pub ccy: Iso3NumericCurrencyCode,
#[yaserde(rename = "XchgRate")]
#[cfg_attr(feature = "serde", serde(rename = "XchgRate"))]
pub xchg_rate: BaseOneRate,
#[yaserde(rename = "QtnDt")]
#[cfg_attr(feature = "serde", serde(rename = "QtnDt"))]
pub qtn_dt: IsodateTime,
#[yaserde(rename = "Sgn")]
#[cfg_attr(feature = "serde", serde(rename = "Sgn"))]
pub sgn: PlusOrMinusIndicator,
}
impl Validate for FeeAmount2 {}
#[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:cain.025.001.01")]
pub struct FleetData2 {
#[yaserde(rename = "Summry")]
#[cfg_attr(feature = "serde", serde(rename = "Summry"))]
pub summry: FleetSummary1,
#[yaserde(rename = "LineItm")]
#[cfg_attr(feature = "serde", serde(rename = "LineItm"))]
pub line_itm: Vec<FleetLineItem1>,
}
impl Validate for FleetData2 {}
#[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:cain.025.001.01")]
pub struct FleetDiscountTotals1 {
#[yaserde(rename = "TtlAmt")]
#[cfg_attr(feature = "serde", serde(rename = "TtlAmt"))]
pub ttl_amt: ImpliedCurrencyAndAmount,
#[yaserde(rename = "FuelAmt")]
#[cfg_attr(feature = "serde", serde(rename = "FuelAmt"))]
pub fuel_amt: ImpliedCurrencyAndAmount,
#[yaserde(rename = "NonFuelAmt")]
#[cfg_attr(feature = "serde", serde(rename = "NonFuelAmt"))]
pub non_fuel_amt: ImpliedCurrencyAndAmount,
}
impl Validate for FleetDiscountTotals1 {}
#[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:cain.025.001.01")]
pub struct FleetLineItem1 {
#[yaserde(rename = "FuelInd")]
#[cfg_attr(feature = "serde", serde(rename = "FuelInd"))]
pub fuel_ind: TrueFalseIndicator,
#[yaserde(rename = "SvcTp")]
#[cfg_attr(feature = "serde", serde(rename = "SvcTp"))]
pub svc_tp: FleetServiceType1Code,
#[yaserde(rename = "FuelBrndCd")]
#[cfg_attr(feature = "serde", serde(rename = "FuelBrndCd"))]
pub fuel_brnd_cd: Max4Text,
#[yaserde(rename = "FleetPdctCd")]
#[cfg_attr(feature = "serde", serde(rename = "FleetPdctCd"))]
pub fleet_pdct_cd: Max4Text,
#[yaserde(rename = "FleetPdctCtgy")]
#[cfg_attr(feature = "serde", serde(rename = "FleetPdctCtgy"))]
pub fleet_pdct_ctgy: Max35Text,
#[yaserde(rename = "FleetPdctQlfr")]
#[cfg_attr(feature = "serde", serde(rename = "FleetPdctQlfr"))]
pub fleet_pdct_qlfr: Max6Text,
#[yaserde(rename = "FleetPdctCdAssgnr")]
#[cfg_attr(feature = "serde", serde(rename = "FleetPdctCdAssgnr"))]
pub fleet_pdct_cd_assgnr: Max35Text,
#[yaserde(rename = "UnitPricTaxInd")]
#[cfg_attr(feature = "serde", serde(rename = "UnitPricTaxInd"))]
pub unit_pric_tax_ind: TrueFalseIndicator,
#[yaserde(rename = "UnitPric")]
#[cfg_attr(feature = "serde", serde(rename = "UnitPric"))]
pub unit_pric: ImpliedCurrencyAndAmount,
#[yaserde(rename = "UnitOfMeasr")]
#[cfg_attr(feature = "serde", serde(rename = "UnitOfMeasr"))]
pub unit_of_measr: UnitOfMeasure1Code,
#[yaserde(rename = "OthrUnitOfMeasr")]
#[cfg_attr(feature = "serde", serde(rename = "OthrUnitOfMeasr"))]
pub othr_unit_of_measr: Max35Text,
#[yaserde(rename = "PdctQty")]
#[cfg_attr(feature = "serde", serde(rename = "PdctQty"))]
pub pdct_qty: Max12NumericText,
#[yaserde(rename = "DscntAmt")]
#[cfg_attr(feature = "serde", serde(rename = "DscntAmt"))]
pub dscnt_amt: ImpliedCurrencyAndAmount,
#[yaserde(rename = "NonTaxblInd")]
#[cfg_attr(feature = "serde", serde(rename = "NonTaxblInd"))]
pub non_taxbl_ind: TrueFalseIndicator,
#[yaserde(rename = "Tax")]
#[cfg_attr(feature = "serde", serde(rename = "Tax"))]
pub tax: Vec<Tax33>,
#[yaserde(rename = "TtlAmtExclgTax")]
#[cfg_attr(feature = "serde", serde(rename = "TtlAmtExclgTax"))]
pub ttl_amt_exclg_tax: ImpliedCurrencyAndAmount,
#[yaserde(rename = "TtlAmtInclgTax")]
#[cfg_attr(feature = "serde", serde(rename = "TtlAmtInclgTax"))]
pub ttl_amt_inclg_tax: ImpliedCurrencyAndAmount,
}
impl Validate for FleetLineItem1 {}
#[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:cain.025.001.01")]
pub enum FleetPurchaseType1Code {
#[yaserde(rename = "FUEL")]
#[cfg_attr(feature = "serde", serde(rename = "FUEL"))]
Fuel,
#[yaserde(rename = "NONF")]
#[cfg_attr(feature = "serde", serde(rename = "NONF"))]
Nonf,
#[yaserde(rename = "FANF")]
#[cfg_attr(feature = "serde", serde(rename = "FANF"))]
Fanf,
__Unknown__(String),
}
impl Default for FleetPurchaseType1Code {
fn default() -> FleetPurchaseType1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for FleetPurchaseType1Code {}
#[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:cain.025.001.01")]
pub enum FleetServiceType1Code {
#[yaserde(rename = "SLSV")]
#[cfg_attr(feature = "serde", serde(rename = "SLSV"))]
Slsv,
#[yaserde(rename = "HSDI")]
#[cfg_attr(feature = "serde", serde(rename = "HSDI"))]
Hsdi,
#[yaserde(rename = "FLSV")]
#[cfg_attr(feature = "serde", serde(rename = "FLSV"))]
Flsv,
__Unknown__(String),
}
impl Default for FleetServiceType1Code {
fn default() -> FleetServiceType1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for FleetServiceType1Code {}
#[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:cain.025.001.01")]
pub struct FleetSummary1 {
#[yaserde(rename = "Drvr")]
#[cfg_attr(feature = "serde", serde(rename = "Drvr"))]
pub drvr: Driver1,
#[yaserde(rename = "Vhcl")]
#[cfg_attr(feature = "serde", serde(rename = "Vhcl"))]
pub vhcl: Vehicle5,
#[yaserde(rename = "DrvrOrVhclCard")]
#[cfg_attr(feature = "serde", serde(rename = "DrvrOrVhclCard"))]
pub drvr_or_vhcl_card: PlainCardData20,
#[yaserde(rename = "CardFuelPrmptCd")]
#[cfg_attr(feature = "serde", serde(rename = "CardFuelPrmptCd"))]
pub card_fuel_prmpt_cd: Max1Number,
#[yaserde(rename = "AgtFuelPrmptCd")]
#[cfg_attr(feature = "serde", serde(rename = "AgtFuelPrmptCd"))]
pub agt_fuel_prmpt_cd: Max35Text,
#[yaserde(rename = "TripInf")]
#[cfg_attr(feature = "serde", serde(rename = "TripInf"))]
pub trip_inf: TripInformation1,
#[yaserde(rename = "LclAmnty")]
#[cfg_attr(feature = "serde", serde(rename = "LclAmnty"))]
pub lcl_amnty: Vec<LocalAmenity1>,
#[yaserde(rename = "TxRltdData")]
#[cfg_attr(feature = "serde", serde(rename = "TxRltdData"))]
pub tx_rltd_data: Vec<PaymentTransaction117>,
#[yaserde(rename = "AddtlData")]
#[cfg_attr(feature = "serde", serde(rename = "AddtlData"))]
pub addtl_data: AdditionalInformation19,
}
impl Validate for FleetSummary1 {}
#[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:cain.025.001.01")]
pub enum Frequency12Code {
#[yaserde(rename = "YEAR")]
#[cfg_attr(feature = "serde", serde(rename = "YEAR"))]
Year,
#[yaserde(rename = "DAIL")]
#[cfg_attr(feature = "serde", serde(rename = "DAIL"))]
Dail,
#[yaserde(rename = "FRTN")]
#[cfg_attr(feature = "serde", serde(rename = "FRTN"))]
Frtn,
#[yaserde(rename = "MNTH")]
#[cfg_attr(feature = "serde", serde(rename = "MNTH"))]
Mnth,
#[yaserde(rename = "QURT")]
#[cfg_attr(feature = "serde", serde(rename = "QURT"))]
Qurt,
#[yaserde(rename = "MIAN")]
#[cfg_attr(feature = "serde", serde(rename = "MIAN"))]
Mian,
#[yaserde(rename = "TEND")]
#[cfg_attr(feature = "serde", serde(rename = "TEND"))]
Tend,
#[yaserde(rename = "WEEK")]
#[cfg_attr(feature = "serde", serde(rename = "WEEK"))]
Week,
__Unknown__(String),
}
impl Default for Frequency12Code {
fn default() -> Frequency12Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for Frequency12Code {}
#[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:cain.025.001.01")]
pub struct GenericIdentification172 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Max35Text,
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: PartyType17Code,
#[yaserde(rename = "OthrTp")]
#[cfg_attr(feature = "serde", serde(rename = "OthrTp"))]
pub othr_tp: Max35Text,
#[yaserde(rename = "Assgnr")]
#[cfg_attr(feature = "serde", serde(rename = "Assgnr"))]
pub assgnr: PartyType18Code,
#[yaserde(rename = "Ctry")]
#[cfg_attr(feature = "serde", serde(rename = "Ctry"))]
pub ctry: Min2Max3AlphaText,
#[yaserde(rename = "ShrtNm")]
#[cfg_attr(feature = "serde", serde(rename = "ShrtNm"))]
pub shrt_nm: Max35Text,
}
impl Validate for GenericIdentification172 {}
#[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:cain.025.001.01")]
pub struct GracePeriod1 {
#[yaserde(rename = "Tm")]
#[cfg_attr(feature = "serde", serde(rename = "Tm"))]
pub tm: Max3NumericText,
#[yaserde(rename = "UnitTp")]
#[cfg_attr(feature = "serde", serde(rename = "UnitTp"))]
pub unit_tp: GracePeriodUnitType1Code,
#[yaserde(rename = "OthrUnitTp")]
#[cfg_attr(feature = "serde", serde(rename = "OthrUnitTp"))]
pub othr_unit_tp: Max35Text,
}
impl Validate for GracePeriod1 {}
#[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:cain.025.001.01")]
pub enum GracePeriodUnitType1Code {
#[yaserde(rename = "WEKS")]
#[cfg_attr(feature = "serde", serde(rename = "WEKS"))]
Weks,
#[yaserde(rename = "PMTS")]
#[cfg_attr(feature = "serde", serde(rename = "PMTS"))]
Pmts,
#[yaserde(rename = "OTHP")]
#[cfg_attr(feature = "serde", serde(rename = "OTHP"))]
Othp,
#[yaserde(rename = "OTHN")]
#[cfg_attr(feature = "serde", serde(rename = "OTHN"))]
Othn,
#[yaserde(rename = "MNTH")]
#[cfg_attr(feature = "serde", serde(rename = "MNTH"))]
Mnth,
#[yaserde(rename = "DAYS")]
#[cfg_attr(feature = "serde", serde(rename = "DAYS"))]
Days,
__Unknown__(String),
}
impl Default for GracePeriodUnitType1Code {
fn default() -> GracePeriodUnitType1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for GracePeriodUnitType1Code {}
#[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:cain.025.001.01")]
pub struct Header48 {
#[yaserde(rename = "MsgFctn")]
#[cfg_attr(feature = "serde", serde(rename = "MsgFctn"))]
pub msg_fctn: MessageFunction29Code,
#[yaserde(rename = "PrtcolVrsn")]
#[cfg_attr(feature = "serde", serde(rename = "PrtcolVrsn"))]
pub prtcol_vrsn: Max2048Text,
#[yaserde(rename = "XchgId")]
#[cfg_attr(feature = "serde", serde(rename = "XchgId"))]
pub xchg_id: Max35Text,
#[yaserde(rename = "ReTrnsmssnCntr")]
#[cfg_attr(feature = "serde", serde(rename = "ReTrnsmssnCntr"))]
pub re_trnsmssn_cntr: Max3NumericText,
#[yaserde(rename = "CreDtTm")]
#[cfg_attr(feature = "serde", serde(rename = "CreDtTm"))]
pub cre_dt_tm: IsodateTime,
#[yaserde(rename = "BtchMgmtInf")]
#[cfg_attr(feature = "serde", serde(rename = "BtchMgmtInf"))]
pub btch_mgmt_inf: BatchManagementInformation1,
#[yaserde(rename = "InitgPty")]
#[cfg_attr(feature = "serde", serde(rename = "InitgPty"))]
pub initg_pty: GenericIdentification172,
#[yaserde(rename = "RcptPty")]
#[cfg_attr(feature = "serde", serde(rename = "RcptPty"))]
pub rcpt_pty: GenericIdentification172,
#[yaserde(rename = "TracData")]
#[cfg_attr(feature = "serde", serde(rename = "TracData"))]
pub trac_data: Vec<AdditionalData1>,
#[yaserde(rename = "Tracblt")]
#[cfg_attr(feature = "serde", serde(rename = "Tracblt"))]
pub tracblt: Vec<Traceability7>,
}
impl Validate for Header48 {}
#[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:cain.025.001.01")]
pub struct HiredVehicle1 {
#[yaserde(rename = "CpnyTp")]
#[cfg_attr(feature = "serde", serde(rename = "CpnyTp"))]
pub cpny_tp: Max35Text,
#[yaserde(rename = "CpnyNm")]
#[cfg_attr(feature = "serde", serde(rename = "CpnyNm"))]
pub cpny_nm: Max70Text,
#[yaserde(rename = "TpOfVhcl")]
#[cfg_attr(feature = "serde", serde(rename = "TpOfVhcl"))]
pub tp_of_vhcl: Max35Text,
#[yaserde(rename = "VhclId")]
#[cfg_attr(feature = "serde", serde(rename = "VhclId"))]
pub vhcl_id: Max35Text,
#[yaserde(rename = "DrvrId")]
#[cfg_attr(feature = "serde", serde(rename = "DrvrId"))]
pub drvr_id: Max35Text,
#[yaserde(rename = "DrvrTaxId")]
#[cfg_attr(feature = "serde", serde(rename = "DrvrTaxId"))]
pub drvr_tax_id: Max35Text,
#[yaserde(rename = "Dstn")]
#[cfg_attr(feature = "serde", serde(rename = "Dstn"))]
pub dstn: Destination2,
}
impl Validate for HiredVehicle1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Iso2AlanguageCode (pub String);
crate::simple_type!(Iso2AlanguageCode);
impl Validate for Iso2AlanguageCode {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Iso3NumericCountryCode (pub String);
crate::simple_type!(Iso3NumericCountryCode);
impl Validate for Iso3NumericCountryCode {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Iso3NumericCurrencyCode (pub String);
crate::simple_type!(Iso3NumericCurrencyCode);
impl Validate for Iso3NumericCurrencyCode {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Isodate (pub String);
crate::simple_type!(Isodate);
impl Validate for Isodate {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct IsodateTime (pub String);
crate::simple_type!(IsodateTime);
impl Validate for IsodateTime {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Isotime (pub String);
crate::simple_type!(Isotime);
impl Validate for Isotime {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct ImpliedCurrencyAndAmount (pub String);
crate::simple_type!(ImpliedCurrencyAndAmount);
impl Validate for ImpliedCurrencyAndAmount {
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:cain.025.001.01")]
pub struct Instalment3 {
#[yaserde(rename = "PmtSeqNb")]
#[cfg_attr(feature = "serde", serde(rename = "PmtSeqNb"))]
pub pmt_seq_nb: Number,
#[yaserde(rename = "Plan")]
#[cfg_attr(feature = "serde", serde(rename = "Plan"))]
pub plan: Vec<Plan1>,
}
impl Validate for Instalment3 {}
#[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:cain.025.001.01")]
pub struct InstalmentAmountDetails1 {
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: InstalmentAmountDetailsType1Code,
#[yaserde(rename = "OthrTp")]
#[cfg_attr(feature = "serde", serde(rename = "OthrTp"))]
pub othr_tp: Max35Text,
#[yaserde(rename = "SubTp")]
#[cfg_attr(feature = "serde", serde(rename = "SubTp"))]
pub sub_tp: Max35Text,
#[yaserde(rename = "Amt")]
#[cfg_attr(feature = "serde", serde(rename = "Amt"))]
pub amt: Amount5,
#[yaserde(rename = "Pctg")]
#[cfg_attr(feature = "serde", serde(rename = "Pctg"))]
pub pctg: PercentageRate,
}
impl Validate for InstalmentAmountDetails1 {}
#[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:cain.025.001.01")]
pub enum InstalmentAmountDetailsType1Code {
#[yaserde(rename = "TAXX")]
#[cfg_attr(feature = "serde", serde(rename = "TAXX"))]
Taxx,
#[yaserde(rename = "RQST")]
#[cfg_attr(feature = "serde", serde(rename = "RQST"))]
Rqst,
#[yaserde(rename = "OTHP")]
#[cfg_attr(feature = "serde", serde(rename = "OTHP"))]
Othp,
#[yaserde(rename = "OTHN")]
#[cfg_attr(feature = "serde", serde(rename = "OTHN"))]
Othn,
#[yaserde(rename = "OTHC")]
#[cfg_attr(feature = "serde", serde(rename = "OTHC"))]
Othc,
#[yaserde(rename = "INSU")]
#[cfg_attr(feature = "serde", serde(rename = "INSU"))]
Insu,
#[yaserde(rename = "FUNA")]
#[cfg_attr(feature = "serde", serde(rename = "FUNA"))]
Funa,
#[yaserde(rename = "FEES")]
#[cfg_attr(feature = "serde", serde(rename = "FEES"))]
Fees,
#[yaserde(rename = "EXPN")]
#[cfg_attr(feature = "serde", serde(rename = "EXPN"))]
Expn,
#[yaserde(rename = "AFCO")]
#[cfg_attr(feature = "serde", serde(rename = "AFCO"))]
Afco,
__Unknown__(String),
}
impl Default for InstalmentAmountDetailsType1Code {
fn default() -> InstalmentAmountDetailsType1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for InstalmentAmountDetailsType1Code {}
#[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:cain.025.001.01")]
pub enum InstalmentPeriod1Code {
#[yaserde(rename = "MNTH")]
#[cfg_attr(feature = "serde", serde(rename = "MNTH"))]
Mnth,
#[yaserde(rename = "ANNU")]
#[cfg_attr(feature = "serde", serde(rename = "ANNU"))]
Annu,
__Unknown__(String),
}
impl Default for InstalmentPeriod1Code {
fn default() -> InstalmentPeriod1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for InstalmentPeriod1Code {}
#[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:cain.025.001.01")]
pub enum InterestRate1Code {
#[yaserde(rename = "GSRT")]
#[cfg_attr(feature = "serde", serde(rename = "GSRT"))]
Gsrt,
#[yaserde(rename = "NTRT")]
#[cfg_attr(feature = "serde", serde(rename = "NTRT"))]
Ntrt,
#[yaserde(rename = "OTHN")]
#[cfg_attr(feature = "serde", serde(rename = "OTHN"))]
Othn,
#[yaserde(rename = "OTHP")]
#[cfg_attr(feature = "serde", serde(rename = "OTHP"))]
Othp,
__Unknown__(String),
}
impl Default for InterestRate1Code {
fn default() -> InterestRate1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for InterestRate1Code {}
#[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:cain.025.001.01")]
pub struct InterestRateDetails1 {
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: InterestRate1Code,
#[yaserde(rename = "OthrTp")]
#[cfg_attr(feature = "serde", serde(rename = "OthrTp"))]
pub othr_tp: Max35Text,
#[yaserde(rename = "Prd")]
#[cfg_attr(feature = "serde", serde(rename = "Prd"))]
pub prd: InstalmentPeriod1Code,
#[yaserde(rename = "Rate")]
#[cfg_attr(feature = "serde", serde(rename = "Rate"))]
pub rate: BaseOneRate,
}
impl Validate for InterestRateDetails1 {}
#[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:cain.025.001.01")]
pub struct Invoice1 {
#[yaserde(rename = "Summry")]
#[cfg_attr(feature = "serde", serde(rename = "Summry"))]
pub summry: InvoiceSummary1,
#[yaserde(rename = "LineItm")]
#[cfg_attr(feature = "serde", serde(rename = "LineItm"))]
pub line_itm: Vec<InvoiceLineItem1>,
}
impl Validate for Invoice1 {}
#[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:cain.025.001.01")]
pub struct InvoiceLineItem1 {
#[yaserde(rename = "Dt")]
#[cfg_attr(feature = "serde", serde(rename = "Dt"))]
pub dt: Isodate,
#[yaserde(rename = "OrdrDt")]
#[cfg_attr(feature = "serde", serde(rename = "OrdrDt"))]
pub ordr_dt: Isodate,
#[yaserde(rename = "CtrctNb")]
#[cfg_attr(feature = "serde", serde(rename = "CtrctNb"))]
pub ctrct_nb: Max70Text,
#[yaserde(rename = "ShppgDt")]
#[cfg_attr(feature = "serde", serde(rename = "ShppgDt"))]
pub shppg_dt: Isodate,
#[yaserde(rename = "RbllgInd")]
#[cfg_attr(feature = "serde", serde(rename = "RbllgInd"))]
pub rbllg_ind: TrueFalseIndicator,
#[yaserde(rename = "MdclSvcsInd")]
#[cfg_attr(feature = "serde", serde(rename = "MdclSvcsInd"))]
pub mdcl_svcs_ind: TrueFalseIndicator,
#[yaserde(rename = "ShipToIndstryCd")]
#[cfg_attr(feature = "serde", serde(rename = "ShipToIndstryCd"))]
pub ship_to_indstry_cd: Max50Text,
#[yaserde(rename = "PdctCd")]
#[cfg_attr(feature = "serde", serde(rename = "PdctCd"))]
pub pdct_cd: Max70Text,
#[yaserde(rename = "PdctQlfr")]
#[cfg_attr(feature = "serde", serde(rename = "PdctQlfr"))]
pub pdct_qlfr: Max35Text,
#[yaserde(rename = "Desc")]
#[cfg_attr(feature = "serde", serde(rename = "Desc"))]
pub desc: Max256Text,
#[yaserde(rename = "TpOfSpply")]
#[cfg_attr(feature = "serde", serde(rename = "TpOfSpply"))]
pub tp_of_spply: Max10Text,
#[yaserde(rename = "UnitOfMeasr")]
#[cfg_attr(feature = "serde", serde(rename = "UnitOfMeasr"))]
pub unit_of_measr: UnitOfMeasure1Code,
#[yaserde(rename = "OthrUnitOfMeasr")]
#[cfg_attr(feature = "serde", serde(rename = "OthrUnitOfMeasr"))]
pub othr_unit_of_measr: Max35Text,
#[yaserde(rename = "UnitPric")]
#[cfg_attr(feature = "serde", serde(rename = "UnitPric"))]
pub unit_pric: ImpliedCurrencyAndAmount,
#[yaserde(rename = "PdctQty")]
#[cfg_attr(feature = "serde", serde(rename = "PdctQty"))]
pub pdct_qty: DecimalNumber,
#[yaserde(rename = "Adjstmnt")]
#[cfg_attr(feature = "serde", serde(rename = "Adjstmnt"))]
pub adjstmnt: Adjustment11,
#[yaserde(rename = "InsrncInd")]
#[cfg_attr(feature = "serde", serde(rename = "InsrncInd"))]
pub insrnc_ind: TrueFalseIndicator,
#[yaserde(rename = "InsrncAmt")]
#[cfg_attr(feature = "serde", serde(rename = "InsrncAmt"))]
pub insrnc_amt: ImpliedCurrencyAndAmount,
#[yaserde(rename = "Tax")]
#[cfg_attr(feature = "serde", serde(rename = "Tax"))]
pub tax: Vec<Tax33>,
#[yaserde(rename = "UnqVATInvcRef")]
#[cfg_attr(feature = "serde", serde(rename = "UnqVATInvcRef"))]
pub unq_vat_invc_ref: Max35Text,
#[yaserde(rename = "TtlAmt")]
#[cfg_attr(feature = "serde", serde(rename = "TtlAmt"))]
pub ttl_amt: ImpliedCurrencyAndAmount,
#[yaserde(rename = "CdtInd")]
#[cfg_attr(feature = "serde", serde(rename = "CdtInd"))]
pub cdt_ind: TrueFalseIndicator,
#[yaserde(rename = "ZeroCostToCstmrInd")]
#[cfg_attr(feature = "serde", serde(rename = "ZeroCostToCstmrInd"))]
pub zero_cost_to_cstmr_ind: TrueFalseIndicator,
#[yaserde(rename = "AddtlData")]
#[cfg_attr(feature = "serde", serde(rename = "AddtlData"))]
pub addtl_data: Max350Text,
}
impl Validate for InvoiceLineItem1 {}
#[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:cain.025.001.01")]
pub struct InvoiceSummary1 {
#[yaserde(rename = "InvcNb")]
#[cfg_attr(feature = "serde", serde(rename = "InvcNb"))]
pub invc_nb: Max70Text,
#[yaserde(rename = "Sellr")]
#[cfg_attr(feature = "serde", serde(rename = "Sellr"))]
pub sellr: PartyIdentification206,
#[yaserde(rename = "Buyr")]
#[cfg_attr(feature = "serde", serde(rename = "Buyr"))]
pub buyr: PartyIdentification206,
#[yaserde(rename = "InvcDt")]
#[cfg_attr(feature = "serde", serde(rename = "InvcDt"))]
pub invc_dt: Isodate,
#[yaserde(rename = "InvcCreDtTm")]
#[cfg_attr(feature = "serde", serde(rename = "InvcCreDtTm"))]
pub invc_cre_dt_tm: IsodateTime,
#[yaserde(rename = "SummryCmmdtyId")]
#[cfg_attr(feature = "serde", serde(rename = "SummryCmmdtyId"))]
pub summry_cmmdty_id: Max35Text,
#[yaserde(rename = "FrghtAmt")]
#[cfg_attr(feature = "serde", serde(rename = "FrghtAmt"))]
pub frght_amt: ImpliedCurrencyAndAmount,
#[yaserde(rename = "TaxTtl")]
#[cfg_attr(feature = "serde", serde(rename = "TaxTtl"))]
pub tax_ttl: Vec<Tax33>,
#[yaserde(rename = "TaxRclmMtd")]
#[cfg_attr(feature = "serde", serde(rename = "TaxRclmMtd"))]
pub tax_rclm_mtd: TaxReclaimMethod1Code,
#[yaserde(rename = "AddtlData")]
#[cfg_attr(feature = "serde", serde(rename = "AddtlData"))]
pub addtl_data: Max350Text,
}
impl Validate for InvoiceSummary1 {}
#[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:cain.025.001.01")]
pub struct IssuerAndSerialNumber1 {
#[yaserde(rename = "Issr")]
#[cfg_attr(feature = "serde", serde(rename = "Issr"))]
pub issr: CertificateIssuer1,
#[yaserde(rename = "SrlNb")]
#[cfg_attr(feature = "serde", serde(rename = "SrlNb"))]
pub srl_nb: Max35Binary,
}
impl Validate for IssuerAndSerialNumber1 {}
#[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:cain.025.001.01")]
pub struct JourneyInformation1 {
#[yaserde(rename = "JrnyTp")]
#[cfg_attr(feature = "serde", serde(rename = "JrnyTp"))]
pub jrny_tp: JourneyType1Code,
#[yaserde(rename = "JrnyData")]
#[cfg_attr(feature = "serde", serde(rename = "JrnyData"))]
pub jrny_data: Max35Text,
#[yaserde(rename = "DtAndTm")]
#[cfg_attr(feature = "serde", serde(rename = "DtAndTm"))]
pub dt_and_tm: IsodateTime,
}
impl Validate for JourneyInformation1 {}
#[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:cain.025.001.01")]
pub enum JourneyType1Code {
#[yaserde(rename = "COAC")]
#[cfg_attr(feature = "serde", serde(rename = "COAC"))]
Coac,
#[yaserde(rename = "EARL")]
#[cfg_attr(feature = "serde", serde(rename = "EARL"))]
Earl,
#[yaserde(rename = "FLGT")]
#[cfg_attr(feature = "serde", serde(rename = "FLGT"))]
Flgt,
#[yaserde(rename = "LATE")]
#[cfg_attr(feature = "serde", serde(rename = "LATE"))]
Late,
#[yaserde(rename = "ONTM")]
#[cfg_attr(feature = "serde", serde(rename = "ONTM"))]
Ontm,
#[yaserde(rename = "OTHR")]
#[cfg_attr(feature = "serde", serde(rename = "OTHR"))]
Othr,
#[yaserde(rename = "TRAN")]
#[cfg_attr(feature = "serde", serde(rename = "TRAN"))]
Tran,
#[yaserde(rename = "VESS")]
#[cfg_attr(feature = "serde", serde(rename = "VESS"))]
Vess,
__Unknown__(String),
}
impl Default for JourneyType1Code {
fn default() -> JourneyType1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for JourneyType1Code {}
#[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:cain.025.001.01")]
pub struct Kek6 {
#[yaserde(rename = "Vrsn")]
#[cfg_attr(feature = "serde", serde(rename = "Vrsn"))]
pub vrsn: Number,
#[yaserde(rename = "KEKId")]
#[cfg_attr(feature = "serde", serde(rename = "KEKId"))]
pub kek_id: Kekidentifier6,
#[yaserde(rename = "KeyNcrptnAlgo")]
#[cfg_attr(feature = "serde", serde(rename = "KeyNcrptnAlgo"))]
pub key_ncrptn_algo: AlgorithmIdentification28,
#[yaserde(rename = "NcrptdKey")]
#[cfg_attr(feature = "serde", serde(rename = "NcrptdKey"))]
pub ncrptd_key: Max500Binary,
}
impl Validate for Kek6 {}
#[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:cain.025.001.01")]
pub struct Kekidentifier2 {
#[yaserde(rename = "KeyId")]
#[cfg_attr(feature = "serde", serde(rename = "KeyId"))]
pub key_id: Max140Text,
#[yaserde(rename = "KeyVrsn")]
#[cfg_attr(feature = "serde", serde(rename = "KeyVrsn"))]
pub key_vrsn: Max140Text,
#[yaserde(rename = "SeqNb")]
#[cfg_attr(feature = "serde", serde(rename = "SeqNb"))]
pub seq_nb: Number,
#[yaserde(rename = "DerivtnId")]
#[cfg_attr(feature = "serde", serde(rename = "DerivtnId"))]
pub derivtn_id: Min5Max16Binary,
}
impl Validate for Kekidentifier2 {}
#[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:cain.025.001.01")]
pub struct Kekidentifier6 {
#[yaserde(rename = "KeyId")]
#[cfg_attr(feature = "serde", serde(rename = "KeyId"))]
pub key_id: Max140Text,
#[yaserde(rename = "KeyVrsn")]
#[cfg_attr(feature = "serde", serde(rename = "KeyVrsn"))]
pub key_vrsn: Max140Text,
#[yaserde(rename = "SeqNb")]
#[cfg_attr(feature = "serde", serde(rename = "SeqNb"))]
pub seq_nb: Number,
#[yaserde(rename = "DerivtnId")]
#[cfg_attr(feature = "serde", serde(rename = "DerivtnId"))]
pub derivtn_id: Min5Max16Binary,
}
impl Validate for Kekidentifier6 {}
#[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:cain.025.001.01")]
pub struct KeyTransport6 {
#[yaserde(rename = "Vrsn")]
#[cfg_attr(feature = "serde", serde(rename = "Vrsn"))]
pub vrsn: Number,
#[yaserde(rename = "RcptId")]
#[cfg_attr(feature = "serde", serde(rename = "RcptId"))]
pub rcpt_id: Recipient5Choice,
#[yaserde(rename = "KeyNcrptnAlgo")]
#[cfg_attr(feature = "serde", serde(rename = "KeyNcrptnAlgo"))]
pub key_ncrptn_algo: AlgorithmIdentification27,
#[yaserde(rename = "NcrptdKey")]
#[cfg_attr(feature = "serde", serde(rename = "NcrptdKey"))]
pub ncrptd_key: Max5000Binary,
}
impl Validate for KeyTransport6 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct LanguageCode (pub String);
crate::simple_type!(LanguageCode);
impl Validate for LanguageCode {}
#[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:cain.025.001.01")]
pub enum LegalStructure1Code {
#[yaserde(rename = "STAE")]
#[cfg_attr(feature = "serde", serde(rename = "STAE"))]
Stae,
#[yaserde(rename = "PVIN")]
#[cfg_attr(feature = "serde", serde(rename = "PVIN"))]
Pvin,
#[yaserde(rename = "MUNI")]
#[cfg_attr(feature = "serde", serde(rename = "MUNI"))]
Muni,
#[yaserde(rename = "CNTY")]
#[cfg_attr(feature = "serde", serde(rename = "CNTY"))]
Cnty,
#[yaserde(rename = "NATI")]
#[cfg_attr(feature = "serde", serde(rename = "NATI"))]
Nati,
__Unknown__(String),
}
impl Default for LegalStructure1Code {
fn default() -> LegalStructure1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for LegalStructure1Code {}
#[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:cain.025.001.01")]
pub enum LifeCycleSupport1Code {
#[yaserde(rename = "AUTH")]
#[cfg_attr(feature = "serde", serde(rename = "AUTH"))]
Auth,
#[yaserde(rename = "FINC")]
#[cfg_attr(feature = "serde", serde(rename = "FINC"))]
Finc,
__Unknown__(String),
}
impl Default for LifeCycleSupport1Code {
fn default() -> LifeCycleSupport1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for LifeCycleSupport1Code {}
#[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:cain.025.001.01")]
pub struct LocalAmenity1 {
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: LocationAmenity1Code,
#[yaserde(rename = "OthrTp")]
#[cfg_attr(feature = "serde", serde(rename = "OthrTp"))]
pub othr_tp: Max35Text,
#[yaserde(rename = "AvlblInd")]
#[cfg_attr(feature = "serde", serde(rename = "AvlblInd"))]
pub avlbl_ind: TrueFalseIndicator,
}
impl Validate for LocalAmenity1 {}
#[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:cain.025.001.01")]
pub struct Location3 {
#[yaserde(rename = "LctnCd")]
#[cfg_attr(feature = "serde", serde(rename = "LctnCd"))]
pub lctn_cd: Max35Text,
#[yaserde(rename = "LctnNm")]
#[cfg_attr(feature = "serde", serde(rename = "LctnNm"))]
pub lctn_nm: Max35Text,
#[yaserde(rename = "Desc")]
#[cfg_attr(feature = "serde", serde(rename = "Desc"))]
pub desc: Max256Text,
#[yaserde(rename = "Adr")]
#[cfg_attr(feature = "serde", serde(rename = "Adr"))]
pub adr: Address1,
#[yaserde(rename = "LclTmZone")]
#[cfg_attr(feature = "serde", serde(rename = "LclTmZone"))]
pub lcl_tm_zone: Max70Text,
#[yaserde(rename = "LclCcy")]
#[cfg_attr(feature = "serde", serde(rename = "LclCcy"))]
pub lcl_ccy: Iso3NumericCurrencyCode,
}
impl Validate for Location3 {}
#[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:cain.025.001.01")]
pub enum LocationAmenity1Code {
#[yaserde(rename = "AADA")]
#[cfg_attr(feature = "serde", serde(rename = "AADA"))]
Aada,
#[yaserde(rename = "AFLA")]
#[cfg_attr(feature = "serde", serde(rename = "AFLA"))]
Afla,
#[yaserde(rename = "AVLA")]
#[cfg_attr(feature = "serde", serde(rename = "AVLA"))]
Avla,
#[yaserde(rename = "CRWA")]
#[cfg_attr(feature = "serde", serde(rename = "CRWA"))]
Crwa,
#[yaserde(rename = "CVSA")]
#[cfg_attr(feature = "serde", serde(rename = "CVSA"))]
Cvsa,
#[yaserde(rename = "DISA")]
#[cfg_attr(feature = "serde", serde(rename = "DISA"))]
Disa,
#[yaserde(rename = "EWAA")]
#[cfg_attr(feature = "serde", serde(rename = "EWAA"))]
Ewaa,
#[yaserde(rename = "MRLA")]
#[cfg_attr(feature = "serde", serde(rename = "MRLA"))]
Mrla,
#[yaserde(rename = "OTHN")]
#[cfg_attr(feature = "serde", serde(rename = "OTHN"))]
Othn,
#[yaserde(rename = "OTHP")]
#[cfg_attr(feature = "serde", serde(rename = "OTHP"))]
Othp,
#[yaserde(rename = "PAPA")]
#[cfg_attr(feature = "serde", serde(rename = "PAPA"))]
Papa,
#[yaserde(rename = "TSHA")]
#[cfg_attr(feature = "serde", serde(rename = "TSHA"))]
Tsha,
#[yaserde(rename = "TSRA")]
#[cfg_attr(feature = "serde", serde(rename = "TSRA"))]
Tsra,
#[yaserde(rename = "TSSA")]
#[cfg_attr(feature = "serde", serde(rename = "TSSA"))]
Tssa,
#[yaserde(rename = "TFHA")]
#[cfg_attr(feature = "serde", serde(rename = "TFHA"))]
Tfha,
#[yaserde(rename = "VSWA")]
#[cfg_attr(feature = "serde", serde(rename = "VSWA"))]
Vswa,
#[yaserde(rename = "VHPA")]
#[cfg_attr(feature = "serde", serde(rename = "VHPA"))]
Vhpa,
#[yaserde(rename = "VMRA")]
#[cfg_attr(feature = "serde", serde(rename = "VMRA"))]
Vmra,
__Unknown__(String),
}
impl Default for LocationAmenity1Code {
fn default() -> LocationAmenity1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for LocationAmenity1Code {}
#[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:cain.025.001.01")]
pub struct Lodging2 {
#[yaserde(rename = "Summry")]
#[cfg_attr(feature = "serde", serde(rename = "Summry"))]
pub summry: LodgingSummary1,
#[yaserde(rename = "LineItm")]
#[cfg_attr(feature = "serde", serde(rename = "LineItm"))]
pub line_itm: Vec<LodgingLineItem1>,
}
impl Validate for Lodging2 {}
#[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:cain.025.001.01")]
pub enum LodgingActivity1Code {
#[yaserde(rename = "APTM")]
#[cfg_attr(feature = "serde", serde(rename = "APTM"))]
Aptm,
#[yaserde(rename = "BEBR")]
#[cfg_attr(feature = "serde", serde(rename = "BEBR"))]
Bebr,
#[yaserde(rename = "COTT")]
#[cfg_attr(feature = "serde", serde(rename = "COTT"))]
Cott,
#[yaserde(rename = "CRUI")]
#[cfg_attr(feature = "serde", serde(rename = "CRUI"))]
Crui,
#[yaserde(rename = "HOME")]
#[cfg_attr(feature = "serde", serde(rename = "HOME"))]
Home,
#[yaserde(rename = "HOST")]
#[cfg_attr(feature = "serde", serde(rename = "HOST"))]
Host,
#[yaserde(rename = "HOTL")]
#[cfg_attr(feature = "serde", serde(rename = "HOTL"))]
Hotl,
#[yaserde(rename = "LODG")]
#[cfg_attr(feature = "serde", serde(rename = "LODG"))]
Lodg,
#[yaserde(rename = "MOTL")]
#[cfg_attr(feature = "serde", serde(rename = "MOTL"))]
Motl,
#[yaserde(rename = "OTHN")]
#[cfg_attr(feature = "serde", serde(rename = "OTHN"))]
Othn,
#[yaserde(rename = "OTHP")]
#[cfg_attr(feature = "serde", serde(rename = "OTHP"))]
Othp,
#[yaserde(rename = "RESO")]
#[cfg_attr(feature = "serde", serde(rename = "RESO"))]
Reso,
#[yaserde(rename = "ROAB")]
#[cfg_attr(feature = "serde", serde(rename = "ROAB"))]
Roab,
#[yaserde(rename = "TOSH")]
#[cfg_attr(feature = "serde", serde(rename = "TOSH"))]
Tosh,
__Unknown__(String),
}
impl Default for LodgingActivity1Code {
fn default() -> LodgingActivity1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for LodgingActivity1Code {}
#[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:cain.025.001.01")]
pub struct LodgingLineItem1 {
#[yaserde(rename = "Dt")]
#[cfg_attr(feature = "serde", serde(rename = "Dt"))]
pub dt: Isodate,
#[yaserde(rename = "Tm")]
#[cfg_attr(feature = "serde", serde(rename = "Tm"))]
pub tm: Isotime,
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: LodgingService1Code,
#[yaserde(rename = "OthrTp")]
#[cfg_attr(feature = "serde", serde(rename = "OthrTp"))]
pub othr_tp: Max35Text,
#[yaserde(rename = "PstChckOutInd")]
#[cfg_attr(feature = "serde", serde(rename = "PstChckOutInd"))]
pub pst_chck_out_ind: TrueFalseIndicator,
#[yaserde(rename = "CdtInd")]
#[cfg_attr(feature = "serde", serde(rename = "CdtInd"))]
pub cdt_ind: TrueFalseIndicator,
#[yaserde(rename = "UnitAmt")]
#[cfg_attr(feature = "serde", serde(rename = "UnitAmt"))]
pub unit_amt: ImpliedCurrencyAndAmount,
#[yaserde(rename = "Drtn")]
#[cfg_attr(feature = "serde", serde(rename = "Drtn"))]
pub drtn: Max4NumericText,
#[yaserde(rename = "SubTtlAmt")]
#[cfg_attr(feature = "serde", serde(rename = "SubTtlAmt"))]
pub sub_ttl_amt: ImpliedCurrencyAndAmount,
#[yaserde(rename = "Tax")]
#[cfg_attr(feature = "serde", serde(rename = "Tax"))]
pub tax: Vec<Tax33>,
#[yaserde(rename = "AddtlData")]
#[cfg_attr(feature = "serde", serde(rename = "AddtlData"))]
pub addtl_data: Max350Text,
}
impl Validate for LodgingLineItem1 {}
#[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:cain.025.001.01")]
pub struct LodgingProperty1 {
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: LodgingActivity1Code,
#[yaserde(rename = "OthrTp")]
#[cfg_attr(feature = "serde", serde(rename = "OthrTp"))]
pub othr_tp: Max35Text,
#[yaserde(rename = "PrstgsPrprty")]
#[cfg_attr(feature = "serde", serde(rename = "PrstgsPrprty"))]
pub prstgs_prprty: Max35Text,
#[yaserde(rename = "Nm")]
#[cfg_attr(feature = "serde", serde(rename = "Nm"))]
pub nm: Max35Text,
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: PartyIdentification197,
#[yaserde(rename = "Lctn")]
#[cfg_attr(feature = "serde", serde(rename = "Lctn"))]
pub lctn: Location3,
#[yaserde(rename = "Assgnr")]
#[cfg_attr(feature = "serde", serde(rename = "Assgnr"))]
pub assgnr: CompanyAssigner2Code,
#[yaserde(rename = "Ctct")]
#[cfg_attr(feature = "serde", serde(rename = "Ctct"))]
pub ctct: Contact3,
#[yaserde(rename = "Ctry")]
#[cfg_attr(feature = "serde", serde(rename = "Ctry"))]
pub ctry: Min2Max3AlphaText,
#[yaserde(rename = "FireSftyActInd")]
#[cfg_attr(feature = "serde", serde(rename = "FireSftyActInd"))]
pub fire_sfty_act_ind: TrueFalseIndicator,
}
impl Validate for LodgingProperty1 {}
#[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:cain.025.001.01")]
pub struct LodgingRoom1 {
#[yaserde(rename = "RoomTp")]
#[cfg_attr(feature = "serde", serde(rename = "RoomTp"))]
pub room_tp: Max35Text,
#[yaserde(rename = "RoomLctn")]
#[cfg_attr(feature = "serde", serde(rename = "RoomLctn"))]
pub room_lctn: Max35Text,
#[yaserde(rename = "BedTp")]
#[cfg_attr(feature = "serde", serde(rename = "BedTp"))]
pub bed_tp: Max70Text,
#[yaserde(rename = "GstsPerRoom")]
#[cfg_attr(feature = "serde", serde(rename = "GstsPerRoom"))]
pub gsts_per_room: Max3NumericText,
#[yaserde(rename = "AdltsInRoom")]
#[cfg_attr(feature = "serde", serde(rename = "AdltsInRoom"))]
pub adlts_in_room: Max3NumericText,
#[yaserde(rename = "ChldrnInRoom")]
#[cfg_attr(feature = "serde", serde(rename = "ChldrnInRoom"))]
pub chldrn_in_room: Max3NumericText,
#[yaserde(rename = "DalyRoomRate")]
#[cfg_attr(feature = "serde", serde(rename = "DalyRoomRate"))]
pub daly_room_rate: ImpliedCurrencyAndAmount,
}
impl Validate for LodgingRoom1 {}
#[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:cain.025.001.01")]
pub enum LodgingService1Code {
#[yaserde(rename = "ACCO")]
#[cfg_attr(feature = "serde", serde(rename = "ACCO"))]
Acco,
#[yaserde(rename = "AUDI")]
#[cfg_attr(feature = "serde", serde(rename = "AUDI"))]
Audi,
#[yaserde(rename = "BANQ")]
#[cfg_attr(feature = "serde", serde(rename = "BANQ"))]
Banq,
#[yaserde(rename = "BREK")]
#[cfg_attr(feature = "serde", serde(rename = "BREK"))]
Brek,
#[yaserde(rename = "BUSS")]
#[cfg_attr(feature = "serde", serde(rename = "BUSS"))]
Buss,
#[yaserde(rename = "CONC")]
#[cfg_attr(feature = "serde", serde(rename = "CONC"))]
Conc,
#[yaserde(rename = "EARA")]
#[cfg_attr(feature = "serde", serde(rename = "EARA"))]
Eara,
#[yaserde(rename = "EARD")]
#[cfg_attr(feature = "serde", serde(rename = "EARD"))]
Eard,
#[yaserde(rename = "ENTR")]
#[cfg_attr(feature = "serde", serde(rename = "ENTR"))]
Entr,
#[yaserde(rename = "FCAA")]
#[cfg_attr(feature = "serde", serde(rename = "FCAA"))]
Fcaa,
#[yaserde(rename = "GAME")]
#[cfg_attr(feature = "serde", serde(rename = "GAME"))]
Game,
#[yaserde(rename = "GARA")]
#[cfg_attr(feature = "serde", serde(rename = "GARA"))]
Gara,
#[yaserde(rename = "GIFT")]
#[cfg_attr(feature = "serde", serde(rename = "GIFT"))]
Gift,
#[yaserde(rename = "HEAL")]
#[cfg_attr(feature = "serde", serde(rename = "HEAL"))]
Heal,
#[yaserde(rename = "INTE")]
#[cfg_attr(feature = "serde", serde(rename = "INTE"))]
Inte,
#[yaserde(rename = "LAUN")]
#[cfg_attr(feature = "serde", serde(rename = "LAUN"))]
Laun,
#[yaserde(rename = "LONG")]
#[cfg_attr(feature = "serde", serde(rename = "LONG"))]
Long,
#[yaserde(rename = "MINI")]
#[cfg_attr(feature = "serde", serde(rename = "MINI"))]
Mini,
#[yaserde(rename = "NOSH")]
#[cfg_attr(feature = "serde", serde(rename = "NOSH"))]
Nosh,
#[yaserde(rename = "OTHR")]
#[cfg_attr(feature = "serde", serde(rename = "OTHR"))]
Othr,
#[yaserde(rename = "PARK")]
#[cfg_attr(feature = "serde", serde(rename = "PARK"))]
Park,
#[yaserde(rename = "PHON")]
#[cfg_attr(feature = "serde", serde(rename = "PHON"))]
Phon,
#[yaserde(rename = "REST")]
#[cfg_attr(feature = "serde", serde(rename = "REST"))]
Rest,
#[yaserde(rename = "RMSE")]
#[cfg_attr(feature = "serde", serde(rename = "RMSE"))]
Rmse,
#[yaserde(rename = "SPAS")]
#[cfg_attr(feature = "serde", serde(rename = "SPAS"))]
Spas,
#[yaserde(rename = "THRD")]
#[cfg_attr(feature = "serde", serde(rename = "THRD"))]
Thrd,
#[yaserde(rename = "TRAN")]
#[cfg_attr(feature = "serde", serde(rename = "TRAN"))]
Tran,
#[yaserde(rename = "VODS")]
#[cfg_attr(feature = "serde", serde(rename = "VODS"))]
Vods,
__Unknown__(String),
}
impl Default for LodgingService1Code {
fn default() -> LodgingService1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for LodgingService1Code {}
#[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:cain.025.001.01")]
pub struct LodgingSummary1 {
#[yaserde(rename = "FolioNb")]
#[cfg_attr(feature = "serde", serde(rename = "FolioNb"))]
pub folio_nb: Max35Text,
#[yaserde(rename = "Prprty")]
#[cfg_attr(feature = "serde", serde(rename = "Prprty"))]
pub prprty: LodgingProperty1,
#[yaserde(rename = "Cstmr")]
#[cfg_attr(feature = "serde", serde(rename = "Cstmr"))]
pub cstmr: Customer5,
#[yaserde(rename = "NbOfRooms")]
#[cfg_attr(feature = "serde", serde(rename = "NbOfRooms"))]
pub nb_of_rooms: Max4NumericText,
#[yaserde(rename = "Room")]
#[cfg_attr(feature = "serde", serde(rename = "Room"))]
pub room: Vec<LodgingRoom1>,
#[yaserde(rename = "Drtn")]
#[cfg_attr(feature = "serde", serde(rename = "Drtn"))]
pub drtn: Max4NumericText,
#[yaserde(rename = "Arrvl")]
#[cfg_attr(feature = "serde", serde(rename = "Arrvl"))]
pub arrvl: DepartureOrArrival2,
#[yaserde(rename = "Dprture")]
#[cfg_attr(feature = "serde", serde(rename = "Dprture"))]
pub dprture: DepartureOrArrival1,
#[yaserde(rename = "NoShowInd")]
#[cfg_attr(feature = "serde", serde(rename = "NoShowInd"))]
pub no_show_ind: TrueFalseIndicator,
#[yaserde(rename = "InsrncInd")]
#[cfg_attr(feature = "serde", serde(rename = "InsrncInd"))]
pub insrnc_ind: TrueFalseIndicator,
#[yaserde(rename = "InsrncAmt")]
#[cfg_attr(feature = "serde", serde(rename = "InsrncAmt"))]
pub insrnc_amt: ImpliedCurrencyAndAmount,
#[yaserde(rename = "TtlTax")]
#[cfg_attr(feature = "serde", serde(rename = "TtlTax"))]
pub ttl_tax: Vec<Tax33>,
#[yaserde(rename = "TtlAmt")]
#[cfg_attr(feature = "serde", serde(rename = "TtlAmt"))]
pub ttl_amt: ImpliedCurrencyAndAmount,
#[yaserde(rename = "AuthrsdAmt")]
#[cfg_attr(feature = "serde", serde(rename = "AuthrsdAmt"))]
pub authrsd_amt: Vec<AuthorisedAmount1>,
#[yaserde(rename = "SummryCmmdtyId")]
#[cfg_attr(feature = "serde", serde(rename = "SummryCmmdtyId"))]
pub summry_cmmdty_id: Max35Text,
#[yaserde(rename = "LltyPrgrmm")]
#[cfg_attr(feature = "serde", serde(rename = "LltyPrgrmm"))]
pub llty_prgrmm: Vec<LoyaltyProgramme2>,
#[yaserde(rename = "AddtlData")]
#[cfg_attr(feature = "serde", serde(rename = "AddtlData"))]
pub addtl_data: Max350Text,
}
impl Validate for LodgingSummary1 {}
#[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:cain.025.001.01")]
pub struct LoyaltyMember1 {
#[yaserde(rename = "Nm")]
#[cfg_attr(feature = "serde", serde(rename = "Nm"))]
pub nm: Max35Text,
#[yaserde(rename = "Adr")]
#[cfg_attr(feature = "serde", serde(rename = "Adr"))]
pub adr: Address1,
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Max35Text,
#[yaserde(rename = "MmbSts")]
#[cfg_attr(feature = "serde", serde(rename = "MmbSts"))]
pub mmb_sts: Max35Text,
#[yaserde(rename = "XprtnDt")]
#[cfg_attr(feature = "serde", serde(rename = "XprtnDt"))]
pub xprtn_dt: Isodate,
#[yaserde(rename = "LltyVal")]
#[cfg_attr(feature = "serde", serde(rename = "LltyVal"))]
pub llty_val: Max10NumericText,
#[yaserde(rename = "LltyValTp")]
#[cfg_attr(feature = "serde", serde(rename = "LltyValTp"))]
pub llty_val_tp: LoyaltyValueType1Code,
#[yaserde(rename = "OthrLltyValTp")]
#[cfg_attr(feature = "serde", serde(rename = "OthrLltyValTp"))]
pub othr_llty_val_tp: Max35Text,
#[yaserde(rename = "ValToCdt")]
#[cfg_attr(feature = "serde", serde(rename = "ValToCdt"))]
pub val_to_cdt: Max10NumericText,
#[yaserde(rename = "ValToDbt")]
#[cfg_attr(feature = "serde", serde(rename = "ValToDbt"))]
pub val_to_dbt: Max10NumericText,
#[yaserde(rename = "Bal")]
#[cfg_attr(feature = "serde", serde(rename = "Bal"))]
pub bal: Max10NumericText,
}
impl Validate for LoyaltyMember1 {}
#[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:cain.025.001.01")]
pub struct LoyaltyProgramme1 {
#[yaserde(rename = "PrgrmmElgbltyInd")]
#[cfg_attr(feature = "serde", serde(rename = "PrgrmmElgbltyInd"))]
pub prgrmm_elgblty_ind: Vec<TrueFalseIndicator>,
#[yaserde(rename = "PrgrmmIssr")]
#[cfg_attr(feature = "serde", serde(rename = "PrgrmmIssr"))]
pub prgrmm_issr: Max35Text,
#[yaserde(rename = "LltyMmb")]
#[cfg_attr(feature = "serde", serde(rename = "LltyMmb"))]
pub llty_mmb: LoyaltyMember1,
}
impl Validate for LoyaltyProgramme1 {}
#[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:cain.025.001.01")]
pub struct LoyaltyProgramme2 {
#[yaserde(rename = "PrgrmmTp")]
#[cfg_attr(feature = "serde", serde(rename = "PrgrmmTp"))]
pub prgrmm_tp: Max35Text,
#[yaserde(rename = "PrgmId")]
#[cfg_attr(feature = "serde", serde(rename = "PrgmId"))]
pub prgm_id: Max70Text,
#[yaserde(rename = "PtcptId")]
#[cfg_attr(feature = "serde", serde(rename = "PtcptId"))]
pub ptcpt_id: Max70Text,
}
impl Validate for LoyaltyProgramme2 {}
#[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:cain.025.001.01")]
pub enum LoyaltyValueType1Code {
#[yaserde(rename = "MILE")]
#[cfg_attr(feature = "serde", serde(rename = "MILE"))]
Mile,
#[yaserde(rename = "MONE")]
#[cfg_attr(feature = "serde", serde(rename = "MONE"))]
Mone,
#[yaserde(rename = "OTHR")]
#[cfg_attr(feature = "serde", serde(rename = "OTHR"))]
Othr,
#[yaserde(rename = "POIN")]
#[cfg_attr(feature = "serde", serde(rename = "POIN"))]
Poin,
#[yaserde(rename = "PRIV")]
#[cfg_attr(feature = "serde", serde(rename = "PRIV"))]
Priv,
__Unknown__(String),
}
impl Default for LoyaltyValueType1Code {
fn default() -> LoyaltyValueType1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for LoyaltyValueType1Code {}
#[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:cain.025.001.01")]
pub struct Macdata1 {
#[yaserde(rename = "Ctrl")]
#[cfg_attr(feature = "serde", serde(rename = "Ctrl"))]
pub ctrl: Exact1HexBinaryText,
#[yaserde(rename = "KeySetIdr")]
#[cfg_attr(feature = "serde", serde(rename = "KeySetIdr"))]
pub key_set_idr: Max8NumericText,
#[yaserde(rename = "DrvdInf")]
#[cfg_attr(feature = "serde", serde(rename = "DrvdInf"))]
pub drvd_inf: Max32HexBinaryText,
#[yaserde(rename = "Algo")]
#[cfg_attr(feature = "serde", serde(rename = "Algo"))]
pub algo: Max2NumericText,
#[yaserde(rename = "KeyLngth")]
#[cfg_attr(feature = "serde", serde(rename = "KeyLngth"))]
pub key_lngth: Max4NumericText,
#[yaserde(rename = "KeyPrtcn")]
#[cfg_attr(feature = "serde", serde(rename = "KeyPrtcn"))]
pub key_prtcn: Max2NumericText,
#[yaserde(rename = "KeyIndx")]
#[cfg_attr(feature = "serde", serde(rename = "KeyIndx"))]
pub key_indx: Max5NumericText,
#[yaserde(rename = "PddgMtd")]
#[cfg_attr(feature = "serde", serde(rename = "PddgMtd"))]
pub pddg_mtd: Max2NumericText,
#[yaserde(rename = "InitlstnVctr")]
#[cfg_attr(feature = "serde", serde(rename = "InitlstnVctr"))]
pub initlstn_vctr: Max32HexBinaryText,
}
impl Validate for Macdata1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max1000Text (pub String);
crate::simple_type!(Max1000Text);
impl Validate for Max1000Text {
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() > 1000 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 1000 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max100KBinary (pub String);
crate::simple_type!(Max100KBinary);
impl Validate for Max100KBinary {
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() > 102400 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 102400 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max10NumberFraction2 (pub String);
crate::simple_type!(Max10NumberFraction2);
impl Validate for Max10NumberFraction2 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max10NumericText (pub String);
crate::simple_type!(Max10NumericText);
impl Validate for Max10NumericText {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max10Text (pub String);
crate::simple_type!(Max10Text);
impl Validate for Max10Text {
fn validate(&self) -> Result<(), String> {
#[allow(clippy::len_zero)]
if self.0.len() < 1 {
return Err(format!("MinLength validation error. \nExpected: 0 length >= 1 \nActual: 0 length == {}", self.0.len()));
}
if self.0.len() > 10 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 10 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max11NumericText (pub String);
crate::simple_type!(Max11NumericText);
impl Validate for Max11NumericText {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max12NumericText (pub String);
crate::simple_type!(Max12NumericText);
impl Validate for Max12NumericText {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max140Binary (pub String);
crate::simple_type!(Max140Binary);
impl Validate for Max140Binary {
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 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 Max15Text (pub String);
crate::simple_type!(Max15Text);
impl Validate for Max15Text {
fn validate(&self) -> Result<(), String> {
#[allow(clippy::len_zero)]
if self.0.len() < 1 {
return Err(format!("MinLength validation error. \nExpected: 0 length >= 1 \nActual: 0 length == {}", self.0.len()));
}
if self.0.len() > 15 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 15 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct 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 Max19NumericText (pub String);
crate::simple_type!(Max19NumericText);
impl Validate for Max19NumericText {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max1Number (pub String);
crate::simple_type!(Max1Number);
impl Validate for Max1Number {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max2048Text (pub String);
crate::simple_type!(Max2048Text);
impl Validate for Max2048Text {
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() > 2048 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 2048 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max20Text (pub String);
crate::simple_type!(Max20Text);
impl Validate for Max20Text {
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() > 20 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 20 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max23NumericText (pub String);
crate::simple_type!(Max23NumericText);
impl Validate for Max23NumericText {}
#[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 Max2NumericText (pub String);
crate::simple_type!(Max2NumericText);
impl Validate for Max2NumericText {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max32HexBinaryText (pub String);
crate::simple_type!(Max32HexBinaryText);
impl Validate for Max32HexBinaryText {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max350Text (pub String);
crate::simple_type!(Max350Text);
impl Validate for Max350Text {
fn validate(&self) -> Result<(), String> {
#[allow(clippy::len_zero)]
if self.0.len() < 1 {
return Err(format!("MinLength validation error. \nExpected: 0 length >= 1 \nActual: 0 length == {}", self.0.len()));
}
if self.0.len() > 350 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 350 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max35Binary (pub String);
crate::simple_type!(Max35Binary);
impl Validate for Max35Binary {
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 Max35NumericText (pub String);
crate::simple_type!(Max35NumericText);
impl Validate for Max35NumericText {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max35Text (pub String);
crate::simple_type!(Max35Text);
impl Validate for Max35Text {
fn validate(&self) -> Result<(), String> {
#[allow(clippy::len_zero)]
if self.0.len() < 1 {
return Err(format!("MinLength validation error. \nExpected: 0 length >= 1 \nActual: 0 length == {}", self.0.len()));
}
if self.0.len() > 35 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 35 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max3NumericText (pub String);
crate::simple_type!(Max3NumericText);
impl Validate for Max3NumericText {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max40Text (pub String);
crate::simple_type!(Max40Text);
impl Validate for Max40Text {
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() > 40 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 40 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max4NumericText (pub String);
crate::simple_type!(Max4NumericText);
impl Validate for Max4NumericText {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max4Text (pub String);
crate::simple_type!(Max4Text);
impl Validate for Max4Text {
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 Max5000Binary (pub String);
crate::simple_type!(Max5000Binary);
impl Validate for Max5000Binary {
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() > 5000 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 5000 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max500Binary (pub String);
crate::simple_type!(Max500Binary);
impl Validate for Max500Binary {
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() > 500 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 500 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max50Text (pub String);
crate::simple_type!(Max50Text);
impl Validate for Max50Text {
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() > 50 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 50 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max5NumericText (pub String);
crate::simple_type!(Max5NumericText);
impl Validate for Max5NumericText {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max6NumberFraction2 (pub String);
crate::simple_type!(Max6NumberFraction2);
impl Validate for Max6NumberFraction2 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max6NumericText (pub String);
crate::simple_type!(Max6NumericText);
impl Validate for Max6NumericText {}
#[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)]
pub struct Max8HexBinaryText (pub String);
crate::simple_type!(Max8HexBinaryText);
impl Validate for Max8HexBinaryText {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max8NumericText (pub String);
crate::simple_type!(Max8NumericText);
impl Validate for Max8NumericText {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max9999HexBinaryText (pub String);
crate::simple_type!(Max9999HexBinaryText);
impl Validate for Max9999HexBinaryText {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max99Text (pub String);
crate::simple_type!(Max99Text);
impl Validate for Max99Text {
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() > 99 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 99 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(PartialEq, Debug, Clone, YaSerialize, YaDeserialize)]#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.025.001.01")]
pub enum MessageClass1Code {
#[yaserde(rename = "ADDE")]
#[cfg_attr(feature = "serde", serde(rename = "ADDE"))]
Adde,
#[yaserde(rename = "AMDT")]
#[cfg_attr(feature = "serde", serde(rename = "AMDT"))]
Amdt,
#[yaserde(rename = "AUTH")]
#[cfg_attr(feature = "serde", serde(rename = "AUTH"))]
Auth,
#[yaserde(rename = "CMGT")]
#[cfg_attr(feature = "serde", serde(rename = "CMGT"))]
Cmgt,
#[yaserde(rename = "CBCK")]
#[cfg_attr(feature = "serde", serde(rename = "CBCK"))]
Cbck,
#[yaserde(rename = "FEEC")]
#[cfg_attr(feature = "serde", serde(rename = "FEEC"))]
Feec,
#[yaserde(rename = "FINL")]
#[cfg_attr(feature = "serde", serde(rename = "FINL"))]
Finl,
#[yaserde(rename = "INQY")]
#[cfg_attr(feature = "serde", serde(rename = "INQY"))]
Inqy,
#[yaserde(rename = "VERI")]
#[cfg_attr(feature = "serde", serde(rename = "VERI"))]
Veri,
__Unknown__(String),
}
impl Default for MessageClass1Code {
fn default() -> MessageClass1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for MessageClass1Code {}
#[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:cain.025.001.01")]
pub enum MessageFunction29Code {
#[yaserde(rename = "ADVC")]
#[cfg_attr(feature = "serde", serde(rename = "ADVC"))]
Advc,
#[yaserde(rename = "NOTI")]
#[cfg_attr(feature = "serde", serde(rename = "NOTI"))]
Noti,
__Unknown__(String),
}
impl Default for MessageFunction29Code {
fn default() -> MessageFunction29Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for MessageFunction29Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Min2Max3AlphaText (pub String);
crate::simple_type!(Min2Max3AlphaText);
impl Validate for Min2Max3AlphaText {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Min2Max3NumericText (pub String);
crate::simple_type!(Min2Max3NumericText);
impl Validate for Min2Max3NumericText {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Min5Max16Binary (pub String);
crate::simple_type!(Min5Max16Binary);
impl Validate for Min5Max16Binary {
fn validate(&self) -> Result<(), String> {
#[allow(clippy::len_zero)]
if self.0.len() < 5 {
return Err(format!("MinLength validation error. \nExpected: 0 length >= 5 \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 Number (pub String);
crate::simple_type!(Number);
impl Validate for Number {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(PartialEq, Debug, Clone, YaSerialize, YaDeserialize)]#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.025.001.01")]
pub enum OfficialDocumentType1Code {
#[yaserde(rename = "ARNU")]
#[cfg_attr(feature = "serde", serde(rename = "ARNU"))]
Arnu,
#[yaserde(rename = "AUTH")]
#[cfg_attr(feature = "serde", serde(rename = "AUTH"))]
Auth,
#[yaserde(rename = "DIPL")]
#[cfg_attr(feature = "serde", serde(rename = "DIPL"))]
Dipl,
#[yaserde(rename = "DVLC")]
#[cfg_attr(feature = "serde", serde(rename = "DVLC"))]
Dvlc,
#[yaserde(rename = "EURO")]
#[cfg_attr(feature = "serde", serde(rename = "EURO"))]
Euro,
#[yaserde(rename = "IDEN")]
#[cfg_attr(feature = "serde", serde(rename = "IDEN"))]
Iden,
#[yaserde(rename = "INTE")]
#[cfg_attr(feature = "serde", serde(rename = "INTE"))]
Inte,
#[yaserde(rename = "INPO")]
#[cfg_attr(feature = "serde", serde(rename = "INPO"))]
Inpo,
#[yaserde(rename = "LZPR")]
#[cfg_attr(feature = "serde", serde(rename = "LZPR"))]
Lzpr,
#[yaserde(rename = "OTHN")]
#[cfg_attr(feature = "serde", serde(rename = "OTHN"))]
Othn,
#[yaserde(rename = "OTHP")]
#[cfg_attr(feature = "serde", serde(rename = "OTHP"))]
Othp,
#[yaserde(rename = "PASS")]
#[cfg_attr(feature = "serde", serde(rename = "PASS"))]
Pass,
#[yaserde(rename = "VISA")]
#[cfg_attr(feature = "serde", serde(rename = "VISA"))]
Visa,
#[yaserde(rename = "PERM")]
#[cfg_attr(feature = "serde", serde(rename = "PERM"))]
Perm,
#[yaserde(rename = "REFU")]
#[cfg_attr(feature = "serde", serde(rename = "REFU"))]
Refu,
__Unknown__(String),
}
impl Default for OfficialDocumentType1Code {
fn default() -> OfficialDocumentType1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for OfficialDocumentType1Code {}
#[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:cain.025.001.01")]
pub struct OnBoardDiagnostics1 {
#[yaserde(rename = "NgnIdleTm")]
#[cfg_attr(feature = "serde", serde(rename = "NgnIdleTm"))]
pub ngn_idle_tm: Max10NumberFraction2,
#[yaserde(rename = "NgnTtlIdleTm")]
#[cfg_attr(feature = "serde", serde(rename = "NgnTtlIdleTm"))]
pub ngn_ttl_idle_tm: Max10NumberFraction2,
#[yaserde(rename = "NgnHrs")]
#[cfg_attr(feature = "serde", serde(rename = "NgnHrs"))]
pub ngn_hrs: Max10NumberFraction2,
#[yaserde(rename = "NgnTtlTm")]
#[cfg_attr(feature = "serde", serde(rename = "NgnTtlTm"))]
pub ngn_ttl_tm: Max6NumberFraction2,
#[yaserde(rename = "NgnLd")]
#[cfg_attr(feature = "serde", serde(rename = "NgnLd"))]
pub ngn_ld: Max12NumericText,
#[yaserde(rename = "NgnRPM")]
#[cfg_attr(feature = "serde", serde(rename = "NgnRPM"))]
pub ngn_rpm: Max5NumericText,
#[yaserde(rename = "NgnOilTmprtr")]
#[cfg_attr(feature = "serde", serde(rename = "NgnOilTmprtr"))]
pub ngn_oil_tmprtr: Max6NumberFraction2,
#[yaserde(rename = "NgnOilPrssr")]
#[cfg_attr(feature = "serde", serde(rename = "NgnOilPrssr"))]
pub ngn_oil_prssr: Max3NumericText,
#[yaserde(rename = "NgnOilLifeRmng")]
#[cfg_attr(feature = "serde", serde(rename = "NgnOilLifeRmng"))]
pub ngn_oil_life_rmng: Max3NumericText,
#[yaserde(rename = "ChckNgnWrngSts")]
#[cfg_attr(feature = "serde", serde(rename = "ChckNgnWrngSts"))]
pub chck_ngn_wrng_sts: Max35Text,
#[yaserde(rename = "FuelTankLvlStart")]
#[cfg_attr(feature = "serde", serde(rename = "FuelTankLvlStart"))]
pub fuel_tank_lvl_start: Max4NumericText,
#[yaserde(rename = "FuelGaugeLvl")]
#[cfg_attr(feature = "serde", serde(rename = "FuelGaugeLvl"))]
pub fuel_gauge_lvl: Max4NumericText,
#[yaserde(rename = "FuelEcnmy")]
#[cfg_attr(feature = "serde", serde(rename = "FuelEcnmy"))]
pub fuel_ecnmy: Max6NumberFraction2,
#[yaserde(rename = "RfrgrtnHrs")]
#[cfg_attr(feature = "serde", serde(rename = "RfrgrtnHrs"))]
pub rfrgrtn_hrs: Max10NumberFraction2,
#[yaserde(rename = "RfrgrtnTmprtr")]
#[cfg_attr(feature = "serde", serde(rename = "RfrgrtnTmprtr"))]
pub rfrgrtn_tmprtr: Max6NumberFraction2,
#[yaserde(rename = "CoolntTmprtr")]
#[cfg_attr(feature = "serde", serde(rename = "CoolntTmprtr"))]
pub coolnt_tmprtr: Max6NumberFraction2,
#[yaserde(rename = "BttryVltg")]
#[cfg_attr(feature = "serde", serde(rename = "BttryVltg"))]
pub bttry_vltg: Max4NumericText,
#[yaserde(rename = "HardBrakg")]
#[cfg_attr(feature = "serde", serde(rename = "HardBrakg"))]
pub hard_brakg: Max4NumericText,
#[yaserde(rename = "HardAcclrtn")]
#[cfg_attr(feature = "serde", serde(rename = "HardAcclrtn"))]
pub hard_acclrtn: Max4NumericText,
}
impl Validate for OnBoardDiagnostics1 {}
#[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:cain.025.001.01")]
pub struct OriginalDataElements1 {
#[yaserde(rename = "MsgClss")]
#[cfg_attr(feature = "serde", serde(rename = "MsgClss"))]
pub msg_clss: MessageClass1Code,
#[yaserde(rename = "TxTp")]
#[cfg_attr(feature = "serde", serde(rename = "TxTp"))]
pub tx_tp: Exact2AlphaNumericText,
#[yaserde(rename = "AcqrrId")]
#[cfg_attr(feature = "serde", serde(rename = "AcqrrId"))]
pub acqrr_id: Max11NumericText,
#[yaserde(rename = "SndrId")]
#[cfg_attr(feature = "serde", serde(rename = "SndrId"))]
pub sndr_id: Max11NumericText,
#[yaserde(rename = "LclDtTm")]
#[cfg_attr(feature = "serde", serde(rename = "LclDtTm"))]
pub lcl_dt_tm: IsodateTime,
#[yaserde(rename = "TmZone")]
#[cfg_attr(feature = "serde", serde(rename = "TmZone"))]
pub tm_zone: Max70Text,
#[yaserde(rename = "TxRef")]
#[cfg_attr(feature = "serde", serde(rename = "TxRef"))]
pub tx_ref: Max35Text,
#[yaserde(rename = "TrnsmssnDtTm")]
#[cfg_attr(feature = "serde", serde(rename = "TrnsmssnDtTm"))]
pub trnsmssn_dt_tm: IsodateTime,
#[yaserde(rename = "SysTracAudtNb")]
#[cfg_attr(feature = "serde", serde(rename = "SysTracAudtNb"))]
pub sys_trac_audt_nb: Max12NumericText,
#[yaserde(rename = "RtrvlRefNb")]
#[cfg_attr(feature = "serde", serde(rename = "RtrvlRefNb"))]
pub rtrvl_ref_nb: Exact12Text,
#[yaserde(rename = "LifeCyclSpprt")]
#[cfg_attr(feature = "serde", serde(rename = "LifeCyclSpprt"))]
pub life_cycl_spprt: LifeCycleSupport1Code,
#[yaserde(rename = "LifeCyclTracIdData")]
#[cfg_attr(feature = "serde", serde(rename = "LifeCyclTracIdData"))]
pub life_cycl_trac_id_data: TransactionLifeCycleIdentification1,
#[yaserde(rename = "LifeCyclTracIdMssng")]
#[cfg_attr(feature = "serde", serde(rename = "LifeCyclTracIdMssng"))]
pub life_cycl_trac_id_mssng: Max70Text,
#[yaserde(rename = "AcqrrRefData")]
#[cfg_attr(feature = "serde", serde(rename = "AcqrrRefData"))]
pub acqrr_ref_data: Max140Text,
#[yaserde(rename = "AcqrrRefNb")]
#[cfg_attr(feature = "serde", serde(rename = "AcqrrRefNb"))]
pub acqrr_ref_nb: Max23NumericText,
#[yaserde(rename = "CardIssrRefData")]
#[cfg_attr(feature = "serde", serde(rename = "CardIssrRefData"))]
pub card_issr_ref_data: Max1000Text,
}
impl Validate for OriginalDataElements1 {}
#[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:cain.025.001.01")]
pub struct Parameter13 {
#[yaserde(rename = "DgstAlgo")]
#[cfg_attr(feature = "serde", serde(rename = "DgstAlgo"))]
pub dgst_algo: Algorithm20Code,
#[yaserde(rename = "MskGnrtrAlgo")]
#[cfg_attr(feature = "serde", serde(rename = "MskGnrtrAlgo"))]
pub msk_gnrtr_algo: AlgorithmIdentification26,
}
impl Validate for Parameter13 {}
#[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:cain.025.001.01")]
pub struct Parameter14 {
#[yaserde(rename = "NcrptnFrmt")]
#[cfg_attr(feature = "serde", serde(rename = "NcrptnFrmt"))]
pub ncrptn_frmt: EncryptionFormat3Code,
#[yaserde(rename = "InitlstnVctr")]
#[cfg_attr(feature = "serde", serde(rename = "InitlstnVctr"))]
pub initlstn_vctr: Max500Binary,
#[yaserde(rename = "BPddg")]
#[cfg_attr(feature = "serde", serde(rename = "BPddg"))]
pub b_pddg: BytePadding1Code,
}
impl Validate for Parameter14 {}
#[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:cain.025.001.01")]
pub struct Parameter7 {
#[yaserde(rename = "InitlstnVctr")]
#[cfg_attr(feature = "serde", serde(rename = "InitlstnVctr"))]
pub initlstn_vctr: Max500Binary,
#[yaserde(rename = "BPddg")]
#[cfg_attr(feature = "serde", serde(rename = "BPddg"))]
pub b_pddg: BytePadding1Code,
}
impl Validate for Parameter7 {}
#[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:cain.025.001.01")]
pub struct PartyIdentification197 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Max35Text,
#[yaserde(rename = "Assgnr")]
#[cfg_attr(feature = "serde", serde(rename = "Assgnr"))]
pub assgnr: Max35Text,
#[yaserde(rename = "Ctry")]
#[cfg_attr(feature = "serde", serde(rename = "Ctry"))]
pub ctry: Iso3NumericCountryCode,
#[yaserde(rename = "ShrtNm")]
#[cfg_attr(feature = "serde", serde(rename = "ShrtNm"))]
pub shrt_nm: Max35Text,
#[yaserde(rename = "AddtlId")]
#[cfg_attr(feature = "serde", serde(rename = "AddtlId"))]
pub addtl_id: Max35Text,
}
impl Validate for PartyIdentification197 {}
#[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:cain.025.001.01")]
pub struct PartyIdentification206 {
#[yaserde(rename = "Nm")]
#[cfg_attr(feature = "serde", serde(rename = "Nm"))]
pub nm: Max70Text,
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: PartyIdentification197,
#[yaserde(rename = "Adr")]
#[cfg_attr(feature = "serde", serde(rename = "Adr"))]
pub adr: Address1,
#[yaserde(rename = "Ctct")]
#[cfg_attr(feature = "serde", serde(rename = "Ctct"))]
pub ctct: Contact3,
#[yaserde(rename = "TaxRegnId")]
#[cfg_attr(feature = "serde", serde(rename = "TaxRegnId"))]
pub tax_regn_id: Max70Text,
#[yaserde(rename = "AddtlInf")]
#[cfg_attr(feature = "serde", serde(rename = "AddtlInf"))]
pub addtl_inf: Max1000Text,
}
impl Validate for PartyIdentification206 {}
#[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:cain.025.001.01")]
pub struct PartyIdentification207 {
#[yaserde(rename = "Cd")]
#[cfg_attr(feature = "serde", serde(rename = "Cd"))]
pub cd: Max35Text,
#[yaserde(rename = "Assgnr")]
#[cfg_attr(feature = "serde", serde(rename = "Assgnr"))]
pub assgnr: Max35Text,
#[yaserde(rename = "IATACd")]
#[cfg_attr(feature = "serde", serde(rename = "IATACd"))]
pub iata_cd: Max35Text,
#[yaserde(rename = "Nm")]
#[cfg_attr(feature = "serde", serde(rename = "Nm"))]
pub nm: Max70Text,
#[yaserde(rename = "ShrtNm")]
#[cfg_attr(feature = "serde", serde(rename = "ShrtNm"))]
pub shrt_nm: Max35Text,
#[yaserde(rename = "Adr")]
#[cfg_attr(feature = "serde", serde(rename = "Adr"))]
pub adr: Address1,
#[yaserde(rename = "Ctct")]
#[cfg_attr(feature = "serde", serde(rename = "Ctct"))]
pub ctct: Contact6,
}
impl Validate for PartyIdentification207 {}
#[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:cain.025.001.01")]
pub struct PartyIdentification208 {
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: Max4Text,
#[yaserde(rename = "OthrTp")]
#[cfg_attr(feature = "serde", serde(rename = "OthrTp"))]
pub othr_tp: Max35Text,
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Max70Text,
#[yaserde(rename = "Assgnr")]
#[cfg_attr(feature = "serde", serde(rename = "Assgnr"))]
pub assgnr: Max35Text,
}
impl Validate for PartyIdentification208 {}
#[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:cain.025.001.01")]
pub struct PartyIdentification209 {
#[yaserde(rename = "Nm")]
#[cfg_attr(feature = "serde", serde(rename = "Nm"))]
pub nm: Max70Text,
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: PartyIdentification197,
#[yaserde(rename = "Adr")]
#[cfg_attr(feature = "serde", serde(rename = "Adr"))]
pub adr: Address1,
#[yaserde(rename = "Ctct")]
#[cfg_attr(feature = "serde", serde(rename = "Ctct"))]
pub ctct: Contact6,
#[yaserde(rename = "Instrs")]
#[cfg_attr(feature = "serde", serde(rename = "Instrs"))]
pub instrs: Max350Text,
}
impl Validate for PartyIdentification209 {}
#[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:cain.025.001.01")]
pub struct PartyIdentification210 {
#[yaserde(rename = "PrsnlId")]
#[cfg_attr(feature = "serde", serde(rename = "PrsnlId"))]
pub prsnl_id: Max35Text,
#[yaserde(rename = "MplyeeId")]
#[cfg_attr(feature = "serde", serde(rename = "MplyeeId"))]
pub mplyee_id: PhoneNumber,
#[yaserde(rename = "Nm")]
#[cfg_attr(feature = "serde", serde(rename = "Nm"))]
pub nm: Max70Text,
#[yaserde(rename = "PrfssnlLvl")]
#[cfg_attr(feature = "serde", serde(rename = "PrfssnlLvl"))]
pub prfssnl_lvl: Max35Text,
}
impl Validate for PartyIdentification210 {}
#[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:cain.025.001.01")]
pub enum PartyType17Code {
#[yaserde(rename = "OTHN")]
#[cfg_attr(feature = "serde", serde(rename = "OTHN"))]
Othn,
#[yaserde(rename = "OTHP")]
#[cfg_attr(feature = "serde", serde(rename = "OTHP"))]
Othp,
#[yaserde(rename = "ACQR")]
#[cfg_attr(feature = "serde", serde(rename = "ACQR"))]
Acqr,
#[yaserde(rename = "ACQP")]
#[cfg_attr(feature = "serde", serde(rename = "ACQP"))]
Acqp,
#[yaserde(rename = "CISS")]
#[cfg_attr(feature = "serde", serde(rename = "CISS"))]
Ciss,
#[yaserde(rename = "CISP")]
#[cfg_attr(feature = "serde", serde(rename = "CISP"))]
Cisp,
#[yaserde(rename = "AGNT")]
#[cfg_attr(feature = "serde", serde(rename = "AGNT"))]
Agnt,
__Unknown__(String),
}
impl Default for PartyType17Code {
fn default() -> PartyType17Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for PartyType17Code {}
#[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:cain.025.001.01")]
pub enum PartyType18Code {
#[yaserde(rename = "ACQR")]
#[cfg_attr(feature = "serde", serde(rename = "ACQR"))]
Acqr,
#[yaserde(rename = "CISS")]
#[cfg_attr(feature = "serde", serde(rename = "CISS"))]
Ciss,
#[yaserde(rename = "CSCH")]
#[cfg_attr(feature = "serde", serde(rename = "CSCH"))]
Csch,
#[yaserde(rename = "AGNT")]
#[cfg_attr(feature = "serde", serde(rename = "AGNT"))]
Agnt,
__Unknown__(String),
}
impl Default for PartyType18Code {
fn default() -> PartyType18Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for PartyType18Code {}
#[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:cain.025.001.01")]
pub struct PassengerTransport1 {
#[yaserde(rename = "Summry")]
#[cfg_attr(feature = "serde", serde(rename = "Summry"))]
pub summry: PassengerTransportSummary1,
#[yaserde(rename = "TripLeg")]
#[cfg_attr(feature = "serde", serde(rename = "TripLeg"))]
pub trip_leg: Vec<TripLeg1>,
#[yaserde(rename = "AncllryPurchs")]
#[cfg_attr(feature = "serde", serde(rename = "AncllryPurchs"))]
pub ancllry_purchs: Vec<AncillaryPurchase1>,
#[yaserde(rename = "HirdVhclDtls")]
#[cfg_attr(feature = "serde", serde(rename = "HirdVhclDtls"))]
pub hird_vhcl_dtls: Vec<HiredVehicle1>,
}
impl Validate for PassengerTransport1 {}
#[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:cain.025.001.01")]
pub struct PassengerTransportSummary1 {
#[yaserde(rename = "DocNb")]
#[cfg_attr(feature = "serde", serde(rename = "DocNb"))]
pub doc_nb: Max35Text,
#[yaserde(rename = "Rsvatn")]
#[cfg_attr(feature = "serde", serde(rename = "Rsvatn"))]
pub rsvatn: ReservationDetails3,
#[yaserde(rename = "TrvlAuthstnCd")]
#[cfg_attr(feature = "serde", serde(rename = "TrvlAuthstnCd"))]
pub trvl_authstn_cd: Max70Text,
#[yaserde(rename = "TcktIssr")]
#[cfg_attr(feature = "serde", serde(rename = "TcktIssr"))]
pub tckt_issr: Max35Text,
#[yaserde(rename = "OpnTcktInd")]
#[cfg_attr(feature = "serde", serde(rename = "OpnTcktInd"))]
pub opn_tckt_ind: TrueFalseIndicator,
#[yaserde(rename = "CstmrRef")]
#[cfg_attr(feature = "serde", serde(rename = "CstmrRef"))]
pub cstmr_ref: Vec<CustomerReference1>,
#[yaserde(rename = "Pssngr")]
#[cfg_attr(feature = "serde", serde(rename = "Pssngr"))]
pub pssngr: Vec<Customer5>,
#[yaserde(rename = "Dprture")]
#[cfg_attr(feature = "serde", serde(rename = "Dprture"))]
pub dprture: DepartureOrArrival1,
#[yaserde(rename = "Drtn")]
#[cfg_attr(feature = "serde", serde(rename = "Drtn"))]
pub drtn: Max4NumericText,
#[yaserde(rename = "InsrncInd")]
#[cfg_attr(feature = "serde", serde(rename = "InsrncInd"))]
pub insrnc_ind: TrueFalseIndicator,
#[yaserde(rename = "TtlAmt")]
#[cfg_attr(feature = "serde", serde(rename = "TtlAmt"))]
pub ttl_amt: AmountDetails1,
#[yaserde(rename = "SummryCmmdtyId")]
#[cfg_attr(feature = "serde", serde(rename = "SummryCmmdtyId"))]
pub summry_cmmdty_id: Max35Text,
#[yaserde(rename = "LltyPrgrmm")]
#[cfg_attr(feature = "serde", serde(rename = "LltyPrgrmm"))]
pub llty_prgrmm: LoyaltyProgramme2,
#[yaserde(rename = "AddtlData")]
#[cfg_attr(feature = "serde", serde(rename = "AddtlData"))]
pub addtl_data: Max350Text,
}
impl Validate for PassengerTransportSummary1 {}
#[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:cain.025.001.01")]
pub struct PaymentTransaction117 {
#[yaserde(rename = "PurchsTp")]
#[cfg_attr(feature = "serde", serde(rename = "PurchsTp"))]
pub purchs_tp: FleetPurchaseType1Code,
#[yaserde(rename = "SummryCmmdtyId")]
#[cfg_attr(feature = "serde", serde(rename = "SummryCmmdtyId"))]
pub summry_cmmdty_id: Max35Text,
#[yaserde(rename = "DscntTtl")]
#[cfg_attr(feature = "serde", serde(rename = "DscntTtl"))]
pub dscnt_ttl: FleetDiscountTotals1,
#[yaserde(rename = "TaxTtl")]
#[cfg_attr(feature = "serde", serde(rename = "TaxTtl"))]
pub tax_ttl: Vec<Tax33>,
#[yaserde(rename = "TtlAmt")]
#[cfg_attr(feature = "serde", serde(rename = "TtlAmt"))]
pub ttl_amt: ImpliedCurrencyAndAmount,
}
impl Validate for PaymentTransaction117 {}
#[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(PartialEq, Debug, Clone, YaSerialize, YaDeserialize)]#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.025.001.01")]
pub enum PeriodUnit2Code {
#[yaserde(rename = "HOUR")]
#[cfg_attr(feature = "serde", serde(rename = "HOUR"))]
Hour,
#[yaserde(rename = "HFDA")]
#[cfg_attr(feature = "serde", serde(rename = "HFDA"))]
Hfda,
#[yaserde(rename = "DAYS")]
#[cfg_attr(feature = "serde", serde(rename = "DAYS"))]
Days,
#[yaserde(rename = "WEEK")]
#[cfg_attr(feature = "serde", serde(rename = "WEEK"))]
Week,
#[yaserde(rename = "MNTH")]
#[cfg_attr(feature = "serde", serde(rename = "MNTH"))]
Mnth,
#[yaserde(rename = "YEAR")]
#[cfg_attr(feature = "serde", serde(rename = "YEAR"))]
Year,
#[yaserde(rename = "MINU")]
#[cfg_attr(feature = "serde", serde(rename = "MINU"))]
Minu,
#[yaserde(rename = "OTHR")]
#[cfg_attr(feature = "serde", serde(rename = "OTHR"))]
Othr,
__Unknown__(String),
}
impl Default for PeriodUnit2Code {
fn default() -> PeriodUnit2Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for PeriodUnit2Code {}
#[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:cain.025.001.01")]
pub enum PeriodUnit3Code {
#[yaserde(rename = "OTHP")]
#[cfg_attr(feature = "serde", serde(rename = "OTHP"))]
Othp,
#[yaserde(rename = "OTHN")]
#[cfg_attr(feature = "serde", serde(rename = "OTHN"))]
Othn,
#[yaserde(rename = "MNTH")]
#[cfg_attr(feature = "serde", serde(rename = "MNTH"))]
Mnth,
#[yaserde(rename = "WEEK")]
#[cfg_attr(feature = "serde", serde(rename = "WEEK"))]
Week,
#[yaserde(rename = "YEAR")]
#[cfg_attr(feature = "serde", serde(rename = "YEAR"))]
Year,
#[yaserde(rename = "DAYS")]
#[cfg_attr(feature = "serde", serde(rename = "DAYS"))]
Days,
#[yaserde(rename = "EXDY")]
#[cfg_attr(feature = "serde", serde(rename = "EXDY"))]
Exdy,
__Unknown__(String),
}
impl Default for PeriodUnit3Code {
fn default() -> PeriodUnit3Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for PeriodUnit3Code {}
#[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:cain.025.001.01")]
pub struct PlainCardData20 {
#[yaserde(rename = "DrvrOrVhclId")]
#[cfg_attr(feature = "serde", serde(rename = "DrvrOrVhclId"))]
pub drvr_or_vhcl_id: Max20Text,
#[yaserde(rename = "AddtlCardData")]
#[cfg_attr(feature = "serde", serde(rename = "AddtlCardData"))]
pub addtl_card_data: Max35Text,
}
impl Validate for PlainCardData20 {}
#[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:cain.025.001.01")]
pub struct Plan1 {
#[yaserde(rename = "PlanId")]
#[cfg_attr(feature = "serde", serde(rename = "PlanId"))]
pub plan_id: Max35Text,
#[yaserde(rename = "PlanOwnr")]
#[cfg_attr(feature = "serde", serde(rename = "PlanOwnr"))]
pub plan_ownr: PlanOwner1Code,
#[yaserde(rename = "OthrPlanOwnr")]
#[cfg_attr(feature = "serde", serde(rename = "OthrPlanOwnr"))]
pub othr_plan_ownr: Max35Text,
#[yaserde(rename = "InstlmtPmtTp")]
#[cfg_attr(feature = "serde", serde(rename = "InstlmtPmtTp"))]
pub instlmt_pmt_tp: Max35Text,
#[yaserde(rename = "PrdUnit")]
#[cfg_attr(feature = "serde", serde(rename = "PrdUnit"))]
pub prd_unit: Frequency12Code,
#[yaserde(rename = "NbOfPrds")]
#[cfg_attr(feature = "serde", serde(rename = "NbOfPrds"))]
pub nb_of_prds: Number,
#[yaserde(rename = "IntrstRate")]
#[cfg_attr(feature = "serde", serde(rename = "IntrstRate"))]
pub intrst_rate: Vec<InterestRateDetails1>,
#[yaserde(rename = "FrstPmtDt")]
#[cfg_attr(feature = "serde", serde(rename = "FrstPmtDt"))]
pub frst_pmt_dt: Isodate,
#[yaserde(rename = "FrstAmt")]
#[cfg_attr(feature = "serde", serde(rename = "FrstAmt"))]
pub frst_amt: ImpliedCurrencyAndAmount,
#[yaserde(rename = "SbsqntAmt")]
#[cfg_attr(feature = "serde", serde(rename = "SbsqntAmt"))]
pub sbsqnt_amt: ImpliedCurrencyAndAmount,
#[yaserde(rename = "TtlNbOfPmts")]
#[cfg_attr(feature = "serde", serde(rename = "TtlNbOfPmts"))]
pub ttl_nb_of_pmts: Number,
#[yaserde(rename = "InstlmtCcy")]
#[cfg_attr(feature = "serde", serde(rename = "InstlmtCcy"))]
pub instlmt_ccy: Iso3NumericCurrencyCode,
#[yaserde(rename = "GracePrd")]
#[cfg_attr(feature = "serde", serde(rename = "GracePrd"))]
pub grace_prd: GracePeriod1,
#[yaserde(rename = "AmtDtls")]
#[cfg_attr(feature = "serde", serde(rename = "AmtDtls"))]
pub amt_dtls: Vec<InstalmentAmountDetails1>,
#[yaserde(rename = "GrdTtlAmt")]
#[cfg_attr(feature = "serde", serde(rename = "GrdTtlAmt"))]
pub grd_ttl_amt: ImpliedCurrencyAndAmount,
}
impl Validate for Plan1 {}
#[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:cain.025.001.01")]
pub enum PlanOwner1Code {
#[yaserde(rename = "ACCP")]
#[cfg_attr(feature = "serde", serde(rename = "ACCP"))]
Accp,
#[yaserde(rename = "ACQR")]
#[cfg_attr(feature = "serde", serde(rename = "ACQR"))]
Acqr,
#[yaserde(rename = "ISSR")]
#[cfg_attr(feature = "serde", serde(rename = "ISSR"))]
Issr,
#[yaserde(rename = "OTHN")]
#[cfg_attr(feature = "serde", serde(rename = "OTHN"))]
Othn,
#[yaserde(rename = "OTHP")]
#[cfg_attr(feature = "serde", serde(rename = "OTHP"))]
Othp,
__Unknown__(String),
}
impl Default for PlanOwner1Code {
fn default() -> PlanOwner1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for PlanOwner1Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct PlusOrMinusIndicator (pub bool);
crate::simple_type!(PlusOrMinusIndicator);
impl Validate for PlusOrMinusIndicator {}
#[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:cain.025.001.01")]
pub enum PresentationMedium2Code {
#[yaserde(rename = "BIOM")]
#[cfg_attr(feature = "serde", serde(rename = "BIOM"))]
Biom,
#[yaserde(rename = "ELEC")]
#[cfg_attr(feature = "serde", serde(rename = "ELEC"))]
Elec,
#[yaserde(rename = "PAPR")]
#[cfg_attr(feature = "serde", serde(rename = "PAPR"))]
Papr,
#[yaserde(rename = "BOTH")]
#[cfg_attr(feature = "serde", serde(rename = "BOTH"))]
Both,
__Unknown__(String),
}
impl Default for PresentationMedium2Code {
fn default() -> PresentationMedium2Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for PresentationMedium2Code {}
#[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:cain.025.001.01")]
pub struct Product7 {
#[yaserde(rename = "PdctCd")]
#[cfg_attr(feature = "serde", serde(rename = "PdctCd"))]
pub pdct_cd: Max70Text,
#[yaserde(rename = "SummryCmmdtyId")]
#[cfg_attr(feature = "serde", serde(rename = "SummryCmmdtyId"))]
pub summry_cmmdty_id: Max35Text,
}
impl Validate for Product7 {}
#[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:cain.025.001.01")]
pub enum ProductCodeType1Code {
#[yaserde(rename = "EA13")]
#[cfg_attr(feature = "serde", serde(rename = "EA13"))]
Ea13,
#[yaserde(rename = "EAN8")]
#[cfg_attr(feature = "serde", serde(rename = "EAN8"))]
Ean8,
#[yaserde(rename = "GTIN")]
#[cfg_attr(feature = "serde", serde(rename = "GTIN"))]
Gtin,
#[yaserde(rename = "OTHR")]
#[cfg_attr(feature = "serde", serde(rename = "OTHR"))]
Othr,
#[yaserde(rename = "PLUP")]
#[cfg_attr(feature = "serde", serde(rename = "PLUP"))]
Plup,
#[yaserde(rename = "RS14")]
#[cfg_attr(feature = "serde", serde(rename = "RS14"))]
Rs14,
#[yaserde(rename = "UPCA")]
#[cfg_attr(feature = "serde", serde(rename = "UPCA"))]
Upca,
#[yaserde(rename = "UPCE")]
#[cfg_attr(feature = "serde", serde(rename = "UPCE"))]
Upce,
__Unknown__(String),
}
impl Default for ProductCodeType1Code {
fn default() -> ProductCodeType1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for ProductCodeType1Code {}
#[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:cain.025.001.01")]
pub struct ProtectedData1 {
#[yaserde(rename = "CnttTp")]
#[cfg_attr(feature = "serde", serde(rename = "CnttTp"))]
pub cntt_tp: ContentType3Code,
#[yaserde(rename = "EnvlpdData")]
#[cfg_attr(feature = "serde", serde(rename = "EnvlpdData"))]
pub envlpd_data: EnvelopedData6,
#[yaserde(rename = "NcrptdData")]
#[cfg_attr(feature = "serde", serde(rename = "NcrptdData"))]
pub ncrptd_data: EncryptedData1,
}
impl Validate for ProtectedData1 {}
#[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:cain.025.001.01")]
pub enum PurchaseIdentifierType1Code {
#[yaserde(rename = "CONU")]
#[cfg_attr(feature = "serde", serde(rename = "CONU"))]
Conu,
#[yaserde(rename = "CUOR")]
#[cfg_attr(feature = "serde", serde(rename = "CUOR"))]
Cuor,
#[yaserde(rename = "CUPO")]
#[cfg_attr(feature = "serde", serde(rename = "CUPO"))]
Cupo,
#[yaserde(rename = "FONU")]
#[cfg_attr(feature = "serde", serde(rename = "FONU"))]
Fonu,
#[yaserde(rename = "INNU")]
#[cfg_attr(feature = "serde", serde(rename = "INNU"))]
Innu,
#[yaserde(rename = "ORNU")]
#[cfg_attr(feature = "serde", serde(rename = "ORNU"))]
Ornu,
#[yaserde(rename = "OTHN")]
#[cfg_attr(feature = "serde", serde(rename = "OTHN"))]
Othn,
#[yaserde(rename = "OTHP")]
#[cfg_attr(feature = "serde", serde(rename = "OTHP"))]
Othp,
#[yaserde(rename = "PRNU")]
#[cfg_attr(feature = "serde", serde(rename = "PRNU"))]
Prnu,
#[yaserde(rename = "PUID")]
#[cfg_attr(feature = "serde", serde(rename = "PUID"))]
Puid,
#[yaserde(rename = "RELO")]
#[cfg_attr(feature = "serde", serde(rename = "RELO"))]
Relo,
#[yaserde(rename = "REAG")]
#[cfg_attr(feature = "serde", serde(rename = "REAG"))]
Reag,
#[yaserde(rename = "RENU")]
#[cfg_attr(feature = "serde", serde(rename = "RENU"))]
Renu,
#[yaserde(rename = "RSNU")]
#[cfg_attr(feature = "serde", serde(rename = "RSNU"))]
Rsnu,
#[yaserde(rename = "SUOR")]
#[cfg_attr(feature = "serde", serde(rename = "SUOR"))]
Suor,
#[yaserde(rename = "TINU")]
#[cfg_attr(feature = "serde", serde(rename = "TINU"))]
Tinu,
#[yaserde(rename = "TRNU")]
#[cfg_attr(feature = "serde", serde(rename = "TRNU"))]
Trnu,
#[yaserde(rename = "SUIN")]
#[cfg_attr(feature = "serde", serde(rename = "SUIN"))]
Suin,
#[yaserde(rename = "TNID")]
#[cfg_attr(feature = "serde", serde(rename = "TNID"))]
Tnid,
__Unknown__(String),
}
impl Default for PurchaseIdentifierType1Code {
fn default() -> PurchaseIdentifierType1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for PurchaseIdentifierType1Code {}
#[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:cain.025.001.01")]
pub struct Recipient5Choice {
#[yaserde(rename = "IssrAndSrlNb")]
#[cfg_attr(feature = "serde", serde(rename = "IssrAndSrlNb"))]
pub issr_and_srl_nb: Option<IssuerAndSerialNumber1>,
#[yaserde(rename = "KeyIdr")]
#[cfg_attr(feature = "serde", serde(rename = "KeyIdr"))]
pub key_idr: Option<Kekidentifier2>,
}
impl Validate for Recipient5Choice {}
#[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:cain.025.001.01")]
pub struct Recipient7Choice {
#[yaserde(rename = "KeyTrnsprt")]
#[cfg_attr(feature = "serde", serde(rename = "KeyTrnsprt"))]
pub key_trnsprt: Option<KeyTransport6>,
#[yaserde(rename = "KEK")]
#[cfg_attr(feature = "serde", serde(rename = "KEK"))]
pub kek: Option<Kek6>,
#[yaserde(rename = "KeyIdr")]
#[cfg_attr(feature = "serde", serde(rename = "KeyIdr"))]
pub key_idr: Option<Kekidentifier6>,
}
impl Validate for Recipient7Choice {}
#[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:cain.025.001.01")]
pub struct RelativeDistinguishedName1 {
#[yaserde(rename = "AttrTp")]
#[cfg_attr(feature = "serde", serde(rename = "AttrTp"))]
pub attr_tp: AttributeType1Code,
#[yaserde(rename = "AttrVal")]
#[cfg_attr(feature = "serde", serde(rename = "AttrVal"))]
pub attr_val: Max140Text,
}
impl Validate for RelativeDistinguishedName1 {}
#[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:cain.025.001.01")]
pub struct RentalDetails1 {
#[yaserde(rename = "RntlId")]
#[cfg_attr(feature = "serde", serde(rename = "RntlId"))]
pub rntl_id: Max70Text,
#[yaserde(rename = "RntlDtTm")]
#[cfg_attr(feature = "serde", serde(rename = "RntlDtTm"))]
pub rntl_dt_tm: IsodateTime,
#[yaserde(rename = "RntlStart")]
#[cfg_attr(feature = "serde", serde(rename = "RntlStart"))]
pub rntl_start: ServiceStartEnd1,
#[yaserde(rename = "RntlRtr")]
#[cfg_attr(feature = "serde", serde(rename = "RntlRtr"))]
pub rntl_rtr: ServiceStartEnd1,
#[yaserde(rename = "RntlTmPrd")]
#[cfg_attr(feature = "serde", serde(rename = "RntlTmPrd"))]
pub rntl_tm_prd: Vec<PeriodUnit2Code>,
#[yaserde(rename = "TmPrdUnit")]
#[cfg_attr(feature = "serde", serde(rename = "TmPrdUnit"))]
pub tm_prd_unit: Max4NumericText,
#[yaserde(rename = "TmPrdRate")]
#[cfg_attr(feature = "serde", serde(rename = "TmPrdRate"))]
pub tm_prd_rate: ImpliedCurrencyAndAmount,
#[yaserde(rename = "Ccy")]
#[cfg_attr(feature = "serde", serde(rename = "Ccy"))]
pub ccy: Iso3NumericCurrencyCode,
}
impl Validate for RentalDetails1 {}
#[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:cain.025.001.01")]
pub struct RentalRate1 {
#[yaserde(rename = "Prd")]
#[cfg_attr(feature = "serde", serde(rename = "Prd"))]
pub prd: PeriodUnit3Code,
#[yaserde(rename = "OthrPrd")]
#[cfg_attr(feature = "serde", serde(rename = "OthrPrd"))]
pub othr_prd: Max35Text,
#[yaserde(rename = "Rate")]
#[cfg_attr(feature = "serde", serde(rename = "Rate"))]
pub rate: ImpliedCurrencyAndAmount,
#[yaserde(rename = "PrdCnt")]
#[cfg_attr(feature = "serde", serde(rename = "PrdCnt"))]
pub prd_cnt: Max4NumericText,
}
impl Validate for RentalRate1 {}
#[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:cain.025.001.01")]
pub struct ReservationDetails3 {
#[yaserde(rename = "Sys")]
#[cfg_attr(feature = "serde", serde(rename = "Sys"))]
pub sys: Max4Text,
#[yaserde(rename = "RsvatnNb")]
#[cfg_attr(feature = "serde", serde(rename = "RsvatnNb"))]
pub rsvatn_nb: Max35Text,
#[yaserde(rename = "OrgnlSys")]
#[cfg_attr(feature = "serde", serde(rename = "OrgnlSys"))]
pub orgnl_sys: Max4Text,
#[yaserde(rename = "OrgnlRsvatnNb")]
#[cfg_attr(feature = "serde", serde(rename = "OrgnlRsvatnNb"))]
pub orgnl_rsvatn_nb: Max35Text,
}
impl Validate for ReservationDetails3 {}
#[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:cain.025.001.01")]
pub struct Sale1 {
#[yaserde(rename = "Summry")]
#[cfg_attr(feature = "serde", serde(rename = "Summry"))]
pub summry: SaleSummary1,
#[yaserde(rename = "LineItm")]
#[cfg_attr(feature = "serde", serde(rename = "LineItm"))]
pub line_itm: Vec<SaleItem2>,
}
impl Validate for Sale1 {}
#[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:cain.025.001.01")]
pub struct SaleItem2 {
#[yaserde(rename = "PdctTp")]
#[cfg_attr(feature = "serde", serde(rename = "PdctTp"))]
pub pdct_tp: Max35Text,
#[yaserde(rename = "PdctCd")]
#[cfg_attr(feature = "serde", serde(rename = "PdctCd"))]
pub pdct_cd: Max70Text,
#[yaserde(rename = "PdctCdTp")]
#[cfg_attr(feature = "serde", serde(rename = "PdctCdTp"))]
pub pdct_cd_tp: ProductCodeType1Code,
#[yaserde(rename = "AddtlPdctCd")]
#[cfg_attr(feature = "serde", serde(rename = "AddtlPdctCd"))]
pub addtl_pdct_cd: Max70Text,
#[yaserde(rename = "AddtlPdctCdTp")]
#[cfg_attr(feature = "serde", serde(rename = "AddtlPdctCdTp"))]
pub addtl_pdct_cd_tp: Max35Text,
#[yaserde(rename = "PdctCdModfr")]
#[cfg_attr(feature = "serde", serde(rename = "PdctCdModfr"))]
pub pdct_cd_modfr: DecimalNumber,
#[yaserde(rename = "PdctDesc")]
#[cfg_attr(feature = "serde", serde(rename = "PdctDesc"))]
pub pdct_desc: Max140Text,
#[yaserde(rename = "UnitOfMeasr")]
#[cfg_attr(feature = "serde", serde(rename = "UnitOfMeasr"))]
pub unit_of_measr: UnitOfMeasure1Code,
#[yaserde(rename = "OthrUnitOfMeasr")]
#[cfg_attr(feature = "serde", serde(rename = "OthrUnitOfMeasr"))]
pub othr_unit_of_measr: Max35Text,
#[yaserde(rename = "PdctQty")]
#[cfg_attr(feature = "serde", serde(rename = "PdctQty"))]
pub pdct_qty: DecimalNumber,
#[yaserde(rename = "NonAdjstdUnitPric")]
#[cfg_attr(feature = "serde", serde(rename = "NonAdjstdUnitPric"))]
pub non_adjstd_unit_pric: ImpliedCurrencyAndAmount,
#[yaserde(rename = "NonAdjstdTtlAmt")]
#[cfg_attr(feature = "serde", serde(rename = "NonAdjstdTtlAmt"))]
pub non_adjstd_ttl_amt: ImpliedCurrencyAndAmount,
#[yaserde(rename = "Adjstmnt")]
#[cfg_attr(feature = "serde", serde(rename = "Adjstmnt"))]
pub adjstmnt: Vec<Adjustment10>,
#[yaserde(rename = "AdjstdAmt")]
#[cfg_attr(feature = "serde", serde(rename = "AdjstdAmt"))]
pub adjstd_amt: ImpliedCurrencyAndAmount,
#[yaserde(rename = "InsrncInd")]
#[cfg_attr(feature = "serde", serde(rename = "InsrncInd"))]
pub insrnc_ind: TrueFalseIndicator,
#[yaserde(rename = "InsrncAmt")]
#[cfg_attr(feature = "serde", serde(rename = "InsrncAmt"))]
pub insrnc_amt: ImpliedCurrencyAndAmount,
#[yaserde(rename = "Tax")]
#[cfg_attr(feature = "serde", serde(rename = "Tax"))]
pub tax: Vec<Tax33>,
#[yaserde(rename = "TtlAmt")]
#[cfg_attr(feature = "serde", serde(rename = "TtlAmt"))]
pub ttl_amt: ImpliedCurrencyAndAmount,
}
impl Validate for SaleItem2 {}
#[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:cain.025.001.01")]
pub struct SaleSummary1 {
#[yaserde(rename = "SummryCmmdtyId")]
#[cfg_attr(feature = "serde", serde(rename = "SummryCmmdtyId"))]
pub summry_cmmdty_id: Max35Text,
#[yaserde(rename = "LltyPrgrmm")]
#[cfg_attr(feature = "serde", serde(rename = "LltyPrgrmm"))]
pub llty_prgrmm: LoyaltyProgramme2,
#[yaserde(rename = "Adjstmnt")]
#[cfg_attr(feature = "serde", serde(rename = "Adjstmnt"))]
pub adjstmnt: Vec<Adjustment9>,
}
impl Validate for SaleSummary1 {}
#[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:cain.025.001.01")]
pub struct ServiceStartEnd1 {
#[yaserde(rename = "Lctn")]
#[cfg_attr(feature = "serde", serde(rename = "Lctn"))]
pub lctn: Max35Text,
#[yaserde(rename = "LctnCd")]
#[cfg_attr(feature = "serde", serde(rename = "LctnCd"))]
pub lctn_cd: Max35Text,
#[yaserde(rename = "Adr")]
#[cfg_attr(feature = "serde", serde(rename = "Adr"))]
pub adr: Address1,
#[yaserde(rename = "Ctct")]
#[cfg_attr(feature = "serde", serde(rename = "Ctct"))]
pub ctct: Contact2,
#[yaserde(rename = "DtAndTm")]
#[cfg_attr(feature = "serde", serde(rename = "DtAndTm"))]
pub dt_and_tm: IsodateTime,
#[yaserde(rename = "TmSgmt")]
#[cfg_attr(feature = "serde", serde(rename = "TmSgmt"))]
pub tm_sgmt: TimeSegment1Code,
#[yaserde(rename = "JrnyInf")]
#[cfg_attr(feature = "serde", serde(rename = "JrnyInf"))]
pub jrny_inf: JourneyInformation1,
}
impl Validate for ServiceStartEnd1 {}
#[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:cain.025.001.01")]
pub struct ShippingData1 {
#[yaserde(rename = "InvcNb")]
#[cfg_attr(feature = "serde", serde(rename = "InvcNb"))]
pub invc_nb: Max70Text,
#[yaserde(rename = "InvcCreDtTm")]
#[cfg_attr(feature = "serde", serde(rename = "InvcCreDtTm"))]
pub invc_cre_dt_tm: IsodateTime,
#[yaserde(rename = "SvcDscrptrCd")]
#[cfg_attr(feature = "serde", serde(rename = "SvcDscrptrCd"))]
pub svc_dscrptr_cd: Max40Text,
#[yaserde(rename = "IncntivAmt")]
#[cfg_attr(feature = "serde", serde(rename = "IncntivAmt"))]
pub incntiv_amt: ImpliedCurrencyAndAmount,
#[yaserde(rename = "MiscExpnss")]
#[cfg_attr(feature = "serde", serde(rename = "MiscExpnss"))]
pub misc_expnss: ImpliedCurrencyAndAmount,
#[yaserde(rename = "InsrncInd")]
#[cfg_attr(feature = "serde", serde(rename = "InsrncInd"))]
pub insrnc_ind: TrueFalseIndicator,
#[yaserde(rename = "InsrncAmt")]
#[cfg_attr(feature = "serde", serde(rename = "InsrncAmt"))]
pub insrnc_amt: ImpliedCurrencyAndAmount,
#[yaserde(rename = "NetAmt")]
#[cfg_attr(feature = "serde", serde(rename = "NetAmt"))]
pub net_amt: ImpliedCurrencyAndAmount,
#[yaserde(rename = "Tax")]
#[cfg_attr(feature = "serde", serde(rename = "Tax"))]
pub tax: Vec<Tax33>,
#[yaserde(rename = "SummryCmmdtyId")]
#[cfg_attr(feature = "serde", serde(rename = "SummryCmmdtyId"))]
pub summry_cmmdty_id: Max35Text,
#[yaserde(rename = "NbOfPackgs")]
#[cfg_attr(feature = "serde", serde(rename = "NbOfPackgs"))]
pub nb_of_packgs: Max6NumericText,
#[yaserde(rename = "Packg")]
#[cfg_attr(feature = "serde", serde(rename = "Packg"))]
pub packg: Vec<ShippingPackage1>,
#[yaserde(rename = "AddtlData")]
#[cfg_attr(feature = "serde", serde(rename = "AddtlData"))]
pub addtl_data: Max350Text,
}
impl Validate for ShippingData1 {}
#[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:cain.025.001.01")]
pub struct ShippingPackage1 {
#[yaserde(rename = "TrckgNb")]
#[cfg_attr(feature = "serde", serde(rename = "TrckgNb"))]
pub trckg_nb: Max70Text,
#[yaserde(rename = "Spplr")]
#[cfg_attr(feature = "serde", serde(rename = "Spplr"))]
pub spplr: PartyIdentification209,
#[yaserde(rename = "PckpTm")]
#[cfg_attr(feature = "serde", serde(rename = "PckpTm"))]
pub pckp_tm: Isotime,
#[yaserde(rename = "Dlvry")]
#[cfg_attr(feature = "serde", serde(rename = "Dlvry"))]
pub dlvry: DeliveryInformation3,
#[yaserde(rename = "Wght")]
#[cfg_attr(feature = "serde", serde(rename = "Wght"))]
pub wght: UnitOfMeasure1,
#[yaserde(rename = "Pdct")]
#[cfg_attr(feature = "serde", serde(rename = "Pdct"))]
pub pdct: Vec<Product7>,
#[yaserde(rename = "InsrncInd")]
#[cfg_attr(feature = "serde", serde(rename = "InsrncInd"))]
pub insrnc_ind: TrueFalseIndicator,
#[yaserde(rename = "InsrncAmt")]
#[cfg_attr(feature = "serde", serde(rename = "InsrncAmt"))]
pub insrnc_amt: ImpliedCurrencyAndAmount,
}
impl Validate for ShippingPackage1 {}
#[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:cain.025.001.01")]
pub struct SupplementaryData1 {
#[yaserde(rename = "PlcAndNm")]
#[cfg_attr(feature = "serde", serde(rename = "PlcAndNm"))]
pub plc_and_nm: Max350Text,
#[yaserde(rename = "Envlp")]
#[cfg_attr(feature = "serde", serde(rename = "Envlp"))]
pub envlp: SupplementaryDataEnvelope1,
}
impl Validate for SupplementaryData1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.025.001.01")]
pub struct SupplementaryDataEnvelope1 {}
impl Validate for SupplementaryDataEnvelope1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:cain.025.001.01")]
pub struct Tax33 {
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: AddendumTaxType1Code,
#[yaserde(rename = "OthrTp")]
#[cfg_attr(feature = "serde", serde(rename = "OthrTp"))]
pub othr_tp: Max35Text,
#[yaserde(rename = "Desc")]
#[cfg_attr(feature = "serde", serde(rename = "Desc"))]
pub desc: Max35Text,
#[yaserde(rename = "TaxXmptn")]
#[cfg_attr(feature = "serde", serde(rename = "TaxXmptn"))]
pub tax_xmptn: TrueFalseIndicator,
#[yaserde(rename = "TaxXmptRsn")]
#[cfg_attr(feature = "serde", serde(rename = "TaxXmptRsn"))]
pub tax_xmpt_rsn: Max35Text,
#[yaserde(rename = "Amt")]
#[cfg_attr(feature = "serde", serde(rename = "Amt"))]
pub amt: ImpliedCurrencyAndAmount,
#[yaserde(rename = "Rate")]
#[cfg_attr(feature = "serde", serde(rename = "Rate"))]
pub rate: PercentageRate,
}
impl Validate for Tax33 {}
#[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:cain.025.001.01")]
pub enum TaxReclaimMethod1Code {
#[yaserde(rename = "INPP")]
#[cfg_attr(feature = "serde", serde(rename = "INPP"))]
Inpp,
#[yaserde(rename = "INPS")]
#[cfg_attr(feature = "serde", serde(rename = "INPS"))]
Inps,
#[yaserde(rename = "INSU")]
#[cfg_attr(feature = "serde", serde(rename = "INSU"))]
Insu,
#[yaserde(rename = "OTHR")]
#[cfg_attr(feature = "serde", serde(rename = "OTHR"))]
Othr,
__Unknown__(String),
}
impl Default for TaxReclaimMethod1Code {
fn default() -> TaxReclaimMethod1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for TaxReclaimMethod1Code {}
#[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:cain.025.001.01")]
pub struct TelecomCallDetails1 {
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: TelephonyCallType1Code,
#[yaserde(rename = "OthrTp")]
#[cfg_attr(feature = "serde", serde(rename = "OthrTp"))]
pub othr_tp: Max70Text,
#[yaserde(rename = "PhneNb")]
#[cfg_attr(feature = "serde", serde(rename = "PhneNb"))]
pub phne_nb: PhoneNumber,
#[yaserde(rename = "City")]
#[cfg_attr(feature = "serde", serde(rename = "City"))]
pub city: Max35Text,
#[yaserde(rename = "Stat")]
#[cfg_attr(feature = "serde", serde(rename = "Stat"))]
pub stat: Max16Text,
#[yaserde(rename = "Prvc")]
#[cfg_attr(feature = "serde", serde(rename = "Prvc"))]
pub prvc: Max35Text,
#[yaserde(rename = "Ctry")]
#[cfg_attr(feature = "serde", serde(rename = "Ctry"))]
pub ctry: Min2Max3AlphaText,
}
impl Validate for TelecomCallDetails1 {}
#[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:cain.025.001.01")]
pub struct TelecomServices1 {
#[yaserde(rename = "Summry")]
#[cfg_attr(feature = "serde", serde(rename = "Summry"))]
pub summry: TelecomServicesSummary1,
#[yaserde(rename = "LineItm")]
#[cfg_attr(feature = "serde", serde(rename = "LineItm"))]
pub line_itm: Vec<TelecomServicesLineItem1>,
}
impl Validate for TelecomServices1 {}
#[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:cain.025.001.01")]
pub struct TelecomServicesLineItem1 {
#[yaserde(rename = "StartDtTm")]
#[cfg_attr(feature = "serde", serde(rename = "StartDtTm"))]
pub start_dt_tm: Isodate,
#[yaserde(rename = "TmPrd")]
#[cfg_attr(feature = "serde", serde(rename = "TmPrd"))]
pub tm_prd: Max35Text,
#[yaserde(rename = "Drtn")]
#[cfg_attr(feature = "serde", serde(rename = "Drtn"))]
pub drtn: Isotime,
#[yaserde(rename = "CallFr")]
#[cfg_attr(feature = "serde", serde(rename = "CallFr"))]
pub call_fr: TelecomCallDetails1,
#[yaserde(rename = "CallTo")]
#[cfg_attr(feature = "serde", serde(rename = "CallTo"))]
pub call_to: TelecomCallDetails1,
#[yaserde(rename = "Chrg")]
#[cfg_attr(feature = "serde", serde(rename = "Chrg"))]
pub chrg: Vec<Amount11>,
#[yaserde(rename = "TtlTax")]
#[cfg_attr(feature = "serde", serde(rename = "TtlTax"))]
pub ttl_tax: Vec<Tax33>,
#[yaserde(rename = "TtlAmt")]
#[cfg_attr(feature = "serde", serde(rename = "TtlAmt"))]
pub ttl_amt: ImpliedCurrencyAndAmount,
#[yaserde(rename = "Desc")]
#[cfg_attr(feature = "serde", serde(rename = "Desc"))]
pub desc: Max256Text,
#[yaserde(rename = "AddtlData")]
#[cfg_attr(feature = "serde", serde(rename = "AddtlData"))]
pub addtl_data: Max350Text,
}
impl Validate for TelecomServicesLineItem1 {}
#[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:cain.025.001.01")]
pub struct TelecomServicesSummary1 {
#[yaserde(rename = "Cstmr")]
#[cfg_attr(feature = "serde", serde(rename = "Cstmr"))]
pub cstmr: Customer6,
#[yaserde(rename = "BllgStmtPrdStart")]
#[cfg_attr(feature = "serde", serde(rename = "BllgStmtPrdStart"))]
pub bllg_stmt_prd_start: Isodate,
#[yaserde(rename = "BllgStmtPrdEnd")]
#[cfg_attr(feature = "serde", serde(rename = "BllgStmtPrdEnd"))]
pub bllg_stmt_prd_end: Isodate,
#[yaserde(rename = "BllgEvt")]
#[cfg_attr(feature = "serde", serde(rename = "BllgEvt"))]
pub bllg_evt: Vec<Amount10>,
#[yaserde(rename = "TtlTax")]
#[cfg_attr(feature = "serde", serde(rename = "TtlTax"))]
pub ttl_tax: Vec<Tax33>,
#[yaserde(rename = "AddtlData")]
#[cfg_attr(feature = "serde", serde(rename = "AddtlData"))]
pub addtl_data: Max350Text,
}
impl Validate for TelecomServicesSummary1 {}
#[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:cain.025.001.01")]
pub enum TelephonyCallType1Code {
#[yaserde(rename = "VCML")]
#[cfg_attr(feature = "serde", serde(rename = "VCML"))]
Vcml,
#[yaserde(rename = "TFPC")]
#[cfg_attr(feature = "serde", serde(rename = "TFPC"))]
Tfpc,
#[yaserde(rename = "PAGE")]
#[cfg_attr(feature = "serde", serde(rename = "PAGE"))]
Page,
#[yaserde(rename = "OGPC")]
#[cfg_attr(feature = "serde", serde(rename = "OGPC"))]
Ogpc,
#[yaserde(rename = "OTHP")]
#[cfg_attr(feature = "serde", serde(rename = "OTHP"))]
Othp,
#[yaserde(rename = "OTHN")]
#[cfg_attr(feature = "serde", serde(rename = "OTHN"))]
Othn,
#[yaserde(rename = "OTCL")]
#[cfg_attr(feature = "serde", serde(rename = "OTCL"))]
Otcl,
#[yaserde(rename = "ICPC")]
#[cfg_attr(feature = "serde", serde(rename = "ICPC"))]
Icpc,
__Unknown__(String),
}
impl Default for TelephonyCallType1Code {
fn default() -> TelephonyCallType1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for TelephonyCallType1Code {}
#[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:cain.025.001.01")]
pub struct TemporaryServices1 {
#[yaserde(rename = "CtrctgCpny")]
#[cfg_attr(feature = "serde", serde(rename = "CtrctgCpny"))]
pub ctrctg_cpny: TemporaryServicesCompany1,
#[yaserde(rename = "TempMplyee")]
#[cfg_attr(feature = "serde", serde(rename = "TempMplyee"))]
pub temp_mplyee: PartyIdentification210,
#[yaserde(rename = "Job")]
#[cfg_attr(feature = "serde", serde(rename = "Job"))]
pub job: TemporaryServicesJob1,
#[yaserde(rename = "FlatRateInd")]
#[cfg_attr(feature = "serde", serde(rename = "FlatRateInd"))]
pub flat_rate_ind: TrueFalseIndicator,
#[yaserde(rename = "DscntAmt")]
#[cfg_attr(feature = "serde", serde(rename = "DscntAmt"))]
pub dscnt_amt: ImpliedCurrencyAndAmount,
#[yaserde(rename = "SummryCmmdtyId")]
#[cfg_attr(feature = "serde", serde(rename = "SummryCmmdtyId"))]
pub summry_cmmdty_id: Max35Text,
#[yaserde(rename = "Labr")]
#[cfg_attr(feature = "serde", serde(rename = "Labr"))]
pub labr: TemporaryServicesLabor1,
#[yaserde(rename = "MiscExpnss")]
#[cfg_attr(feature = "serde", serde(rename = "MiscExpnss"))]
pub misc_expnss: Vec<Amount13>,
#[yaserde(rename = "SbttlAmt")]
#[cfg_attr(feature = "serde", serde(rename = "SbttlAmt"))]
pub sbttl_amt: ImpliedCurrencyAndAmount,
#[yaserde(rename = "Tax")]
#[cfg_attr(feature = "serde", serde(rename = "Tax"))]
pub tax: Vec<Tax33>,
#[yaserde(rename = "AddtlData")]
#[cfg_attr(feature = "serde", serde(rename = "AddtlData"))]
pub addtl_data: Max350Text,
}
impl Validate for TemporaryServices1 {}
#[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:cain.025.001.01")]
pub enum TemporaryServicesCharge1Code {
#[yaserde(rename = "WKND")]
#[cfg_attr(feature = "serde", serde(rename = "WKND"))]
Wknd,
#[yaserde(rename = "REGL")]
#[cfg_attr(feature = "serde", serde(rename = "REGL"))]
Regl,
#[yaserde(rename = "OVRT")]
#[cfg_attr(feature = "serde", serde(rename = "OVRT"))]
Ovrt,
#[yaserde(rename = "OTHP")]
#[cfg_attr(feature = "serde", serde(rename = "OTHP"))]
Othp,
#[yaserde(rename = "OTHN")]
#[cfg_attr(feature = "serde", serde(rename = "OTHN"))]
Othn,
#[yaserde(rename = "ONCL")]
#[cfg_attr(feature = "serde", serde(rename = "ONCL"))]
Oncl,
#[yaserde(rename = "NITE")]
#[cfg_attr(feature = "serde", serde(rename = "NITE"))]
Nite,
#[yaserde(rename = "HOLI")]
#[cfg_attr(feature = "serde", serde(rename = "HOLI"))]
Holi,
#[yaserde(rename = "HAZD")]
#[cfg_attr(feature = "serde", serde(rename = "HAZD"))]
Hazd,
__Unknown__(String),
}
impl Default for TemporaryServicesCharge1Code {
fn default() -> TemporaryServicesCharge1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for TemporaryServicesCharge1Code {}
#[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:cain.025.001.01")]
pub struct TemporaryServicesCompany1 {
#[yaserde(rename = "Nm")]
#[cfg_attr(feature = "serde", serde(rename = "Nm"))]
pub nm: Max70Text,
#[yaserde(rename = "Dept")]
#[cfg_attr(feature = "serde", serde(rename = "Dept"))]
pub dept: Max70Text,
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: PartyIdentification197,
#[yaserde(rename = "Sprvsr")]
#[cfg_attr(feature = "serde", serde(rename = "Sprvsr"))]
pub sprvsr: Max70Text,
}
impl Validate for TemporaryServicesCompany1 {}
#[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:cain.025.001.01")]
pub struct TemporaryServicesJob1 {
#[yaserde(rename = "JobCd")]
#[cfg_attr(feature = "serde", serde(rename = "JobCd"))]
pub job_cd: Max35Text,
#[yaserde(rename = "Desc")]
#[cfg_attr(feature = "serde", serde(rename = "Desc"))]
pub desc: Max256Text,
#[yaserde(rename = "StartDt")]
#[cfg_attr(feature = "serde", serde(rename = "StartDt"))]
pub start_dt: Isodate,
#[yaserde(rename = "Drtn")]
#[cfg_attr(feature = "serde", serde(rename = "Drtn"))]
pub drtn: Max5NumericText,
#[yaserde(rename = "EndDt")]
#[cfg_attr(feature = "serde", serde(rename = "EndDt"))]
pub end_dt: Isodate,
}
impl Validate for TemporaryServicesJob1 {}
#[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:cain.025.001.01")]
pub struct TemporaryServicesLabor1 {
#[yaserde(rename = "TmSheetNb")]
#[cfg_attr(feature = "serde", serde(rename = "TmSheetNb"))]
pub tm_sheet_nb: Max35Text,
#[yaserde(rename = "WkEndg")]
#[cfg_attr(feature = "serde", serde(rename = "WkEndg"))]
pub wk_endg: Max10NumericText,
#[yaserde(rename = "Chrg")]
#[cfg_attr(feature = "serde", serde(rename = "Chrg"))]
pub chrg: Vec<Amount12>,
}
impl Validate for TemporaryServicesLabor1 {}
#[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:cain.025.001.01")]
pub struct Ticket1 {
#[yaserde(rename = "TcktNb")]
#[cfg_attr(feature = "serde", serde(rename = "TcktNb"))]
pub tckt_nb: Max35Text,
#[yaserde(rename = "TcktIssr")]
#[cfg_attr(feature = "serde", serde(rename = "TcktIssr"))]
pub tckt_issr: PartyIdentification197,
#[yaserde(rename = "TcktIsseDt")]
#[cfg_attr(feature = "serde", serde(rename = "TcktIsseDt"))]
pub tckt_isse_dt: Isodate,
#[yaserde(rename = "TcktIsseLctn")]
#[cfg_attr(feature = "serde", serde(rename = "TcktIsseLctn"))]
pub tckt_isse_lctn: Max140Text,
#[yaserde(rename = "CnjnctnTcktNb")]
#[cfg_attr(feature = "serde", serde(rename = "CnjnctnTcktNb"))]
pub cnjnctn_tckt_nb: Max35Text,
#[yaserde(rename = "RstrctdTcktInd")]
#[cfg_attr(feature = "serde", serde(rename = "RstrctdTcktInd"))]
pub rstrctd_tckt_ind: TrueFalseIndicator,
#[yaserde(rename = "OpnTcktInd")]
#[cfg_attr(feature = "serde", serde(rename = "OpnTcktInd"))]
pub opn_tckt_ind: TrueFalseIndicator,
#[yaserde(rename = "Rstrctns")]
#[cfg_attr(feature = "serde", serde(rename = "Rstrctns"))]
pub rstrctns: Max70Text,
#[yaserde(rename = "XchgdTcktInd")]
#[cfg_attr(feature = "serde", serde(rename = "XchgdTcktInd"))]
pub xchgd_tckt_ind: TrueFalseIndicator,
#[yaserde(rename = "XchgdTcktNb")]
#[cfg_attr(feature = "serde", serde(rename = "XchgdTcktNb"))]
pub xchgd_tckt_nb: Max35Text,
#[yaserde(rename = "RcrdLctrNb")]
#[cfg_attr(feature = "serde", serde(rename = "RcrdLctrNb"))]
pub rcrd_lctr_nb: Max35Text,
#[yaserde(rename = "Rsvatn")]
#[cfg_attr(feature = "serde", serde(rename = "Rsvatn"))]
pub rsvatn: ReservationDetails3,
}
impl Validate for Ticket1 {}
#[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:cain.025.001.01")]
pub enum TimeSegment1Code {
#[yaserde(rename = "AMBN")]
#[cfg_attr(feature = "serde", serde(rename = "AMBN"))]
Ambn,
#[yaserde(rename = "PMAN")]
#[cfg_attr(feature = "serde", serde(rename = "PMAN"))]
Pman,
__Unknown__(String),
}
impl Default for TimeSegment1Code {
fn default() -> TimeSegment1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for TimeSegment1Code {}
#[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:cain.025.001.01")]
pub struct Token1 {
#[yaserde(rename = "PmtTkn")]
#[cfg_attr(feature = "serde", serde(rename = "PmtTkn"))]
pub pmt_tkn: Max19NumericText,
#[yaserde(rename = "TknXpryDt")]
#[cfg_attr(feature = "serde", serde(rename = "TknXpryDt"))]
pub tkn_xpry_dt: Exact4NumericText,
#[yaserde(rename = "TknRqstrId")]
#[cfg_attr(feature = "serde", serde(rename = "TknRqstrId"))]
pub tkn_rqstr_id: Max11NumericText,
#[yaserde(rename = "TknAssrncData")]
#[cfg_attr(feature = "serde", serde(rename = "TknAssrncData"))]
pub tkn_assrnc_data: Max140Text,
#[yaserde(rename = "TknAssrncMtd")]
#[cfg_attr(feature = "serde", serde(rename = "TknAssrncMtd"))]
pub tkn_assrnc_mtd: Max2NumericText,
#[yaserde(rename = "TknInittdInd")]
#[cfg_attr(feature = "serde", serde(rename = "TknInittdInd"))]
pub tkn_inittd_ind: TrueFalseIndicator,
}
impl Validate for Token1 {}
#[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:cain.025.001.01")]
pub struct Traceability7 {
#[yaserde(rename = "RlayId")]
#[cfg_attr(feature = "serde", serde(rename = "RlayId"))]
pub rlay_id: GenericIdentification172,
#[yaserde(rename = "TracDtTmIn")]
#[cfg_attr(feature = "serde", serde(rename = "TracDtTmIn"))]
pub trac_dt_tm_in: IsodateTime,
#[yaserde(rename = "TracDtTmOut")]
#[cfg_attr(feature = "serde", serde(rename = "TracDtTmOut"))]
pub trac_dt_tm_out: IsodateTime,
}
impl Validate for Traceability7 {}
#[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:cain.025.001.01")]
pub struct Transaction91 {
#[yaserde(rename = "AssoctdDataRef")]
#[cfg_attr(feature = "serde", serde(rename = "AssoctdDataRef"))]
pub assoctd_data_ref: Max70Text,
#[yaserde(rename = "TxId")]
#[cfg_attr(feature = "serde", serde(rename = "TxId"))]
pub tx_id: TransactionIdentification14,
#[yaserde(rename = "DataSrc")]
#[cfg_attr(feature = "serde", serde(rename = "DataSrc"))]
pub data_src: Max70Text,
#[yaserde(rename = "AddtlFees")]
#[cfg_attr(feature = "serde", serde(rename = "AddtlFees"))]
pub addtl_fees: Vec<AdditionalFee1>,
#[yaserde(rename = "TxDesc")]
#[cfg_attr(feature = "serde", serde(rename = "TxDesc"))]
pub tx_desc: Max1000Text,
#[yaserde(rename = "AddtlData")]
#[cfg_attr(feature = "serde", serde(rename = "AddtlData"))]
pub addtl_data: Vec<AdditionalData1>,
}
impl Validate for Transaction91 {}
#[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:cain.025.001.01")]
pub struct TransactionContext5 {
#[yaserde(rename = "CardPrgrmmApld")]
#[cfg_attr(feature = "serde", serde(rename = "CardPrgrmmApld"))]
pub card_prgrmm_apld: CardProgrammeMode1,
}
impl Validate for TransactionContext5 {}
#[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:cain.025.001.01")]
pub struct TransactionIdentification14 {
#[yaserde(rename = "TxRef")]
#[cfg_attr(feature = "serde", serde(rename = "TxRef"))]
pub tx_ref: Max35Text,
#[yaserde(rename = "TrnsmssnDtTm")]
#[cfg_attr(feature = "serde", serde(rename = "TrnsmssnDtTm"))]
pub trnsmssn_dt_tm: IsodateTime,
#[yaserde(rename = "SysTracAudtNb")]
#[cfg_attr(feature = "serde", serde(rename = "SysTracAudtNb"))]
pub sys_trac_audt_nb: Max12NumericText,
#[yaserde(rename = "RtrvlRefNb")]
#[cfg_attr(feature = "serde", serde(rename = "RtrvlRefNb"))]
pub rtrvl_ref_nb: Exact12Text,
#[yaserde(rename = "LifeCyclTracIdData")]
#[cfg_attr(feature = "serde", serde(rename = "LifeCyclTracIdData"))]
pub life_cycl_trac_id_data: TransactionLifeCycleIdentification1,
#[yaserde(rename = "AcqrrRefData")]
#[cfg_attr(feature = "serde", serde(rename = "AcqrrRefData"))]
pub acqrr_ref_data: Max140Text,
#[yaserde(rename = "AcqrrRefNb")]
#[cfg_attr(feature = "serde", serde(rename = "AcqrrRefNb"))]
pub acqrr_ref_nb: Max23NumericText,
#[yaserde(rename = "CardIssrRefData")]
#[cfg_attr(feature = "serde", serde(rename = "CardIssrRefData"))]
pub card_issr_ref_data: Max1000Text,
#[yaserde(rename = "OrgnlDataElmts")]
#[cfg_attr(feature = "serde", serde(rename = "OrgnlDataElmts"))]
pub orgnl_data_elmts: OriginalDataElements1,
}
impl Validate for TransactionIdentification14 {}
#[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:cain.025.001.01")]
pub struct TransactionLifeCycleIdentification1 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Exact15Text,
#[yaserde(rename = "AuthstnSeqNb")]
#[cfg_attr(feature = "serde", serde(rename = "AuthstnSeqNb"))]
pub authstn_seq_nb: Exact2NumericText,
#[yaserde(rename = "PresntmntSeqNb")]
#[cfg_attr(feature = "serde", serde(rename = "PresntmntSeqNb"))]
pub presntmnt_seq_nb: Exact2NumericText,
#[yaserde(rename = "PresntmntSeqCnt")]
#[cfg_attr(feature = "serde", serde(rename = "PresntmntSeqCnt"))]
pub presntmnt_seq_cnt: Exact2NumericText,
#[yaserde(rename = "AuthntcnTkn")]
#[cfg_attr(feature = "serde", serde(rename = "AuthntcnTkn"))]
pub authntcn_tkn: Max35Text,
}
impl Validate for TransactionLifeCycleIdentification1 {}
#[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:cain.025.001.01")]
pub enum TransportType1Code {
#[yaserde(rename = "AIRR")]
#[cfg_attr(feature = "serde", serde(rename = "AIRR"))]
Airr,
#[yaserde(rename = "BUSS")]
#[cfg_attr(feature = "serde", serde(rename = "BUSS"))]
Buss,
#[yaserde(rename = "OTHN")]
#[cfg_attr(feature = "serde", serde(rename = "OTHN"))]
Othn,
#[yaserde(rename = "OTHP")]
#[cfg_attr(feature = "serde", serde(rename = "OTHP"))]
Othp,
#[yaserde(rename = "RAIL")]
#[cfg_attr(feature = "serde", serde(rename = "RAIL"))]
Rail,
#[yaserde(rename = "SHIP")]
#[cfg_attr(feature = "serde", serde(rename = "SHIP"))]
Ship,
__Unknown__(String),
}
impl Default for TransportType1Code {
fn default() -> TransportType1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for TransportType1Code {}
#[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:cain.025.001.01")]
pub struct TravelAgency2 {
#[yaserde(rename = "Cpny")]
#[cfg_attr(feature = "serde", serde(rename = "Cpny"))]
pub cpny: PartyIdentification207,
#[yaserde(rename = "TrvlPackg")]
#[cfg_attr(feature = "serde", serde(rename = "TrvlPackg"))]
pub trvl_packg: Vec<TravelAgencyPackage1>,
#[yaserde(rename = "AddtlData")]
#[cfg_attr(feature = "serde", serde(rename = "AddtlData"))]
pub addtl_data: Max350Text,
}
impl Validate for TravelAgency2 {}
#[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:cain.025.001.01")]
pub struct TravelAgencyPackage1 {
#[yaserde(rename = "RsvatnNb")]
#[cfg_attr(feature = "serde", serde(rename = "RsvatnNb"))]
pub rsvatn_nb: Max35Text,
#[yaserde(rename = "TrvlPackgTp")]
#[cfg_attr(feature = "serde", serde(rename = "TrvlPackgTp"))]
pub trvl_packg_tp: Max70Text,
#[yaserde(rename = "NbInPty")]
#[cfg_attr(feature = "serde", serde(rename = "NbInPty"))]
pub nb_in_pty: Max10NumericText,
#[yaserde(rename = "CstmrRef")]
#[cfg_attr(feature = "serde", serde(rename = "CstmrRef"))]
pub cstmr_ref: Vec<CustomerReference1>,
#[yaserde(rename = "DataSrc")]
#[cfg_attr(feature = "serde", serde(rename = "DataSrc"))]
pub data_src: Max35Text,
#[yaserde(rename = "DlvryOrdrNb")]
#[cfg_attr(feature = "serde", serde(rename = "DlvryOrdrNb"))]
pub dlvry_ordr_nb: Max35Text,
#[yaserde(rename = "CdtCardSlipNb")]
#[cfg_attr(feature = "serde", serde(rename = "CdtCardSlipNb"))]
pub cdt_card_slip_nb: Max35Text,
#[yaserde(rename = "InsrncInd")]
#[cfg_attr(feature = "serde", serde(rename = "InsrncInd"))]
pub insrnc_ind: TrueFalseIndicator,
#[yaserde(rename = "InsrncAmt")]
#[cfg_attr(feature = "serde", serde(rename = "InsrncAmt"))]
pub insrnc_amt: ImpliedCurrencyAndAmount,
#[yaserde(rename = "Fee")]
#[cfg_attr(feature = "serde", serde(rename = "Fee"))]
pub fee: ImpliedCurrencyAndAmount,
}
impl Validate for TravelAgencyPackage1 {}
#[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:cain.025.001.01")]
pub struct TravelDocument1 {
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: OfficialDocumentType1Code,
#[yaserde(rename = "Form")]
#[cfg_attr(feature = "serde", serde(rename = "Form"))]
pub form: PresentationMedium2Code,
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Max70Text,
#[yaserde(rename = "Assgnr")]
#[cfg_attr(feature = "serde", serde(rename = "Assgnr"))]
pub assgnr: Max70Text,
#[yaserde(rename = "IssncDt")]
#[cfg_attr(feature = "serde", serde(rename = "IssncDt"))]
pub issnc_dt: Isodate,
#[yaserde(rename = "XprtnDt")]
#[cfg_attr(feature = "serde", serde(rename = "XprtnDt"))]
pub xprtn_dt: Isodate,
#[yaserde(rename = "Ctry")]
#[cfg_attr(feature = "serde", serde(rename = "Ctry"))]
pub ctry: Min2Max3AlphaText,
}
impl Validate for TravelDocument1 {}
#[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:cain.025.001.01")]
pub struct TripInformation1 {
#[yaserde(rename = "TripNb")]
#[cfg_attr(feature = "serde", serde(rename = "TripNb"))]
pub trip_nb: Max35Text,
#[yaserde(rename = "JobNb")]
#[cfg_attr(feature = "serde", serde(rename = "JobNb"))]
pub job_nb: Max10Text,
#[yaserde(rename = "WorkOrdr")]
#[cfg_attr(feature = "serde", serde(rename = "WorkOrdr"))]
pub work_ordr: Max70Text,
#[yaserde(rename = "InvcNb")]
#[cfg_attr(feature = "serde", serde(rename = "InvcNb"))]
pub invc_nb: Max70Text,
#[yaserde(rename = "BllgId")]
#[cfg_attr(feature = "serde", serde(rename = "BllgId"))]
pub bllg_id: Max70Text,
#[yaserde(rename = "CtrlNb")]
#[cfg_attr(feature = "serde", serde(rename = "CtrlNb"))]
pub ctrl_nb: Max35Text,
#[yaserde(rename = "DlvryTcktNb")]
#[cfg_attr(feature = "serde", serde(rename = "DlvryTcktNb"))]
pub dlvry_tckt_nb: Max35Text,
}
impl Validate for TripInformation1 {}
#[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:cain.025.001.01")]
pub struct TripLeg1 {
#[yaserde(rename = "SeqNb")]
#[cfg_attr(feature = "serde", serde(rename = "SeqNb"))]
pub seq_nb: Max35NumericText,
#[yaserde(rename = "Tckt")]
#[cfg_attr(feature = "serde", serde(rename = "Tckt"))]
pub tckt: Ticket1,
#[yaserde(rename = "Doc")]
#[cfg_attr(feature = "serde", serde(rename = "Doc"))]
pub doc: Vec<DocumentReference1>,
#[yaserde(rename = "PrcdrRef")]
#[cfg_attr(feature = "serde", serde(rename = "PrcdrRef"))]
pub prcdr_ref: Max35Text,
#[yaserde(rename = "TrnsprtTp")]
#[cfg_attr(feature = "serde", serde(rename = "TrnsprtTp"))]
pub trnsprt_tp: TransportType1Code,
#[yaserde(rename = "OthrTrnsprtTp")]
#[cfg_attr(feature = "serde", serde(rename = "OthrTrnsprtTp"))]
pub othr_trnsprt_tp: Max35Text,
#[yaserde(rename = "CmmdtyCd")]
#[cfg_attr(feature = "serde", serde(rename = "CmmdtyCd"))]
pub cmmdty_cd: Max4Text,
#[yaserde(rename = "Crrier")]
#[cfg_attr(feature = "serde", serde(rename = "Crrier"))]
pub crrier: CarrierIdentification1,
#[yaserde(rename = "RouteNb")]
#[cfg_attr(feature = "serde", serde(rename = "RouteNb"))]
pub route_nb: Max35Text,
#[yaserde(rename = "SvcClss")]
#[cfg_attr(feature = "serde", serde(rename = "SvcClss"))]
pub svc_clss: Max35Text,
#[yaserde(rename = "Dprture")]
#[cfg_attr(feature = "serde", serde(rename = "Dprture"))]
pub dprture: DepartureOrArrival1,
#[yaserde(rename = "Arrvl")]
#[cfg_attr(feature = "serde", serde(rename = "Arrvl"))]
pub arrvl: DepartureOrArrival1,
#[yaserde(rename = "Drtn")]
#[cfg_attr(feature = "serde", serde(rename = "Drtn"))]
pub drtn: Max4NumericText,
#[yaserde(rename = "StopOverInd")]
#[cfg_attr(feature = "serde", serde(rename = "StopOverInd"))]
pub stop_over_ind: TrueFalseIndicator,
#[yaserde(rename = "NonDrctRouteCd")]
#[cfg_attr(feature = "serde", serde(rename = "NonDrctRouteCd"))]
pub non_drct_route_cd: Max35Text,
#[yaserde(rename = "FairBsisCd")]
#[cfg_attr(feature = "serde", serde(rename = "FairBsisCd"))]
pub fair_bsis_cd: Max35Text,
#[yaserde(rename = "InsrncInd")]
#[cfg_attr(feature = "serde", serde(rename = "InsrncInd"))]
pub insrnc_ind: TrueFalseIndicator,
#[yaserde(rename = "TripLegAmt")]
#[cfg_attr(feature = "serde", serde(rename = "TripLegAmt"))]
pub trip_leg_amt: Vec<AmountDetails1>,
#[yaserde(rename = "CdtRsnCd")]
#[cfg_attr(feature = "serde", serde(rename = "CdtRsnCd"))]
pub cdt_rsn_cd: Max35Text,
#[yaserde(rename = "PrcdrId")]
#[cfg_attr(feature = "serde", serde(rename = "PrcdrId"))]
pub prcdr_id: Max35Text,
#[yaserde(rename = "LltyPrgrmm")]
#[cfg_attr(feature = "serde", serde(rename = "LltyPrgrmm"))]
pub llty_prgrmm: LoyaltyProgramme2,
#[yaserde(rename = "AddtlData")]
#[cfg_attr(feature = "serde", serde(rename = "AddtlData"))]
pub addtl_data: Max350Text,
}
impl Validate for TripLeg1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct TrueFalseIndicator (pub bool);
crate::simple_type!(TrueFalseIndicator);
impl Validate for TrueFalseIndicator {}
#[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:cain.025.001.01")]
pub enum TypeOfAmount10Code {
#[yaserde(rename = "INTC")]
#[cfg_attr(feature = "serde", serde(rename = "INTC"))]
Intc,
#[yaserde(rename = "FEEP")]
#[cfg_attr(feature = "serde", serde(rename = "FEEP"))]
Feep,
#[yaserde(rename = "OTHN")]
#[cfg_attr(feature = "serde", serde(rename = "OTHN"))]
Othn,
#[yaserde(rename = "OTHP")]
#[cfg_attr(feature = "serde", serde(rename = "OTHP"))]
Othp,
#[yaserde(rename = "FEEA")]
#[cfg_attr(feature = "serde", serde(rename = "FEEA"))]
Feea,
__Unknown__(String),
}
impl Default for TypeOfAmount10Code {
fn default() -> TypeOfAmount10Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for TypeOfAmount10Code {}
#[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:cain.025.001.01")]
pub enum TypeOfAmount18Code {
#[yaserde(rename = "AMTH")]
#[cfg_attr(feature = "serde", serde(rename = "AMTH"))]
Amth,
#[yaserde(rename = "BAGG")]
#[cfg_attr(feature = "serde", serde(rename = "BAGG"))]
Bagg,
#[yaserde(rename = "CHTC")]
#[cfg_attr(feature = "serde", serde(rename = "CHTC"))]
Chtc,
#[yaserde(rename = "DATA")]
#[cfg_attr(feature = "serde", serde(rename = "DATA"))]
Data,
#[yaserde(rename = "EXTK")]
#[cfg_attr(feature = "serde", serde(rename = "EXTK"))]
Extk,
#[yaserde(rename = "EXTR")]
#[cfg_attr(feature = "serde", serde(rename = "EXTR"))]
Extr,
#[yaserde(rename = "FARE")]
#[cfg_attr(feature = "serde", serde(rename = "FARE"))]
Fare,
#[yaserde(rename = "INSU")]
#[cfg_attr(feature = "serde", serde(rename = "INSU"))]
Insu,
#[yaserde(rename = "FDBV")]
#[cfg_attr(feature = "serde", serde(rename = "FDBV"))]
Fdbv,
#[yaserde(rename = "MISC")]
#[cfg_attr(feature = "serde", serde(rename = "MISC"))]
Misc,
#[yaserde(rename = "OTHN")]
#[cfg_attr(feature = "serde", serde(rename = "OTHN"))]
Othn,
#[yaserde(rename = "OTHP")]
#[cfg_attr(feature = "serde", serde(rename = "OTHP"))]
Othp,
#[yaserde(rename = "PHNE")]
#[cfg_attr(feature = "serde", serde(rename = "PHNE"))]
Phne,
#[yaserde(rename = "PRPY")]
#[cfg_attr(feature = "serde", serde(rename = "PRPY"))]
Prpy,
#[yaserde(rename = "TOTL")]
#[cfg_attr(feature = "serde", serde(rename = "TOTL"))]
Totl,
#[yaserde(rename = "EXTF")]
#[cfg_attr(feature = "serde", serde(rename = "EXTF"))]
Extf,
__Unknown__(String),
}
impl Default for TypeOfAmount18Code {
fn default() -> TypeOfAmount18Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for TypeOfAmount18Code {}
#[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:cain.025.001.01")]
pub enum TypeOfAmount19Code {
#[yaserde(rename = "CONN")]
#[cfg_attr(feature = "serde", serde(rename = "CONN"))]
Conn,
#[yaserde(rename = "INSU")]
#[cfg_attr(feature = "serde", serde(rename = "INSU"))]
Insu,
#[yaserde(rename = "LNDS")]
#[cfg_attr(feature = "serde", serde(rename = "LNDS"))]
Lnds,
#[yaserde(rename = "MISC")]
#[cfg_attr(feature = "serde", serde(rename = "MISC"))]
Misc,
#[yaserde(rename = "OTHN")]
#[cfg_attr(feature = "serde", serde(rename = "OTHN"))]
Othn,
#[yaserde(rename = "OTHP")]
#[cfg_attr(feature = "serde", serde(rename = "OTHP"))]
Othp,
#[yaserde(rename = "USGE")]
#[cfg_attr(feature = "serde", serde(rename = "USGE"))]
Usge,
__Unknown__(String),
}
impl Default for TypeOfAmount19Code {
fn default() -> TypeOfAmount19Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for TypeOfAmount19Code {}
#[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:cain.025.001.01")]
pub struct UnitOfMeasure1 {
#[yaserde(rename = "UnitOfMeasr")]
#[cfg_attr(feature = "serde", serde(rename = "UnitOfMeasr"))]
pub unit_of_measr: UnitOfMeasure1Code,
#[yaserde(rename = "OthrUnitOfMeasr")]
#[cfg_attr(feature = "serde", serde(rename = "OthrUnitOfMeasr"))]
pub othr_unit_of_measr: Max35Text,
#[yaserde(rename = "NbOfUnits")]
#[cfg_attr(feature = "serde", serde(rename = "NbOfUnits"))]
pub nb_of_units: ImpliedCurrencyAndAmount,
}
impl Validate for UnitOfMeasure1 {}
#[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:cain.025.001.01")]
pub enum UnitOfMeasure10Code {
#[yaserde(rename = "KMET")]
#[cfg_attr(feature = "serde", serde(rename = "KMET"))]
Kmet,
#[yaserde(rename = "MILE")]
#[cfg_attr(feature = "serde", serde(rename = "MILE"))]
Mile,
__Unknown__(String),
}
impl Default for UnitOfMeasure10Code {
fn default() -> UnitOfMeasure10Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for UnitOfMeasure10Code {}
#[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:cain.025.001.01")]
pub enum UnitOfMeasure1Code {
#[yaserde(rename = "PIEC")]
#[cfg_attr(feature = "serde", serde(rename = "PIEC"))]
Piec,
#[yaserde(rename = "TONS")]
#[cfg_attr(feature = "serde", serde(rename = "TONS"))]
Tons,
#[yaserde(rename = "FOOT")]
#[cfg_attr(feature = "serde", serde(rename = "FOOT"))]
Foot,
#[yaserde(rename = "GBGA")]
#[cfg_attr(feature = "serde", serde(rename = "GBGA"))]
Gbga,
#[yaserde(rename = "USGA")]
#[cfg_attr(feature = "serde", serde(rename = "USGA"))]
Usga,
#[yaserde(rename = "GRAM")]
#[cfg_attr(feature = "serde", serde(rename = "GRAM"))]
Gram,
#[yaserde(rename = "INCH")]
#[cfg_attr(feature = "serde", serde(rename = "INCH"))]
Inch,
#[yaserde(rename = "KILO")]
#[cfg_attr(feature = "serde", serde(rename = "KILO"))]
Kilo,
#[yaserde(rename = "PUND")]
#[cfg_attr(feature = "serde", serde(rename = "PUND"))]
Pund,
#[yaserde(rename = "METR")]
#[cfg_attr(feature = "serde", serde(rename = "METR"))]
Metr,
#[yaserde(rename = "CMET")]
#[cfg_attr(feature = "serde", serde(rename = "CMET"))]
Cmet,
#[yaserde(rename = "MMET")]
#[cfg_attr(feature = "serde", serde(rename = "MMET"))]
Mmet,
#[yaserde(rename = "LITR")]
#[cfg_attr(feature = "serde", serde(rename = "LITR"))]
Litr,
#[yaserde(rename = "CELI")]
#[cfg_attr(feature = "serde", serde(rename = "CELI"))]
Celi,
#[yaserde(rename = "MILI")]
#[cfg_attr(feature = "serde", serde(rename = "MILI"))]
Mili,
#[yaserde(rename = "GBOU")]
#[cfg_attr(feature = "serde", serde(rename = "GBOU"))]
Gbou,
#[yaserde(rename = "USOU")]
#[cfg_attr(feature = "serde", serde(rename = "USOU"))]
Usou,
#[yaserde(rename = "GBQA")]
#[cfg_attr(feature = "serde", serde(rename = "GBQA"))]
Gbqa,
#[yaserde(rename = "USQA")]
#[cfg_attr(feature = "serde", serde(rename = "USQA"))]
Usqa,
#[yaserde(rename = "GBPI")]
#[cfg_attr(feature = "serde", serde(rename = "GBPI"))]
Gbpi,
#[yaserde(rename = "USPI")]
#[cfg_attr(feature = "serde", serde(rename = "USPI"))]
Uspi,
#[yaserde(rename = "MILE")]
#[cfg_attr(feature = "serde", serde(rename = "MILE"))]
Mile,
#[yaserde(rename = "KMET")]
#[cfg_attr(feature = "serde", serde(rename = "KMET"))]
Kmet,
#[yaserde(rename = "YARD")]
#[cfg_attr(feature = "serde", serde(rename = "YARD"))]
Yard,
#[yaserde(rename = "SQKI")]
#[cfg_attr(feature = "serde", serde(rename = "SQKI"))]
Sqki,
#[yaserde(rename = "HECT")]
#[cfg_attr(feature = "serde", serde(rename = "HECT"))]
Hect,
#[yaserde(rename = "ARES")]
#[cfg_attr(feature = "serde", serde(rename = "ARES"))]
Ares,
#[yaserde(rename = "SMET")]
#[cfg_attr(feature = "serde", serde(rename = "SMET"))]
Smet,
#[yaserde(rename = "SCMT")]
#[cfg_attr(feature = "serde", serde(rename = "SCMT"))]
Scmt,
#[yaserde(rename = "SMIL")]
#[cfg_attr(feature = "serde", serde(rename = "SMIL"))]
Smil,
#[yaserde(rename = "SQMI")]
#[cfg_attr(feature = "serde", serde(rename = "SQMI"))]
Sqmi,
#[yaserde(rename = "SQYA")]
#[cfg_attr(feature = "serde", serde(rename = "SQYA"))]
Sqya,
#[yaserde(rename = "SQFO")]
#[cfg_attr(feature = "serde", serde(rename = "SQFO"))]
Sqfo,
#[yaserde(rename = "SQIN")]
#[cfg_attr(feature = "serde", serde(rename = "SQIN"))]
Sqin,
#[yaserde(rename = "ACRE")]
#[cfg_attr(feature = "serde", serde(rename = "ACRE"))]
Acre,
__Unknown__(String),
}
impl Default for UnitOfMeasure1Code {
fn default() -> UnitOfMeasure1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for UnitOfMeasure1Code {}
#[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:cain.025.001.01")]
pub struct Vehicle2 {
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: Max35Text,
#[yaserde(rename = "NtryMd")]
#[cfg_attr(feature = "serde", serde(rename = "NtryMd"))]
pub ntry_md: CardDataReading5Code,
#[yaserde(rename = "Data")]
#[cfg_attr(feature = "serde", serde(rename = "Data"))]
pub data: Max35Text,
}
impl Validate for Vehicle2 {}
#[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:cain.025.001.01")]
pub struct Vehicle4 {
#[yaserde(rename = "Clss")]
#[cfg_attr(feature = "serde", serde(rename = "Clss"))]
pub clss: Max35Text,
#[yaserde(rename = "Make")]
#[cfg_attr(feature = "serde", serde(rename = "Make"))]
pub make: Max35NumericText,
#[yaserde(rename = "Mdl")]
#[cfg_attr(feature = "serde", serde(rename = "Mdl"))]
pub mdl: Max35NumericText,
#[yaserde(rename = "RegnNb")]
#[cfg_attr(feature = "serde", serde(rename = "RegnNb"))]
pub regn_nb: Max35Text,
}
impl Validate for Vehicle4 {}
#[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:cain.025.001.01")]
pub struct Vehicle5 {
#[yaserde(rename = "VhclNb")]
#[cfg_attr(feature = "serde", serde(rename = "VhclNb"))]
pub vhcl_nb: Max35NumericText,
#[yaserde(rename = "VhclIdNb")]
#[cfg_attr(feature = "serde", serde(rename = "VhclIdNb"))]
pub vhcl_id_nb: Max35NumericText,
#[yaserde(rename = "FleetNb")]
#[cfg_attr(feature = "serde", serde(rename = "FleetNb"))]
pub fleet_nb: Max10Text,
#[yaserde(rename = "SubFleetNb")]
#[cfg_attr(feature = "serde", serde(rename = "SubFleetNb"))]
pub sub_fleet_nb: Max35Text,
#[yaserde(rename = "UnitNb")]
#[cfg_attr(feature = "serde", serde(rename = "UnitNb"))]
pub unit_nb: Max35NumericText,
#[yaserde(rename = "TrlrNb")]
#[cfg_attr(feature = "serde", serde(rename = "TrlrNb"))]
pub trlr_nb: Max35NumericText,
#[yaserde(rename = "VhclTag")]
#[cfg_attr(feature = "serde", serde(rename = "VhclTag"))]
pub vhcl_tag: Max35Text,
#[yaserde(rename = "VhclTagNtryMd")]
#[cfg_attr(feature = "serde", serde(rename = "VhclTagNtryMd"))]
pub vhcl_tag_ntry_md: CardDataReading5Code,
#[yaserde(rename = "RplcmntVhclInd")]
#[cfg_attr(feature = "serde", serde(rename = "RplcmntVhclInd"))]
pub rplcmnt_vhcl_ind: TrueFalseIndicator,
#[yaserde(rename = "Odmtr")]
#[cfg_attr(feature = "serde", serde(rename = "Odmtr"))]
pub odmtr: DecimalNumber,
#[yaserde(rename = "Hbmtr")]
#[cfg_attr(feature = "serde", serde(rename = "Hbmtr"))]
pub hbmtr: DecimalNumber,
#[yaserde(rename = "MntncId")]
#[cfg_attr(feature = "serde", serde(rename = "MntncId"))]
pub mntnc_id: Max35Text,
#[yaserde(rename = "OnBrdDgnstcs")]
#[cfg_attr(feature = "serde", serde(rename = "OnBrdDgnstcs"))]
pub on_brd_dgnstcs: OnBoardDiagnostics1,
#[yaserde(rename = "AddtlVhclData")]
#[cfg_attr(feature = "serde", serde(rename = "AddtlVhclData"))]
pub addtl_vhcl_data: Vec<Vehicle2>,
}
impl Validate for Vehicle5 {}
#[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:cain.025.001.01")]
pub struct VehicleRentalAgreement1 {
#[yaserde(rename = "AgrmtNb")]
#[cfg_attr(feature = "serde", serde(rename = "AgrmtNb"))]
pub agrmt_nb: Max35Text,
#[yaserde(rename = "AdjstdInd")]
#[cfg_attr(feature = "serde", serde(rename = "AdjstdInd"))]
pub adjstd_ind: TrueFalseIndicator,
#[yaserde(rename = "RntlLctn")]
#[cfg_attr(feature = "serde", serde(rename = "RntlLctn"))]
pub rntl_lctn: Address1,
#[yaserde(rename = "PckpLctn")]
#[cfg_attr(feature = "serde", serde(rename = "PckpLctn"))]
pub pckp_lctn: Vec<Address1>,
#[yaserde(rename = "ChckOutDt")]
#[cfg_attr(feature = "serde", serde(rename = "ChckOutDt"))]
pub chck_out_dt: Isodate,
#[yaserde(rename = "ChckOutTm")]
#[cfg_attr(feature = "serde", serde(rename = "ChckOutTm"))]
pub chck_out_tm: Isotime,
#[yaserde(rename = "RtrLctn")]
#[cfg_attr(feature = "serde", serde(rename = "RtrLctn"))]
pub rtr_lctn: Address1,
#[yaserde(rename = "ChckInDt")]
#[cfg_attr(feature = "serde", serde(rename = "ChckInDt"))]
pub chck_in_dt: Isodate,
#[yaserde(rename = "ChckInTm")]
#[cfg_attr(feature = "serde", serde(rename = "ChckInTm"))]
pub chck_in_tm: Isotime,
#[yaserde(rename = "Drtn")]
#[cfg_attr(feature = "serde", serde(rename = "Drtn"))]
pub drtn: Max4NumericText,
#[yaserde(rename = "VhclClssDtls")]
#[cfg_attr(feature = "serde", serde(rename = "VhclClssDtls"))]
pub vhcl_clss_dtls: Vehicle4,
#[yaserde(rename = "TrvlDstnc")]
#[cfg_attr(feature = "serde", serde(rename = "TrvlDstnc"))]
pub trvl_dstnc: Distance1,
#[yaserde(rename = "RntlRate")]
#[cfg_attr(feature = "serde", serde(rename = "RntlRate"))]
pub rntl_rate: Vec<RentalRate1>,
#[yaserde(rename = "RntlDtls")]
#[cfg_attr(feature = "serde", serde(rename = "RntlDtls"))]
pub rntl_dtls: RentalDetails1,
#[yaserde(rename = "VhclRegnNb")]
#[cfg_attr(feature = "serde", serde(rename = "VhclRegnNb"))]
pub vhcl_regn_nb: Max70Text,
#[yaserde(rename = "InsrncInd")]
#[cfg_attr(feature = "serde", serde(rename = "InsrncInd"))]
pub insrnc_ind: TrueFalseIndicator,
#[yaserde(rename = "AddtlAmt")]
#[cfg_attr(feature = "serde", serde(rename = "AddtlAmt"))]
pub addtl_amt: Vec<Amount9>,
#[yaserde(rename = "EstmtdTax")]
#[cfg_attr(feature = "serde", serde(rename = "EstmtdTax"))]
pub estmtd_tax: Vec<Tax33>,
#[yaserde(rename = "DscntPrgrmm")]
#[cfg_attr(feature = "serde", serde(rename = "DscntPrgrmm"))]
pub dscnt_prgrmm: Vec<Discount3>,
#[yaserde(rename = "LltyPrgrmm")]
#[cfg_attr(feature = "serde", serde(rename = "LltyPrgrmm"))]
pub llty_prgrmm: Vec<LoyaltyProgramme1>,
}
impl Validate for VehicleRentalAgreement1 {}
#[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:cain.025.001.01")]
pub struct VehicleRentalCompany1 {
#[yaserde(rename = "Nm")]
#[cfg_attr(feature = "serde", serde(rename = "Nm"))]
pub nm: Max70Text,
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: PartyIdentification197,
#[yaserde(rename = "Adr")]
#[cfg_attr(feature = "serde", serde(rename = "Adr"))]
pub adr: Address1,
#[yaserde(rename = "Ctct")]
#[cfg_attr(feature = "serde", serde(rename = "Ctct"))]
pub ctct: Contact3,
#[yaserde(rename = "Ctry")]
#[cfg_attr(feature = "serde", serde(rename = "Ctry"))]
pub ctry: Min2Max3AlphaText,
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: CarRentalActivity1Code,
#[yaserde(rename = "OthrTp")]
#[cfg_attr(feature = "serde", serde(rename = "OthrTp"))]
pub othr_tp: Max35Text,
}
impl Validate for VehicleRentalCompany1 {}
#[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:cain.025.001.01")]
pub struct VehicleRentalCustomer1 {
#[yaserde(rename = "RntrNm")]
#[cfg_attr(feature = "serde", serde(rename = "RntrNm"))]
pub rntr_nm: Max70Text,
#[yaserde(rename = "CorpNm")]
#[cfg_attr(feature = "serde", serde(rename = "CorpNm"))]
pub corp_nm: Max70Text,
#[yaserde(rename = "CorpIdr")]
#[cfg_attr(feature = "serde", serde(rename = "CorpIdr"))]
pub corp_idr: Max35Text,
#[yaserde(rename = "Assgnr")]
#[cfg_attr(feature = "serde", serde(rename = "Assgnr"))]
pub assgnr: CustomerAssigner1Code,
#[yaserde(rename = "PmryDrvr")]
#[cfg_attr(feature = "serde", serde(rename = "PmryDrvr"))]
pub pmry_drvr: Vec<DriverInParty1>,
#[yaserde(rename = "AddtlDrvr")]
#[cfg_attr(feature = "serde", serde(rename = "AddtlDrvr"))]
pub addtl_drvr: Vec<DriverInParty1>,
#[yaserde(rename = "LltyPrgrmm")]
#[cfg_attr(feature = "serde", serde(rename = "LltyPrgrmm"))]
pub llty_prgrmm: LoyaltyProgramme2,
}
impl Validate for VehicleRentalCustomer1 {}
#[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:cain.025.001.01")]
pub struct VehicleRentalInvoice1 {
#[yaserde(rename = "NoShowInd")]
#[cfg_attr(feature = "serde", serde(rename = "NoShowInd"))]
pub no_show_ind: TrueFalseIndicator,
#[yaserde(rename = "AdjstdInd")]
#[cfg_attr(feature = "serde", serde(rename = "AdjstdInd"))]
pub adjstd_ind: TrueFalseIndicator,
#[yaserde(rename = "RtrLctn")]
#[cfg_attr(feature = "serde", serde(rename = "RtrLctn"))]
pub rtr_lctn: Address1,
#[yaserde(rename = "ChckOutDt")]
#[cfg_attr(feature = "serde", serde(rename = "ChckOutDt"))]
pub chck_out_dt: Isodate,
#[yaserde(rename = "ChckOutTm")]
#[cfg_attr(feature = "serde", serde(rename = "ChckOutTm"))]
pub chck_out_tm: Isotime,
#[yaserde(rename = "ChckInDt")]
#[cfg_attr(feature = "serde", serde(rename = "ChckInDt"))]
pub chck_in_dt: Isodate,
#[yaserde(rename = "ChckInTm")]
#[cfg_attr(feature = "serde", serde(rename = "ChckInTm"))]
pub chck_in_tm: Isotime,
#[yaserde(rename = "Drtn")]
#[cfg_attr(feature = "serde", serde(rename = "Drtn"))]
pub drtn: Max4NumericText,
#[yaserde(rename = "VhclClssInvcd")]
#[cfg_attr(feature = "serde", serde(rename = "VhclClssInvcd"))]
pub vhcl_clss_invcd: Vehicle4,
#[yaserde(rename = "VhclClssPrvdd")]
#[cfg_attr(feature = "serde", serde(rename = "VhclClssPrvdd"))]
pub vhcl_clss_prvdd: Vehicle4,
#[yaserde(rename = "TrvlDstnc")]
#[cfg_attr(feature = "serde", serde(rename = "TrvlDstnc"))]
pub trvl_dstnc: Distance1,
#[yaserde(rename = "RntlChrg")]
#[cfg_attr(feature = "serde", serde(rename = "RntlChrg"))]
pub rntl_chrg: Vec<RentalRate1>,
#[yaserde(rename = "SummryCmmdtyId")]
#[cfg_attr(feature = "serde", serde(rename = "SummryCmmdtyId"))]
pub summry_cmmdty_id: Max35Text,
#[yaserde(rename = "InsrncInd")]
#[cfg_attr(feature = "serde", serde(rename = "InsrncInd"))]
pub insrnc_ind: TrueFalseIndicator,
#[yaserde(rename = "AddtlAmt")]
#[cfg_attr(feature = "serde", serde(rename = "AddtlAmt"))]
pub addtl_amt: Vec<Amount9>,
#[yaserde(rename = "Tax")]
#[cfg_attr(feature = "serde", serde(rename = "Tax"))]
pub tax: Vec<Tax33>,
}
impl Validate for VehicleRentalInvoice1 {}
#[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:cain.025.001.01")]
pub struct VehicleRentalService1 {
#[yaserde(rename = "VhclRntlCpny")]
#[cfg_attr(feature = "serde", serde(rename = "VhclRntlCpny"))]
pub vhcl_rntl_cpny: VehicleRentalCompany1,
#[yaserde(rename = "Cstmr")]
#[cfg_attr(feature = "serde", serde(rename = "Cstmr"))]
pub cstmr: VehicleRentalCustomer1,
#[yaserde(rename = "SummryCmmdtyId")]
#[cfg_attr(feature = "serde", serde(rename = "SummryCmmdtyId"))]
pub summry_cmmdty_id: Max35Text,
#[yaserde(rename = "RntlAgrmt")]
#[cfg_attr(feature = "serde", serde(rename = "RntlAgrmt"))]
pub rntl_agrmt: VehicleRentalAgreement1,
#[yaserde(rename = "RntlInvc")]
#[cfg_attr(feature = "serde", serde(rename = "RntlInvc"))]
pub rntl_invc: VehicleRentalInvoice1,
#[yaserde(rename = "AddtlData")]
#[cfg_attr(feature = "serde", serde(rename = "AddtlData"))]
pub addtl_data: Max350Text,
}
impl Validate for VehicleRentalService1 {}
impl crate::MxMessage for Document {
const BUSINESS_AREA: crate::BusinessArea = crate::BusinessArea::cain;
const FUNCTIONALITY: &'static str = "025";
const VARIANT: &'static str = "001";
const VERSION: &'static str = "01";
const MESSAGE_NAME: &'static str = "cain.025.001.01";
const NAMESPACE: &'static str = "urn:iso:std:iso:20022:tech:xsd:cain.025.001.01";
}