-
Notifications
You must be signed in to change notification settings - Fork 0
/
reda.007.001.01.xsd.go
1029 lines (854 loc) · 58.6 KB
/
reda.007.001.01.xsd.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
// Code generated by download. DO NOT EDIT.
package iso20022_reda_007_001_01
import (
"bytes"
"encoding/xml"
"time"
)
type ActiveCurrencyAnd13DecimalAmount struct {
Value float64 `xml:",chardata"`
Ccy ActiveCurrencyCode `xml:"Ccy,attr"`
}
type ActiveCurrencyAndAmount struct {
Value float64 `xml:",chardata"`
Ccy ActiveCurrencyCode `xml:"Ccy,attr"`
}
// Must match the pattern [A-Z]{3,3}
type ActiveCurrencyCode string
type ActiveOrHistoricCurrencyAnd13DecimalAmount struct {
Value float64 `xml:",chardata"`
Ccy ActiveOrHistoricCurrencyCode `xml:"Ccy,attr"`
}
// Must match the pattern [A-Z]{3,3}
type ActiveOrHistoricCurrencyCode string
// May be one of HOME, BIZZ
type AddressType1Code string
// May be one of ADDR, PBOX, HOME, BIZZ, MLTO, DLVY
type AddressType2Code string
type AmountOrPercentageRange1 struct {
Opr Operation1Code `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Opr,omitempty"`
Term []Term1 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Term,omitempty"`
}
// Must match the pattern [A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9]{3,3}){0,1}
type AnyBICDec2014Identifier string
// May be one of DELI, NDEL, LIMI, BENT, DFBE, DLBE, TMPG, GLOB
type Appearance1Code string
type Appearance3Choice struct {
Cd Appearance1Code `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Cd,omitempty"`
Prtry GenericIdentification30 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Prtry,omitempty"`
}
// May be one of RAND, PROR
type AssignmentMethod1Code string
type AssignmentMethod2Choice struct {
Cd AssignmentMethod1Code `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Cd,omitempty"`
Prtry GenericIdentification30 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Prtry,omitempty"`
}
type BenchmarkCurve6 struct {
Sprd float64 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Sprd,omitempty"`
BchmkId SecurityIdentification39 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 BchmkId,omitempty"`
BchmkPric Price8 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 BchmkPric,omitempty"`
BchmkCrvCcy ActiveOrHistoricCurrencyCode `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 BchmkCrvCcy,omitempty"`
BchmkCrvNm BenchmarkCurveName7Choice `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 BchmkCrvNm,omitempty"`
BchmkCrvPt Max256Text `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 BchmkCrvPt,omitempty"`
}
// May be one of MAAA, FUSW, LIBI, LIBO, SWAP, TREA, EURI, PFAN
type BenchmarkCurveName1Code string
type BenchmarkCurveName7Choice struct {
Cd BenchmarkCurveName1Code `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Cd,omitempty"`
Prtry GenericIdentification30 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Prtry,omitempty"`
}
// Must match the pattern [A-Z]{6,6}
type CFIOct2015Identifier string
// May be one of AFTX, ANNU, ISSU, AVMA, BOOK, YTNC, CHCL, CLOS, CMPD, CUYI, TRGR, GVEQ, FLAS, NVFL, LSCL, LSMT, LSQR, LSYR, LGAL, MARK, YTMA, NXRF, PNAV, NXPT, PRCL, PRYL, SEMI, SHLF, SPLL, TXQV, TTDT, TRYL, WRST
type CalculationType1Code string
type CalculationType3Choice struct {
Cd CalculationType1Code `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Cd,omitempty"`
Prtry GenericIdentification30 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Prtry,omitempty"`
}
// May be one of LOTT, PRTA
type CallType1Code string
type CallType3Choice struct {
Cd CallType1Code `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Cd,omitempty"`
Prtry GenericIdentification30 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Prtry,omitempty"`
}
type ClassificationType2 struct {
ClssfctnFinInstrm CFIOct2015Identifier `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 ClssfctnFinInstrm,omitempty"`
FinInstrmPdctTpCd ExternalFinancialInstrumentProductType1Code `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 FinInstrmPdctTpCd,omitempty"`
AltrnClssfctn []GenericIdentification36 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 AltrnClssfctn,omitempty"`
}
type CommonFinancialInstrumentAttributes12 struct {
SctySts SecurityStatus3Choice `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 SctySts,omitempty"`
ISOSctyLngNm Max350Text `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 ISOSctyLngNm,omitempty"`
ISOSctyShrtNm Max35Text `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 ISOSctyShrtNm,omitempty"`
NmVldFr DateAndDateTime2Choice `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 NmVldFr,omitempty"`
DnmtnCcy ActiveOrHistoricCurrencyCode `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 DnmtnCcy,omitempty"`
CertNb Max35Text `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 CertNb,omitempty"`
CtrctVrsnNb float64 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 CtrctVrsnNb,omitempty"`
CpnAttchdNb Max3NumericText `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 CpnAttchdNb,omitempty"`
TaxLotNb Max15NumericText `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 TaxLotNb,omitempty"`
PoolNb Max15NumericText `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 PoolNb,omitempty"`
CvrdInd bool `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 CvrdInd,omitempty"`
LglRstrctns LegalRestrictions4Choice `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 LglRstrctns,omitempty"`
PosLmt FinancialInstrumentQuantity1Choice `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 PosLmt,omitempty"`
NearTermPosLmt FinancialInstrumentQuantity1Choice `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 NearTermPosLmt,omitempty"`
ListgDt ISODate `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 ListgDt,omitempty"`
RcrdDt ISODateTime `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 RcrdDt,omitempty"`
XpryDt ISODate `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 XpryDt,omitempty"`
Purp Max256Text `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Purp,omitempty"`
ClssfctnTp ClassificationType2 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 ClssfctnTp,omitempty"`
Issnc Issuance5 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Issnc,omitempty"`
TradgMkt []TradingParameters2 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 TradgMkt,omitempty"`
SprdAndBchmkCrv []BenchmarkCurve6 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 SprdAndBchmkCrv,omitempty"`
PutTp PutType3Choice `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 PutTp,omitempty"`
CallTp CallType3Choice `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 CallTp,omitempty"`
FngbInd bool `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 FngbInd,omitempty"`
Cnfdtl bool `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Cnfdtl,omitempty"`
PrvtPlcmnt bool `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 PrvtPlcmnt,omitempty"`
ConvtblInd bool `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 ConvtblInd,omitempty"`
ConvsPrd DateTimePeriod1 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 ConvsPrd,omitempty"`
ConvsRatioNmrtr FinancialInstrumentQuantity1Choice `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 ConvsRatioNmrtr,omitempty"`
ConvsRatioDnmtr FinancialInstrumentQuantity1Choice `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 ConvsRatioDnmtr,omitempty"`
PmryPlcOfDpst PartyIdentification136 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 PmryPlcOfDpst,omitempty"`
TradgMtd UnitOrFaceAmount1Choice `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 TradgMtd,omitempty"`
TEFRARule TEFRARules3Choice `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 TEFRARule,omitempty"`
SrNb Max16Text `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 SrNb,omitempty"`
Clss Max16Text `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Clss,omitempty"`
WhldgTaxRgm []SecurityWithHoldingTax1 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 WhldgTaxRgm,omitempty"`
PmtSts SecuritiesPaymentStatus5Choice `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 PmtSts,omitempty"`
InitlPhysForm InitialPhysicalForm4Choice `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 InitlPhysForm,omitempty"`
AftrXchgPhysForm InitialPhysicalForm3Choice `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 AftrXchgPhysForm,omitempty"`
CmonSfkpr PartyIdentification177Choice `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 CmonSfkpr,omitempty"`
RedTp MaturityRedemptionType3Choice `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 RedTp,omitempty"`
RedPmtCcy ActiveCurrencyCode `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 RedPmtCcy,omitempty"`
Rstrctn []SecurityRestriction3 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Rstrctn,omitempty"`
FinInstrmId SecurityIdentification39 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 FinInstrmId,omitempty"`
SttlmInf []SettlementInformation17 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 SttlmInf,omitempty"`
FinInstrmForm FinancialInstrumentForm2 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 FinInstrmForm,omitempty"`
CtctNm Organisation38 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 CtctNm,omitempty"`
LeadMgr Organisation38 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 LeadMgr,omitempty"`
PrncplPngAgt Organisation38 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 PrncplPngAgt,omitempty"`
PngAgt Organisation38 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 PngAgt,omitempty"`
Dpstry Organisation38 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Dpstry,omitempty"`
UndrlygRsk Organisation38 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 UndrlygRsk,omitempty"`
}
type CommunicationAddress3 struct {
Email Max256Text `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Email,omitempty"`
Phne PhoneNumber `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Phne,omitempty"`
Mob PhoneNumber `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Mob,omitempty"`
FaxNb PhoneNumber `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 FaxNb,omitempty"`
TlxAdr Max35Text `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 TlxAdr,omitempty"`
URLAdr Max256Text `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 URLAdr,omitempty"`
}
// Must match the pattern [A-Z]{2,2}
type CountryCode string
type DateAndDateTime2Choice struct {
Dt ISODate `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Dt,omitempty"`
DtTm ISODateTime `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 DtTm,omitempty"`
}
type DateTimePeriod1 struct {
FrDtTm ISODateTime `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 FrDtTm"`
ToDtTm ISODateTime `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 ToDtTm"`
}
type DateTimePeriod1Choice struct {
FrDtTm ISODateTime `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 FrDtTm,omitempty"`
ToDtTm ISODateTime `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 ToDtTm,omitempty"`
DtTmRg DateTimePeriod1 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 DtTmRg,omitempty"`
}
type DateTimePeriod2 struct {
FrDtTm ISODateTime `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 FrDtTm"`
ToDtTm ISODateTime `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 ToDtTm,omitempty"`
}
type Debt5 struct {
PmtCcy ActiveCurrencyCode `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 PmtCcy,omitempty"`
FaceAmt ActiveCurrencyAndAmount `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 FaceAmt,omitempty"`
PmtFrqcy Frequency35Choice `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 PmtFrqcy,omitempty"`
IntrstFxgDt ISODateTime `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 IntrstFxgDt,omitempty"`
DtdDt ISODateTime `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 DtdDt,omitempty"`
FrstPmtDt ISODateTime `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 FrstPmtDt,omitempty"`
MtrtyDt ISODateTime `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 MtrtyDt,omitempty"`
NxtCpnDt ISODateTime `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 NxtCpnDt,omitempty"`
PutblDt ISODateTime `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 PutblDt,omitempty"`
NxtCllblDt ISODateTime `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 NxtCllblDt,omitempty"`
NxtFctrDt ISODateTime `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 NxtFctrDt,omitempty"`
XprtnDt ISODateTime `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 XprtnDt,omitempty"`
PmtDrctnInd bool `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 PmtDrctnInd,omitempty"`
IntrstRate float64 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 IntrstRate,omitempty"`
NxtIntrstRate float64 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 NxtIntrstRate,omitempty"`
OddCpnInd bool `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 OddCpnInd,omitempty"`
CllblInd bool `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 CllblInd,omitempty"`
CPPrgm float64 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 CPPrgm,omitempty"`
CPRegnTp Max350Text `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 CPRegnTp,omitempty"`
IntrstAcrlDt ISODateTime `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 IntrstAcrlDt,omitempty"`
PutblInd bool `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 PutblInd,omitempty"`
PreFnddInd bool `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 PreFnddInd,omitempty"`
EscrwdInd bool `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 EscrwdInd,omitempty"`
PerptlInd bool `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 PerptlInd,omitempty"`
SubrdntdInd bool `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 SubrdntdInd,omitempty"`
XtndblInd bool `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 XtndblInd,omitempty"`
XtndblPrd DateTimePeriod1Choice `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 XtndblPrd,omitempty"`
VarblRateInd bool `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 VarblRateInd,omitempty"`
OverAlltmtAmt ActiveCurrencyAndAmount `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 OverAlltmtAmt,omitempty"`
OverAlltmtRate float64 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 OverAlltmtRate,omitempty"`
AmtsblInd bool `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 AmtsblInd,omitempty"`
IntrstClctnMtd Max70Text `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 IntrstClctnMtd,omitempty"`
CptlsdIntrst DistributionPolicy2Choice `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 CptlsdIntrst,omitempty"`
ActlDnmtnAmt []ActiveCurrencyAndAmount `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 ActlDnmtnAmt,omitempty"`
CurFctr float64 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 CurFctr,omitempty"`
NxtFctr float64 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 NxtFctr,omitempty"`
PrvsFctr float64 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 PrvsFctr,omitempty"`
Pcs float64 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Pcs,omitempty"`
PlsMax float64 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 PlsMax,omitempty"`
PlsPerMln float64 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 PlsPerMln,omitempty"`
PlsPerLot float64 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 PlsPerLot,omitempty"`
PlsPerTrad float64 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 PlsPerTrad,omitempty"`
CstPrePmtPnltyInd bool `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 CstPrePmtPnltyInd,omitempty"`
LotId Max35Text `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 LotId,omitempty"`
CstPrePmtYld float64 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 CstPrePmtYld,omitempty"`
WghtdAvrgCpn float64 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 WghtdAvrgCpn,omitempty"`
WghtdAvrgLife float64 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 WghtdAvrgLife,omitempty"`
WghtdAvrgLn float64 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 WghtdAvrgLn,omitempty"`
WghtdAvrgMtrty float64 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 WghtdAvrgMtrty,omitempty"`
InsrdInd bool `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 InsrdInd,omitempty"`
BkQlfdInd bool `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 BkQlfdInd,omitempty"`
YldClctn []YieldCalculation6 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 YldClctn,omitempty"`
IntrstTp InterestType3Code `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 IntrstTp,omitempty"`
InstrmStrTp InstrumentSubStructureType2Choice `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 InstrmStrTp,omitempty"`
GblTp GlobalNote2Choice `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 GblTp,omitempty"`
PotntlEuroSysElgblty bool `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 PotntlEuroSysElgblty,omitempty"`
Geogcs Max35Text `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Geogcs,omitempty"`
YldRg AmountOrPercentageRange1 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 YldRg,omitempty"`
CpnRg AmountOrPercentageRange1 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 CpnRg,omitempty"`
Purp Max256Text `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Purp,omitempty"`
AltrntvMinTaxInd bool `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 AltrntvMinTaxInd,omitempty"`
AutoRinvstmt float64 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 AutoRinvstmt,omitempty"`
Hrcut float64 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Hrcut,omitempty"`
TxConds TradeTransactionCondition7Choice `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 TxConds,omitempty"`
LookBck float64 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 LookBck,omitempty"`
MaxSbstitn float64 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 MaxSbstitn,omitempty"`
MinIncrmt FinancialInstrumentQuantity1Choice `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 MinIncrmt,omitempty"`
MinQty FinancialInstrumentQuantity1Choice `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 MinQty,omitempty"`
Pdctn Max35Text `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Pdctn,omitempty"`
RstrctdInd bool `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 RstrctdInd,omitempty"`
PricFrqcy Frequency35Choice `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 PricFrqcy,omitempty"`
Sctr Max35Text `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Sctr,omitempty"`
SbstitnFrqcy Frequency35Choice `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 SbstitnFrqcy,omitempty"`
SbstitnLft float64 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 SbstitnLft,omitempty"`
WhlPoolInd bool `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 WhlPoolInd,omitempty"`
PricSrc Max35Text `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 PricSrc,omitempty"`
PricRg AmountOrPercentageRange1 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 PricRg,omitempty"`
}
type Derivative4 struct {
Futr Future4 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Futr,omitempty"`
Optn Option15 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Optn,omitempty"`
}
// May be one of DIST, ACCU
type DistributionPolicy1Code string
type DistributionPolicy2Choice struct {
Cd DistributionPolicy1Code `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Cd,omitempty"`
Prtry GenericIdentification30 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Prtry,omitempty"`
}
type Document struct {
SctyMntncReq SecurityMaintenanceRequestV01 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 SctyMntncReq"`
}
type Equity3 struct {
PrefToIncm PreferenceToIncome5Choice `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 PrefToIncm"`
MtrtyDt ISODateTime `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 MtrtyDt,omitempty"`
NonPdAmt ActiveCurrencyAndAmount `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 NonPdAmt,omitempty"`
ParVal ActiveCurrencyAndAmount `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 ParVal,omitempty"`
VtngRghtsPerShr float64 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 VtngRghtsPerShr,omitempty"`
}
// Must match the pattern [a-zA-Z0-9]{4}
type Exact4AlphaNumericText string
// May be no more than 4 items long
type ExternalFinancialInstrumentIdentificationType1Code string
// May be no more than 4 items long
type ExternalFinancialInstrumentProductType1Code string
// May be no more than 4 items long
type ExternalSecuritiesUpdateReason1Code string
type FinancialInstrument97 struct {
Eqty Equity3 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Eqty,omitempty"`
Warrt Warrant4 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Warrt,omitempty"`
Debt Debt5 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Debt,omitempty"`
Deriv Derivative4 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Deriv,omitempty"`
}
type FinancialInstrumentForm2 struct {
BookgApprnc Appearance3Choice `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 BookgApprnc,omitempty"`
LglForm FormOfSecurity8Choice `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 LglForm,omitempty"`
}
type FinancialInstrumentQuantity1Choice struct {
Unit float64 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Unit,omitempty"`
FaceAmt float64 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 FaceAmt,omitempty"`
AmtsdVal float64 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 AmtsdVal,omitempty"`
}
// May be one of BEAR, REGD
type FormOfSecurity1Code string
type FormOfSecurity8Choice struct {
Cd FormOfSecurity1Code `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Cd,omitempty"`
Prtry GenericIdentification30 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Prtry,omitempty"`
}
type Frequency35Choice struct {
Cd Frequency5Code `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Cd,omitempty"`
Prtry GenericIdentification30 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Prtry,omitempty"`
}
// May be one of YEAR, MNTH, QURT, MIAN, WEEK, DAIL, ADHO, INDA, OVNG, TEND
type Frequency5Code string
type Future4 struct {
CtrctSz float64 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 CtrctSz,omitempty"`
ExrcPric Price8 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 ExrcPric,omitempty"`
FutrDt ISODateTime `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 FutrDt,omitempty"`
MinSz ActiveCurrencyAndAmount `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 MinSz,omitempty"`
UnitOfMeasr UnitOfMeasure7Choice `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 UnitOfMeasr,omitempty"`
TmUnit TimeUnit3Choice `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 TmUnit,omitempty"`
AddtlUndrlygAttrbts []UnderlyingAttributes4 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 AddtlUndrlygAttrbts,omitempty"`
}
type GenericIdentification1 struct {
Id Max35Text `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Id"`
SchmeNm Max35Text `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 SchmeNm,omitempty"`
Issr Max35Text `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Issr,omitempty"`
}
type GenericIdentification13 struct {
Id Max4AlphaNumericText `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Id"`
SchmeNm Max35Text `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 SchmeNm,omitempty"`
Issr Max35Text `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Issr"`
}
type GenericIdentification30 struct {
Id Exact4AlphaNumericText `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Id"`
Issr Max35Text `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Issr"`
SchmeNm Max35Text `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 SchmeNm,omitempty"`
}
type GenericIdentification36 struct {
Id Max35Text `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Id"`
Issr Max35Text `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Issr"`
SchmeNm Max35Text `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 SchmeNm,omitempty"`
}
// May be one of NGNO, CGNO
type GlobalNote1Code string
type GlobalNote2Choice struct {
Cd GlobalNote1Code `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Cd,omitempty"`
Prtry GenericIdentification30 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Prtry,omitempty"`
}
// Must match the pattern [A-Z]{2,2}[A-Z0-9]{9,9}[0-9]{1,1}
type ISIN2021Identifier string
type ISODate time.Time
func (t *ISODate) UnmarshalText(text []byte) error {
return (*xsdDate)(t).UnmarshalText(text)
}
func (t ISODate) MarshalText() ([]byte, error) {
return xsdDate(t).MarshalText()
}
type ISODateTime time.Time
func (t *ISODateTime) UnmarshalText(text []byte) error {
return (*xsdDateTime)(t).UnmarshalText(text)
}
func (t ISODateTime) MarshalText() ([]byte, error) {
return xsdDateTime(t).MarshalText()
}
type ISOYearMonth time.Time
func (t *ISOYearMonth) UnmarshalText(text []byte) error {
return (*xsdGYearMonth)(t).UnmarshalText(text)
}
func (t ISOYearMonth) MarshalText() ([]byte, error) {
return xsdGYearMonth(t).MarshalText()
}
type IdentificationSource3Choice struct {
Cd ExternalFinancialInstrumentIdentificationType1Code `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Cd,omitempty"`
Prtry Max35Text `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Prtry,omitempty"`
}
// May be one of GTGT, GPGP, DERN
type InitialPhysicalForm1Code string
// May be one of GPGP, DERN
type InitialPhysicalForm2Code string
type InitialPhysicalForm3Choice struct {
Cd InitialPhysicalForm2Code `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Cd,omitempty"`
Prtry GenericIdentification30 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Prtry,omitempty"`
}
type InitialPhysicalForm4Choice struct {
Cd InitialPhysicalForm1Code `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Cd,omitempty"`
Prtry GenericIdentification30 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Prtry,omitempty"`
}
// May be one of ABSE, AIRT, AUTT, CBOB, CDOB, CLNO, CLOB, CMBS, CSMR, CRCT, HELO, LPNO, PFAB, PYRT, REPK, RMBS, SCBO, STRB, STUT, WBSE
type InstrumentSubStructureType1Code string
type InstrumentSubStructureType2Choice struct {
Cd InstrumentSubStructureType1Code `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Cd,omitempty"`
Prtry GenericIdentification30 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Prtry,omitempty"`
}
// May be one of ZCPN, FIXD, FLRN, DUAL, INDE, DSCO
type InterestType3Code string
// May be one of LERE, CITI, INDV
type InvestorRestrictionType1Code string
type InvestorRestrictionType3Choice struct {
Cd InvestorRestrictionType1Code `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Cd,omitempty"`
Prtry GenericIdentification30 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Prtry,omitempty"`
}
// May be one of RETL, PROF, STAF, PPER
type InvestorType1Code string
type InvestorType3Choice struct {
Cd InvestorType1Code `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Cd,omitempty"`
Prtry GenericIdentification30 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Prtry,omitempty"`
}
type Issuance5 struct {
IssePlc MICIdentifier `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 IssePlc,omitempty"`
CtryOfIsse CountryCode `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 CtryOfIsse,omitempty"`
IsseDt ISODate `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 IsseDt,omitempty"`
AnncmntDt ISODateTime `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 AnncmntDt,omitempty"`
ISINVldFr ISODate `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 ISINVldFr,omitempty"`
IssrOrg Organisation38 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 IssrOrg,omitempty"`
IsseNmnlAmt FinancialInstrumentQuantity1Choice `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 IsseNmnlAmt,omitempty"`
FullIssdAmt ActiveCurrencyAndAmount `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 FullIssdAmt,omitempty"`
IsseSz float64 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 IsseSz,omitempty"`
IssePric PriceValue1 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 IssePric,omitempty"`
IssncDstrbtn SecuritiesTransactionType31Choice `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 IssncDstrbtn,omitempty"`
GovngLaw []Jurisdiction1 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 GovngLaw,omitempty"`
}
type Jurisdiction1 struct {
Id Max70Text `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Id,omitempty"`
Ctry CountryCode `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Ctry,omitempty"`
}
// Must match the pattern [A-Z0-9]{18,18}[0-9]{2,2}
type LEIIdentifier string
// May be one of USLE, NORE, REST
type LegalRestrictions1Code string
// May be one of JURO, PPLA, ACRI, MARG, PRIV
type LegalRestrictions2Code string
type LegalRestrictions4Choice struct {
Cd LegalRestrictions1Code `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Cd,omitempty"`
Prtry GenericIdentification30 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Prtry,omitempty"`
}
type LegalRestrictions5Choice struct {
Cd LegalRestrictions2Code `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Cd,omitempty"`
Prtry GenericIdentification30 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Prtry,omitempty"`
}
// Must match the pattern [A-Z0-9]{4,4}
type MICIdentifier string
// May be one of FRED, PRNR, PRWR, RNDM, PRRA, CALL, PUUT
type MaturityRedemptionType1Code string
type MaturityRedemptionType3Choice struct {
Cd MaturityRedemptionType1Code `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Cd,omitempty"`
Prtry GenericIdentification30 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Prtry,omitempty"`
}
// May be no more than 140 items long
type Max140Text string
// Must match the pattern [0-9]{1,15}
type Max15NumericText string
// May be no more than 16 items long
type Max16Text string
// May be no more than 256 items long
type Max256Text string
// May be no more than 350 items long
type Max350Text string
// May be no more than 35 items long
type Max35Text string
// Must match the pattern [0-9]{1,3}
type Max3NumericText string
// Must match the pattern [a-zA-Z0-9]{1,4}
type Max4AlphaNumericText string
// May be no more than 70 items long
type Max70Text string
type MessageHeader1 struct {
MsgId Max35Text `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 MsgId"`
CreDtTm ISODateTime `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 CreDtTm,omitempty"`
}
type NameAndAddress4 struct {
Nm Max350Text `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Nm,omitempty"`
Adr PostalAddress1 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Adr"`
}
type NameAndAddress5 struct {
Nm Max350Text `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Nm"`
Adr PostalAddress1 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Adr,omitempty"`
}
// May be one of TILL, ORRR, ANDD
type Operation1Code string
// May be one of SMAL, SMEQ, GREA, GREQ, EQAL
type Operator1Code string
type Option15 struct {
OptnSttlmStyle SettleStyle2Choice `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 OptnSttlmStyle,omitempty"`
ConvsDt ISODateTime `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 ConvsDt,omitempty"`
StrkPric Price8 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 StrkPric,omitempty"`
MinExrcblQty FinancialInstrumentQuantity1Choice `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 MinExrcblQty,omitempty"`
ConvsPrd DateTimePeriod1Choice `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 ConvsPrd,omitempty"`
OptnStyle OptionStyle1Choice `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 OptnStyle,omitempty"`
OptnTp OptionType8Choice `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 OptnTp,omitempty"`
StrkVal float64 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 StrkVal,omitempty"`
StrkMltplr float64 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 StrkMltplr,omitempty"`
InstrmAssgnmtMtd AssignmentMethod2Choice `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 InstrmAssgnmtMtd,omitempty"`
VrsnNb float64 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 VrsnNb,omitempty"`
XpryLctn Max4AlphaNumericText `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 XpryLctn,omitempty"`
Stdstn Standardisation3Choice `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Stdstn,omitempty"`
TradgPtyRole OptionParty3Choice `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 TradgPtyRole,omitempty"`
CtrctSz float64 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 CtrctSz,omitempty"`
AddtlUndrlygAttrbts []UnderlyingAttributes4 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 AddtlUndrlygAttrbts,omitempty"`
}
// May be one of SLLR, BYER
type OptionParty1Code string
type OptionParty3Choice struct {
Cd []OptionParty1Code `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Cd,omitempty"`
Prtry GenericIdentification30 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Prtry,omitempty"`
}
type OptionStyle1Choice struct {
Cd OptionStyle1Code `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Cd,omitempty"`
Prtry GenericIdentification13 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Prtry,omitempty"`
}
// May be one of AMER, EURO, BERM, ASIA, CANA
type OptionStyle1Code string
// May be one of CALL, PUTO
type OptionType1Code string
type OptionType8Choice struct {
Cd []OptionType1Code `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Cd,omitempty"`
Prtry GenericIdentification30 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Prtry,omitempty"`
}
type Organisation38 struct {
Nm Max140Text `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Nm"`
Id PartyIdentification177Choice `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Id,omitempty"`
Purp Max35Text `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Purp,omitempty"`
TaxtnCtry CountryCode `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 TaxtnCtry,omitempty"`
RegnCtry CountryCode `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 RegnCtry,omitempty"`
RegnDt ISODate `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 RegnDt,omitempty"`
TaxIdNb Max35Text `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 TaxIdNb,omitempty"`
NtlRegnNb Max35Text `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 NtlRegnNb,omitempty"`
PstlAdr []PostalAddress3 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 PstlAdr"`
PmryComAdr CommunicationAddress3 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 PmryComAdr,omitempty"`
ScndryComAdr CommunicationAddress3 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 ScndryComAdr,omitempty"`
}
type OtherIdentification1 struct {
Id Max35Text `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Id"`
Sfx Max16Text `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Sfx,omitempty"`
Tp IdentificationSource3Choice `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Tp"`
}
type PartyIdentification120Choice struct {
AnyBIC AnyBICDec2014Identifier `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 AnyBIC,omitempty"`
PrtryId GenericIdentification36 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 PrtryId,omitempty"`
NmAndAdr NameAndAddress5 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 NmAndAdr,omitempty"`
}
type PartyIdentification136 struct {
Id PartyIdentification120Choice `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Id"`
LEI LEIIdentifier `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 LEI,omitempty"`
}
type PartyIdentification177Choice struct {
AnyBIC AnyBICDec2014Identifier `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 AnyBIC,omitempty"`
PrtryId GenericIdentification1 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 PrtryId,omitempty"`
}
// Must match the pattern \+[0-9]{1,3}-[0-9()+\-]{1,30}
type PhoneNumber string
type PostalAddress1 struct {
AdrTp AddressType2Code `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 AdrTp,omitempty"`
AdrLine []Max70Text `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 AdrLine,omitempty"`
StrtNm Max70Text `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 StrtNm,omitempty"`
BldgNb Max16Text `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 BldgNb,omitempty"`
PstCd Max16Text `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 PstCd,omitempty"`
TwnNm Max35Text `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 TwnNm,omitempty"`
CtrySubDvsn Max35Text `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 CtrySubDvsn,omitempty"`
Ctry CountryCode `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Ctry"`
}
type PostalAddress3 struct {
AdrTp AddressType1Code `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 AdrTp"`
MlngInd bool `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 MlngInd"`
RegnAdrInd bool `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 RegnAdrInd"`
NmAndAdr NameAndAddress4 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 NmAndAdr"`
}
// May be one of ORDN, PFRD
type PreferenceToIncome1Code string
type PreferenceToIncome5Choice struct {
Cd PreferenceToIncome1Code `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Cd,omitempty"`
Prtry GenericIdentification30 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Prtry,omitempty"`
}
type Price8 struct {
ValTp PriceValueType3Code `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 ValTp,omitempty"`
Val PriceRateOrAmount3Choice `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Val"`
PricTp TypeOfPrice1Code `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 PricTp,omitempty"`
}
type PriceRateOrAmount3Choice struct {
Rate float64 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Rate,omitempty"`
Amt ActiveOrHistoricCurrencyAnd13DecimalAmount `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Amt,omitempty"`
}
type PriceValue1 struct {
Amt ActiveCurrencyAnd13DecimalAmount `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Amt"`
}
// May be one of DISC, PREM, PARV, YIEL, SPRE, PEUN, ABSO, TEDP, TEDY, FICT, VACT
type PriceValueType3Code string
// May be one of MAND, OPTI, TWOS
type PutType1Code string
type PutType3Choice struct {
Cd PutType1Code `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Cd,omitempty"`
Prtry GenericIdentification30 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Prtry,omitempty"`
}
type RateAndAmountFormat1Choice struct {
Rate float64 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Rate,omitempty"`
Amt ActiveCurrencyAndAmount `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Amt,omitempty"`
NotSpcfdRate RateType12FormatChoice `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 NotSpcfdRate,omitempty"`
}
type RateOrAbsoluteValue1Choice struct {
RateVal float64 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 RateVal,omitempty"`
AbsVal float64 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 AbsVal,omitempty"`
}
// May be one of OPEN, UKWN, NILP
type RateType12Code string
type RateType12FormatChoice struct {
Cd RateType12Code `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Cd,omitempty"`
Prtry GenericIdentification13 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Prtry,omitempty"`
}
// May be one of SELR, BUYR, PLAR, HOLR, VOTR
type RestrictionType1Code string
// May be one of FULL, NILL, PART
type SecuritiesPaymentStatus1Code string
type SecuritiesPaymentStatus5Choice struct {
Cd SecuritiesPaymentStatus1Code `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Cd,omitempty"`
Prtry GenericIdentification30 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Prtry,omitempty"`
}
// May be one of NSYN, SYND
type SecuritiesTransactionType11Code string
type SecuritiesTransactionType31Choice struct {
Cd SecuritiesTransactionType11Code `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Cd,omitempty"`
Prtry GenericIdentification30 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Prtry,omitempty"`
}
type SecuritiesUpdateReason1Choice struct {
Cd ExternalSecuritiesUpdateReason1Code `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Cd,omitempty"`
Prtry GenericIdentification30 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Prtry,omitempty"`
}
type SecurityAttributes12 struct {
FinInstrmTp []FinancialInstrument97 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 FinInstrmTp,omitempty"`
FinInstrmAttrbts []CommonFinancialInstrumentAttributes12 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 FinInstrmAttrbts,omitempty"`
SplmtryData []SupplementaryData1 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 SplmtryData,omitempty"`
}
type SecurityIdentification39 struct {
ISIN ISIN2021Identifier `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 ISIN,omitempty"`
OthrId []OtherIdentification1 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 OthrId,omitempty"`
Desc Max140Text `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Desc,omitempty"`
}
type SecurityMaintenanceRequestV01 struct {
MsgHdr MessageHeader1 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 MsgHdr,omitempty"`
UpdTp UpdateType36Choice `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 UpdTp"`
UpdRsn SecuritiesUpdateReason1Choice `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 UpdRsn,omitempty"`
FinInstrmId SecurityIdentification39 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 FinInstrmId"`
SplmtryData []SupplementaryData1 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 SplmtryData,omitempty"`
}
type SecurityRestriction3 struct {
FctvPrd DateTimePeriod2 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 FctvPrd,omitempty"`
RstrctnTp SecurityRestrictionType2Choice `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 RstrctnTp,omitempty"`
LglRstrctnTp LegalRestrictions5Choice `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 LglRstrctnTp,omitempty"`
InvstrRstrctnTp []InvestorRestrictionType3Choice `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 InvstrRstrctnTp,omitempty"`
InvstrTp []InvestorType3Choice `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 InvstrTp,omitempty"`
}
type SecurityRestrictionType2Choice struct {
RstrctnTp RestrictionType1Code `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 RstrctnTp,omitempty"`
PrtryRstrctn GenericIdentification30 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 PrtryRstrctn,omitempty"`
}
// May be one of ACTV, INAC, SUSP
type SecurityStatus2Code string
type SecurityStatus3Choice struct {
Cd SecurityStatus2Code `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Cd,omitempty"`
Prtry GenericIdentification30 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Prtry,omitempty"`
}
type SecurityWithHoldingTax1 struct {
WhldgTaxVal RateAndAmountFormat1Choice `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 WhldgTaxVal"`
Ctry CountryCode `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Ctry"`
}
// May be one of SETC, SETO
type SettleStyle1Code string
type SettleStyle2Choice struct {
Cd []SettleStyle1Code `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Cd,omitempty"`
Prtry GenericIdentification30 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Prtry,omitempty"`
}
type SettlementInformation17 struct {
SctiesQtyTp SettlementUnitType3Choice `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 SctiesQtyTp,omitempty"`
CtrctSttlmMnth ISOYearMonth `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 CtrctSttlmMnth,omitempty"`
MinDnmtn FinancialInstrumentQuantity1Choice `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 MinDnmtn,omitempty"`
MinMltplQty FinancialInstrumentQuantity1Choice `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 MinMltplQty,omitempty"`
DevtgSttlmUnit []FinancialInstrumentQuantity1Choice `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 DevtgSttlmUnit,omitempty"`
}
// May be one of PRIN, NETO
type SettlementType1Code string
type SettlementType3Choice struct {
Cd SettlementType1Code `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Cd,omitempty"`
Prtry GenericIdentification30 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Prtry,omitempty"`
}
// May be one of FAMT, UNIT
type SettlementUnitType1Code string
type SettlementUnitType3Choice struct {
Cd SettlementUnitType1Code `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Cd,omitempty"`
Prtry GenericIdentification30 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Prtry,omitempty"`
}
// May be one of FLEX, NSTA, STAN
type Standardisation1Code string
type Standardisation3Choice struct {
Cd []Standardisation1Code `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Cd,omitempty"`
Prtry GenericIdentification30 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Prtry,omitempty"`
}
type SupplementaryData1 struct {
PlcAndNm Max350Text `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 PlcAndNm,omitempty"`
Envlp SupplementaryDataEnvelope1 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Envlp"`
}
type SupplementaryDataEnvelope1 struct {
Item string `xml:",any"`
}
// May be one of RULC, RULD
type TEFRARules1Code string
type TEFRARules3Choice struct {
Cd TEFRARules1Code `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Cd,omitempty"`
Prtry GenericIdentification30 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Prtry,omitempty"`
}
type Term1 struct {
Oprtr Operator1Code `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Oprtr"`
Val RateOrAbsoluteValue1Choice `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Val"`
}
// May be one of DAYC, HOUR, MINU, MNTH, SECO, WEEK, YEAR
type TimeUnit1Code string
type TimeUnit3Choice struct {
Cd TimeUnit1Code `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Cd,omitempty"`
Prtry GenericIdentification30 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Prtry,omitempty"`
}
// May be one of SPCC, SECN, SEBN, SCBN, SCRT, SERT, SCCR, SECR, CAST, SPPR, SPCU, SPEX, GTDL
type TradeTransactionCondition2Code string
type TradeTransactionCondition7Choice struct {
Cd TradeTransactionCondition2Code `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Cd,omitempty"`
Prtry GenericIdentification30 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Prtry,omitempty"`
}
type TradingParameters2 struct {
MktId MICIdentifier `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 MktId,omitempty"`
RndLot FinancialInstrumentQuantity1Choice `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 RndLot,omitempty"`
TradLotSz FinancialInstrumentQuantity1Choice `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 TradLotSz,omitempty"`
ScndryPlcOfListg []MICIdentifier `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 ScndryPlcOfListg,omitempty"`
MinTraddNmnlQty UnitOrFaceAmount1Choice `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 MinTraddNmnlQty,omitempty"`
MaxTraddNmnlQty UnitOrFaceAmount1Choice `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 MaxTraddNmnlQty,omitempty"`
MinTradgPricgIncrmt float64 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 MinTradgPricgIncrmt,omitempty"`
PmryPlcOfListgId MICIdentifier `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 PmryPlcOfListgId,omitempty"`
}
// May be one of AVER, AVOV, COMB, GREX, LIMI, NET2, NDIS, NET1, NUND, NOGR, PARV, RDAV, STOP
type TypeOfPrice1Code string
type UnderlyingAttributes4 struct {
AllcnPctg float64 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 AllcnPctg,omitempty"`
Qty UnitOrFaceAmount1Choice `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Qty,omitempty"`
SttlmTp SettlementType3Choice `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 SttlmTp,omitempty"`
CshAmt ActiveCurrencyAndAmount `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 CshAmt,omitempty"`
CshTp Max35Text `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 CshTp,omitempty"`
Pric Price8 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Pric,omitempty"`
DrtyPric Price8 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 DrtyPric,omitempty"`
EndPric Price8 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 EndPric,omitempty"`
StartVal ActiveCurrencyAndAmount `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 StartVal,omitempty"`
CurVal ActiveCurrencyAndAmount `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 CurVal,omitempty"`
EndVal ActiveCurrencyAndAmount `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 EndVal,omitempty"`
AdjstdQty UnitOrFaceAmount1Choice `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 AdjstdQty,omitempty"`
XchgRate float64 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 XchgRate,omitempty"`
CapVal ActiveCurrencyAndAmount `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 CapVal,omitempty"`
}
type UnitOfMeasure7Choice struct {
Cd UnitOfMeasure9Code `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Cd,omitempty"`
Prtry GenericIdentification30 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Prtry,omitempty"`
}
// May be one of BAGG, BALE, BOTL, BOXX, CRTN, CELI, CMET, CNTR, CRAT, CBIN, CBME, CBML, PIEC, FOOT, GBFO, GBGA, GBPI, GBQA, GBTN, GRAM, INCH, KILO, KMET, LITR, METR, TONE, MILE, MMET, MILI, PUND, USOU, SCMT, SQFO, SQIN, SQKI, SMET, SQMI, SMIL, SQYA, USBA, USFO, USGA, USPI, USQA, USTN, YARD, GBOU, ACRE, ARES, HECT
type UnitOfMeasure9Code string
type UnitOrFaceAmount1Choice struct {
Unit float64 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Unit,omitempty"`
FaceAmt ActiveCurrencyAndAmount `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 FaceAmt,omitempty"`
}
type UpdateType35Choice struct {
Add SecurityAttributes12 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Add,omitempty"`
Del SecurityAttributes12 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Del,omitempty"`
Modfy SecurityAttributes12 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Modfy,omitempty"`
}
type UpdateType36Choice struct {
UpdTp []UpdateType35Choice `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 UpdTp,omitempty"`
Rplc SecurityAttributes12 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Rplc,omitempty"`
}
type Warrant4 struct {
Mltplr float64 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Mltplr,omitempty"`
SbcptPric Price8 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 SbcptPric,omitempty"`
Tp WarrantStyle3Choice `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Tp,omitempty"`
WarrtAgt []Organisation38 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 WarrtAgt,omitempty"`
}
// May be one of AMER, EURO, BERM
type WarrantStyle1Code string
type WarrantStyle3Choice struct {
Cd WarrantStyle1Code `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Cd,omitempty"`
Prtry GenericIdentification30 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Prtry,omitempty"`
}
type YieldCalculation6 struct {
Val float64 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 Val"`
ClctnTp CalculationType3Choice `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 ClctnTp,omitempty"`
RedPric Price8 `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 RedPric,omitempty"`
ValDt ISODate `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 ValDt"`
ValPrd DateTimePeriod1Choice `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 ValPrd"`
ClctnDt ISODateTime `xml:"urn:iso:std:iso:20022:tech:xsd:reda.007.001.01 ClctnDt"`
}
type xsdDate time.Time
func (t *xsdDate) UnmarshalText(text []byte) error {
return _unmarshalTime(text, (*time.Time)(t), "2006-01-02")
}
func (t xsdDate) MarshalText() ([]byte, error) {
return _marshalTime((time.Time)(t), "2006-01-02")
}
func (t xsdDate) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
if (time.Time)(t).IsZero() {
return nil
}
m, err := t.MarshalText()
if err != nil {
return err
}
return e.EncodeElement(m, start)
}
func (t xsdDate) MarshalXMLAttr(name xml.Name) (xml.Attr, error) {
if (time.Time)(t).IsZero() {
return xml.Attr{}, nil
}
m, err := t.MarshalText()
return xml.Attr{Name: name, Value: string(m)}, err
}
func _unmarshalTime(text []byte, t *time.Time, format string) (err error) {
s := string(bytes.TrimSpace(text))
*t, err = time.Parse(format, s)
if _, ok := err.(*time.ParseError); ok {
*t, err = time.Parse(format+"Z07:00", s)
}
return err
}
func _marshalTime(t time.Time, format string) ([]byte, error) {
return []byte(t.Format(format + "Z07:00")), nil
}
type xsdDateTime time.Time
func (t *xsdDateTime) UnmarshalText(text []byte) error {
return _unmarshalTime(text, (*time.Time)(t), "2006-01-02T15:04:05.999999999")
}
func (t xsdDateTime) MarshalText() ([]byte, error) {
return _marshalTime((time.Time)(t), "2006-01-02T15:04:05.999999999")
}
func (t xsdDateTime) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
if (time.Time)(t).IsZero() {
return nil
}
m, err := t.MarshalText()
if err != nil {
return err
}
return e.EncodeElement(m, start)
}
func (t xsdDateTime) MarshalXMLAttr(name xml.Name) (xml.Attr, error) {
if (time.Time)(t).IsZero() {
return xml.Attr{}, nil
}