1use validator::Validate;
22
23::lazy_static::lazy_static! {
24 static ref ISO_YEAR_MONTH_REGEX: ::regex::Regex = ::regex::Regex::new(r#"^-?\d{4}-(0[1-9]|1[0-2])([+-]\d{2}:\d{2}|Z)?$"#).unwrap();
25}
26
27::lazy_static::lazy_static! {
28 static ref COUNTRY_CODE_REGEX: ::regex::Regex = ::regex::Regex::new(r#"[A-Z]{2,2}"#).unwrap();
29}
30
31::lazy_static::lazy_static! {
32 static ref ACTIVE_OR_HISTORIC_CURRENCY_CODE_REGEX: ::regex::Regex = ::regex::Regex::new(r#"[A-Z]{3,3}"#).unwrap();
33}
34
35::lazy_static::lazy_static! {
36 static ref ANY_BIC_IDENTIFIER_REGEX: ::regex::Regex = ::regex::Regex::new(r#"[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}"#).unwrap();
37}
38
39::lazy_static::lazy_static! {
40 static ref EXACT_4_ALPHA_NUMERIC_TEXT_REGEX: ::regex::Regex = ::regex::Regex::new(r#"[a-zA-Z0-9]{4}"#).unwrap();
41}
42
43::lazy_static::lazy_static! {
44 static ref LEI_IDENTIFIER_REGEX: ::regex::Regex = ::regex::Regex::new(r#"[A-Z0-9]{18,18}[0-9]{2,2}"#).unwrap();
45}
46
47::lazy_static::lazy_static! {
48 static ref ACTIVE_CURRENCY_CODE_REGEX: ::regex::Regex = ::regex::Regex::new(r#"[A-Z]{3,3}"#).unwrap();
49}
50
51::lazy_static::lazy_static! {
52 static ref ISIN_OCT_2015_IDENTIFIER_REGEX: ::regex::Regex = ::regex::Regex::new(r#"[A-Z]{2,2}[A-Z0-9]{9,9}[0-9]{1,1}"#).unwrap();
53}
54
55::lazy_static::lazy_static! {
56 static ref BLOOMBERG_2_IDENTIFIER_REGEX: ::regex::Regex = ::regex::Regex::new(r#"(BBG)[BCDFGHJKLMNPQRSTVWXYZ\d]{8}\d"#).unwrap();
57}
58
59::lazy_static::lazy_static! {
60 static ref MAX_4_ALPHA_NUMERIC_TEXT_REGEX: ::regex::Regex = ::regex::Regex::new(r#"[a-zA-Z0-9]{1,4}"#).unwrap();
61}
62
63pub fn namespace() -> String {
65 "urn:iso:std:iso:20022:tech:xsd:setr.016.001.04".to_string()
66}
67
68#[derive(
69 Debug,
70 Default,
71 Clone,
72 PartialEq,
73 ::serde::Serialize,
74 ::serde::Deserialize,
75 ::derive_builder::Builder,
76 ::validator::Validate,
77)]
78pub struct IsoYearMonth {
79 #[validate(regex = "ISO_YEAR_MONTH_REGEX")]
80 #[serde(rename = "$text")]
81 pub value: String,
82}
83#[derive(
84 Debug,
85 Default,
86 Clone,
87 PartialEq,
88 ::serde::Serialize,
89 ::serde::Deserialize,
90 ::derive_builder::Builder,
91 ::validator::Validate,
92)]
93pub struct QuickIdentifier {
94 #[serde(rename = "$text")]
95 pub value: String,
96}
97#[derive(
98 Debug,
99 Default,
100 Clone,
101 PartialEq,
102 ::serde::Serialize,
103 ::serde::Deserialize,
104 ::derive_builder::Builder,
105 ::validator::Validate,
106)]
107pub struct PartyIdentification113 {
108 #[serde(rename = "Pty")]
109 pub pty: PartyIdentification90Choice,
110 #[serde(rename = "LEI", skip_serializing_if = "Option::is_none")]
111 pub lei: Option<LeiIdentifier>,
112}
113#[derive(
114 Debug,
115 Default,
116 Clone,
117 PartialEq,
118 ::serde::Serialize,
119 ::serde::Deserialize,
120 ::derive_builder::Builder,
121 ::validator::Validate,
122)]
123pub struct CountryCode {
124 #[validate(regex = "COUNTRY_CODE_REGEX")]
125 #[serde(rename = "$text")]
126 pub value: String,
127}
128#[derive(
129 Debug,
130 Default,
131 Clone,
132 PartialEq,
133 ::serde::Serialize,
134 ::serde::Deserialize,
135 ::derive_builder::Builder,
136 ::validator::Validate,
137)]
138pub struct ActiveOrHistoricCurrencyCode {
139 #[validate(regex = "ACTIVE_OR_HISTORIC_CURRENCY_CODE_REGEX")]
140 #[serde(rename = "$text")]
141 pub value: String,
142}
143#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
144pub enum CancelledStatusReason2Code {
145 #[serde(rename = "CANH")]
146 Canh,
147 #[serde(rename = "CANP")]
148 Canp,
149 #[serde(rename = "CXLR")]
150 Cxlr,
151 #[serde(rename = "CANO")]
152 Cano,
153 #[default]
154 Unknown,
155}
156#[derive(
157 Debug,
158 Default,
159 Clone,
160 PartialEq,
161 ::serde::Serialize,
162 ::serde::Deserialize,
163 ::derive_builder::Builder,
164 ::validator::Validate,
165)]
166pub struct AnyBicIdentifier {
167 #[validate(regex = "ANY_BIC_IDENTIFIER_REGEX")]
168 #[serde(rename = "$text")]
169 pub value: String,
170}
171#[derive(
172 Debug,
173 Default,
174 Clone,
175 PartialEq,
176 ::serde::Serialize,
177 ::serde::Deserialize,
178 ::derive_builder::Builder,
179 ::validator::Validate,
180)]
181pub struct InRepairStatusReason4ChoiceEnum {
182 #[serde(rename = "NoSpcfdRsn", skip_serializing_if = "Option::is_none")]
183 pub no_spcfd_rsn: Option<NoReasonCode>,
184 #[serde(rename = "RsnDtls", skip_serializing_if = "Option::is_none")]
185 pub rsn_dtls: Option<InRepairStatusReason4>,
186}
187#[derive(
188 Debug,
189 Default,
190 Clone,
191 PartialEq,
192 ::serde::Serialize,
193 ::serde::Deserialize,
194 ::derive_builder::Builder,
195 ::validator::Validate,
196)]
197pub struct InRepairStatusReason4Choice {
198 #[serde(flatten)]
199 pub value: InRepairStatusReason4ChoiceEnum,
200}
201#[derive(
202 Debug,
203 Default,
204 Clone,
205 PartialEq,
206 ::serde::Serialize,
207 ::serde::Deserialize,
208 ::derive_builder::Builder,
209 ::validator::Validate,
210)]
211pub struct Max350Text {
212 #[validate(length(min = 1, max = 350,))]
213 #[serde(rename = "$text")]
214 pub value: String,
215}
216#[derive(
217 Debug,
218 Default,
219 Clone,
220 PartialEq,
221 ::serde::Serialize,
222 ::serde::Deserialize,
223 ::derive_builder::Builder,
224 ::validator::Validate,
225)]
226pub struct PostalAddress1 {
227 #[serde(rename = "AdrTp", skip_serializing_if = "Option::is_none")]
228 pub adr_tp: Option<AddressType2Code>,
229 #[validate(length(min = 0, max = 5,))]
230 #[serde(rename = "AdrLine", default)]
231 pub adr_line: Vec<Max70Text>,
232 #[serde(rename = "StrtNm", skip_serializing_if = "Option::is_none")]
233 pub strt_nm: Option<Max70Text>,
234 #[serde(rename = "BldgNb", skip_serializing_if = "Option::is_none")]
235 pub bldg_nb: Option<Max16Text>,
236 #[serde(rename = "PstCd", skip_serializing_if = "Option::is_none")]
237 pub pst_cd: Option<Max16Text>,
238 #[serde(rename = "TwnNm", skip_serializing_if = "Option::is_none")]
239 pub twn_nm: Option<Max35Text>,
240 #[serde(rename = "CtrySubDvsn", skip_serializing_if = "Option::is_none")]
241 pub ctry_sub_dvsn: Option<Max35Text>,
242 #[serde(rename = "Ctry")]
243 pub ctry: CountryCode,
244}
245#[derive(
246 Debug,
247 Default,
248 Clone,
249 PartialEq,
250 ::serde::Serialize,
251 ::serde::Deserialize,
252 ::derive_builder::Builder,
253 ::validator::Validate,
254)]
255pub struct SicovamIdentifier {
256 #[serde(rename = "$text")]
257 pub value: String,
258}
259#[derive(
260 Debug,
261 Default,
262 Clone,
263 PartialEq,
264 ::serde::Serialize,
265 ::serde::Deserialize,
266 ::derive_builder::Builder,
267 ::validator::Validate,
268)]
269pub struct ActiveCurrencyAndAmount {
270 #[serde(rename = "ActiveCurrencyAndAmount")]
271 pub value: ActiveCurrencyAndAmountSimpleType,
272 #[serde(rename = "@Ccy")]
273 pub ccy: ActiveCurrencyCode,
274}
275#[derive(
276 Debug,
277 Default,
278 Clone,
279 PartialEq,
280 ::serde::Serialize,
281 ::serde::Deserialize,
282 ::derive_builder::Builder,
283 ::validator::Validate,
284)]
285pub struct CancelledReason12ChoiceEnum {
286 #[serde(rename = "NoSpcfdRsn", skip_serializing_if = "Option::is_none")]
287 pub no_spcfd_rsn: Option<NoReasonCode>,
288 #[serde(rename = "Cd", skip_serializing_if = "Option::is_none")]
289 pub cd: Option<CancelledStatusReason2Code>,
290 #[serde(rename = "Prtry", skip_serializing_if = "Option::is_none")]
291 pub prtry: Option<GenericIdentification1>,
292}
293#[derive(
294 Debug,
295 Default,
296 Clone,
297 PartialEq,
298 ::serde::Serialize,
299 ::serde::Deserialize,
300 ::derive_builder::Builder,
301 ::validator::Validate,
302)]
303pub struct CancelledReason12Choice {
304 #[serde(flatten)]
305 pub value: CancelledReason12ChoiceEnum,
306}
307#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
308pub enum DeliveryReceiptType2Code {
309 #[serde(rename = "FREE")]
310 Free,
311 #[serde(rename = "APMT")]
312 Apmt,
313 #[default]
314 Unknown,
315}
316#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
317pub enum NoReasonCode {
318 #[serde(rename = "NORE")]
319 Nore,
320 #[default]
321 Unknown,
322}
323#[derive(
324 Debug,
325 Default,
326 Clone,
327 PartialEq,
328 ::serde::Serialize,
329 ::serde::Deserialize,
330 ::derive_builder::Builder,
331 ::validator::Validate,
332)]
333pub struct TickerIdentifier {
334 #[validate(length(min = 1, max = 35,))]
335 #[serde(rename = "$text")]
336 pub value: String,
337}
338#[derive(
339 Debug,
340 Default,
341 Clone,
342 PartialEq,
343 ::serde::Serialize,
344 ::serde::Deserialize,
345 ::derive_builder::Builder,
346 ::validator::Validate,
347)]
348pub struct AlternateSecurityIdentification7 {
349 #[validate]
350 #[serde(rename = "Id")]
351 pub id: Max35Text,
352 #[serde(rename = "IdSrc")]
353 pub id_src: IdentificationSource1Choice,
354}
355#[derive(
356 Debug,
357 Default,
358 Clone,
359 PartialEq,
360 ::serde::Serialize,
361 ::serde::Deserialize,
362 ::derive_builder::Builder,
363 ::validator::Validate,
364)]
365pub struct HoldBackInformation3 {
366 #[serde(rename = "Tp")]
367 pub tp: GateHoldBack1Code,
368 #[serde(rename = "Amt", skip_serializing_if = "Option::is_none")]
369 pub amt: Option<ActiveCurrencyAndAmount>,
370 #[serde(rename = "XpctdRlsDt", skip_serializing_if = "Option::is_none")]
371 pub xpctd_rls_dt: Option<IsoDate>,
372 #[serde(rename = "FinInstrmId", skip_serializing_if = "Option::is_none")]
373 pub fin_instrm_id: Option<SecurityIdentification25Choice>,
374 #[serde(rename = "FinInstrmNm", skip_serializing_if = "Option::is_none")]
375 pub fin_instrm_nm: Option<Max350Text>,
376 #[serde(rename = "RedCmpltn", skip_serializing_if = "Option::is_none")]
377 pub red_cmpltn: Option<RedemptionCompletion1Code>,
378}
379#[derive(
380 Debug,
381 Default,
382 Clone,
383 PartialEq,
384 ::serde::Serialize,
385 ::serde::Deserialize,
386 ::derive_builder::Builder,
387 ::validator::Validate,
388)]
389pub struct MessageIdentification1 {
390 #[validate]
391 #[serde(rename = "Id")]
392 pub id: Max35Text,
393 #[validate]
394 #[serde(rename = "CreDtTm")]
395 pub cre_dt_tm: IsoDateTime,
396}
397#[derive(
398 Debug,
399 Default,
400 Clone,
401 PartialEq,
402 ::serde::Serialize,
403 ::serde::Deserialize,
404 ::derive_builder::Builder,
405 ::validator::Validate,
406)]
407pub struct GenericIdentification1 {
408 #[validate]
409 #[serde(rename = "Id")]
410 pub id: Max35Text,
411 #[serde(rename = "SchmeNm", skip_serializing_if = "Option::is_none")]
412 pub schme_nm: Option<Max35Text>,
413 #[serde(rename = "Issr", skip_serializing_if = "Option::is_none")]
414 pub issr: Option<Max35Text>,
415}
416#[derive(
417 Debug,
418 Default,
419 Clone,
420 PartialEq,
421 ::serde::Serialize,
422 ::serde::Deserialize,
423 ::derive_builder::Builder,
424 ::validator::Validate,
425)]
426pub struct Max70Text {
427 #[validate(length(min = 1, max = 70,))]
428 #[serde(rename = "$text")]
429 pub value: String,
430}
431#[derive(
432 Debug,
433 Default,
434 Clone,
435 PartialEq,
436 ::serde::Serialize,
437 ::serde::Deserialize,
438 ::derive_builder::Builder,
439 ::validator::Validate,
440)]
441pub struct Extension1 {
442 #[validate]
443 #[serde(rename = "PlcAndNm")]
444 pub plc_and_nm: Max350Text,
445 #[validate]
446 #[serde(rename = "Txt")]
447 pub txt: Max350Text,
448}
449#[derive(
450 Debug,
451 Default,
452 Clone,
453 PartialEq,
454 ::serde::Serialize,
455 ::serde::Deserialize,
456 ::derive_builder::Builder,
457 ::validator::Validate,
458)]
459pub struct ActiveCurrencyAndAmountSimpleType {
460 #[validate(range(min = 0,))]
461 #[serde(rename = "$text")]
462 pub value: f64,
463}
464#[derive(
465 Debug,
466 Default,
467 Clone,
468 PartialEq,
469 ::serde::Serialize,
470 ::serde::Deserialize,
471 ::derive_builder::Builder,
472 ::validator::Validate,
473)]
474pub struct WertpapierIdentifier {
475 #[serde(rename = "$text")]
476 pub value: String,
477}
478#[derive(
479 Debug,
480 Default,
481 Clone,
482 PartialEq,
483 ::serde::Serialize,
484 ::serde::Deserialize,
485 ::derive_builder::Builder,
486 ::validator::Validate,
487)]
488pub struct PartiallySettled21ChoiceEnum {
489 #[serde(rename = "Prtry", skip_serializing_if = "Option::is_none")]
490 pub prtry: Option<GenericIdentification1>,
491 #[serde(rename = "Cd", skip_serializing_if = "Option::is_none")]
492 pub cd: Option<SettledStatusReason2Code>,
493}
494#[derive(
495 Debug,
496 Default,
497 Clone,
498 PartialEq,
499 ::serde::Serialize,
500 ::serde::Deserialize,
501 ::derive_builder::Builder,
502 ::validator::Validate,
503)]
504pub struct PartiallySettled21Choice {
505 #[serde(flatten)]
506 pub value: PartiallySettled21ChoiceEnum,
507}
508#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
509pub enum OrderStatus4Code {
510 #[serde(rename = "PACK")]
511 Pack,
512 #[serde(rename = "COSE")]
513 Cose,
514 #[serde(rename = "STNP")]
515 Stnp,
516 #[serde(rename = "RECE")]
517 Rece,
518 #[serde(rename = "SETT")]
519 Sett,
520 #[serde(rename = "CPNP")]
521 Cpnp,
522 #[serde(rename = "CNFC")]
523 Cnfc,
524 #[serde(rename = "DONE")]
525 Done,
526 #[serde(rename = "DONF")]
527 Donf,
528 #[serde(rename = "OPOD")]
529 Opod,
530 #[serde(rename = "IACO")]
531 Iaco,
532 #[default]
533 Unknown,
534}
535#[derive(
536 Debug,
537 Default,
538 Clone,
539 PartialEq,
540 ::serde::Serialize,
541 ::serde::Deserialize,
542 ::derive_builder::Builder,
543 ::validator::Validate,
544)]
545pub struct Max16Text {
546 #[validate(length(min = 1, max = 16,))]
547 #[serde(rename = "$text")]
548 pub value: String,
549}
550#[derive(
551 Debug,
552 Default,
553 Clone,
554 PartialEq,
555 ::serde::Serialize,
556 ::serde::Deserialize,
557 ::derive_builder::Builder,
558 ::validator::Validate,
559)]
560pub struct ActiveOrHistoricCurrencyAndAmount {
561 #[serde(rename = "ActiveOrHistoricCurrencyAndAmount")]
562 pub value: ActiveOrHistoricCurrencyAndAmountSimpleType,
563 #[serde(rename = "@Ccy")]
564 pub ccy: ActiveOrHistoricCurrencyCode,
565}
566#[derive(
567 Debug,
568 Default,
569 Clone,
570 PartialEq,
571 ::serde::Serialize,
572 ::serde::Deserialize,
573 ::derive_builder::Builder,
574 ::validator::Validate,
575)]
576pub struct Exact4AlphaNumericText {
577 #[validate(regex = "EXACT_4_ALPHA_NUMERIC_TEXT_REGEX")]
578 #[serde(rename = "$text")]
579 pub value: String,
580}
581#[derive(
582 Debug,
583 Default,
584 Clone,
585 PartialEq,
586 ::serde::Serialize,
587 ::serde::Deserialize,
588 ::derive_builder::Builder,
589 ::validator::Validate,
590)]
591pub struct AdditionalAmount1ChoiceEnum {
592 #[serde(rename = "AddtlCshIn", skip_serializing_if = "Option::is_none")]
593 pub addtl_csh_in: Option<ActiveOrHistoricCurrencyAndAmount>,
594 #[serde(rename = "RsltgCshOut", skip_serializing_if = "Option::is_none")]
595 pub rsltg_csh_out: Option<ActiveOrHistoricCurrencyAndAmount>,
596}
597#[derive(
598 Debug,
599 Default,
600 Clone,
601 PartialEq,
602 ::serde::Serialize,
603 ::serde::Deserialize,
604 ::derive_builder::Builder,
605 ::validator::Validate,
606)]
607pub struct AdditionalAmount1Choice {
608 #[serde(flatten)]
609 pub value: AdditionalAmount1ChoiceEnum,
610}
611#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
612pub enum SuspendedStatusReason3Code {
613 #[serde(rename = "PRIC")]
614 Pric,
615 #[serde(rename = "FLOW")]
616 Flow,
617 #[default]
618 Unknown,
619}
620#[derive(
621 Debug,
622 Default,
623 Clone,
624 PartialEq,
625 ::serde::Serialize,
626 ::serde::Deserialize,
627 ::derive_builder::Builder,
628 ::validator::Validate,
629)]
630pub struct LeiIdentifier {
631 #[validate(regex = "LEI_IDENTIFIER_REGEX")]
632 #[serde(rename = "$text")]
633 pub value: String,
634}
635#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
636pub enum InvestmentFundFee1Code {
637 #[serde(rename = "BEND")]
638 Bend,
639 #[serde(rename = "BRKF")]
640 Brkf,
641 #[serde(rename = "COMM")]
642 Comm,
643 #[serde(rename = "CDPL")]
644 Cdpl,
645 #[serde(rename = "CDSC")]
646 Cdsc,
647 #[serde(rename = "CBCH")]
648 Cbch,
649 #[serde(rename = "DLEV")]
650 Dlev,
651 #[serde(rename = "FEND")]
652 Fend,
653 #[serde(rename = "INIT")]
654 Init,
655 #[serde(rename = "ADDF")]
656 Addf,
657 #[serde(rename = "POST")]
658 Post,
659 #[serde(rename = "PREM")]
660 Prem,
661 #[serde(rename = "CHAR")]
662 Char,
663 #[serde(rename = "SHIP")]
664 Ship,
665 #[serde(rename = "SWIT")]
666 Swit,
667 #[serde(rename = "UCIC")]
668 Ucic,
669 #[serde(rename = "REGF")]
670 Regf,
671 #[serde(rename = "PENA")]
672 Pena,
673 #[default]
674 Unknown,
675}
676#[derive(
677 Debug,
678 Default,
679 Clone,
680 PartialEq,
681 ::serde::Serialize,
682 ::serde::Deserialize,
683 ::derive_builder::Builder,
684 ::validator::Validate,
685)]
686pub struct OrderStatus3ChoiceEnum {
687 #[serde(rename = "Canc", skip_serializing_if = "Option::is_none")]
688 pub canc: Option<CancelledStatusReason16>,
689 #[serde(rename = "CondlyAccptd", skip_serializing_if = "Option::is_none")]
690 pub condly_accptd: Option<ConditionallyAcceptedStatus3Choice>,
691 #[serde(rename = "Rjctd", skip_serializing_if = "Option::is_none")]
692 pub rjctd: Option<RejectedStatus9>,
693 #[serde(rename = "Sspd", skip_serializing_if = "Option::is_none")]
694 pub sspd: Option<SuspendedStatusReason4Choice>,
695 #[serde(rename = "PrtlySttld", skip_serializing_if = "Option::is_none")]
696 pub prtly_sttld: Option<PartiallySettledStatus10>,
697 #[serde(rename = "Sts", skip_serializing_if = "Option::is_none")]
698 pub sts: Option<OrderStatus4Code>,
699}
700#[derive(
701 Debug,
702 Default,
703 Clone,
704 PartialEq,
705 ::serde::Serialize,
706 ::serde::Deserialize,
707 ::derive_builder::Builder,
708 ::validator::Validate,
709)]
710pub struct OrderStatus3Choice {
711 #[serde(flatten)]
712 pub value: OrderStatus3ChoiceEnum,
713}
714#[derive(
715 Debug,
716 Default,
717 Clone,
718 PartialEq,
719 ::serde::Serialize,
720 ::serde::Deserialize,
721 ::derive_builder::Builder,
722 ::validator::Validate,
723)]
724pub struct SecurityIdentification25ChoiceEnum {
725 #[serde(rename = "SEDOL", skip_serializing_if = "Option::is_none")]
726 pub sedol: Option<SedolIdentifier>,
727 #[serde(rename = "CTA", skip_serializing_if = "Option::is_none")]
728 pub cta: Option<ConsolidatedTapeAssociationIdentifier>,
729 #[serde(rename = "QUICK", skip_serializing_if = "Option::is_none")]
730 pub quick: Option<QuickIdentifier>,
731 #[serde(rename = "ISIN", skip_serializing_if = "Option::is_none")]
732 pub isin: Option<IsinOct2015Identifier>,
733 #[serde(rename = "Belgn", skip_serializing_if = "Option::is_none")]
734 pub belgn: Option<BelgianIdentifier>,
735 #[serde(rename = "RIC", skip_serializing_if = "Option::is_none")]
736 pub ric: Option<RicIdentifier>,
737 #[serde(rename = "Vlrn", skip_serializing_if = "Option::is_none")]
738 pub vlrn: Option<ValorenIdentifier>,
739 #[serde(rename = "Dtch", skip_serializing_if = "Option::is_none")]
740 pub dtch: Option<DutchIdentifier>,
741 #[serde(rename = "Cmon", skip_serializing_if = "Option::is_none")]
742 pub cmon: Option<EuroclearClearstreamIdentifier>,
743 #[serde(rename = "TckrSymb", skip_serializing_if = "Option::is_none")]
744 pub tckr_symb: Option<TickerIdentifier>,
745 #[serde(rename = "CUSIP", skip_serializing_if = "Option::is_none")]
746 pub cusip: Option<CusipIdentifier>,
747 #[serde(rename = "Wrtppr", skip_serializing_if = "Option::is_none")]
748 pub wrtppr: Option<WertpapierIdentifier>,
749 #[serde(rename = "SCVM", skip_serializing_if = "Option::is_none")]
750 pub scvm: Option<SicovamIdentifier>,
751 #[serde(rename = "OthrPrtryId", skip_serializing_if = "Option::is_none")]
752 pub othr_prtry_id: Option<AlternateSecurityIdentification7>,
753 #[serde(rename = "Blmbrg", skip_serializing_if = "Option::is_none")]
754 pub blmbrg: Option<Bloomberg2Identifier>,
755}
756#[derive(
757 Debug,
758 Default,
759 Clone,
760 PartialEq,
761 ::serde::Serialize,
762 ::serde::Deserialize,
763 ::derive_builder::Builder,
764 ::validator::Validate,
765)]
766pub struct SecurityIdentification25Choice {
767 #[serde(flatten)]
768 pub value: SecurityIdentification25ChoiceEnum,
769}
770#[derive(
771 Debug,
772 Default,
773 Clone,
774 PartialEq,
775 ::serde::Serialize,
776 ::serde::Deserialize,
777 ::derive_builder::Builder,
778 ::validator::Validate,
779)]
780pub struct IsoDate {
781 #[serde(rename = "$text")]
782 pub value: ::chrono::NaiveDate,
783}
784#[derive(
785 Debug,
786 Default,
787 Clone,
788 PartialEq,
789 ::serde::Serialize,
790 ::serde::Deserialize,
791 ::derive_builder::Builder,
792 ::validator::Validate,
793)]
794pub struct RicIdentifier {
795 #[validate(length(min = 1, max = 35,))]
796 #[serde(rename = "$text")]
797 pub value: String,
798}
799#[derive(
800 Debug,
801 Default,
802 Clone,
803 PartialEq,
804 ::serde::Serialize,
805 ::serde::Deserialize,
806 ::derive_builder::Builder,
807 ::validator::Validate,
808)]
809pub struct IndividualOrderStatusAndReason7 {
810 #[serde(rename = "MstrRef", skip_serializing_if = "Option::is_none")]
811 pub mstr_ref: Option<Max35Text>,
812 #[validate]
813 #[serde(rename = "OrdrRef")]
814 pub ordr_ref: Max35Text,
815 #[serde(rename = "ClntRef", skip_serializing_if = "Option::is_none")]
816 pub clnt_ref: Option<Max35Text>,
817 #[serde(rename = "DealRef", skip_serializing_if = "Option::is_none")]
818 pub deal_ref: Option<Max35Text>,
819 #[serde(rename = "CxlRef", skip_serializing_if = "Option::is_none")]
820 pub cxl_ref: Option<Max35Text>,
821 #[serde(rename = "OrdrSts")]
822 pub ordr_sts: OrderStatus5Choice,
823 #[validate(length(min = 0, max = 10,))]
824 #[serde(rename = "RprdFee", default)]
825 pub rprd_fee: Vec<Fee3>,
826 #[serde(rename = "StsInitr", skip_serializing_if = "Option::is_none")]
827 pub sts_initr: Option<PartyIdentification113>,
828 #[serde(rename = "OrdrData", skip_serializing_if = "Option::is_none")]
829 pub ordr_data: Option<FundOrderData5>,
830 #[serde(rename = "NewDtls", skip_serializing_if = "Option::is_none")]
831 pub new_dtls: Option<ExpectedExecutionDetails4>,
832 #[serde(rename = "GtgOrHldBckDtls", skip_serializing_if = "Option::is_none")]
833 pub gtg_or_hld_bck_dtls: Option<HoldBackInformation3>,
834}
835#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
836pub enum RejectedStatusReason11Code {
837 #[serde(rename = "BLCA")]
838 Blca,
839 #[serde(rename = "BLTR")]
840 Bltr,
841 #[serde(rename = "DOCC")]
842 Docc,
843 #[serde(rename = "ADEA")]
844 Adea,
845 #[serde(rename = "ILLI")]
846 Illi,
847 #[serde(rename = "BMIN")]
848 Bmin,
849 #[serde(rename = "BMRA")]
850 Bmra,
851 #[serde(rename = "BMRV")]
852 Bmrv,
853 #[serde(rename = "CUTO")]
854 Cuto,
855 #[serde(rename = "ICAG")]
856 Icag,
857 #[serde(rename = "IDDB")]
858 Iddb,
859 #[serde(rename = "ORRF")]
860 Orrf,
861 #[serde(rename = "FEEE")]
862 Feee,
863 #[serde(rename = "DSEC")]
864 Dsec,
865 #[serde(rename = "IDNA")]
866 Idna,
867 #[serde(rename = "DQUA")]
868 Dqua,
869 #[serde(rename = "CLOS")]
870 Clos,
871 #[serde(rename = "IPAC")]
872 Ipac,
873 #[serde(rename = "INSU")]
874 Insu,
875 #[serde(rename = "INTE")]
876 Inte,
877 #[serde(rename = "CASH")]
878 Cash,
879 #[serde(rename = "ICTR")]
880 Ictr,
881 #[serde(rename = "IOTP")]
882 Iotp,
883 #[serde(rename = "DFOR")]
884 Dfor,
885 #[serde(rename = "DMON")]
886 Dmon,
887 #[serde(rename = "SAFE")]
888 Safe,
889 #[serde(rename = "LOCK")]
890 Lock,
891 #[serde(rename = "NRGM")]
892 Nrgm,
893 #[serde(rename = "NSLA")]
894 Nsla,
895 #[serde(rename = "MONY")]
896 Mony,
897 #[serde(rename = "SECU")]
898 Secu,
899 #[serde(rename = "IPAY")]
900 Ipay,
901 #[serde(rename = "PRCT")]
902 Prct,
903 #[serde(rename = "DLVY")]
904 Dlvy,
905 #[serde(rename = "PHYS")]
906 Phys,
907 #[serde(rename = "PLCE")]
908 Plce,
909 #[serde(rename = "IVAG")]
910 Ivag,
911 #[serde(rename = "RTGS")]
912 Rtgs,
913 #[serde(rename = "ISAF")]
914 Isaf,
915 #[serde(rename = "NCRR")]
916 Ncrr,
917 #[serde(rename = "DDAT")]
918 Ddat,
919 #[serde(rename = "DEPT")]
920 Dept,
921 #[serde(rename = "SETR")]
922 Setr,
923 #[serde(rename = "IEXE")]
924 Iexe,
925 #[serde(rename = "SHIG")]
926 Shig,
927 #[serde(rename = "LATE")]
928 Late,
929 #[serde(rename = "SLOW")]
930 Slow,
931 #[serde(rename = "DTRD")]
932 Dtrd,
933 #[serde(rename = "UWAI")]
934 Uwai,
935 #[serde(rename = "UDCY")]
936 Udcy,
937 #[serde(rename = "UNAV")]
938 Unav,
939 #[serde(rename = "UPAY")]
940 Upay,
941 #[serde(rename = "URSC")]
942 Ursc,
943 #[serde(rename = "ULNK")]
944 Ulnk,
945 #[serde(rename = "UNSC")]
946 Unsc,
947 #[serde(rename = "POIN")]
948 Poin,
949 #[default]
950 Unknown,
951}
952#[derive(
953 Debug,
954 Default,
955 Clone,
956 PartialEq,
957 ::serde::Serialize,
958 ::serde::Deserialize,
959 ::derive_builder::Builder,
960 ::validator::Validate,
961)]
962pub struct DutchIdentifier {
963 #[serde(rename = "$text")]
964 pub value: String,
965}
966#[derive(
967 Debug,
968 Default,
969 Clone,
970 PartialEq,
971 ::serde::Serialize,
972 ::serde::Deserialize,
973 ::derive_builder::Builder,
974 ::validator::Validate,
975)]
976pub struct CusipIdentifier {
977 #[serde(rename = "$text")]
978 pub value: String,
979}
980#[derive(
981 Debug,
982 Default,
983 Clone,
984 PartialEq,
985 ::serde::Serialize,
986 ::serde::Deserialize,
987 ::derive_builder::Builder,
988 ::validator::Validate,
989)]
990pub struct Max140Text {
991 #[validate(length(min = 1, max = 140,))]
992 #[serde(rename = "$text")]
993 pub value: String,
994}
995#[derive(
996 Debug,
997 Default,
998 Clone,
999 PartialEq,
1000 ::serde::Serialize,
1001 ::serde::Deserialize,
1002 ::derive_builder::Builder,
1003 ::validator::Validate,
1004)]
1005pub struct InRepairStatusReason5ChoiceEnum {
1006 #[serde(rename = "Cd", skip_serializing_if = "Option::is_none")]
1007 pub cd: Option<InRepairStatusReason1Code>,
1008 #[serde(rename = "Prtry", skip_serializing_if = "Option::is_none")]
1009 pub prtry: Option<GenericIdentification1>,
1010}
1011#[derive(
1012 Debug,
1013 Default,
1014 Clone,
1015 PartialEq,
1016 ::serde::Serialize,
1017 ::serde::Deserialize,
1018 ::derive_builder::Builder,
1019 ::validator::Validate,
1020)]
1021pub struct InRepairStatusReason5Choice {
1022 #[serde(flatten)]
1023 pub value: InRepairStatusReason5ChoiceEnum,
1024}
1025#[derive(
1026 Debug,
1027 Default,
1028 Clone,
1029 PartialEq,
1030 ::serde::Serialize,
1031 ::serde::Deserialize,
1032 ::derive_builder::Builder,
1033 ::validator::Validate,
1034)]
1035pub struct AdditionalReference8 {
1036 #[validate]
1037 #[serde(rename = "Ref")]
1038 pub r#ref: Max35Text,
1039 #[serde(rename = "RefIssr", skip_serializing_if = "Option::is_none")]
1040 pub ref_issr: Option<PartyIdentification113>,
1041 #[serde(rename = "MsgNm", skip_serializing_if = "Option::is_none")]
1042 pub msg_nm: Option<Max35Text>,
1043}
1044#[derive(
1045 Debug,
1046 Default,
1047 Clone,
1048 PartialEq,
1049 ::serde::Serialize,
1050 ::serde::Deserialize,
1051 ::derive_builder::Builder,
1052 ::validator::Validate,
1053)]
1054pub struct FundOrderData5 {
1055 #[serde(rename = "InvstmtAcctDtls", skip_serializing_if = "Option::is_none")]
1056 pub invstmt_acct_dtls: Option<InvestmentAccount58>,
1057 #[serde(rename = "FinInstrmDtls", skip_serializing_if = "Option::is_none")]
1058 pub fin_instrm_dtls: Option<FinancialInstrument57>,
1059 #[serde(rename = "UnitsNb", skip_serializing_if = "Option::is_none")]
1060 pub units_nb: Option<DecimalNumber>,
1061 #[serde(rename = "NetAmt", skip_serializing_if = "Option::is_none")]
1062 pub net_amt: Option<ActiveOrHistoricCurrencyAndAmount>,
1063 #[serde(rename = "GrssAmt", skip_serializing_if = "Option::is_none")]
1064 pub grss_amt: Option<ActiveOrHistoricCurrencyAndAmount>,
1065 #[serde(rename = "HldgsRedRate", skip_serializing_if = "Option::is_none")]
1066 pub hldgs_red_rate: Option<PercentageRate>,
1067 #[serde(rename = "SttlmAmt", skip_serializing_if = "Option::is_none")]
1068 pub sttlm_amt: Option<ActiveCurrencyAndAmount>,
1069 #[serde(rename = "UnitCcy", skip_serializing_if = "Option::is_none")]
1070 pub unit_ccy: Option<ActiveCurrencyCode>,
1071 #[serde(rename = "QtdCcy", skip_serializing_if = "Option::is_none")]
1072 pub qtd_ccy: Option<ActiveCurrencyCode>,
1073}
1074#[derive(
1075 Debug,
1076 Default,
1077 Clone,
1078 PartialEq,
1079 ::serde::Serialize,
1080 ::serde::Deserialize,
1081 ::derive_builder::Builder,
1082 ::validator::Validate,
1083)]
1084pub struct BelgianIdentifier {
1085 #[serde(rename = "$text")]
1086 pub value: String,
1087}
1088#[derive(
1089 Debug,
1090 Default,
1091 Clone,
1092 PartialEq,
1093 ::serde::Serialize,
1094 ::serde::Deserialize,
1095 ::derive_builder::Builder,
1096 ::validator::Validate,
1097)]
1098pub struct DecimalNumber {
1099 #[serde(rename = "$text")]
1100 pub value: f64,
1101}
1102#[derive(
1103 Debug,
1104 Default,
1105 Clone,
1106 PartialEq,
1107 ::serde::Serialize,
1108 ::serde::Deserialize,
1109 ::derive_builder::Builder,
1110 ::validator::Validate,
1111)]
1112pub struct ActiveCurrencyCode {
1113 #[validate(regex = "ACTIVE_CURRENCY_CODE_REGEX")]
1114 #[serde(rename = "$text")]
1115 pub value: String,
1116}
1117#[derive(
1118 Debug,
1119 Default,
1120 Clone,
1121 PartialEq,
1122 ::serde::Serialize,
1123 ::serde::Deserialize,
1124 ::derive_builder::Builder,
1125 ::validator::Validate,
1126)]
1127pub struct ExpectedExecutionDetails2 {
1128 #[serde(rename = "XpctdTradDtTm", skip_serializing_if = "Option::is_none")]
1129 pub xpctd_trad_dt_tm: Option<DateAndDateTimeChoice>,
1130 #[serde(rename = "XpctdCshSttlmDt", skip_serializing_if = "Option::is_none")]
1131 pub xpctd_csh_sttlm_dt: Option<IsoDate>,
1132}
1133#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
1134pub enum DistributionPolicy1Code {
1135 #[serde(rename = "DIST")]
1136 Dist,
1137 #[serde(rename = "ACCU")]
1138 Accu,
1139 #[default]
1140 Unknown,
1141}
1142#[derive(
1143 Debug,
1144 Default,
1145 Clone,
1146 PartialEq,
1147 ::serde::Serialize,
1148 ::serde::Deserialize,
1149 ::derive_builder::Builder,
1150 ::validator::Validate,
1151)]
1152pub struct PartyIdentification90ChoiceEnum {
1153 #[serde(rename = "NmAndAdr", skip_serializing_if = "Option::is_none")]
1154 pub nm_and_adr: Option<NameAndAddress5>,
1155 #[serde(rename = "AnyBIC", skip_serializing_if = "Option::is_none")]
1156 pub any_bic: Option<AnyBicIdentifier>,
1157 #[serde(rename = "PrtryId", skip_serializing_if = "Option::is_none")]
1158 pub prtry_id: Option<GenericIdentification1>,
1159}
1160#[derive(
1161 Debug,
1162 Default,
1163 Clone,
1164 PartialEq,
1165 ::serde::Serialize,
1166 ::serde::Deserialize,
1167 ::derive_builder::Builder,
1168 ::validator::Validate,
1169)]
1170pub struct PartyIdentification90Choice {
1171 #[serde(flatten)]
1172 pub value: PartyIdentification90ChoiceEnum,
1173}
1174#[derive(
1175 Debug,
1176 Default,
1177 Clone,
1178 PartialEq,
1179 ::serde::Serialize,
1180 ::serde::Deserialize,
1181 ::derive_builder::Builder,
1182 ::validator::Validate,
1183)]
1184pub struct References61ChoiceEnum {
1185 #[serde(rename = "OthrRef", skip_serializing_if = "Option::is_none")]
1186 pub othr_ref: Option<AdditionalReference8>,
1187 #[serde(rename = "RltdRef", skip_serializing_if = "Option::is_none")]
1188 pub rltd_ref: Option<AdditionalReference8>,
1189}
1190#[derive(
1191 Debug,
1192 Default,
1193 Clone,
1194 PartialEq,
1195 ::serde::Serialize,
1196 ::serde::Deserialize,
1197 ::derive_builder::Builder,
1198 ::validator::Validate,
1199)]
1200pub struct References61Choice {
1201 #[serde(flatten)]
1202 pub value: References61ChoiceEnum,
1203}
1204#[derive(
1205 Debug,
1206 Default,
1207 Clone,
1208 PartialEq,
1209 ::serde::Serialize,
1210 ::serde::Deserialize,
1211 ::derive_builder::Builder,
1212 ::validator::Validate,
1213)]
1214#[serde(rename = "Document")]
1215pub struct Document {
1216 #[validate]
1217 #[serde(rename = "OrdrInstrStsRpt")]
1218 pub ordr_instr_sts_rpt: OrderInstructionStatusReportV04,
1219 #[serde(rename = "@xmlns", default = "namespace")]
1220 pub xmlns: String,
1221}
1222#[derive(
1223 Debug,
1224 Default,
1225 Clone,
1226 PartialEq,
1227 ::serde::Serialize,
1228 ::serde::Deserialize,
1229 ::derive_builder::Builder,
1230 ::validator::Validate,
1231)]
1232pub struct ChargeType5ChoiceEnum {
1233 #[serde(rename = "Cd", skip_serializing_if = "Option::is_none")]
1234 pub cd: Option<InvestmentFundFee1Code>,
1235 #[serde(rename = "Prtry", skip_serializing_if = "Option::is_none")]
1236 pub prtry: Option<GenericIdentification47>,
1237}
1238#[derive(
1239 Debug,
1240 Default,
1241 Clone,
1242 PartialEq,
1243 ::serde::Serialize,
1244 ::serde::Deserialize,
1245 ::derive_builder::Builder,
1246 ::validator::Validate,
1247)]
1248pub struct ChargeType5Choice {
1249 #[serde(flatten)]
1250 pub value: ChargeType5ChoiceEnum,
1251}
1252#[derive(
1253 Debug,
1254 Default,
1255 Clone,
1256 PartialEq,
1257 ::serde::Serialize,
1258 ::serde::Deserialize,
1259 ::derive_builder::Builder,
1260 ::validator::Validate,
1261)]
1262pub struct SedolIdentifier {
1263 #[serde(rename = "$text")]
1264 pub value: String,
1265}
1266#[derive(
1267 Debug,
1268 Default,
1269 Clone,
1270 PartialEq,
1271 ::serde::Serialize,
1272 ::serde::Deserialize,
1273 ::derive_builder::Builder,
1274 ::validator::Validate,
1275)]
1276pub struct Max35Text {
1277 #[validate(length(min = 1, max = 35,))]
1278 #[serde(rename = "$text")]
1279 pub value: String,
1280}
1281#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
1282pub enum ConditionallyAcceptedStatusReason2Code {
1283 #[serde(rename = "DOCC")]
1284 Docc,
1285 #[serde(rename = "AWRM")]
1286 Awrm,
1287 #[serde(rename = "AWSM")]
1288 Awsm,
1289 #[serde(rename = "DUPL")]
1290 Dupl,
1291 #[serde(rename = "CRED")]
1292 Cred,
1293 #[default]
1294 Unknown,
1295}
1296#[derive(
1297 Debug,
1298 Default,
1299 Clone,
1300 PartialEq,
1301 ::serde::Serialize,
1302 ::serde::Deserialize,
1303 ::derive_builder::Builder,
1304 ::validator::Validate,
1305)]
1306pub struct Fee3 {
1307 #[serde(rename = "Tp", skip_serializing_if = "Option::is_none")]
1308 pub tp: Option<ChargeType5Choice>,
1309 #[serde(rename = "RprdStdAmt", skip_serializing_if = "Option::is_none")]
1310 pub rprd_std_amt: Option<ActiveCurrencyAndAmount>,
1311 #[serde(rename = "RprdStdRate", skip_serializing_if = "Option::is_none")]
1312 pub rprd_std_rate: Option<PercentageRate>,
1313 #[serde(rename = "RprdDscntAmt", skip_serializing_if = "Option::is_none")]
1314 pub rprd_dscnt_amt: Option<ActiveCurrencyAndAmount>,
1315 #[serde(rename = "RprdDscntRate", skip_serializing_if = "Option::is_none")]
1316 pub rprd_dscnt_rate: Option<PercentageRate>,
1317 #[serde(rename = "RprdReqdAmt", skip_serializing_if = "Option::is_none")]
1318 pub rprd_reqd_amt: Option<ActiveCurrencyAndAmount>,
1319 #[serde(rename = "RprdReqdRate", skip_serializing_if = "Option::is_none")]
1320 pub rprd_reqd_rate: Option<PercentageRate>,
1321 #[serde(rename = "ComrclAgrmtRef", skip_serializing_if = "Option::is_none")]
1322 pub comrcl_agrmt_ref: Option<Max35Text>,
1323 #[serde(
1324 rename = "NewComrclAgrmtRefInd",
1325 skip_serializing_if = "Option::is_none"
1326 )]
1327 pub new_comrcl_agrmt_ref_ind: Option<YesNoIndicator>,
1328}
1329#[derive(
1330 Debug,
1331 Default,
1332 Clone,
1333 PartialEq,
1334 ::serde::Serialize,
1335 ::serde::Deserialize,
1336 ::derive_builder::Builder,
1337 ::validator::Validate,
1338)]
1339pub struct IsoDateTime {
1340 #[serde(rename = "$text")]
1341 pub value: ::chrono::DateTime<::chrono::Utc>,
1342}
1343#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
1344pub enum OrderOriginatorEligibility1Code {
1345 #[serde(rename = "ELIG")]
1346 Elig,
1347 #[serde(rename = "RETL")]
1348 Retl,
1349 #[serde(rename = "PROF")]
1350 Prof,
1351 #[default]
1352 Unknown,
1353}
1354#[derive(
1355 Debug,
1356 Default,
1357 Clone,
1358 PartialEq,
1359 ::serde::Serialize,
1360 ::serde::Deserialize,
1361 ::derive_builder::Builder,
1362 ::validator::Validate,
1363)]
1364pub struct OrderStatusAndReason10 {
1365 #[serde(rename = "MstrRef", skip_serializing_if = "Option::is_none")]
1366 pub mstr_ref: Option<Max35Text>,
1367 #[serde(rename = "OrdrSts")]
1368 pub ordr_sts: OrderStatus3Choice,
1369 #[serde(rename = "StsInitr", skip_serializing_if = "Option::is_none")]
1370 pub sts_initr: Option<PartyIdentification113>,
1371}
1372#[derive(
1373 Debug,
1374 Default,
1375 Clone,
1376 PartialEq,
1377 ::serde::Serialize,
1378 ::serde::Deserialize,
1379 ::derive_builder::Builder,
1380 ::validator::Validate,
1381)]
1382pub struct ConsolidatedTapeAssociationIdentifier {
1383 #[validate(length(min = 1, max = 35,))]
1384 #[serde(rename = "$text")]
1385 pub value: String,
1386}
1387#[derive(
1388 Debug,
1389 Default,
1390 Clone,
1391 PartialEq,
1392 ::serde::Serialize,
1393 ::serde::Deserialize,
1394 ::derive_builder::Builder,
1395 ::validator::Validate,
1396)]
1397pub struct GenericIdentification47 {
1398 #[validate]
1399 #[serde(rename = "Id")]
1400 pub id: Exact4AlphaNumericText,
1401 #[validate]
1402 #[serde(rename = "Issr")]
1403 pub issr: Max4AlphaNumericText,
1404 #[serde(rename = "SchmeNm", skip_serializing_if = "Option::is_none")]
1405 pub schme_nm: Option<Max4AlphaNumericText>,
1406}
1407#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
1408pub enum InRepairStatusReason1Code {
1409 #[serde(rename = "COMA")]
1410 Coma,
1411 #[default]
1412 Unknown,
1413}
1414#[derive(
1415 Debug,
1416 Default,
1417 Clone,
1418 PartialEq,
1419 ::serde::Serialize,
1420 ::serde::Deserialize,
1421 ::derive_builder::Builder,
1422 ::validator::Validate,
1423)]
1424pub struct OrderInstructionStatusReportV04 {
1425 #[validate]
1426 #[serde(rename = "MsgId")]
1427 pub msg_id: MessageIdentification1,
1428 #[serde(rename = "Ref", skip_serializing_if = "Option::is_none")]
1429 pub r#ref: Option<References61Choice>,
1430 #[serde(rename = "StsRpt")]
1431 pub sts_rpt: Status24Choice,
1432 #[validate(length(min = 0,))]
1433 #[serde(rename = "Xtnsn", default)]
1434 pub xtnsn: Vec<Extension1>,
1435}
1436#[derive(
1437 Debug,
1438 Default,
1439 Clone,
1440 PartialEq,
1441 ::serde::Serialize,
1442 ::serde::Deserialize,
1443 ::derive_builder::Builder,
1444 ::validator::Validate,
1445)]
1446pub struct PartiallySettledStatus10 {
1447 #[serde(rename = "Rsn")]
1448 pub rsn: PartiallySettled21Choice,
1449 #[serde(rename = "AddtlInf", skip_serializing_if = "Option::is_none")]
1450 pub addtl_inf: Option<Max350Text>,
1451}
1452#[derive(
1453 Debug,
1454 Default,
1455 Clone,
1456 PartialEq,
1457 ::serde::Serialize,
1458 ::serde::Deserialize,
1459 ::derive_builder::Builder,
1460 ::validator::Validate,
1461)]
1462pub struct PercentageRate {
1463 #[serde(rename = "$text")]
1464 pub value: f64,
1465}
1466#[derive(
1467 Debug,
1468 Default,
1469 Clone,
1470 PartialEq,
1471 ::serde::Serialize,
1472 ::serde::Deserialize,
1473 ::derive_builder::Builder,
1474 ::validator::Validate,
1475)]
1476pub struct ConditionallyAcceptedStatusReason3ChoiceEnum {
1477 #[serde(rename = "Prtry", skip_serializing_if = "Option::is_none")]
1478 pub prtry: Option<GenericIdentification1>,
1479 #[serde(rename = "Cd", skip_serializing_if = "Option::is_none")]
1480 pub cd: Option<ConditionallyAcceptedStatusReason2Code>,
1481}
1482#[derive(
1483 Debug,
1484 Default,
1485 Clone,
1486 PartialEq,
1487 ::serde::Serialize,
1488 ::serde::Deserialize,
1489 ::derive_builder::Builder,
1490 ::validator::Validate,
1491)]
1492pub struct ConditionallyAcceptedStatusReason3Choice {
1493 #[serde(flatten)]
1494 pub value: ConditionallyAcceptedStatusReason3ChoiceEnum,
1495}
1496#[derive(
1497 Debug,
1498 Default,
1499 Clone,
1500 PartialEq,
1501 ::serde::Serialize,
1502 ::serde::Deserialize,
1503 ::derive_builder::Builder,
1504 ::validator::Validate,
1505)]
1506pub struct IsinOct2015Identifier {
1507 #[validate(regex = "ISIN_OCT_2015_IDENTIFIER_REGEX")]
1508 #[serde(rename = "$text")]
1509 pub value: String,
1510}
1511#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
1512pub enum SettledStatusReason2Code {
1513 #[serde(rename = "CPST")]
1514 Cpst,
1515 #[serde(rename = "GATM")]
1516 Gatm,
1517 #[serde(rename = "GAT1")]
1518 Gat1,
1519 #[serde(rename = "UCPS")]
1520 Ucps,
1521 #[serde(rename = "UPST")]
1522 Upst,
1523 #[default]
1524 Unknown,
1525}
1526#[derive(
1527 Debug,
1528 Default,
1529 Clone,
1530 PartialEq,
1531 ::serde::Serialize,
1532 ::serde::Deserialize,
1533 ::derive_builder::Builder,
1534 ::validator::Validate,
1535)]
1536pub struct Status24ChoiceEnum {
1537 #[serde(rename = "OrdrDtlsRpt", skip_serializing_if = "Option::is_none")]
1538 pub ordr_dtls_rpt: Option<OrderStatusAndReason10>,
1539 #[serde(rename = "IndvOrdrDtlsRpt", skip_serializing_if = "Option::is_none")]
1540 pub indv_ordr_dtls_rpt: Option<IndividualOrderStatusAndReason7>,
1541 #[serde(rename = "SwtchOrdrDtlsRpt", skip_serializing_if = "Option::is_none")]
1542 pub swtch_ordr_dtls_rpt: Option<SwitchOrderStatusAndReason2>,
1543}
1544#[derive(
1545 Debug,
1546 Default,
1547 Clone,
1548 PartialEq,
1549 ::serde::Serialize,
1550 ::serde::Deserialize,
1551 ::derive_builder::Builder,
1552 ::validator::Validate,
1553)]
1554pub struct Status24Choice {
1555 #[serde(flatten)]
1556 pub value: Status24ChoiceEnum,
1557}
1558#[derive(
1559 Debug,
1560 Default,
1561 Clone,
1562 PartialEq,
1563 ::serde::Serialize,
1564 ::serde::Deserialize,
1565 ::derive_builder::Builder,
1566 ::validator::Validate,
1567)]
1568pub struct ExpectedExecutionDetails4 {
1569 #[serde(rename = "XpctdTradDtTm", skip_serializing_if = "Option::is_none")]
1570 pub xpctd_trad_dt_tm: Option<DateAndDateTimeChoice>,
1571 #[serde(rename = "XpctdCshSttlmDt", skip_serializing_if = "Option::is_none")]
1572 pub xpctd_csh_sttlm_dt: Option<IsoDate>,
1573}
1574#[derive(
1575 Debug,
1576 Default,
1577 Clone,
1578 PartialEq,
1579 ::serde::Serialize,
1580 ::serde::Deserialize,
1581 ::derive_builder::Builder,
1582 ::validator::Validate,
1583)]
1584pub struct DateAndDateTimeChoiceEnum {
1585 #[serde(rename = "Dt", skip_serializing_if = "Option::is_none")]
1586 pub dt: Option<IsoDate>,
1587 #[serde(rename = "DtTm", skip_serializing_if = "Option::is_none")]
1588 pub dt_tm: Option<IsoDateTime>,
1589}
1590#[derive(
1591 Debug,
1592 Default,
1593 Clone,
1594 PartialEq,
1595 ::serde::Serialize,
1596 ::serde::Deserialize,
1597 ::derive_builder::Builder,
1598 ::validator::Validate,
1599)]
1600pub struct DateAndDateTimeChoice {
1601 #[serde(flatten)]
1602 pub value: DateAndDateTimeChoiceEnum,
1603}
1604#[derive(
1605 Debug,
1606 Default,
1607 Clone,
1608 PartialEq,
1609 ::serde::Serialize,
1610 ::serde::Deserialize,
1611 ::derive_builder::Builder,
1612 ::validator::Validate,
1613)]
1614pub struct IdentificationSource1ChoiceEnum {
1615 #[serde(rename = "Dmst", skip_serializing_if = "Option::is_none")]
1616 pub dmst: Option<CountryCode>,
1617 #[serde(rename = "Prtry", skip_serializing_if = "Option::is_none")]
1618 pub prtry: Option<Max35Text>,
1619}
1620#[derive(
1621 Debug,
1622 Default,
1623 Clone,
1624 PartialEq,
1625 ::serde::Serialize,
1626 ::serde::Deserialize,
1627 ::derive_builder::Builder,
1628 ::validator::Validate,
1629)]
1630pub struct IdentificationSource1Choice {
1631 #[serde(flatten)]
1632 pub value: IdentificationSource1ChoiceEnum,
1633}
1634#[derive(
1635 Debug,
1636 Default,
1637 Clone,
1638 PartialEq,
1639 ::serde::Serialize,
1640 ::serde::Deserialize,
1641 ::derive_builder::Builder,
1642 ::validator::Validate,
1643)]
1644pub struct SwitchLegReferences2 {
1645 #[serde(rename = "LegId")]
1646 pub leg_id: LegIdentification1Choice,
1647 #[serde(rename = "LegRjctnRsn", skip_serializing_if = "Option::is_none")]
1648 pub leg_rjctn_rsn: Option<Max350Text>,
1649 #[validate(length(min = 0, max = 10,))]
1650 #[serde(rename = "RprdFee", default)]
1651 pub rprd_fee: Vec<Fee3>,
1652 #[serde(rename = "InvstmtAcctDtls", skip_serializing_if = "Option::is_none")]
1653 pub invstmt_acct_dtls: Option<InvestmentAccount58>,
1654 #[serde(rename = "FinInstrmDtls", skip_serializing_if = "Option::is_none")]
1655 pub fin_instrm_dtls: Option<FinancialInstrument57>,
1656}
1657#[derive(
1658 Debug,
1659 Default,
1660 Clone,
1661 PartialEq,
1662 ::serde::Serialize,
1663 ::serde::Deserialize,
1664 ::derive_builder::Builder,
1665 ::validator::Validate,
1666)]
1667pub struct InvestmentAccount58 {
1668 #[validate]
1669 #[serde(rename = "AcctId")]
1670 pub acct_id: Max35Text,
1671 #[serde(rename = "AcctNm", skip_serializing_if = "Option::is_none")]
1672 pub acct_nm: Option<Max35Text>,
1673 #[serde(rename = "AcctDsgnt", skip_serializing_if = "Option::is_none")]
1674 pub acct_dsgnt: Option<Max35Text>,
1675 #[validate(length(min = 0,))]
1676 #[serde(rename = "OwnrId", default)]
1677 pub ownr_id: Vec<PartyIdentification113>,
1678 #[serde(rename = "AcctSvcr", skip_serializing_if = "Option::is_none")]
1679 pub acct_svcr: Option<PartyIdentification113>,
1680 #[serde(rename = "OrdrOrgtrElgblty", skip_serializing_if = "Option::is_none")]
1681 pub ordr_orgtr_elgblty: Option<OrderOriginatorEligibility1Code>,
1682 #[serde(rename = "SubAcctDtls", skip_serializing_if = "Option::is_none")]
1683 pub sub_acct_dtls: Option<SubAccount6>,
1684}
1685#[derive(
1686 Debug,
1687 Default,
1688 Clone,
1689 PartialEq,
1690 ::serde::Serialize,
1691 ::serde::Deserialize,
1692 ::derive_builder::Builder,
1693 ::validator::Validate,
1694)]
1695pub struct DateFormat42ChoiceEnum {
1696 #[serde(rename = "YrMnth", skip_serializing_if = "Option::is_none")]
1697 pub yr_mnth: Option<IsoYearMonth>,
1698 #[serde(rename = "YrMnthDay", skip_serializing_if = "Option::is_none")]
1699 pub yr_mnth_day: Option<IsoDate>,
1700}
1701#[derive(
1702 Debug,
1703 Default,
1704 Clone,
1705 PartialEq,
1706 ::serde::Serialize,
1707 ::serde::Deserialize,
1708 ::derive_builder::Builder,
1709 ::validator::Validate,
1710)]
1711pub struct DateFormat42Choice {
1712 #[serde(flatten)]
1713 pub value: DateFormat42ChoiceEnum,
1714}
1715#[derive(
1716 Debug,
1717 Default,
1718 Clone,
1719 PartialEq,
1720 ::serde::Serialize,
1721 ::serde::Deserialize,
1722 ::derive_builder::Builder,
1723 ::validator::Validate,
1724)]
1725pub struct RejectedReason20ChoiceEnum {
1726 #[serde(rename = "Cd", skip_serializing_if = "Option::is_none")]
1727 pub cd: Option<RejectedStatusReason11Code>,
1728 #[serde(rename = "Prtry", skip_serializing_if = "Option::is_none")]
1729 pub prtry: Option<GenericIdentification1>,
1730}
1731#[derive(
1732 Debug,
1733 Default,
1734 Clone,
1735 PartialEq,
1736 ::serde::Serialize,
1737 ::serde::Deserialize,
1738 ::derive_builder::Builder,
1739 ::validator::Validate,
1740)]
1741pub struct RejectedReason20Choice {
1742 #[serde(flatten)]
1743 pub value: RejectedReason20ChoiceEnum,
1744}
1745#[derive(
1746 Debug,
1747 Default,
1748 Clone,
1749 PartialEq,
1750 ::serde::Serialize,
1751 ::serde::Deserialize,
1752 ::derive_builder::Builder,
1753 ::validator::Validate,
1754)]
1755pub struct EuroclearClearstreamIdentifier {
1756 #[validate(length(min = 1, max = 12,))]
1757 #[serde(rename = "$text")]
1758 pub value: String,
1759}
1760#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
1761pub enum FormOfSecurity1Code {
1762 #[serde(rename = "BEAR")]
1763 Bear,
1764 #[serde(rename = "REGD")]
1765 Regd,
1766 #[default]
1767 Unknown,
1768}
1769#[derive(
1770 Debug,
1771 Default,
1772 Clone,
1773 PartialEq,
1774 ::serde::Serialize,
1775 ::serde::Deserialize,
1776 ::derive_builder::Builder,
1777 ::validator::Validate,
1778)]
1779pub struct SuspendedStatusReason4 {
1780 #[serde(rename = "Rsn")]
1781 pub rsn: SuspendedStatusReason5Choice,
1782 #[serde(rename = "AddtlInf", skip_serializing_if = "Option::is_none")]
1783 pub addtl_inf: Option<Max350Text>,
1784}
1785#[derive(
1786 Debug,
1787 Default,
1788 Clone,
1789 PartialEq,
1790 ::serde::Serialize,
1791 ::serde::Deserialize,
1792 ::derive_builder::Builder,
1793 ::validator::Validate,
1794)]
1795pub struct Bloomberg2Identifier {
1796 #[validate(regex = "BLOOMBERG_2_IDENTIFIER_REGEX")]
1797 #[serde(rename = "$text")]
1798 pub value: String,
1799}
1800#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
1801pub enum GateHoldBack1Code {
1802 #[serde(rename = "GATE")]
1803 Gate,
1804 #[serde(rename = "HOLD")]
1805 Hold,
1806 #[default]
1807 Unknown,
1808}
1809#[derive(
1810 Debug,
1811 Default,
1812 Clone,
1813 PartialEq,
1814 ::serde::Serialize,
1815 ::serde::Deserialize,
1816 ::derive_builder::Builder,
1817 ::validator::Validate,
1818)]
1819pub struct Max4AlphaNumericText {
1820 #[validate(length(min = 1, max = 4,), regex = "MAX_4_ALPHA_NUMERIC_TEXT_REGEX")]
1821 #[serde(rename = "$text")]
1822 pub value: String,
1823}
1824#[derive(
1825 Debug,
1826 Default,
1827 Clone,
1828 PartialEq,
1829 ::serde::Serialize,
1830 ::serde::Deserialize,
1831 ::derive_builder::Builder,
1832 ::validator::Validate,
1833)]
1834pub struct Series1 {
1835 #[serde(rename = "SrsDt", skip_serializing_if = "Option::is_none")]
1836 pub srs_dt: Option<DateFormat42Choice>,
1837 #[serde(rename = "SrsNm", skip_serializing_if = "Option::is_none")]
1838 pub srs_nm: Option<Max35Text>,
1839}
1840#[derive(
1841 Debug,
1842 Default,
1843 Clone,
1844 PartialEq,
1845 ::serde::Serialize,
1846 ::serde::Deserialize,
1847 ::derive_builder::Builder,
1848 ::validator::Validate,
1849)]
1850pub struct FinancialInstrument57 {
1851 #[serde(rename = "Id")]
1852 pub id: SecurityIdentification25Choice,
1853 #[serde(rename = "Nm", skip_serializing_if = "Option::is_none")]
1854 pub nm: Option<Max350Text>,
1855 #[serde(rename = "ShrtNm", skip_serializing_if = "Option::is_none")]
1856 pub shrt_nm: Option<Max35Text>,
1857 #[serde(rename = "SplmtryId", skip_serializing_if = "Option::is_none")]
1858 pub splmtry_id: Option<Max35Text>,
1859 #[serde(rename = "ClssTp", skip_serializing_if = "Option::is_none")]
1860 pub clss_tp: Option<Max35Text>,
1861 #[serde(rename = "SctiesForm", skip_serializing_if = "Option::is_none")]
1862 pub scties_form: Option<FormOfSecurity1Code>,
1863 #[serde(rename = "DstrbtnPlcy", skip_serializing_if = "Option::is_none")]
1864 pub dstrbtn_plcy: Option<DistributionPolicy1Code>,
1865 #[serde(rename = "PdctGrp", skip_serializing_if = "Option::is_none")]
1866 pub pdct_grp: Option<Max140Text>,
1867 #[serde(rename = "SrsId", skip_serializing_if = "Option::is_none")]
1868 pub srs_id: Option<Series1>,
1869}
1870#[derive(
1871 Debug,
1872 Default,
1873 Clone,
1874 PartialEq,
1875 ::serde::Serialize,
1876 ::serde::Deserialize,
1877 ::derive_builder::Builder,
1878 ::validator::Validate,
1879)]
1880pub struct OrderStatus4ChoiceEnum {
1881 #[serde(rename = "Sspd", skip_serializing_if = "Option::is_none")]
1882 pub sspd: Option<SuspendedStatusReason4Choice>,
1883 #[serde(rename = "Rjctd", skip_serializing_if = "Option::is_none")]
1884 pub rjctd: Option<RejectedStatus9>,
1885 #[serde(rename = "CondlyAccptd", skip_serializing_if = "Option::is_none")]
1886 pub condly_accptd: Option<ConditionallyAcceptedStatus3Choice>,
1887 #[serde(rename = "InRpr", skip_serializing_if = "Option::is_none")]
1888 pub in_rpr: Option<InRepairStatusReason4Choice>,
1889 #[serde(rename = "Canc", skip_serializing_if = "Option::is_none")]
1890 pub canc: Option<CancelledStatusReason16>,
1891 #[serde(rename = "PrtlySttld", skip_serializing_if = "Option::is_none")]
1892 pub prtly_sttld: Option<PartiallySettledStatus10>,
1893 #[serde(rename = "Sts", skip_serializing_if = "Option::is_none")]
1894 pub sts: Option<OrderStatus4Code>,
1895}
1896#[derive(
1897 Debug,
1898 Default,
1899 Clone,
1900 PartialEq,
1901 ::serde::Serialize,
1902 ::serde::Deserialize,
1903 ::derive_builder::Builder,
1904 ::validator::Validate,
1905)]
1906pub struct OrderStatus4Choice {
1907 #[serde(flatten)]
1908 pub value: OrderStatus4ChoiceEnum,
1909}
1910#[derive(
1911 Debug,
1912 Default,
1913 Clone,
1914 PartialEq,
1915 ::serde::Serialize,
1916 ::serde::Deserialize,
1917 ::derive_builder::Builder,
1918 ::validator::Validate,
1919)]
1920pub struct SwitchOrderStatusAndReason2 {
1921 #[serde(rename = "MstrRef", skip_serializing_if = "Option::is_none")]
1922 pub mstr_ref: Option<Max35Text>,
1923 #[validate]
1924 #[serde(rename = "OrdrRef")]
1925 pub ordr_ref: Max35Text,
1926 #[serde(rename = "ClntRef", skip_serializing_if = "Option::is_none")]
1927 pub clnt_ref: Option<Max35Text>,
1928 #[serde(rename = "DealRef", skip_serializing_if = "Option::is_none")]
1929 pub deal_ref: Option<Max35Text>,
1930 #[serde(rename = "CxlRef", skip_serializing_if = "Option::is_none")]
1931 pub cxl_ref: Option<Max35Text>,
1932 #[serde(rename = "OrdrSts")]
1933 pub ordr_sts: OrderStatus4Choice,
1934 #[validate(length(min = 0,))]
1935 #[serde(rename = "LegInf", default)]
1936 pub leg_inf: Vec<SwitchLegReferences2>,
1937 #[serde(rename = "StsInitr", skip_serializing_if = "Option::is_none")]
1938 pub sts_initr: Option<PartyIdentification113>,
1939 #[serde(rename = "OrdrData", skip_serializing_if = "Option::is_none")]
1940 pub ordr_data: Option<FundOrderData6>,
1941 #[serde(rename = "NewDtls", skip_serializing_if = "Option::is_none")]
1942 pub new_dtls: Option<ExpectedExecutionDetails2>,
1943}
1944#[derive(
1945 Debug,
1946 Default,
1947 Clone,
1948 PartialEq,
1949 ::serde::Serialize,
1950 ::serde::Deserialize,
1951 ::derive_builder::Builder,
1952 ::validator::Validate,
1953)]
1954pub struct ValorenIdentifier {
1955 #[serde(rename = "$text")]
1956 pub value: String,
1957}
1958#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
1959pub enum RedemptionCompletion1Code {
1960 #[serde(rename = "RED0")]
1961 Red0,
1962 #[serde(rename = "RED1")]
1963 Red1,
1964 #[default]
1965 Unknown,
1966}
1967#[derive(
1968 Debug,
1969 Default,
1970 Clone,
1971 PartialEq,
1972 ::serde::Serialize,
1973 ::serde::Deserialize,
1974 ::derive_builder::Builder,
1975 ::validator::Validate,
1976)]
1977pub struct ConditionallyAcceptedStatusReason3 {
1978 #[serde(rename = "Rsn")]
1979 pub rsn: ConditionallyAcceptedStatusReason3Choice,
1980 #[serde(rename = "AddtlInf", skip_serializing_if = "Option::is_none")]
1981 pub addtl_inf: Option<Max350Text>,
1982}
1983#[derive(
1984 Debug,
1985 Default,
1986 Clone,
1987 PartialEq,
1988 ::serde::Serialize,
1989 ::serde::Deserialize,
1990 ::derive_builder::Builder,
1991 ::validator::Validate,
1992)]
1993pub struct SubAccount6 {
1994 #[validate]
1995 #[serde(rename = "Id")]
1996 pub id: Max35Text,
1997 #[serde(rename = "Nm", skip_serializing_if = "Option::is_none")]
1998 pub nm: Option<Max35Text>,
1999 #[serde(rename = "Chrtc", skip_serializing_if = "Option::is_none")]
2000 pub chrtc: Option<Max35Text>,
2001 #[serde(rename = "AcctDsgnt", skip_serializing_if = "Option::is_none")]
2002 pub acct_dsgnt: Option<Max35Text>,
2003}
2004#[derive(
2005 Debug,
2006 Default,
2007 Clone,
2008 PartialEq,
2009 ::serde::Serialize,
2010 ::serde::Deserialize,
2011 ::derive_builder::Builder,
2012 ::validator::Validate,
2013)]
2014pub struct CancelledStatusReason16 {
2015 #[serde(rename = "Rsn", skip_serializing_if = "Option::is_none")]
2016 pub rsn: Option<CancelledReason12Choice>,
2017 #[serde(rename = "AddtlInf", skip_serializing_if = "Option::is_none")]
2018 pub addtl_inf: Option<Max350Text>,
2019}
2020#[derive(
2021 Debug,
2022 Default,
2023 Clone,
2024 PartialEq,
2025 ::serde::Serialize,
2026 ::serde::Deserialize,
2027 ::derive_builder::Builder,
2028 ::validator::Validate,
2029)]
2030pub struct ConditionallyAcceptedStatus3ChoiceEnum {
2031 #[serde(rename = "NoSpcfdRsn", skip_serializing_if = "Option::is_none")]
2032 pub no_spcfd_rsn: Option<NoReasonCode>,
2033 #[serde(rename = "RsnDtls", skip_serializing_if = "Option::is_none")]
2034 pub rsn_dtls: Option<ConditionallyAcceptedStatusReason3>,
2035}
2036#[derive(
2037 Debug,
2038 Default,
2039 Clone,
2040 PartialEq,
2041 ::serde::Serialize,
2042 ::serde::Deserialize,
2043 ::derive_builder::Builder,
2044 ::validator::Validate,
2045)]
2046pub struct ConditionallyAcceptedStatus3Choice {
2047 #[serde(flatten)]
2048 pub value: ConditionallyAcceptedStatus3ChoiceEnum,
2049}
2050#[derive(
2051 Debug,
2052 Default,
2053 Clone,
2054 PartialEq,
2055 ::serde::Serialize,
2056 ::serde::Deserialize,
2057 ::derive_builder::Builder,
2058 ::validator::Validate,
2059)]
2060pub struct FundOrderData6 {
2061 #[serde(rename = "SttlmAmt", skip_serializing_if = "Option::is_none")]
2062 pub sttlm_amt: Option<ActiveCurrencyAndAmount>,
2063 #[serde(rename = "SttlmMtd", skip_serializing_if = "Option::is_none")]
2064 pub sttlm_mtd: Option<DeliveryReceiptType2Code>,
2065 #[serde(rename = "AddtlAmt", skip_serializing_if = "Option::is_none")]
2066 pub addtl_amt: Option<AdditionalAmount1Choice>,
2067 #[serde(rename = "UnitCcy", skip_serializing_if = "Option::is_none")]
2068 pub unit_ccy: Option<ActiveCurrencyCode>,
2069 #[serde(rename = "QtdCcy", skip_serializing_if = "Option::is_none")]
2070 pub qtd_ccy: Option<ActiveCurrencyCode>,
2071}
2072#[derive(
2073 Debug,
2074 Default,
2075 Clone,
2076 PartialEq,
2077 ::serde::Serialize,
2078 ::serde::Deserialize,
2079 ::derive_builder::Builder,
2080 ::validator::Validate,
2081)]
2082pub struct RejectedStatus9 {
2083 #[serde(rename = "Rsn", skip_serializing_if = "Option::is_none")]
2084 pub rsn: Option<RejectedReason20Choice>,
2085 #[serde(rename = "AddtlInf", skip_serializing_if = "Option::is_none")]
2086 pub addtl_inf: Option<Max350Text>,
2087}
2088#[derive(
2089 Debug,
2090 Default,
2091 Clone,
2092 PartialEq,
2093 ::serde::Serialize,
2094 ::serde::Deserialize,
2095 ::derive_builder::Builder,
2096 ::validator::Validate,
2097)]
2098pub struct SuspendedStatusReason4ChoiceEnum {
2099 #[serde(rename = "RsnDtls", skip_serializing_if = "Option::is_none")]
2100 pub rsn_dtls: Option<SuspendedStatusReason4>,
2101 #[serde(rename = "NoSpcfdRsn", skip_serializing_if = "Option::is_none")]
2102 pub no_spcfd_rsn: Option<NoReasonCode>,
2103}
2104#[derive(
2105 Debug,
2106 Default,
2107 Clone,
2108 PartialEq,
2109 ::serde::Serialize,
2110 ::serde::Deserialize,
2111 ::derive_builder::Builder,
2112 ::validator::Validate,
2113)]
2114pub struct SuspendedStatusReason4Choice {
2115 #[serde(flatten)]
2116 pub value: SuspendedStatusReason4ChoiceEnum,
2117}
2118#[derive(
2119 Debug,
2120 Default,
2121 Clone,
2122 PartialEq,
2123 ::serde::Serialize,
2124 ::serde::Deserialize,
2125 ::derive_builder::Builder,
2126 ::validator::Validate,
2127)]
2128pub struct SuspendedStatusReason5ChoiceEnum {
2129 #[serde(rename = "Prtry", skip_serializing_if = "Option::is_none")]
2130 pub prtry: Option<GenericIdentification1>,
2131 #[serde(rename = "Cd", skip_serializing_if = "Option::is_none")]
2132 pub cd: Option<SuspendedStatusReason3Code>,
2133}
2134#[derive(
2135 Debug,
2136 Default,
2137 Clone,
2138 PartialEq,
2139 ::serde::Serialize,
2140 ::serde::Deserialize,
2141 ::derive_builder::Builder,
2142 ::validator::Validate,
2143)]
2144pub struct SuspendedStatusReason5Choice {
2145 #[serde(flatten)]
2146 pub value: SuspendedStatusReason5ChoiceEnum,
2147}
2148#[derive(
2149 Debug,
2150 Default,
2151 Clone,
2152 PartialEq,
2153 ::serde::Serialize,
2154 ::serde::Deserialize,
2155 ::derive_builder::Builder,
2156 ::validator::Validate,
2157)]
2158pub struct YesNoIndicator {
2159 #[serde(rename = "$text")]
2160 pub value: bool,
2161}
2162#[derive(
2163 Debug,
2164 Default,
2165 Clone,
2166 PartialEq,
2167 ::serde::Serialize,
2168 ::serde::Deserialize,
2169 ::derive_builder::Builder,
2170 ::validator::Validate,
2171)]
2172pub struct ActiveOrHistoricCurrencyAndAmountSimpleType {
2173 #[validate(range(min = 0,))]
2174 #[serde(rename = "$text")]
2175 pub value: f64,
2176}
2177#[derive(
2178 Debug,
2179 Default,
2180 Clone,
2181 PartialEq,
2182 ::serde::Serialize,
2183 ::serde::Deserialize,
2184 ::derive_builder::Builder,
2185 ::validator::Validate,
2186)]
2187pub struct NameAndAddress5 {
2188 #[validate]
2189 #[serde(rename = "Nm")]
2190 pub nm: Max350Text,
2191 #[serde(rename = "Adr", skip_serializing_if = "Option::is_none")]
2192 pub adr: Option<PostalAddress1>,
2193}
2194#[derive(
2195 Debug,
2196 Default,
2197 Clone,
2198 PartialEq,
2199 ::serde::Serialize,
2200 ::serde::Deserialize,
2201 ::derive_builder::Builder,
2202 ::validator::Validate,
2203)]
2204pub struct LegIdentification1ChoiceEnum {
2205 #[serde(rename = "SbcptLegId", skip_serializing_if = "Option::is_none")]
2206 pub sbcpt_leg_id: Option<Max35Text>,
2207 #[serde(rename = "RedLegId", skip_serializing_if = "Option::is_none")]
2208 pub red_leg_id: Option<Max35Text>,
2209}
2210#[derive(
2211 Debug,
2212 Default,
2213 Clone,
2214 PartialEq,
2215 ::serde::Serialize,
2216 ::serde::Deserialize,
2217 ::derive_builder::Builder,
2218 ::validator::Validate,
2219)]
2220pub struct LegIdentification1Choice {
2221 #[serde(flatten)]
2222 pub value: LegIdentification1ChoiceEnum,
2223}
2224#[derive(
2225 Debug,
2226 Default,
2227 Clone,
2228 PartialEq,
2229 ::serde::Serialize,
2230 ::serde::Deserialize,
2231 ::derive_builder::Builder,
2232 ::validator::Validate,
2233)]
2234pub struct OrderStatus5ChoiceEnum {
2235 #[serde(rename = "PrtlySttld", skip_serializing_if = "Option::is_none")]
2236 pub prtly_sttld: Option<PartiallySettledStatus10>,
2237 #[serde(rename = "Canc", skip_serializing_if = "Option::is_none")]
2238 pub canc: Option<CancelledStatusReason16>,
2239 #[serde(rename = "Rjctd", skip_serializing_if = "Option::is_none")]
2240 pub rjctd: Option<RejectedStatus9>,
2241 #[serde(rename = "CondlyAccptd", skip_serializing_if = "Option::is_none")]
2242 pub condly_accptd: Option<ConditionallyAcceptedStatus3Choice>,
2243 #[serde(rename = "InRpr", skip_serializing_if = "Option::is_none")]
2244 pub in_rpr: Option<InRepairStatusReason4Choice>,
2245 #[serde(rename = "Sts", skip_serializing_if = "Option::is_none")]
2246 pub sts: Option<OrderStatus4Code>,
2247 #[serde(rename = "Sspd", skip_serializing_if = "Option::is_none")]
2248 pub sspd: Option<SuspendedStatusReason4Choice>,
2249}
2250#[derive(
2251 Debug,
2252 Default,
2253 Clone,
2254 PartialEq,
2255 ::serde::Serialize,
2256 ::serde::Deserialize,
2257 ::derive_builder::Builder,
2258 ::validator::Validate,
2259)]
2260pub struct OrderStatus5Choice {
2261 #[serde(flatten)]
2262 pub value: OrderStatus5ChoiceEnum,
2263}
2264#[derive(
2265 Debug,
2266 Default,
2267 Clone,
2268 PartialEq,
2269 ::serde::Serialize,
2270 ::serde::Deserialize,
2271 ::derive_builder::Builder,
2272 ::validator::Validate,
2273)]
2274pub struct InRepairStatusReason4 {
2275 #[serde(rename = "Rsn")]
2276 pub rsn: InRepairStatusReason5Choice,
2277 #[serde(rename = "AddtlInf", skip_serializing_if = "Option::is_none")]
2278 pub addtl_inf: Option<Max350Text>,
2279}
2280#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
2281pub enum AddressType2Code {
2282 #[serde(rename = "ADDR")]
2283 Addr,
2284 #[serde(rename = "PBOX")]
2285 Pbox,
2286 #[serde(rename = "HOME")]
2287 Home,
2288 #[serde(rename = "BIZZ")]
2289 Bizz,
2290 #[serde(rename = "MLTO")]
2291 Mlto,
2292 #[serde(rename = "DLVY")]
2293 Dlvy,
2294 #[default]
2295 Unknown,
2296}