use serde::{Deserialize, Serialize};
#[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)]
#[serde(transparent)]
pub struct BICFIDec2014Identifier {
#[serde(rename = "$value")]
pub bicfi_dec2014_identifier: String,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
pub struct Contact14 {
#[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>,
#[serde(rename = "VldFr", skip_serializing_if = "Option::is_none")]
pub vld_fr: Option<String>,
#[serde(rename = "VldTo", skip_serializing_if = "Option::is_none")]
pub vld_to: Option<String>,
}
#[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 enum ErrorHandling1Code {
#[default]
#[serde(rename = "X020")]
CodeX020,
#[serde(rename = "X030")]
CodeX030,
#[serde(rename = "X050")]
CodeX050,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
pub struct ErrorHandling2Choice {
#[serde(rename = "Cd", skip_serializing_if = "Option::is_none")]
pub cd: Option<ErrorHandling1Code>,
#[serde(rename = "Prtry", skip_serializing_if = "Option::is_none")]
pub prtry: Option<Max35Text>,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
pub struct ErrorHandling3Choice {
#[serde(rename = "Cd", skip_serializing_if = "Option::is_none")]
pub cd: Option<ExternalSystemErrorHandling1Code>,
#[serde(rename = "Prtry", skip_serializing_if = "Option::is_none")]
pub prtry: Option<Max35Text>,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
pub struct ErrorHandling4 {
#[serde(rename = "Err")]
pub err: ErrorHandling2Choice,
#[serde(rename = "Desc", skip_serializing_if = "Option::is_none")]
pub desc: Option<Max140Text>,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
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, 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 ExternalSystemErrorHandling1Code {
#[serde(rename = "$value")]
pub external_system_error_handling1_code: String,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
#[serde(transparent)]
pub struct ExternalSystemPartyType1Code {
#[serde(rename = "$value")]
pub external_system_party_type1_code: String,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
pub struct GenericIdentification1 {
#[serde(rename = "Id")]
pub id: Max35Text,
#[serde(rename = "SchmeNm", skip_serializing_if = "Option::is_none")]
pub schme_nm: Option<Max35Text>,
#[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 GenericIdentification36 {
#[serde(rename = "Id")]
pub id: Max35Text,
#[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)]
#[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 enum LockStatus1Code {
#[default]
#[serde(rename = "LOCK")]
CodeLOCK,
#[serde(rename = "ULCK")]
CodeULCK,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
pub struct MarketSpecificAttribute1 {
#[serde(rename = "Nm")]
pub nm: Max35Text,
#[serde(rename = "Val")]
pub val: Max350Text,
}
#[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 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 struct MessageHeader3 {
#[serde(rename = "MsgId")]
pub msg_id: Max35Text,
#[serde(rename = "CreDtTm", skip_serializing_if = "Option::is_none")]
pub cre_dt_tm: Option<String>,
#[serde(rename = "ReqTp", skip_serializing_if = "Option::is_none")]
pub req_tp: Option<RequestType2Choice>,
#[serde(rename = "OrgnlBizQry", skip_serializing_if = "Option::is_none")]
pub orgnl_biz_qry: Option<OriginalBusinessQuery1>,
#[serde(rename = "QryNm", skip_serializing_if = "Option::is_none")]
pub qry_nm: Option<Max35Text>,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
pub struct NameAndAddress5 {
#[serde(rename = "Nm")]
pub nm: Max350Text,
#[serde(rename = "Adr", skip_serializing_if = "Option::is_none")]
pub adr: Option<PostalAddress1>,
}
#[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 OriginalBusinessQuery1 {
#[serde(rename = "MsgId")]
pub msg_id: Max35Text,
#[serde(rename = "MsgNmId", skip_serializing_if = "Option::is_none")]
pub msg_nm_id: Option<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 PartyIdentification120Choice {
#[serde(rename = "AnyBIC", skip_serializing_if = "Option::is_none")]
pub any_bic: Option<AnyBICDec2014Identifier>,
#[serde(rename = "PrtryId", skip_serializing_if = "Option::is_none")]
pub prtry_id: Option<GenericIdentification36>,
#[serde(rename = "NmAndAdr", skip_serializing_if = "Option::is_none")]
pub nm_and_adr: Option<NameAndAddress5>,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
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, PartialEq, Clone, Serialize, Deserialize)]
pub struct PartyLockStatus1 {
#[serde(rename = "VldFr", skip_serializing_if = "Option::is_none")]
pub vld_fr: Option<String>,
#[serde(rename = "Sts")]
pub sts: LockStatus1Code,
#[serde(rename = "LckRsn", skip_serializing_if = "Option::is_none")]
pub lck_rsn: Option<Vec<Max35Text>>,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
pub struct PartyName4 {
#[serde(rename = "VldFr", skip_serializing_if = "Option::is_none")]
pub vld_fr: Option<String>,
#[serde(rename = "Nm")]
pub nm: Max350Text,
#[serde(rename = "ShrtNm", skip_serializing_if = "Option::is_none")]
pub shrt_nm: Option<Max35Text>,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
pub struct PartyOrBusinessError4Choice {
#[serde(rename = "SysPty", skip_serializing_if = "Option::is_none")]
pub sys_pty: Option<SystemParty6>,
#[serde(rename = "BizErr", skip_serializing_if = "Option::is_none")]
pub biz_err: Option<Vec<ErrorHandling4>>,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
pub struct PartyOrOperationalError4Choice {
#[serde(rename = "PtyRpt", skip_serializing_if = "Option::is_none")]
pub pty_rpt: Option<Vec<PartyReport4>>,
#[serde(rename = "OprlErr", skip_serializing_if = "Option::is_none")]
pub oprl_err: Option<Vec<ErrorHandling5>>,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
pub struct PartyReport4 {
#[serde(rename = "PtyId")]
pub pty_id: SystemPartyIdentification8,
#[serde(rename = "PtyOrErr")]
pub pty_or_err: PartyOrBusinessError4Choice,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
pub struct PartyReportV02 {
#[serde(rename = "MsgHdr", skip_serializing_if = "Option::is_none")]
pub msg_hdr: Option<MessageHeader3>,
#[serde(rename = "RptOrErr")]
pub rpt_or_err: PartyOrOperationalError4Choice,
#[serde(rename = "SplmtryData", skip_serializing_if = "Option::is_none")]
pub splmtry_data: Option<Vec<SupplementaryData1>>,
}
#[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 PostalAddress1 {
#[serde(rename = "AdrTp", skip_serializing_if = "Option::is_none")]
pub adr_tp: Option<AddressType2Code>,
#[serde(rename = "AdrLine", skip_serializing_if = "Option::is_none")]
pub adr_line: Option<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, PartialEq, Clone, Serialize, Deserialize)]
pub struct PostalAddress28 {
#[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>>,
#[serde(rename = "VldFr", skip_serializing_if = "Option::is_none")]
pub vld_fr: Option<String>,
}
#[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 enum RequestType1Code {
#[default]
#[serde(rename = "RT01")]
CodeRT01,
#[serde(rename = "RT02")]
CodeRT02,
#[serde(rename = "RT03")]
CodeRT03,
#[serde(rename = "RT04")]
CodeRT04,
#[serde(rename = "RT05")]
CodeRT05,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
pub struct RequestType2Choice {
#[serde(rename = "PmtCtrl", skip_serializing_if = "Option::is_none")]
pub pmt_ctrl: Option<RequestType1Code>,
#[serde(rename = "Enqry", skip_serializing_if = "Option::is_none")]
pub enqry: Option<RequestType2Code>,
#[serde(rename = "Prtry", skip_serializing_if = "Option::is_none")]
pub prtry: Option<GenericIdentification1>,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
pub enum RequestType2Code {
#[default]
#[serde(rename = "RT11")]
CodeRT11,
#[serde(rename = "RT12")]
CodeRT12,
#[serde(rename = "RT13")]
CodeRT13,
#[serde(rename = "RT14")]
CodeRT14,
#[serde(rename = "RT15")]
CodeRT15,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
pub enum ResidenceType1Code {
#[default]
#[serde(rename = "DMST")]
CodeDMST,
#[serde(rename = "FRGN")]
CodeFRGN,
#[serde(rename = "MXED")]
CodeMXED,
}
#[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)]
pub struct SystemParty6 {
#[serde(rename = "PtyId", skip_serializing_if = "Option::is_none")]
pub pty_id: Option<SystemPartyIdentification9>,
#[serde(rename = "Adr", skip_serializing_if = "Option::is_none")]
pub adr: Option<PostalAddress28>,
#[serde(rename = "CtctDtls", skip_serializing_if = "Option::is_none")]
pub ctct_dtls: Option<Vec<Contact14>>,
#[serde(rename = "OpngDt", skip_serializing_if = "Option::is_none")]
pub opng_dt: Option<String>,
#[serde(rename = "ClsgDt", skip_serializing_if = "Option::is_none")]
pub clsg_dt: Option<String>,
#[serde(rename = "Tp", skip_serializing_if = "Option::is_none")]
pub tp: Option<SystemPartyType1Choice>,
#[serde(rename = "TechAdr", skip_serializing_if = "Option::is_none")]
pub tech_adr: Option<Vec<TechnicalIdentification2Choice>>,
#[serde(rename = "MktSpcfcAttr", skip_serializing_if = "Option::is_none")]
pub mkt_spcfc_attr: Option<Vec<MarketSpecificAttribute1>>,
#[serde(rename = "Nm", skip_serializing_if = "Option::is_none")]
pub nm: Option<PartyName4>,
#[serde(rename = "ResTp", skip_serializing_if = "Option::is_none")]
pub res_tp: Option<ResidenceType1Code>,
#[serde(rename = "LckSts", skip_serializing_if = "Option::is_none")]
pub lck_sts: Option<PartyLockStatus1>,
#[serde(rename = "Rstrctn", skip_serializing_if = "Option::is_none")]
pub rstrctn: Option<Vec<SystemRestriction1>>,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
pub struct SystemPartyIdentification8 {
#[serde(rename = "Id")]
pub id: PartyIdentification136,
#[serde(rename = "RspnsblPtyId", skip_serializing_if = "Option::is_none")]
pub rspnsbl_pty_id: Option<PartyIdentification136>,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
pub struct SystemPartyIdentification9 {
#[serde(rename = "Id")]
pub id: PartyIdentification136,
#[serde(rename = "RspnsblPtyId", skip_serializing_if = "Option::is_none")]
pub rspnsbl_pty_id: Option<PartyIdentification136>,
#[serde(rename = "VldFr", skip_serializing_if = "Option::is_none")]
pub vld_fr: Option<String>,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
pub struct SystemPartyType1Choice {
#[serde(rename = "Cd", skip_serializing_if = "Option::is_none")]
pub cd: Option<ExternalSystemPartyType1Code>,
#[serde(rename = "Prtry", skip_serializing_if = "Option::is_none")]
pub prtry: Option<Max35Text>,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
pub struct SystemRestriction1 {
#[serde(rename = "VldFr")]
pub vld_fr: String,
#[serde(rename = "VldTo", skip_serializing_if = "Option::is_none")]
pub vld_to: Option<String>,
#[serde(rename = "Tp")]
pub tp: Max35Text,
}
#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
pub struct TechnicalIdentification2Choice {
#[serde(rename = "BICFI", skip_serializing_if = "Option::is_none")]
pub bicfi: Option<BICFIDec2014Identifier>,
#[serde(rename = "TechAdr", skip_serializing_if = "Option::is_none")]
pub tech_adr: Option<Max256Text>,
}