use serde::{Deserialize, Serialize};
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
pub struct AcceptanceResult6 {
#[serde(rename = "Accptd")]
pub accptd: bool,
#[serde(rename = "RjctRsn", skip_serializing_if = "Option::is_none")]
pub rjct_rsn: Option<MandateReason1Choice>,
#[serde(rename = "AddtlRjctRsnInf", skip_serializing_if = "Option::is_none")]
pub addtl_rjct_rsn_inf: Option<Vec<Max105Text>>,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
pub struct AccountIdentification4Choice {
#[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, PartialEq, Clone, Serialize, Deserialize)]
pub struct AccountSchemeName1Choice {
#[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, PartialEq, Clone, Serialize, Deserialize)]
#[serde(transparent)]
pub struct ActiveCurrencyAndAmountSimpleType {
#[serde(rename = "$value")]
pub active_currency_and_amount_simple_type: f64,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
pub struct ActiveCurrencyAndAmount {
#[serde(rename = "Ccy")]
pub ccy: String,
#[serde(rename = "$value")]
pub value: f64,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
#[serde(transparent)]
pub struct ActiveCurrencyCode {
#[serde(rename = "$value")]
pub active_currency_code: String,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
#[serde(transparent)]
pub struct ActiveOrHistoricCurrencyAndAmountSimpleType {
#[serde(rename = "$value")]
pub active_or_historic_currency_and_amount_simple_type: f64,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
pub struct ActiveOrHistoricCurrencyAndAmount {
#[serde(rename = "Ccy")]
pub ccy: String,
#[serde(rename = "$value")]
pub value: f64,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
#[serde(transparent)]
pub struct ActiveOrHistoricCurrencyCode {
#[serde(rename = "$value")]
pub active_or_historic_currency_code: String,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
pub enum AddressType2Code {
#[default]
#[serde(rename = "ADDR")]
CodeADDR,
#[serde(rename = "PBOX")]
CodePBOX,
#[serde(rename = "HOME")]
CodeHOME,
#[serde(rename = "BIZZ")]
CodeBIZZ,
#[serde(rename = "MLTO")]
CodeMLTO,
#[serde(rename = "DLVY")]
CodeDLVY,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
pub struct AddressType3Choice {
#[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, PartialEq, Clone, Serialize, Deserialize)]
#[serde(transparent)]
pub struct AnyBICDec2014Identifier {
#[serde(rename = "$value")]
pub any_bic_dec2014_identifier: String,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
pub struct AuthenticationChannel1Choice {
#[serde(rename = "Cd", skip_serializing_if = "Option::is_none")]
pub cd: Option<ExternalAuthenticationChannel1Code>,
#[serde(rename = "Prtry", skip_serializing_if = "Option::is_none")]
pub prtry: Option<Max35Text>,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
pub struct Authorisation1Choice {
#[serde(rename = "Cd", skip_serializing_if = "Option::is_none")]
pub cd: Option<Authorisation1Code>,
#[serde(rename = "Prtry", skip_serializing_if = "Option::is_none")]
pub prtry: Option<Max128Text>,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
pub enum Authorisation1Code {
#[default]
#[serde(rename = "AUTH")]
CodeAUTH,
#[serde(rename = "FDET")]
CodeFDET,
#[serde(rename = "FSUM")]
CodeFSUM,
#[serde(rename = "ILEV")]
CodeILEV,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
#[serde(transparent)]
pub struct BICFIDec2014Identifier {
#[serde(rename = "$value")]
pub bicfi_dec2014_identifier: String,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
pub struct BranchAndFinancialInstitutionIdentification8 {
#[serde(rename = "FinInstnId")]
pub fin_instn_id: FinancialInstitutionIdentification23,
#[serde(rename = "BrnchId", skip_serializing_if = "Option::is_none")]
pub brnch_id: Option<BranchData5>,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
pub struct BranchData5 {
#[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<PostalAddress27>,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
pub struct CashAccount40 {
#[serde(rename = "Id", skip_serializing_if = "Option::is_none")]
pub id: Option<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, PartialEq, Clone, Serialize, Deserialize)]
pub struct CashAccountType2Choice {
#[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, PartialEq, Clone, Serialize, Deserialize)]
pub struct CategoryPurpose1Choice {
#[serde(rename = "Cd", skip_serializing_if = "Option::is_none")]
pub cd: Option<ExternalCategoryPurpose1Code>,
#[serde(rename = "Prtry", skip_serializing_if = "Option::is_none")]
pub prtry: Option<Max35Text>,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
pub struct ClearingSystemIdentification2Choice {
#[serde(rename = "Cd", skip_serializing_if = "Option::is_none")]
pub cd: Option<ExternalClearingSystemIdentification1Code>,
#[serde(rename = "Prtry", skip_serializing_if = "Option::is_none")]
pub prtry: Option<Max35Text>,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
pub struct ClearingSystemMemberIdentification2 {
#[serde(rename = "ClrSysId", skip_serializing_if = "Option::is_none")]
pub clr_sys_id: Option<ClearingSystemIdentification2Choice>,
#[serde(rename = "MmbId")]
pub mmb_id: Max35Text,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
pub struct Contact13 {
#[serde(rename = "NmPrfx", skip_serializing_if = "Option::is_none")]
pub nm_prfx: Option<NamePrefix2Code>,
#[serde(rename = "Nm", skip_serializing_if = "Option::is_none")]
pub nm: Option<Max140Text>,
#[serde(rename = "PhneNb", skip_serializing_if = "Option::is_none")]
pub phne_nb: Option<PhoneNumber>,
#[serde(rename = "MobNb", skip_serializing_if = "Option::is_none")]
pub mob_nb: Option<PhoneNumber>,
#[serde(rename = "FaxNb", skip_serializing_if = "Option::is_none")]
pub fax_nb: Option<PhoneNumber>,
#[serde(rename = "URLAdr", skip_serializing_if = "Option::is_none")]
pub url_adr: Option<Max2048Text>,
#[serde(rename = "EmailAdr", skip_serializing_if = "Option::is_none")]
pub email_adr: Option<Max256Text>,
#[serde(rename = "EmailPurp", skip_serializing_if = "Option::is_none")]
pub email_purp: Option<Max35Text>,
#[serde(rename = "JobTitl", skip_serializing_if = "Option::is_none")]
pub job_titl: Option<Max35Text>,
#[serde(rename = "Rspnsblty", skip_serializing_if = "Option::is_none")]
pub rspnsblty: Option<Max35Text>,
#[serde(rename = "Dept", skip_serializing_if = "Option::is_none")]
pub dept: Option<Max70Text>,
#[serde(rename = "Othr", skip_serializing_if = "Option::is_none")]
pub othr: Option<Vec<OtherContact1>>,
#[serde(rename = "PrefrdMtd", skip_serializing_if = "Option::is_none")]
pub prefrd_mtd: Option<PreferredContactMethod2Code>,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
#[serde(transparent)]
pub struct CountryCode {
#[serde(rename = "$value")]
pub country_code: String,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
pub struct DateAndPlaceOfBirth1 {
#[serde(rename = "BirthDt")]
pub birth_dt: String,
#[serde(rename = "PrvcOfBirth", skip_serializing_if = "Option::is_none")]
pub prvc_of_birth: Option<Max35Text>,
#[serde(rename = "CityOfBirth")]
pub city_of_birth: Max35Text,
#[serde(rename = "CtryOfBirth")]
pub ctry_of_birth: CountryCode,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
pub struct DateAndType1 {
#[serde(rename = "Tp")]
pub tp: DateType2Choice,
#[serde(rename = "Dt")]
pub dt: String,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
pub struct DatePeriod3 {
#[serde(rename = "FrDt")]
pub fr_dt: String,
#[serde(rename = "ToDt", skip_serializing_if = "Option::is_none")]
pub to_dt: Option<String>,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
pub struct DateType2Choice {
#[serde(rename = "Cd", skip_serializing_if = "Option::is_none")]
pub cd: Option<ExternalDateType1Code>,
#[serde(rename = "Prtry", skip_serializing_if = "Option::is_none")]
pub prtry: Option<Max35Text>,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
#[serde(transparent)]
pub struct DecimalNumber {
#[serde(rename = "$value")]
pub decimal_number: f64,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
pub struct DocumentType1 {
#[serde(rename = "CdOrPrtry")]
pub cd_or_prtry: DocumentType2Choice,
#[serde(rename = "Issr", skip_serializing_if = "Option::is_none")]
pub issr: Option<Max35Text>,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
pub struct DocumentType2Choice {
#[serde(rename = "Cd", skip_serializing_if = "Option::is_none")]
pub cd: Option<ExternalDocumentType1Code>,
#[serde(rename = "Prtry", skip_serializing_if = "Option::is_none")]
pub prtry: Option<Max35Text>,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
#[serde(transparent)]
pub struct Exact2NumericText {
#[serde(rename = "$value")]
pub exact2_numeric_text: String,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
#[serde(transparent)]
pub struct Exact4AlphaNumericText {
#[serde(rename = "$value")]
pub exact4_alpha_numeric_text: String,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
#[serde(transparent)]
pub struct ExternalAccountIdentification1Code {
#[serde(rename = "$value")]
pub external_account_identification1_code: String,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
#[serde(transparent)]
pub struct ExternalAuthenticationChannel1Code {
#[serde(rename = "$value")]
pub external_authentication_channel1_code: String,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
#[serde(transparent)]
pub struct ExternalCashAccountType1Code {
#[serde(rename = "$value")]
pub external_cash_account_type1_code: String,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
#[serde(transparent)]
pub struct ExternalCategoryPurpose1Code {
#[serde(rename = "$value")]
pub external_category_purpose1_code: String,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
#[serde(transparent)]
pub struct ExternalClearingSystemIdentification1Code {
#[serde(rename = "$value")]
pub external_clearing_system_identification1_code: String,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
#[serde(transparent)]
pub struct ExternalDateType1Code {
#[serde(rename = "$value")]
pub external_date_type1_code: String,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
#[serde(transparent)]
pub struct ExternalDocumentType1Code {
#[serde(rename = "$value")]
pub external_document_type1_code: String,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
#[serde(transparent)]
pub struct ExternalFinancialInstitutionIdentification1Code {
#[serde(rename = "$value")]
pub external_financial_institution_identification1_code: String,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
#[serde(transparent)]
pub struct ExternalLocalInstrument1Code {
#[serde(rename = "$value")]
pub external_local_instrument1_code: String,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
#[serde(transparent)]
pub struct ExternalMandateReason1Code {
#[serde(rename = "$value")]
pub external_mandate_reason1_code: String,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
#[serde(transparent)]
pub struct ExternalMandateSetupReason1Code {
#[serde(rename = "$value")]
pub external_mandate_setup_reason1_code: String,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
#[serde(transparent)]
pub struct ExternalOrganisationIdentification1Code {
#[serde(rename = "$value")]
pub external_organisation_identification1_code: String,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
#[serde(transparent)]
pub struct ExternalPersonIdentification1Code {
#[serde(rename = "$value")]
pub external_person_identification1_code: String,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
#[serde(transparent)]
pub struct ExternalProxyAccountType1Code {
#[serde(rename = "$value")]
pub external_proxy_account_type1_code: String,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
#[serde(transparent)]
pub struct ExternalServiceLevel1Code {
#[serde(rename = "$value")]
pub external_service_level1_code: String,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
pub struct FinancialIdentificationSchemeName1Choice {
#[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, PartialEq, Clone, Serialize, Deserialize)]
pub struct FinancialInstitutionIdentification23 {
#[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<PostalAddress27>,
#[serde(rename = "Othr", skip_serializing_if = "Option::is_none")]
pub othr: Option<GenericFinancialIdentification1>,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
pub enum Frequency10Code {
#[default]
#[serde(rename = "NEVR")]
CodeNEVR,
#[serde(rename = "YEAR")]
CodeYEAR,
#[serde(rename = "RATE")]
CodeRATE,
#[serde(rename = "MIAN")]
CodeMIAN,
#[serde(rename = "QURT")]
CodeQURT,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
pub struct Frequency36Choice {
#[serde(rename = "Tp", skip_serializing_if = "Option::is_none")]
pub tp: Option<Frequency6Code>,
#[serde(rename = "Prd", skip_serializing_if = "Option::is_none")]
pub prd: Option<FrequencyPeriod1>,
#[serde(rename = "PtInTm", skip_serializing_if = "Option::is_none")]
pub pt_in_tm: Option<FrequencyAndMoment1>,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
pub struct Frequency37Choice {
#[serde(rename = "Cd", skip_serializing_if = "Option::is_none")]
pub cd: Option<Frequency10Code>,
#[serde(rename = "Prtry", skip_serializing_if = "Option::is_none")]
pub prtry: Option<Max35Text>,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
pub enum Frequency6Code {
#[default]
#[serde(rename = "YEAR")]
CodeYEAR,
#[serde(rename = "MNTH")]
CodeMNTH,
#[serde(rename = "QURT")]
CodeQURT,
#[serde(rename = "MIAN")]
CodeMIAN,
#[serde(rename = "WEEK")]
CodeWEEK,
#[serde(rename = "DAIL")]
CodeDAIL,
#[serde(rename = "ADHO")]
CodeADHO,
#[serde(rename = "INDA")]
CodeINDA,
#[serde(rename = "FRTN")]
CodeFRTN,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
pub struct FrequencyAndMoment1 {
#[serde(rename = "Tp")]
pub tp: Frequency6Code,
#[serde(rename = "PtInTm")]
pub pt_in_tm: Exact2NumericText,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
pub struct FrequencyPeriod1 {
#[serde(rename = "Tp")]
pub tp: Frequency6Code,
#[serde(rename = "CntPerPrd")]
pub cnt_per_prd: f64,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
pub struct GenericAccountIdentification1 {
#[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, PartialEq, Clone, Serialize, Deserialize)]
pub struct GenericFinancialIdentification1 {
#[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, PartialEq, Clone, Serialize, Deserialize)]
pub struct GenericIdentification30 {
#[serde(rename = "Id")]
pub id: Exact4AlphaNumericText,
#[serde(rename = "Issr")]
pub issr: Max35Text,
#[serde(rename = "SchmeNm", skip_serializing_if = "Option::is_none")]
pub schme_nm: Option<Max35Text>,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
pub struct GenericOrganisationIdentification3 {
#[serde(rename = "Id")]
pub id: Max256Text,
#[serde(rename = "SchmeNm", skip_serializing_if = "Option::is_none")]
pub schme_nm: Option<OrganisationIdentificationSchemeName1Choice>,
#[serde(rename = "Issr", skip_serializing_if = "Option::is_none")]
pub issr: Option<Max35Text>,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
pub struct GenericPersonIdentification2 {
#[serde(rename = "Id")]
pub id: Max256Text,
#[serde(rename = "SchmeNm", skip_serializing_if = "Option::is_none")]
pub schme_nm: Option<PersonIdentificationSchemeName1Choice>,
#[serde(rename = "Issr", skip_serializing_if = "Option::is_none")]
pub issr: Option<Max35Text>,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
pub struct GroupHeader110 {
#[serde(rename = "MsgId")]
pub msg_id: Max35Text,
#[serde(rename = "CreDtTm")]
pub cre_dt_tm: String,
#[serde(rename = "Authstn", skip_serializing_if = "Option::is_none")]
pub authstn: Option<Vec<Authorisation1Choice>>,
#[serde(rename = "InitgPty", skip_serializing_if = "Option::is_none")]
pub initg_pty: Option<PartyIdentification272>,
#[serde(rename = "InstgAgt", skip_serializing_if = "Option::is_none")]
pub instg_agt: Option<BranchAndFinancialInstitutionIdentification8>,
#[serde(rename = "InstdAgt", skip_serializing_if = "Option::is_none")]
pub instd_agt: Option<BranchAndFinancialInstitutionIdentification8>,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
#[serde(transparent)]
pub struct IBAN2007Identifier {
#[serde(rename = "$value")]
pub iban2007_identifier: String,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
#[serde(transparent)]
pub struct ISODate {
#[serde(rename = "$value")]
pub iso_date: String,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
#[serde(transparent)]
pub struct ISODateTime {
#[serde(rename = "$value")]
pub iso_date_time: String,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
#[serde(transparent)]
pub struct LEIIdentifier {
#[serde(rename = "$value")]
pub lei_identifier: String,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
pub struct LocalInstrument2Choice {
#[serde(rename = "Cd", skip_serializing_if = "Option::is_none")]
pub cd: Option<ExternalLocalInstrument1Code>,
#[serde(rename = "Prtry", skip_serializing_if = "Option::is_none")]
pub prtry: Option<Max35Text>,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
pub struct Mandate22 {
#[serde(rename = "MndtId", skip_serializing_if = "Option::is_none")]
pub mndt_id: Option<Max35Text>,
#[serde(rename = "MndtReqId", skip_serializing_if = "Option::is_none")]
pub mndt_req_id: Option<Max35Text>,
#[serde(rename = "Authntcn", skip_serializing_if = "Option::is_none")]
pub authntcn: Option<MandateAuthentication1>,
#[serde(rename = "Tp", skip_serializing_if = "Option::is_none")]
pub tp: Option<MandateTypeInformation2>,
#[serde(rename = "Ocrncs", skip_serializing_if = "Option::is_none")]
pub ocrncs: Option<MandateOccurrences5>,
#[serde(rename = "TrckgInd")]
pub trckg_ind: bool,
#[serde(rename = "FrstColltnAmt", skip_serializing_if = "Option::is_none")]
pub frst_colltn_amt: Option<ActiveOrHistoricCurrencyAndAmount>,
#[serde(rename = "ColltnAmt", skip_serializing_if = "Option::is_none")]
pub colltn_amt: Option<ActiveOrHistoricCurrencyAndAmount>,
#[serde(rename = "MaxAmt", skip_serializing_if = "Option::is_none")]
pub max_amt: Option<ActiveOrHistoricCurrencyAndAmount>,
#[serde(rename = "Adjstmnt", skip_serializing_if = "Option::is_none")]
pub adjstmnt: Option<MandateAdjustment1>,
#[serde(rename = "Rsn", skip_serializing_if = "Option::is_none")]
pub rsn: Option<MandateSetupReason1Choice>,
#[serde(rename = "CdtrSchmeId", skip_serializing_if = "Option::is_none")]
pub cdtr_schme_id: Option<PartyIdentification272>,
#[serde(rename = "Cdtr")]
pub cdtr: PartyIdentification272,
#[serde(rename = "CdtrAcct", skip_serializing_if = "Option::is_none")]
pub cdtr_acct: Option<CashAccount40>,
#[serde(rename = "CdtrAgt", skip_serializing_if = "Option::is_none")]
pub cdtr_agt: Option<BranchAndFinancialInstitutionIdentification8>,
#[serde(rename = "UltmtCdtr", skip_serializing_if = "Option::is_none")]
pub ultmt_cdtr: Option<PartyIdentification272>,
#[serde(rename = "Dbtr")]
pub dbtr: PartyIdentification272,
#[serde(rename = "DbtrAcct", skip_serializing_if = "Option::is_none")]
pub dbtr_acct: Option<CashAccount40>,
#[serde(rename = "DbtrAgt")]
pub dbtr_agt: BranchAndFinancialInstitutionIdentification8,
#[serde(rename = "UltmtDbtr", skip_serializing_if = "Option::is_none")]
pub ultmt_dbtr: Option<PartyIdentification272>,
#[serde(rename = "MndtRef", skip_serializing_if = "Option::is_none")]
pub mndt_ref: Option<Max35Text>,
#[serde(rename = "RfrdDoc", skip_serializing_if = "Option::is_none")]
pub rfrd_doc: Option<Vec<ReferredMandateDocument2>>,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
pub struct MandateAcceptance8 {
#[serde(rename = "OrgnlMsgInf", skip_serializing_if = "Option::is_none")]
pub orgnl_msg_inf: Option<OriginalMessageInformation1>,
#[serde(rename = "AccptncRslt")]
pub accptnc_rslt: AcceptanceResult6,
#[serde(rename = "OrgnlMndt", skip_serializing_if = "Option::is_none")]
pub orgnl_mndt: Option<OriginalMandate11Choice>,
#[serde(rename = "SplmtryData", skip_serializing_if = "Option::is_none")]
pub splmtry_data: Option<Vec<SupplementaryData1>>,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
pub struct MandateAcceptanceReportV08 {
#[serde(rename = "GrpHdr")]
pub grp_hdr: GroupHeader110,
#[serde(rename = "UndrlygAccptncDtls")]
pub undrlyg_accptnc_dtls: Vec<MandateAcceptance8>,
#[serde(rename = "SplmtryData", skip_serializing_if = "Option::is_none")]
pub splmtry_data: Option<Vec<SupplementaryData1>>,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
pub struct MandateAdjustment1 {
#[serde(rename = "DtAdjstmntRuleInd")]
pub dt_adjstmnt_rule_ind: bool,
#[serde(rename = "Ctgy", skip_serializing_if = "Option::is_none")]
pub ctgy: Option<Frequency37Choice>,
#[serde(rename = "Amt", skip_serializing_if = "Option::is_none")]
pub amt: Option<ActiveCurrencyAndAmount>,
#[serde(rename = "Rate", skip_serializing_if = "Option::is_none")]
pub rate: Option<f64>,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
pub struct MandateAuthentication1 {
#[serde(rename = "MsgAuthntcnCd", skip_serializing_if = "Option::is_none")]
pub msg_authntcn_cd: Option<Max16Text>,
#[serde(rename = "Dt", skip_serializing_if = "Option::is_none")]
pub dt: Option<String>,
#[serde(rename = "Chanl", skip_serializing_if = "Option::is_none")]
pub chanl: Option<AuthenticationChannel1Choice>,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
pub struct MandateClassification1Choice {
#[serde(rename = "Cd", skip_serializing_if = "Option::is_none")]
pub cd: Option<MandateClassification1Code>,
#[serde(rename = "Prtry", skip_serializing_if = "Option::is_none")]
pub prtry: Option<Max35Text>,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
pub enum MandateClassification1Code {
#[default]
#[serde(rename = "FIXE")]
CodeFIXE,
#[serde(rename = "USGB")]
CodeUSGB,
#[serde(rename = "VARI")]
CodeVARI,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
pub struct MandateOccurrences5 {
#[serde(rename = "SeqTp")]
pub seq_tp: SequenceType2Code,
#[serde(rename = "Frqcy", skip_serializing_if = "Option::is_none")]
pub frqcy: Option<Frequency36Choice>,
#[serde(rename = "Drtn", skip_serializing_if = "Option::is_none")]
pub drtn: Option<DatePeriod3>,
#[serde(rename = "FrstColltnDt", skip_serializing_if = "Option::is_none")]
pub frst_colltn_dt: Option<String>,
#[serde(rename = "FnlColltnDt", skip_serializing_if = "Option::is_none")]
pub fnl_colltn_dt: Option<String>,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
pub struct MandateReason1Choice {
#[serde(rename = "Cd", skip_serializing_if = "Option::is_none")]
pub cd: Option<ExternalMandateReason1Code>,
#[serde(rename = "Prtry", skip_serializing_if = "Option::is_none")]
pub prtry: Option<Max35Text>,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
pub struct MandateSetupReason1Choice {
#[serde(rename = "Cd", skip_serializing_if = "Option::is_none")]
pub cd: Option<ExternalMandateSetupReason1Code>,
#[serde(rename = "Prtry", skip_serializing_if = "Option::is_none")]
pub prtry: Option<Max70Text>,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
pub struct MandateTypeInformation2 {
#[serde(rename = "SvcLvl", skip_serializing_if = "Option::is_none")]
pub svc_lvl: Option<ServiceLevel8Choice>,
#[serde(rename = "LclInstrm", skip_serializing_if = "Option::is_none")]
pub lcl_instrm: Option<LocalInstrument2Choice>,
#[serde(rename = "CtgyPurp", skip_serializing_if = "Option::is_none")]
pub ctgy_purp: Option<CategoryPurpose1Choice>,
#[serde(rename = "Clssfctn", skip_serializing_if = "Option::is_none")]
pub clssfctn: Option<MandateClassification1Choice>,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
#[serde(transparent)]
pub struct Max105Text {
#[serde(rename = "$value")]
pub max105_text: String,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
#[serde(transparent)]
pub struct Max128Text {
#[serde(rename = "$value")]
pub max128_text: String,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
#[serde(transparent)]
pub struct Max140Text {
#[serde(rename = "$value")]
pub max140_text: String,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
#[serde(transparent)]
pub struct Max16Text {
#[serde(rename = "$value")]
pub max16_text: String,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
#[serde(transparent)]
pub struct Max2048Text {
#[serde(rename = "$value")]
pub max2048_text: String,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
#[serde(transparent)]
pub struct Max256Text {
#[serde(rename = "$value")]
pub max256_text: String,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
#[serde(transparent)]
pub struct Max34Text {
#[serde(rename = "$value")]
pub max34_text: String,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
#[serde(transparent)]
pub struct Max350Text {
#[serde(rename = "$value")]
pub max350_text: String,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
#[serde(transparent)]
pub struct Max35Text {
#[serde(rename = "$value")]
pub max35_text: String,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
#[serde(transparent)]
pub struct Max4Text {
#[serde(rename = "$value")]
pub max4_text: String,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
#[serde(transparent)]
pub struct Max70Text {
#[serde(rename = "$value")]
pub max70_text: String,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
pub enum NamePrefix2Code {
#[default]
#[serde(rename = "DOCT")]
CodeDOCT,
#[serde(rename = "MADM")]
CodeMADM,
#[serde(rename = "MISS")]
CodeMISS,
#[serde(rename = "MIST")]
CodeMIST,
#[serde(rename = "MIKS")]
CodeMIKS,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
pub struct OrganisationIdentification39 {
#[serde(rename = "AnyBIC", skip_serializing_if = "Option::is_none")]
pub any_bic: Option<AnyBICDec2014Identifier>,
#[serde(rename = "LEI", skip_serializing_if = "Option::is_none")]
pub lei: Option<LEIIdentifier>,
#[serde(rename = "Othr", skip_serializing_if = "Option::is_none")]
pub othr: Option<Vec<GenericOrganisationIdentification3>>,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
pub struct OrganisationIdentificationSchemeName1Choice {
#[serde(rename = "Cd", skip_serializing_if = "Option::is_none")]
pub cd: Option<ExternalOrganisationIdentification1Code>,
#[serde(rename = "Prtry", skip_serializing_if = "Option::is_none")]
pub prtry: Option<Max35Text>,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
pub struct OriginalMandate11Choice {
#[serde(rename = "OrgnlMndtId", skip_serializing_if = "Option::is_none")]
pub orgnl_mndt_id: Option<Max35Text>,
#[serde(rename = "OrgnlMndt", skip_serializing_if = "Option::is_none")]
pub orgnl_mndt: Option<Mandate22>,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
pub struct OriginalMessageInformation1 {
#[serde(rename = "MsgId")]
pub msg_id: Max35Text,
#[serde(rename = "MsgNmId")]
pub msg_nm_id: Max35Text,
#[serde(rename = "CreDtTm", skip_serializing_if = "Option::is_none")]
pub cre_dt_tm: Option<String>,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
pub struct OtherContact1 {
#[serde(rename = "ChanlTp")]
pub chanl_tp: Max4Text,
#[serde(rename = "Id", skip_serializing_if = "Option::is_none")]
pub id: Option<Max128Text>,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
pub struct Party52Choice {
#[serde(rename = "OrgId", skip_serializing_if = "Option::is_none")]
pub org_id: Option<OrganisationIdentification39>,
#[serde(rename = "PrvtId", skip_serializing_if = "Option::is_none")]
pub prvt_id: Option<PersonIdentification18>,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
pub struct PartyIdentification272 {
#[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<PostalAddress27>,
#[serde(rename = "Id", skip_serializing_if = "Option::is_none")]
pub id: Option<Party52Choice>,
#[serde(rename = "CtryOfRes", skip_serializing_if = "Option::is_none")]
pub ctry_of_res: Option<CountryCode>,
#[serde(rename = "CtctDtls", skip_serializing_if = "Option::is_none")]
pub ctct_dtls: Option<Contact13>,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
#[serde(transparent)]
pub struct PercentageRate {
#[serde(rename = "$value")]
pub percentage_rate: f64,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
pub struct PersonIdentification18 {
#[serde(rename = "DtAndPlcOfBirth", skip_serializing_if = "Option::is_none")]
pub dt_and_plc_of_birth: Option<DateAndPlaceOfBirth1>,
#[serde(rename = "Othr", skip_serializing_if = "Option::is_none")]
pub othr: Option<Vec<GenericPersonIdentification2>>,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
pub struct PersonIdentificationSchemeName1Choice {
#[serde(rename = "Cd", skip_serializing_if = "Option::is_none")]
pub cd: Option<ExternalPersonIdentification1Code>,
#[serde(rename = "Prtry", skip_serializing_if = "Option::is_none")]
pub prtry: Option<Max35Text>,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
#[serde(transparent)]
pub struct PhoneNumber {
#[serde(rename = "$value")]
pub phone_number: String,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
pub struct PostalAddress27 {
#[serde(rename = "AdrTp", skip_serializing_if = "Option::is_none")]
pub adr_tp: Option<AddressType3Choice>,
#[serde(rename = "CareOf", skip_serializing_if = "Option::is_none")]
pub care_of: Option<Max140Text>,
#[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<Max140Text>,
#[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<Max140Text>,
#[serde(rename = "Flr", skip_serializing_if = "Option::is_none")]
pub flr: Option<Max70Text>,
#[serde(rename = "UnitNb", skip_serializing_if = "Option::is_none")]
pub unit_nb: Option<Max16Text>,
#[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<Max140Text>,
#[serde(rename = "TwnLctnNm", skip_serializing_if = "Option::is_none")]
pub twn_lctn_nm: Option<Max140Text>,
#[serde(rename = "DstrctNm", skip_serializing_if = "Option::is_none")]
pub dstrct_nm: Option<Max140Text>,
#[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>,
#[serde(rename = "AdrLine", skip_serializing_if = "Option::is_none")]
pub adr_line: Option<Vec<Max70Text>>,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
pub enum PreferredContactMethod2Code {
#[default]
#[serde(rename = "MAIL")]
CodeMAIL,
#[serde(rename = "FAXX")]
CodeFAXX,
#[serde(rename = "LETT")]
CodeLETT,
#[serde(rename = "CELL")]
CodeCELL,
#[serde(rename = "ONLI")]
CodeONLI,
#[serde(rename = "PHON")]
CodePHON,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
pub struct ProxyAccountIdentification1 {
#[serde(rename = "Tp", skip_serializing_if = "Option::is_none")]
pub tp: Option<ProxyAccountType1Choice>,
#[serde(rename = "Id")]
pub id: Max2048Text,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
pub struct ProxyAccountType1Choice {
#[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, PartialEq, Clone, Serialize, Deserialize)]
pub struct ReferredMandateDocument2 {
#[serde(rename = "Tp", skip_serializing_if = "Option::is_none")]
pub tp: Option<DocumentType1>,
#[serde(rename = "Nb", skip_serializing_if = "Option::is_none")]
pub nb: Option<Max35Text>,
#[serde(rename = "CdtrRef", skip_serializing_if = "Option::is_none")]
pub cdtr_ref: Option<Max35Text>,
#[serde(rename = "RltdDt", skip_serializing_if = "Option::is_none")]
pub rltd_dt: Option<DateAndType1>,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
pub enum SequenceType2Code {
#[default]
#[serde(rename = "RCUR")]
CodeRCUR,
#[serde(rename = "OOFF")]
CodeOOFF,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
pub struct ServiceLevel8Choice {
#[serde(rename = "Cd", skip_serializing_if = "Option::is_none")]
pub cd: Option<ExternalServiceLevel1Code>,
#[serde(rename = "Prtry", skip_serializing_if = "Option::is_none")]
pub prtry: Option<Max35Text>,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
pub struct SupplementaryData1 {
#[serde(rename = "PlcAndNm", skip_serializing_if = "Option::is_none")]
pub plc_and_nm: Option<Max350Text>,
#[serde(rename = "Envlp")]
pub envlp: SupplementaryDataEnvelope1,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
pub struct SupplementaryDataEnvelope1 {
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
#[serde(transparent)]
pub struct TrueFalseIndicator {
#[serde(rename = "$value")]
pub true_false_indicator: bool,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
#[serde(transparent)]
pub struct YesNoIndicator {
#[serde(rename = "$value")]
pub yes_no_indicator: bool,
}