use validator::Validate;
::lazy_static::lazy_static! {
static ref MAX_5_NUMERIC_TEXT_REGEX: ::regex::Regex = ::regex::Regex::new(r#"[0-9]{1,5}"#).unwrap();
}
::lazy_static::lazy_static! {
static ref COUNTRY_CODE_REGEX: ::regex::Regex = ::regex::Regex::new(r#"[A-Z]{2,2}"#).unwrap();
}
::lazy_static::lazy_static! {
static ref IBAN_2007_IDENTIFIER_REGEX: ::regex::Regex = ::regex::Regex::new(r#"[A-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30}"#).unwrap();
}
::lazy_static::lazy_static! {
static ref ANY_BIC_DEC_2014_IDENTIFIER_REGEX: ::regex::Regex = ::regex::Regex::new(r#"[A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9]{3,3}){0,1}"#).unwrap();
}
::lazy_static::lazy_static! {
static ref EXACT_4_ALPHA_NUMERIC_TEXT_REGEX: ::regex::Regex = ::regex::Regex::new(r#"[a-zA-Z0-9]{4}"#).unwrap();
}
::lazy_static::lazy_static! {
static ref EXACT_4_NUMERIC_TEXT_REGEX: ::regex::Regex = ::regex::Regex::new(r#"[0-9]{4}"#).unwrap();
}
::lazy_static::lazy_static! {
static ref BICFI_DEC_2014_IDENTIFIER_REGEX: ::regex::Regex = ::regex::Regex::new(r#"[A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9]{3,3}){0,1}"#).unwrap();
}
::lazy_static::lazy_static! {
static ref LEI_IDENTIFIER_REGEX: ::regex::Regex = ::regex::Regex::new(r#"[A-Z0-9]{18,18}[0-9]{2,2}"#).unwrap();
}
::lazy_static::lazy_static! {
static ref ACTIVE_OR_HISTORIC_CURRENCY_CODE_REGEX: ::regex::Regex = ::regex::Regex::new(r#"[A-Z]{3,3}"#).unwrap();
}
::lazy_static::lazy_static! {
static ref ACTIVE_CURRENCY_CODE_REGEX: ::regex::Regex = ::regex::Regex::new(r#"[A-Z]{3,3}"#).unwrap();
}
::lazy_static::lazy_static! {
static ref EXACT_3_NUMERIC_TEXT_REGEX: ::regex::Regex = ::regex::Regex::new(r#"[0-9]{3}"#).unwrap();
}
::lazy_static::lazy_static! {
static ref ISO_20022_MESSAGE_IDENTIFICATION_TEXT_REGEX: ::regex::Regex = ::regex::Regex::new(r#"[a-z]{4}\.[0-9]{3}\.[0-9]{3}\.[0-9]{2}"#).unwrap();
}
pub fn namespace() -> String {
"urn:iso:std:iso:20022:tech:xsd:camt.079.001.01".to_string()
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct IntraBalanceMovements3<
A: std::fmt::Debug + Default + Clone + PartialEq + ::serde::Serialize + ::validator::Validate,
> {
#[serde(rename = "CshAcct", skip_serializing_if = "Option::is_none")]
pub csh_acct: Option<CashAccount38>,
#[serde(rename = "CshAcctOwnr", skip_serializing_if = "Option::is_none")]
pub csh_acct_ownr: Option<SystemPartyIdentification8>,
#[serde(rename = "CshAcctSvcr", skip_serializing_if = "Option::is_none")]
pub csh_acct_svcr: Option<BranchAndFinancialInstitutionIdentification6>,
#[serde(rename = "StsAndRsn", skip_serializing_if = "Option::is_none")]
pub sts_and_rsn: Option<IntraBalanceStatusAndReason2>,
#[validate(length(min = 1,))]
#[serde(rename = "Mvmnt", default)]
pub mvmnt: Vec<IntraBalanceMovement5<A>>,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct Max5NumericText {
#[validate(regex = "MAX_5_NUMERIC_TEXT_REGEX")]
#[serde(rename = "$text")]
pub value: String,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct RejectionOrRepairStatus38ChoiceEnum {
#[serde(rename = "Rsn", skip_serializing_if = "Option::is_none")]
pub rsn: Option<RejectionOrRepairReason32>,
#[serde(rename = "NoSpcfdRsn", skip_serializing_if = "Option::is_none")]
pub no_spcfd_rsn: Option<NoReasonCode>,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct RejectionOrRepairStatus38Choice {
#[serde(flatten)]
pub value: RejectionOrRepairStatus38ChoiceEnum,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct IntraBalanceMovement6<
A: std::fmt::Debug + Default + Clone + PartialEq + ::serde::Serialize + ::validator::Validate,
> {
#[validate]
#[serde(rename = "BalFr")]
pub bal_fr: CashSubBalanceTypeAndQuantityBreakdown3,
#[validate]
#[serde(rename = "BalTo")]
pub bal_to: CashSubBalanceTypeAndQuantityBreakdown3,
#[serde(rename = "SttlmAmt")]
pub sttlm_amt: Amount2Choice,
#[serde(rename = "SttldAmt", skip_serializing_if = "Option::is_none")]
pub sttld_amt: Option<Amount2Choice>,
#[serde(rename = "PrevslySttldAmt", skip_serializing_if = "Option::is_none")]
pub prevsly_sttld_amt: Option<Amount2Choice>,
#[serde(rename = "RmngSttlmAmt", skip_serializing_if = "Option::is_none")]
pub rmng_sttlm_amt: Option<Amount2Choice>,
#[serde(rename = "IntnddSttlmDt")]
pub intndd_sttlm_dt: DateAndDateTime2Choice,
#[serde(rename = "FctvSttlmDt", skip_serializing_if = "Option::is_none")]
pub fctv_sttlm_dt: Option<DateAndDateTime2Choice>,
#[serde(rename = "StsDt", skip_serializing_if = "Option::is_none")]
pub sts_dt: Option<IsoDateTime>,
#[serde(rename = "CshSubBalId", skip_serializing_if = "Option::is_none")]
pub csh_sub_bal_id: Option<GenericIdentification37>,
#[validate(length(min = 0,))]
#[serde(rename = "Lnkgs", default)]
pub lnkgs: Vec<Linkages57>,
#[serde(rename = "Prty", skip_serializing_if = "Option::is_none")]
pub prty: Option<PriorityNumeric4Choice>,
#[serde(rename = "MsgOrgtr", skip_serializing_if = "Option::is_none")]
pub msg_orgtr: Option<SystemPartyIdentification8>,
#[validate]
#[serde(rename = "CreDtTm")]
pub cre_dt_tm: IsoDateTime,
#[serde(rename = "InstrPrcgAddtlDtls", skip_serializing_if = "Option::is_none")]
pub instr_prcg_addtl_dtls: Option<Max350Text>,
#[validate(length(min = 0,))]
#[serde(rename = "SplmtryData", default)]
pub splmtry_data: Vec<SupplementaryData1<A>>,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
pub enum NoReasonCode {
#[serde(rename = "NORE")]
Nore,
#[default]
Unknown,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct GenericAccountIdentification1 {
#[validate]
#[serde(rename = "Id")]
pub id: Max34Text,
#[serde(rename = "SchmeNm", skip_serializing_if = "Option::is_none")]
pub schme_nm: Option<AccountSchemeName1Choice>,
#[serde(rename = "Issr", skip_serializing_if = "Option::is_none")]
pub issr: Option<Max35Text>,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct ProcessingStatus67ChoiceEnum {
#[serde(rename = "Rjctd", skip_serializing_if = "Option::is_none")]
pub rjctd: Option<RejectionOrRepairStatus38Choice>,
#[serde(rename = "Rpr", skip_serializing_if = "Option::is_none")]
pub rpr: Option<RejectionOrRepairStatus38Choice>,
#[serde(rename = "AckdAccptd", skip_serializing_if = "Option::is_none")]
pub ackd_accptd: Option<AcknowledgedAcceptedStatus21Choice>,
#[serde(rename = "Prtry", skip_serializing_if = "Option::is_none")]
pub prtry: Option<ProprietaryStatusAndReason6>,
#[serde(rename = "Canc", skip_serializing_if = "Option::is_none")]
pub canc: Option<CancellationStatus14Choice>,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct ProcessingStatus67Choice {
#[serde(flatten)]
pub value: ProcessingStatus67ChoiceEnum,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct GenericFinancialIdentification1 {
#[validate]
#[serde(rename = "Id")]
pub id: Max35Text,
#[serde(rename = "SchmeNm", skip_serializing_if = "Option::is_none")]
pub schme_nm: Option<FinancialIdentificationSchemeName1Choice>,
#[serde(rename = "Issr", skip_serializing_if = "Option::is_none")]
pub issr: Option<Max35Text>,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct SystemPartyIdentification8 {
#[validate]
#[serde(rename = "Id")]
pub id: PartyIdentification136,
#[serde(rename = "RspnsblPtyId", skip_serializing_if = "Option::is_none")]
pub rspnsbl_pty_id: Option<PartyIdentification136>,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
pub enum RejectionReason33Code {
#[serde(rename = "CASH")]
Cash,
#[serde(rename = "ADEA")]
Adea,
#[serde(rename = "DMON")]
Dmon,
#[serde(rename = "NCRR")]
Ncrr,
#[serde(rename = "LATE")]
Late,
#[serde(rename = "INVL")]
Invl,
#[serde(rename = "INVB")]
Invb,
#[serde(rename = "INVN")]
Invn,
#[serde(rename = "VALR")]
Valr,
#[serde(rename = "MONY")]
Mony,
#[serde(rename = "CAEV")]
Caev,
#[serde(rename = "DDAT")]
Ddat,
#[serde(rename = "REFE")]
Refe,
#[serde(rename = "OTHR")]
Othr,
#[serde(rename = "DQUA")]
Dqua,
#[serde(rename = "DSEC")]
Dsec,
#[serde(rename = "MINO")]
Mino,
#[serde(rename = "MUNO")]
Muno,
#[default]
Unknown,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct GenericIdentification30 {
#[validate]
#[serde(rename = "Id")]
pub id: Exact4AlphaNumericText,
#[validate]
#[serde(rename = "Issr")]
pub issr: Max35Text,
#[serde(rename = "SchmeNm", skip_serializing_if = "Option::is_none")]
pub schme_nm: Option<Max35Text>,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct ExternalSystemErrorHandling1Code {
#[validate(length(min = 1, max = 4,))]
#[serde(rename = "$text")]
pub value: String,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct MovementReport1 {
#[serde(rename = "QryRef", skip_serializing_if = "Option::is_none")]
pub qry_ref: Option<Max35Text>,
#[serde(rename = "RptId", skip_serializing_if = "Option::is_none")]
pub rpt_id: Option<Max35Text>,
#[serde(rename = "QryTp")]
pub qry_tp: MovementResponseType1Code,
#[validate]
#[serde(rename = "ActvtyInd")]
pub actvty_ind: YesNoIndicator,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct PendingReason14 {
#[serde(rename = "Cd")]
pub cd: PendingReason26Choice,
#[serde(rename = "AddtlRsnInf", skip_serializing_if = "Option::is_none")]
pub addtl_rsn_inf: Option<Max210Text>,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct CountryCode {
#[validate(regex = "COUNTRY_CODE_REGEX")]
#[serde(rename = "$text")]
pub value: String,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct RejectionOrRepairReason32 {
#[validate(length(min = 0,))]
#[serde(rename = "Cd", default)]
pub cd: Vec<RejectionAndRepairReason32Choice>,
#[serde(rename = "AddtlRsnInf", skip_serializing_if = "Option::is_none")]
pub addtl_rsn_inf: Option<Max210Text>,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct ExternalAccountIdentification1Code {
#[validate(length(min = 1, max = 4,))]
#[serde(rename = "$text")]
pub value: String,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct Iban2007Identifier {
#[validate(regex = "IBAN_2007_IDENTIFIER_REGEX")]
#[serde(rename = "$text")]
pub value: String,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct References34ChoiceEnum {
#[serde(rename = "IntraPosMvmntId", skip_serializing_if = "Option::is_none")]
pub intra_pos_mvmnt_id: Option<Max35Text>,
#[serde(rename = "AcctSvcrTxId", skip_serializing_if = "Option::is_none")]
pub acct_svcr_tx_id: Option<Max35Text>,
#[serde(rename = "PoolId", skip_serializing_if = "Option::is_none")]
pub pool_id: Option<Max35Text>,
#[serde(rename = "SctiesSttlmTxId", skip_serializing_if = "Option::is_none")]
pub scties_sttlm_tx_id: Option<Max35Text>,
#[serde(rename = "OthrTxId", skip_serializing_if = "Option::is_none")]
pub othr_tx_id: Option<Max35Text>,
#[serde(rename = "IntraBalMvmntId", skip_serializing_if = "Option::is_none")]
pub intra_bal_mvmnt_id: Option<Max35Text>,
#[serde(rename = "MktInfrstrctrTxId", skip_serializing_if = "Option::is_none")]
pub mkt_infrstrctr_tx_id: Option<Max35Text>,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct References34Choice {
#[serde(flatten)]
pub value: References34ChoiceEnum,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct ExternalCashAccountType1Code {
#[validate(length(min = 1, max = 4,))]
#[serde(rename = "$text")]
pub value: String,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct PendingStatus36ChoiceEnum {
#[serde(rename = "NoSpcfdRsn", skip_serializing_if = "Option::is_none")]
pub no_spcfd_rsn: Option<NoReasonCode>,
#[serde(rename = "Rsn", skip_serializing_if = "Option::is_none")]
pub rsn: Option<PendingReason14>,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct PendingStatus36Choice {
#[serde(flatten)]
pub value: PendingStatus36ChoiceEnum,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct DecimalNumber {
#[serde(rename = "$text")]
pub value: f64,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct PendingReason26ChoiceEnum {
#[serde(rename = "Cd", skip_serializing_if = "Option::is_none")]
pub cd: Option<PendingReason10Code>,
#[serde(rename = "Prtry", skip_serializing_if = "Option::is_none")]
pub prtry: Option<GenericIdentification30>,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct PendingReason26Choice {
#[serde(flatten)]
pub value: PendingReason26ChoiceEnum,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct FinancialIdentificationSchemeName1ChoiceEnum {
#[serde(rename = "Cd", skip_serializing_if = "Option::is_none")]
pub cd: Option<ExternalFinancialInstitutionIdentification1Code>,
#[serde(rename = "Prtry", skip_serializing_if = "Option::is_none")]
pub prtry: Option<Max35Text>,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct FinancialIdentificationSchemeName1Choice {
#[serde(flatten)]
pub value: FinancialIdentificationSchemeName1ChoiceEnum,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct CashSubBalanceTypeAndQuantityBreakdown3 {
#[serde(rename = "Tp")]
pub tp: CashBalanceType3Choice,
#[validate(length(min = 0,))]
#[serde(rename = "QtyBrkdwn", default)]
pub qty_brkdwn: Vec<AmountAndQuantityBreakdown1>,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct DocumentNumber5ChoiceEnum {
#[serde(rename = "ShrtNb", skip_serializing_if = "Option::is_none")]
pub shrt_nb: Option<Exact3NumericText>,
#[serde(rename = "LngNb", skip_serializing_if = "Option::is_none")]
pub lng_nb: Option<Iso20022MessageIdentificationText>,
#[serde(rename = "PrtryNb", skip_serializing_if = "Option::is_none")]
pub prtry_nb: Option<GenericIdentification36>,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct DocumentNumber5Choice {
#[serde(flatten)]
pub value: DocumentNumber5ChoiceEnum,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct PartyIdentification120ChoiceEnum {
#[serde(rename = "NmAndAdr", skip_serializing_if = "Option::is_none")]
pub nm_and_adr: Option<NameAndAddress5>,
#[serde(rename = "PrtryId", skip_serializing_if = "Option::is_none")]
pub prtry_id: Option<GenericIdentification36>,
#[serde(rename = "AnyBIC", skip_serializing_if = "Option::is_none")]
pub any_bic: Option<AnyBicDec2014Identifier>,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct PartyIdentification120Choice {
#[serde(flatten)]
pub value: PartyIdentification120ChoiceEnum,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct ClearingSystemMemberIdentification2 {
#[serde(rename = "ClrSysId", skip_serializing_if = "Option::is_none")]
pub clr_sys_id: Option<ClearingSystemIdentification2Choice>,
#[validate]
#[serde(rename = "MmbId")]
pub mmb_id: Max35Text,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct PartyIdentification136 {
#[serde(rename = "Id")]
pub id: PartyIdentification120Choice,
#[serde(rename = "LEI", skip_serializing_if = "Option::is_none")]
pub lei: Option<LeiIdentifier>,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
pub enum MovementResponseType1Code {
#[serde(rename = "FULL")]
Full,
#[serde(rename = "STTS")]
Stts,
#[default]
Unknown,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct AnyBicDec2014Identifier {
#[validate(regex = "ANY_BIC_DEC_2014_IDENTIFIER_REGEX")]
#[serde(rename = "$text")]
pub value: String,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
pub enum CancelledStatusReason13Code {
#[serde(rename = "CANI")]
Cani,
#[serde(rename = "CANS")]
Cans,
#[serde(rename = "CSUB")]
Csub,
#[serde(rename = "CXLR")]
Cxlr,
#[serde(rename = "CANT")]
Cant,
#[serde(rename = "CANZ")]
Canz,
#[serde(rename = "CORP")]
Corp,
#[serde(rename = "SCEX")]
Scex,
#[serde(rename = "OTHR")]
Othr,
#[serde(rename = "CTHP")]
Cthp,
#[default]
Unknown,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct AcknowledgedAcceptedStatus21ChoiceEnum {
#[serde(rename = "Rsn", skip_serializing_if = "Option::is_none")]
pub rsn: Option<AcknowledgementReason9>,
#[serde(rename = "NoSpcfdRsn", skip_serializing_if = "Option::is_none")]
pub no_spcfd_rsn: Option<NoReasonCode>,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct AcknowledgedAcceptedStatus21Choice {
#[serde(flatten)]
pub value: AcknowledgedAcceptedStatus21ChoiceEnum,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct AmountAndDirection5 {
#[validate]
#[serde(rename = "Amt")]
pub amt: ActiveCurrencyAndAmount,
#[serde(rename = "CdtDbt", skip_serializing_if = "Option::is_none")]
pub cdt_dbt: Option<CreditDebitCode>,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct ErrorHandling3ChoiceEnum {
#[serde(rename = "Prtry", skip_serializing_if = "Option::is_none")]
pub prtry: Option<Max35Text>,
#[serde(rename = "Cd", skip_serializing_if = "Option::is_none")]
pub cd: Option<ExternalSystemErrorHandling1Code>,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct ErrorHandling3Choice {
#[serde(flatten)]
pub value: ErrorHandling3ChoiceEnum,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct PartyIdentification127ChoiceEnum {
#[serde(rename = "PrtryId", skip_serializing_if = "Option::is_none")]
pub prtry_id: Option<GenericIdentification36>,
#[serde(rename = "AnyBIC", skip_serializing_if = "Option::is_none")]
pub any_bic: Option<AnyBicDec2014Identifier>,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct PartyIdentification127Choice {
#[serde(flatten)]
pub value: PartyIdentification127ChoiceEnum,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct ProcessingPosition7ChoiceEnum {
#[serde(rename = "Prtry", skip_serializing_if = "Option::is_none")]
pub prtry: Option<GenericIdentification30>,
#[serde(rename = "Cd", skip_serializing_if = "Option::is_none")]
pub cd: Option<ProcessingPosition3Code>,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct ProcessingPosition7Choice {
#[serde(flatten)]
pub value: ProcessingPosition7ChoiceEnum,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct AcknowledgementReason12ChoiceEnum {
#[serde(rename = "Cd", skip_serializing_if = "Option::is_none")]
pub cd: Option<AcknowledgementReason5Code>,
#[serde(rename = "Prtry", skip_serializing_if = "Option::is_none")]
pub prtry: Option<GenericIdentification30>,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct AcknowledgementReason12Choice {
#[serde(flatten)]
pub value: AcknowledgementReason12ChoiceEnum,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct CancellationStatus14ChoiceEnum {
#[serde(rename = "NoSpcfdRsn", skip_serializing_if = "Option::is_none")]
pub no_spcfd_rsn: Option<NoReasonCode>,
#[serde(rename = "Rsn", skip_serializing_if = "Option::is_none")]
pub rsn: Option<CancellationReason9>,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct CancellationStatus14Choice {
#[serde(flatten)]
pub value: CancellationStatus14ChoiceEnum,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct ExternalClearingSystemIdentification1Code {
#[validate(length(min = 1, max = 5,))]
#[serde(rename = "$text")]
pub value: String,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
pub enum PendingReason10Code {
#[serde(rename = "AWMO")]
Awmo,
#[serde(rename = "ADEA")]
Adea,
#[serde(rename = "CAIS")]
Cais,
#[serde(rename = "REFU")]
Refu,
#[serde(rename = "AWSH")]
Awsh,
#[serde(rename = "PHSE")]
Phse,
#[serde(rename = "TAMM")]
Tamm,
#[serde(rename = "DOCY")]
Docy,
#[serde(rename = "DOCC")]
Docc,
#[serde(rename = "BLOC")]
Bloc,
#[serde(rename = "CHAS")]
Chas,
#[serde(rename = "NEWI")]
Newi,
#[serde(rename = "CLAC")]
Clac,
#[serde(rename = "MUNO")]
Muno,
#[serde(rename = "GLOB")]
Glob,
#[serde(rename = "PREA")]
Prea,
#[serde(rename = "PART")]
Part,
#[serde(rename = "NMAS")]
Nmas,
#[serde(rename = "NOFX")]
Nofx,
#[serde(rename = "CMON")]
Cmon,
#[serde(rename = "YCOL")]
Ycol,
#[serde(rename = "COLL")]
Coll,
#[serde(rename = "DEPO")]
Depo,
#[serde(rename = "FLIM")]
Flim,
#[serde(rename = "INCA")]
Inca,
#[serde(rename = "LINK")]
Link,
#[serde(rename = "FUTU")]
Futu,
#[serde(rename = "LACK")]
Lack,
#[serde(rename = "LALO")]
Lalo,
#[serde(rename = "MONY")]
Mony,
#[serde(rename = "NCON")]
Ncon,
#[serde(rename = "REFS")]
Refs,
#[serde(rename = "SDUT")]
Sdut,
#[serde(rename = "BATC")]
Batc,
#[serde(rename = "CYCL")]
Cycl,
#[serde(rename = "SBLO")]
Sblo,
#[serde(rename = "CPEC")]
Cpec,
#[serde(rename = "MINO")]
Mino,
#[serde(rename = "IAAD")]
Iaad,
#[serde(rename = "OTHR")]
Othr,
#[serde(rename = "PHCK")]
Phck,
#[serde(rename = "BENO")]
Beno,
#[serde(rename = "BOTH")]
Both,
#[serde(rename = "CLHT")]
Clht,
#[serde(rename = "DENO")]
Deno,
#[serde(rename = "DISA")]
Disa,
#[serde(rename = "DKNY")]
Dkny,
#[serde(rename = "FROZ")]
Froz,
#[serde(rename = "LAAW")]
Laaw,
#[serde(rename = "LATE")]
Late,
#[serde(rename = "LIQU")]
Liqu,
#[serde(rename = "PRCY")]
Prcy,
#[serde(rename = "REGT")]
Regt,
#[serde(rename = "SETS")]
Sets,
#[serde(rename = "CERT")]
Cert,
#[serde(rename = "PRSY")]
Prsy,
#[serde(rename = "INBC")]
Inbc,
#[default]
Unknown,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct PostalAddress24 {
#[serde(rename = "AdrTp", skip_serializing_if = "Option::is_none")]
pub adr_tp: Option<AddressType3Choice>,
#[serde(rename = "Dept", skip_serializing_if = "Option::is_none")]
pub dept: Option<Max70Text>,
#[serde(rename = "SubDept", skip_serializing_if = "Option::is_none")]
pub sub_dept: Option<Max70Text>,
#[serde(rename = "StrtNm", skip_serializing_if = "Option::is_none")]
pub strt_nm: Option<Max70Text>,
#[serde(rename = "BldgNb", skip_serializing_if = "Option::is_none")]
pub bldg_nb: Option<Max16Text>,
#[serde(rename = "BldgNm", skip_serializing_if = "Option::is_none")]
pub bldg_nm: Option<Max35Text>,
#[serde(rename = "Flr", skip_serializing_if = "Option::is_none")]
pub flr: Option<Max70Text>,
#[serde(rename = "PstBx", skip_serializing_if = "Option::is_none")]
pub pst_bx: Option<Max16Text>,
#[serde(rename = "Room", skip_serializing_if = "Option::is_none")]
pub room: Option<Max70Text>,
#[serde(rename = "PstCd", skip_serializing_if = "Option::is_none")]
pub pst_cd: Option<Max16Text>,
#[serde(rename = "TwnNm", skip_serializing_if = "Option::is_none")]
pub twn_nm: Option<Max35Text>,
#[serde(rename = "TwnLctnNm", skip_serializing_if = "Option::is_none")]
pub twn_lctn_nm: Option<Max35Text>,
#[serde(rename = "DstrctNm", skip_serializing_if = "Option::is_none")]
pub dstrct_nm: Option<Max35Text>,
#[serde(rename = "CtrySubDvsn", skip_serializing_if = "Option::is_none")]
pub ctry_sub_dvsn: Option<Max35Text>,
#[serde(rename = "Ctry", skip_serializing_if = "Option::is_none")]
pub ctry: Option<CountryCode>,
#[validate(length(min = 0, max = 7,))]
#[serde(rename = "AdrLine", default)]
pub adr_line: Vec<Max70Text>,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct Amount2ChoiceEnum {
#[serde(rename = "AmtWthtCcy", skip_serializing_if = "Option::is_none")]
pub amt_wtht_ccy: Option<ImpliedCurrencyAndAmount>,
#[serde(rename = "AmtWthCcy", skip_serializing_if = "Option::is_none")]
pub amt_wth_ccy: Option<ActiveCurrencyAndAmount>,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct Amount2Choice {
#[serde(flatten)]
pub value: Amount2ChoiceEnum,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct IsoDate {
#[serde(rename = "$text")]
pub value: ::chrono::NaiveDate,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct CashAccountType2ChoiceEnum {
#[serde(rename = "Cd", skip_serializing_if = "Option::is_none")]
pub cd: Option<ExternalCashAccountType1Code>,
#[serde(rename = "Prtry", skip_serializing_if = "Option::is_none")]
pub prtry: Option<Max35Text>,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct CashAccountType2Choice {
#[serde(flatten)]
pub value: CashAccountType2ChoiceEnum,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
pub enum CopyDuplicate1Code {
#[serde(rename = "CODU")]
Codu,
#[serde(rename = "COPY")]
Copy,
#[serde(rename = "DUPL")]
Dupl,
#[default]
Unknown,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct ErrorHandling5 {
#[serde(rename = "Err")]
pub err: ErrorHandling3Choice,
#[serde(rename = "Desc", skip_serializing_if = "Option::is_none")]
pub desc: Option<Max140Text>,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
pub enum AcknowledgementReason5Code {
#[serde(rename = "ADEA")]
Adea,
#[serde(rename = "SMPG")]
Smpg,
#[serde(rename = "OTHR")]
Othr,
#[serde(rename = "CDCY")]
Cdcy,
#[serde(rename = "CDRG")]
Cdrg,
#[serde(rename = "CDRE")]
Cdre,
#[serde(rename = "NSTP")]
Nstp,
#[serde(rename = "RQWV")]
Rqwv,
#[serde(rename = "LATE")]
Late,
#[default]
Unknown,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct Max2048Text {
#[validate(length(min = 1, max = 2048,))]
#[serde(rename = "$text")]
pub value: String,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
pub enum ProcessingPosition3Code {
#[serde(rename = "AFTE")]
Afte,
#[serde(rename = "WITH")]
With,
#[serde(rename = "BEFO")]
Befo,
#[serde(rename = "INFO")]
Info,
#[default]
Unknown,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct ActiveCurrencyAndAmountSimpleType {
#[validate(range(min = 0,))]
#[serde(rename = "$text")]
pub value: f64,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct ProprietaryReason4 {
#[serde(rename = "Rsn", skip_serializing_if = "Option::is_none")]
pub rsn: Option<GenericIdentification30>,
#[serde(rename = "AddtlRsnInf", skip_serializing_if = "Option::is_none")]
pub addtl_rsn_inf: Option<Max210Text>,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct SupplementaryData1<
A: std::fmt::Debug + Default + Clone + PartialEq + ::serde::Serialize + ::validator::Validate,
> {
#[serde(rename = "PlcAndNm", skip_serializing_if = "Option::is_none")]
pub plc_and_nm: Option<Max350Text>,
#[validate]
#[serde(rename = "Envlp")]
pub envlp: SupplementaryDataEnvelope1<A>,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct Exact4AlphaNumericText {
#[validate(regex = "EXACT_4_ALPHA_NUMERIC_TEXT_REGEX")]
#[serde(rename = "$text")]
pub value: String,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct PriorityNumeric4ChoiceEnum {
#[serde(rename = "Prtry", skip_serializing_if = "Option::is_none")]
pub prtry: Option<GenericIdentification30>,
#[serde(rename = "Nmrc", skip_serializing_if = "Option::is_none")]
pub nmrc: Option<Exact4NumericText>,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct PriorityNumeric4Choice {
#[serde(flatten)]
pub value: PriorityNumeric4ChoiceEnum,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct ProxyAccountIdentification1 {
#[serde(rename = "Tp", skip_serializing_if = "Option::is_none")]
pub tp: Option<ProxyAccountType1Choice>,
#[validate]
#[serde(rename = "Id")]
pub id: Max2048Text,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct ExternalBalanceType1Code {
#[validate(length(min = 1, max = 4,))]
#[serde(rename = "$text")]
pub value: String,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct ProxyAccountType1ChoiceEnum {
#[serde(rename = "Cd", skip_serializing_if = "Option::is_none")]
pub cd: Option<ExternalProxyAccountType1Code>,
#[serde(rename = "Prtry", skip_serializing_if = "Option::is_none")]
pub prtry: Option<Max35Text>,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct ProxyAccountType1Choice {
#[serde(flatten)]
pub value: ProxyAccountType1ChoiceEnum,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct AccountSchemeName1ChoiceEnum {
#[serde(rename = "Cd", skip_serializing_if = "Option::is_none")]
pub cd: Option<ExternalAccountIdentification1Code>,
#[serde(rename = "Prtry", skip_serializing_if = "Option::is_none")]
pub prtry: Option<Max35Text>,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct AccountSchemeName1Choice {
#[serde(flatten)]
pub value: AccountSchemeName1ChoiceEnum,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct IntraBalanceMovement5<
A: std::fmt::Debug + Default + Clone + PartialEq + ::serde::Serialize + ::validator::Validate,
> {
#[serde(rename = "CshAcct", skip_serializing_if = "Option::is_none")]
pub csh_acct: Option<CashAccount38>,
#[serde(rename = "CshAcctOwnr", skip_serializing_if = "Option::is_none")]
pub csh_acct_ownr: Option<SystemPartyIdentification8>,
#[serde(rename = "CshAcctSvcr", skip_serializing_if = "Option::is_none")]
pub csh_acct_svcr: Option<BranchAndFinancialInstitutionIdentification6>,
#[serde(rename = "StsAndRsn", skip_serializing_if = "Option::is_none")]
pub sts_and_rsn: Option<IntraBalanceStatusAndReason2>,
#[validate]
#[serde(rename = "AcctOwnrTxId")]
pub acct_ownr_tx_id: Max35Text,
#[serde(rename = "AcctSvcrTxId", skip_serializing_if = "Option::is_none")]
pub acct_svcr_tx_id: Option<Max35Text>,
#[serde(rename = "MktInfrstrctrTxId", skip_serializing_if = "Option::is_none")]
pub mkt_infrstrctr_tx_id: Option<Max35Text>,
#[serde(rename = "PrcrTxId", skip_serializing_if = "Option::is_none")]
pub prcr_tx_id: Option<Max35Text>,
#[serde(rename = "PoolId", skip_serializing_if = "Option::is_none")]
pub pool_id: Option<Max35Text>,
#[serde(rename = "CorpActnEvtId", skip_serializing_if = "Option::is_none")]
pub corp_actn_evt_id: Option<Max35Text>,
#[serde(rename = "MvmntDtls", skip_serializing_if = "Option::is_none")]
pub mvmnt_dtls: Option<IntraBalanceMovement6<A>>,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct GenericIdentification37 {
#[validate]
#[serde(rename = "Id")]
pub id: Max35Text,
#[serde(rename = "Issr", skip_serializing_if = "Option::is_none")]
pub issr: Option<Max35Text>,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct CancellationReason19ChoiceEnum {
#[serde(rename = "Cd", skip_serializing_if = "Option::is_none")]
pub cd: Option<CancelledStatusReason13Code>,
#[serde(rename = "Prtry", skip_serializing_if = "Option::is_none")]
pub prtry: Option<GenericIdentification30>,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct CancellationReason19Choice {
#[serde(flatten)]
pub value: CancellationReason19ChoiceEnum,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct Max16Text {
#[validate(length(min = 1, max = 16,))]
#[serde(rename = "$text")]
pub value: String,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct Exact4NumericText {
#[validate(regex = "EXACT_4_NUMERIC_TEXT_REGEX")]
#[serde(rename = "$text")]
pub value: String,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct BicfiDec2014Identifier {
#[validate(regex = "BICFI_DEC_2014_IDENTIFIER_REGEX")]
#[serde(rename = "$text")]
pub value: String,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct ImpliedCurrencyAndAmount {
#[validate(range(min = 0,))]
#[serde(rename = "$text")]
pub value: f64,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct FailingReason7ChoiceEnum {
#[serde(rename = "Cd", skip_serializing_if = "Option::is_none")]
pub cd: Option<FailingReason3Code>,
#[serde(rename = "Prtry", skip_serializing_if = "Option::is_none")]
pub prtry: Option<GenericIdentification30>,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct FailingReason7Choice {
#[serde(flatten)]
pub value: FailingReason7ChoiceEnum,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct Max35Text {
#[validate(length(min = 1, max = 35,))]
#[serde(rename = "$text")]
pub value: String,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct RejectionAndRepairReason32ChoiceEnum {
#[serde(rename = "Prtry", skip_serializing_if = "Option::is_none")]
pub prtry: Option<GenericIdentification30>,
#[serde(rename = "Cd", skip_serializing_if = "Option::is_none")]
pub cd: Option<RejectionReason33Code>,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct RejectionAndRepairReason32Choice {
#[serde(flatten)]
pub value: RejectionAndRepairReason32ChoiceEnum,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
#[serde(rename = "Document")]
pub struct Document<
A: std::fmt::Debug + Default + Clone + PartialEq + ::serde::Serialize + ::validator::Validate,
> {
#[validate]
#[serde(rename = "IntraBalMvmntQryRspn")]
pub intra_bal_mvmnt_qry_rspn: IntraBalanceMovementQueryResponseV01<A>,
#[serde(rename = "@xmlns", default = "namespace")]
pub xmlns: String,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct CancellationReason9 {
#[serde(rename = "Cd")]
pub cd: CancellationReason19Choice,
#[serde(rename = "AddtlRsnInf", skip_serializing_if = "Option::is_none")]
pub addtl_rsn_inf: Option<Max210Text>,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct LeiIdentifier {
#[validate(regex = "LEI_IDENTIFIER_REGEX")]
#[serde(rename = "$text")]
pub value: String,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct Max70Text {
#[validate(length(min = 1, max = 70,))]
#[serde(rename = "$text")]
pub value: String,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct FinancialInstrumentQuantity1ChoiceEnum {
#[serde(rename = "FaceAmt", skip_serializing_if = "Option::is_none")]
pub face_amt: Option<ImpliedCurrencyAndAmount>,
#[serde(rename = "AmtsdVal", skip_serializing_if = "Option::is_none")]
pub amtsd_val: Option<ImpliedCurrencyAndAmount>,
#[serde(rename = "Unit", skip_serializing_if = "Option::is_none")]
pub unit: Option<DecimalNumber>,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct FinancialInstrumentQuantity1Choice {
#[serde(flatten)]
pub value: FinancialInstrumentQuantity1ChoiceEnum,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct FailingStatus9ChoiceEnum {
#[serde(rename = "Rsn", skip_serializing_if = "Option::is_none")]
pub rsn: Option<FailingReason7>,
#[serde(rename = "NoSpcfdRsn", skip_serializing_if = "Option::is_none")]
pub no_spcfd_rsn: Option<NoReasonCode>,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct FailingStatus9Choice {
#[serde(flatten)]
pub value: FailingStatus9ChoiceEnum,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct Max34Text {
#[validate(length(min = 1, max = 34,))]
#[serde(rename = "$text")]
pub value: String,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct AccountIdentification4ChoiceEnum {
#[serde(rename = "IBAN", skip_serializing_if = "Option::is_none")]
pub iban: Option<Iban2007Identifier>,
#[serde(rename = "Othr", skip_serializing_if = "Option::is_none")]
pub othr: Option<GenericAccountIdentification1>,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct AccountIdentification4Choice {
#[serde(flatten)]
pub value: AccountIdentification4ChoiceEnum,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct Max350Text {
#[validate(length(min = 1, max = 350,))]
#[serde(rename = "$text")]
pub value: String,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct BranchAndFinancialInstitutionIdentification6 {
#[validate]
#[serde(rename = "FinInstnId")]
pub fin_instn_id: FinancialInstitutionIdentification18,
#[serde(rename = "BrnchId", skip_serializing_if = "Option::is_none")]
pub brnch_id: Option<BranchData3>,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct FailingReason7 {
#[serde(rename = "Cd")]
pub cd: FailingReason7Choice,
#[serde(rename = "AddtlRsnInf", skip_serializing_if = "Option::is_none")]
pub addtl_rsn_inf: Option<Max210Text>,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct DateAndDateTime2ChoiceEnum {
#[serde(rename = "Dt", skip_serializing_if = "Option::is_none")]
pub dt: Option<IsoDate>,
#[serde(rename = "DtTm", skip_serializing_if = "Option::is_none")]
pub dt_tm: Option<IsoDateTime>,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct DateAndDateTime2Choice {
#[serde(flatten)]
pub value: DateAndDateTime2ChoiceEnum,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct ActiveOrHistoricCurrencyCode {
#[validate(regex = "ACTIVE_OR_HISTORIC_CURRENCY_CODE_REGEX")]
#[serde(rename = "$text")]
pub value: String,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct CashBalanceType3ChoiceEnum {
#[serde(rename = "Prtry", skip_serializing_if = "Option::is_none")]
pub prtry: Option<GenericIdentification30>,
#[serde(rename = "Cd", skip_serializing_if = "Option::is_none")]
pub cd: Option<ExternalBalanceType1Code>,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct CashBalanceType3Choice {
#[serde(flatten)]
pub value: CashBalanceType3ChoiceEnum,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct ClearingSystemIdentification2ChoiceEnum {
#[serde(rename = "Prtry", skip_serializing_if = "Option::is_none")]
pub prtry: Option<Max35Text>,
#[serde(rename = "Cd", skip_serializing_if = "Option::is_none")]
pub cd: Option<ExternalClearingSystemIdentification1Code>,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct ClearingSystemIdentification2Choice {
#[serde(flatten)]
pub value: ClearingSystemIdentification2ChoiceEnum,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct ActiveCurrencyCode {
#[validate(regex = "ACTIVE_CURRENCY_CODE_REGEX")]
#[serde(rename = "$text")]
pub value: String,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct AcknowledgementReason9 {
#[serde(rename = "Cd")]
pub cd: AcknowledgementReason12Choice,
#[serde(rename = "AddtlRsnInf", skip_serializing_if = "Option::is_none")]
pub addtl_rsn_inf: Option<Max210Text>,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct CashAccount38 {
#[serde(rename = "Id")]
pub id: AccountIdentification4Choice,
#[serde(rename = "Tp", skip_serializing_if = "Option::is_none")]
pub tp: Option<CashAccountType2Choice>,
#[serde(rename = "Ccy", skip_serializing_if = "Option::is_none")]
pub ccy: Option<ActiveOrHistoricCurrencyCode>,
#[serde(rename = "Nm", skip_serializing_if = "Option::is_none")]
pub nm: Option<Max70Text>,
#[serde(rename = "Prxy", skip_serializing_if = "Option::is_none")]
pub prxy: Option<ProxyAccountIdentification1>,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct IntraBalanceOrOperationalError7ChoiceEnum<
A: std::fmt::Debug + Default + Clone + PartialEq + ::serde::Serialize + ::validator::Validate,
> {
#[serde(rename = "Mvmnts", skip_serializing_if = "Option::is_none")]
pub mvmnts: Option<IntraBalanceMovements3<A>>,
#[serde(rename = "OprlErr", skip_serializing_if = "Option::is_none")]
pub oprl_err: Option<ErrorHandling5>,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct IntraBalanceOrOperationalError7Choice<
A: std::fmt::Debug + Default + Clone + PartialEq + ::serde::Serialize + ::validator::Validate,
> {
#[serde(flatten)]
pub value: IntraBalanceOrOperationalError7ChoiceEnum<A>,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct YesNoIndicator {
#[serde(rename = "$text")]
pub value: bool,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
pub enum CreditDebitCode {
#[serde(rename = "CRDT")]
Crdt,
#[serde(rename = "DBIT")]
Dbit,
#[default]
Unknown,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
pub enum AddressType2Code {
#[serde(rename = "ADDR")]
Addr,
#[serde(rename = "PBOX")]
Pbox,
#[serde(rename = "HOME")]
Home,
#[serde(rename = "BIZZ")]
Bizz,
#[serde(rename = "MLTO")]
Mlto,
#[serde(rename = "DLVY")]
Dlvy,
#[default]
Unknown,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct DocumentIdentification51 {
#[validate]
#[serde(rename = "Id")]
pub id: Max35Text,
#[serde(rename = "CreDtTm", skip_serializing_if = "Option::is_none")]
pub cre_dt_tm: Option<DateAndDateTime2Choice>,
#[serde(rename = "CpyDplct", skip_serializing_if = "Option::is_none")]
pub cpy_dplct: Option<CopyDuplicate1Code>,
#[serde(rename = "MsgOrgtr", skip_serializing_if = "Option::is_none")]
pub msg_orgtr: Option<PartyIdentification136>,
#[serde(rename = "MsgRcpt", skip_serializing_if = "Option::is_none")]
pub msg_rcpt: Option<PartyIdentification136>,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct BranchData3 {
#[serde(rename = "Id", skip_serializing_if = "Option::is_none")]
pub id: Option<Max35Text>,
#[serde(rename = "LEI", skip_serializing_if = "Option::is_none")]
pub lei: Option<LeiIdentifier>,
#[serde(rename = "Nm", skip_serializing_if = "Option::is_none")]
pub nm: Option<Max140Text>,
#[serde(rename = "PstlAdr", skip_serializing_if = "Option::is_none")]
pub pstl_adr: Option<PostalAddress24>,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct ExternalProxyAccountType1Code {
#[validate(length(min = 1, max = 4,))]
#[serde(rename = "$text")]
pub value: String,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct Exact3NumericText {
#[validate(regex = "EXACT_3_NUMERIC_TEXT_REGEX")]
#[serde(rename = "$text")]
pub value: String,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
pub enum FailingReason3Code {
#[serde(rename = "AWMO")]
Awmo,
#[serde(rename = "BYIY")]
Byiy,
#[serde(rename = "CLAT")]
Clat,
#[serde(rename = "ADEA")]
Adea,
#[serde(rename = "CANR")]
Canr,
#[serde(rename = "CAIS")]
Cais,
#[serde(rename = "OBJT")]
Objt,
#[serde(rename = "AWSH")]
Awsh,
#[serde(rename = "PHSE")]
Phse,
#[serde(rename = "STCD")]
Stcd,
#[serde(rename = "DOCY")]
Docy,
#[serde(rename = "MLAT")]
Mlat,
#[serde(rename = "DOCC")]
Docc,
#[serde(rename = "BLOC")]
Bloc,
#[serde(rename = "CHAS")]
Chas,
#[serde(rename = "NEWI")]
Newi,
#[serde(rename = "CLAC")]
Clac,
#[serde(rename = "MUNO")]
Muno,
#[serde(rename = "GLOB")]
Glob,
#[serde(rename = "PREA")]
Prea,
#[serde(rename = "PART")]
Part,
#[serde(rename = "NOFX")]
Nofx,
#[serde(rename = "CMON")]
Cmon,
#[serde(rename = "YCOL")]
Ycol,
#[serde(rename = "COLL")]
Coll,
#[serde(rename = "DEPO")]
Depo,
#[serde(rename = "FLIM")]
Flim,
#[serde(rename = "INCA")]
Inca,
#[serde(rename = "LINK")]
Link,
#[serde(rename = "LACK")]
Lack,
#[serde(rename = "LALO")]
Lalo,
#[serde(rename = "MONY")]
Mony,
#[serde(rename = "NCON")]
Ncon,
#[serde(rename = "REFS")]
Refs,
#[serde(rename = "SDUT")]
Sdut,
#[serde(rename = "BATC")]
Batc,
#[serde(rename = "CYCL")]
Cycl,
#[serde(rename = "SBLO")]
Sblo,
#[serde(rename = "CPEC")]
Cpec,
#[serde(rename = "MINO")]
Mino,
#[serde(rename = "IAAD")]
Iaad,
#[serde(rename = "OTHR")]
Othr,
#[serde(rename = "PHCK")]
Phck,
#[serde(rename = "BENO")]
Beno,
#[serde(rename = "BOTH")]
Both,
#[serde(rename = "CLHT")]
Clht,
#[serde(rename = "DENO")]
Deno,
#[serde(rename = "DISA")]
Disa,
#[serde(rename = "DKNY")]
Dkny,
#[serde(rename = "FROZ")]
Froz,
#[serde(rename = "LAAW")]
Laaw,
#[serde(rename = "LATE")]
Late,
#[serde(rename = "LIQU")]
Liqu,
#[serde(rename = "PRCY")]
Prcy,
#[serde(rename = "REGT")]
Regt,
#[serde(rename = "SETS")]
Sets,
#[serde(rename = "CERT")]
Cert,
#[serde(rename = "PRSY")]
Prsy,
#[serde(rename = "INBC")]
Inbc,
#[default]
Unknown,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct GenericIdentification36 {
#[validate]
#[serde(rename = "Id")]
pub id: Max35Text,
#[validate]
#[serde(rename = "Issr")]
pub issr: Max35Text,
#[serde(rename = "SchmeNm", skip_serializing_if = "Option::is_none")]
pub schme_nm: Option<Max35Text>,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct AmountAndQuantityBreakdown1 {
#[serde(rename = "LotNb", skip_serializing_if = "Option::is_none")]
pub lot_nb: Option<GenericIdentification37>,
#[serde(rename = "LotAmt", skip_serializing_if = "Option::is_none")]
pub lot_amt: Option<AmountAndDirection5>,
#[serde(rename = "LotQty", skip_serializing_if = "Option::is_none")]
pub lot_qty: Option<FinancialInstrumentQuantity1Choice>,
#[serde(rename = "CshSubBalTp", skip_serializing_if = "Option::is_none")]
pub csh_sub_bal_tp: Option<GenericIdentification30>,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct IntraBalanceStatusAndReason2 {
#[validate(length(min = 0,))]
#[serde(rename = "PrcgSts", default)]
pub prcg_sts: Vec<ProcessingStatus67Choice>,
#[validate(length(min = 0,))]
#[serde(rename = "SttlmSts", default)]
pub sttlm_sts: Vec<SettlementStatus16Choice>,
#[serde(rename = "Sttld", skip_serializing_if = "Option::is_none")]
pub sttld: Option<ProprietaryReason4>,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct Max140Text {
#[validate(length(min = 1, max = 140,))]
#[serde(rename = "$text")]
pub value: String,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct FinancialInstitutionIdentification18 {
#[serde(rename = "BICFI", skip_serializing_if = "Option::is_none")]
pub bicfi: Option<BicfiDec2014Identifier>,
#[serde(rename = "ClrSysMmbId", skip_serializing_if = "Option::is_none")]
pub clr_sys_mmb_id: Option<ClearingSystemMemberIdentification2>,
#[serde(rename = "LEI", skip_serializing_if = "Option::is_none")]
pub lei: Option<LeiIdentifier>,
#[serde(rename = "Nm", skip_serializing_if = "Option::is_none")]
pub nm: Option<Max140Text>,
#[serde(rename = "PstlAdr", skip_serializing_if = "Option::is_none")]
pub pstl_adr: Option<PostalAddress24>,
#[serde(rename = "Othr", skip_serializing_if = "Option::is_none")]
pub othr: Option<GenericFinancialIdentification1>,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct Pagination1 {
#[validate]
#[serde(rename = "PgNb")]
pub pg_nb: Max5NumericText,
#[validate]
#[serde(rename = "LastPgInd")]
pub last_pg_ind: YesNoIndicator,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct Max210Text {
#[validate(length(min = 1, max = 210,))]
#[serde(rename = "$text")]
pub value: String,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct SupplementaryDataEnvelope1<
A: std::fmt::Debug + Default + Clone + PartialEq + ::serde::Serialize + ::validator::Validate,
> {
#[validate]
#[serde(flatten)]
pub value: A,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct ActiveCurrencyAndAmount {
#[serde(rename = "ActiveCurrencyAndAmount")]
pub value: ActiveCurrencyAndAmountSimpleType,
#[serde(rename = "@Ccy")]
pub ccy: ActiveCurrencyCode,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct IsoDateTime {
#[serde(rename = "$text")]
pub value: ::chrono::DateTime<::chrono::Utc>,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct PostalAddress1 {
#[serde(rename = "AdrTp", skip_serializing_if = "Option::is_none")]
pub adr_tp: Option<AddressType2Code>,
#[validate(length(min = 0, max = 5,))]
#[serde(rename = "AdrLine", default)]
pub adr_line: Vec<Max70Text>,
#[serde(rename = "StrtNm", skip_serializing_if = "Option::is_none")]
pub strt_nm: Option<Max70Text>,
#[serde(rename = "BldgNb", skip_serializing_if = "Option::is_none")]
pub bldg_nb: Option<Max16Text>,
#[serde(rename = "PstCd", skip_serializing_if = "Option::is_none")]
pub pst_cd: Option<Max16Text>,
#[serde(rename = "TwnNm", skip_serializing_if = "Option::is_none")]
pub twn_nm: Option<Max35Text>,
#[serde(rename = "CtrySubDvsn", skip_serializing_if = "Option::is_none")]
pub ctry_sub_dvsn: Option<Max35Text>,
#[serde(rename = "Ctry")]
pub ctry: CountryCode,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct Linkages57 {
#[serde(rename = "PrcgPos", skip_serializing_if = "Option::is_none")]
pub prcg_pos: Option<ProcessingPosition7Choice>,
#[serde(rename = "MsgNb", skip_serializing_if = "Option::is_none")]
pub msg_nb: Option<DocumentNumber5Choice>,
#[serde(rename = "Ref")]
pub r#ref: References34Choice,
#[serde(rename = "RefOwnr", skip_serializing_if = "Option::is_none")]
pub ref_ownr: Option<PartyIdentification127Choice>,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct NameAndAddress5 {
#[validate]
#[serde(rename = "Nm")]
pub nm: Max350Text,
#[serde(rename = "Adr", skip_serializing_if = "Option::is_none")]
pub adr: Option<PostalAddress1>,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct ProprietaryStatusAndReason6 {
#[validate]
#[serde(rename = "PrtrySts")]
pub prtry_sts: GenericIdentification30,
#[validate(length(min = 0,))]
#[serde(rename = "PrtryRsn", default)]
pub prtry_rsn: Vec<ProprietaryReason4>,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct SettlementStatus16ChoiceEnum {
#[serde(rename = "Prtry", skip_serializing_if = "Option::is_none")]
pub prtry: Option<ProprietaryStatusAndReason6>,
#[serde(rename = "Flng", skip_serializing_if = "Option::is_none")]
pub flng: Option<FailingStatus9Choice>,
#[serde(rename = "Pdg", skip_serializing_if = "Option::is_none")]
pub pdg: Option<PendingStatus36Choice>,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct SettlementStatus16Choice {
#[serde(flatten)]
pub value: SettlementStatus16ChoiceEnum,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct ExternalFinancialInstitutionIdentification1Code {
#[validate(length(min = 1, max = 4,))]
#[serde(rename = "$text")]
pub value: String,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct Iso20022MessageIdentificationText {
#[validate(regex = "ISO_20022_MESSAGE_IDENTIFICATION_TEXT_REGEX")]
#[serde(rename = "$text")]
pub value: String,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct AddressType3ChoiceEnum {
#[serde(rename = "Cd", skip_serializing_if = "Option::is_none")]
pub cd: Option<AddressType2Code>,
#[serde(rename = "Prtry", skip_serializing_if = "Option::is_none")]
pub prtry: Option<GenericIdentification30>,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct AddressType3Choice {
#[serde(flatten)]
pub value: AddressType3ChoiceEnum,
}
#[derive(
Debug,
Default,
Clone,
PartialEq,
::serde::Serialize,
::serde::Deserialize,
::derive_builder::Builder,
::validator::Validate,
)]
pub struct IntraBalanceMovementQueryResponseV01<
A: std::fmt::Debug + Default + Clone + PartialEq + ::serde::Serialize + ::validator::Validate,
> {
#[serde(rename = "Id", skip_serializing_if = "Option::is_none")]
pub id: Option<DocumentIdentification51>,
#[validate]
#[serde(rename = "Pgntn")]
pub pgntn: Pagination1,
#[validate]
#[serde(rename = "RptGnlDtls")]
pub rpt_gnl_dtls: MovementReport1,
#[serde(rename = "RptOrErr", skip_serializing_if = "Option::is_none")]
pub rpt_or_err: Option<IntraBalanceOrOperationalError7Choice<A>>,
}