-
Notifications
You must be signed in to change notification settings - Fork 15
/
Copy pathAccountParties16.go
135 lines (104 loc) · 6.07 KB
/
AccountParties16.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
package iso20022
// Information about a party's account.
type AccountParties16 struct {
// Specifies the type of modification to be applied.
ModificationScopeIndication *DataModification1Code `xml:"ModScpIndctn"`
// Main party associated with the account.
PrincipalAccountParty *AccountParties11Choice `xml:"PrncplAcctPty,omitempty"`
// Entity that is not the primary owner when the ownership of the investment account is split among several owners.
SecondaryOwner []*InvestmentAccountOwnershipInformation15 `xml:"ScndryOwnr,omitempty"`
// Ultimate party that is entitled to either receive the benefits of the ownership of a financial instrument, or to be paid/credited as a result of a transfer.
Beneficiary []*InvestmentAccountOwnershipInformation15 `xml:"Bnfcry,omitempty"`
// Entity that was given the authority by another entity to act on its behalf.
PowerOfAttorney []*InvestmentAccountOwnershipInformation15 `xml:"PwrOfAttny,omitempty"`
// Entity that has been appointed by a legal authority to act on behalf of a person judged to be incapacitated.
LegalGuardian []*InvestmentAccountOwnershipInformation15 `xml:"LglGuardn,omitempty"`
// Entity that holds shares/units on behalf of a legal minor. Although the account is registered under the name of the minor, the custodian retains control of the account.
CustodianForMinor *InvestmentAccountOwnershipInformation15 `xml:"CtdnForMnr,omitempty"`
// Deceased's estate, or successor, to whom the respective percentage of ownership will be transferred upon the death of one of the owners.
SuccessorOnDeath []*InvestmentAccountOwnershipInformation15 `xml:"SucssrOnDth,omitempty"`
// Entity that has been appointed by a legal authority to act on behalf of a person or organisation that has gone bankrupt.
Administrator []*InvestmentAccountOwnershipInformation15 `xml:"Admstr,omitempty"`
// Other type of party.
OtherParty []*ExtendedParty12 `xml:"OthrPty,omitempty"`
// Granter role in the hedge funds industry.
Granter []*InvestmentAccountOwnershipInformation15 `xml:"Grntr,omitempty"`
// Entity that creates a trust or contributes assets to the trust.
Settlor []*InvestmentAccountOwnershipInformation15 `xml:"Sttlr,omitempty"`
// Party that makes, or participates in the making of, decisions that affect the whole, or a substantial part, of the business of a customer of a reporting entity or that has the capacity to affect significantly the financial standing of a customer of a reporting entity. Typically, this is a controlling person of a corporate (ownership type CORP).
SeniorManagingOfficial []*InvestmentAccountOwnershipInformation15 `xml:"SnrMggOffcl,omitempty"`
// Person appointed under the trust instrument to direct or restrain the trustees in relation to their administration of the trust. Typically, this is a controlling person of a trust (ownership type TRUS) or other non-individual organisation (ownership type ONIS).
Protector []*InvestmentAccountOwnershipInformation15 `xml:"Prtctr,omitempty"`
// Party for which shares are to be registered.
RegisteredShareholderName *RegisteredShareholderName1Choice `xml:"RegdShrhldrNm,omitempty"`
}
func (a *AccountParties16) SetModificationScopeIndication(value string) {
a.ModificationScopeIndication = (*DataModification1Code)(&value)
}
func (a *AccountParties16) AddPrincipalAccountParty() *AccountParties11Choice {
a.PrincipalAccountParty = new(AccountParties11Choice)
return a.PrincipalAccountParty
}
func (a *AccountParties16) AddSecondaryOwner() *InvestmentAccountOwnershipInformation15 {
newValue := new(InvestmentAccountOwnershipInformation15)
a.SecondaryOwner = append(a.SecondaryOwner, newValue)
return newValue
}
func (a *AccountParties16) AddBeneficiary() *InvestmentAccountOwnershipInformation15 {
newValue := new(InvestmentAccountOwnershipInformation15)
a.Beneficiary = append(a.Beneficiary, newValue)
return newValue
}
func (a *AccountParties16) AddPowerOfAttorney() *InvestmentAccountOwnershipInformation15 {
newValue := new(InvestmentAccountOwnershipInformation15)
a.PowerOfAttorney = append(a.PowerOfAttorney, newValue)
return newValue
}
func (a *AccountParties16) AddLegalGuardian() *InvestmentAccountOwnershipInformation15 {
newValue := new(InvestmentAccountOwnershipInformation15)
a.LegalGuardian = append(a.LegalGuardian, newValue)
return newValue
}
func (a *AccountParties16) AddCustodianForMinor() *InvestmentAccountOwnershipInformation15 {
a.CustodianForMinor = new(InvestmentAccountOwnershipInformation15)
return a.CustodianForMinor
}
func (a *AccountParties16) AddSuccessorOnDeath() *InvestmentAccountOwnershipInformation15 {
newValue := new(InvestmentAccountOwnershipInformation15)
a.SuccessorOnDeath = append(a.SuccessorOnDeath, newValue)
return newValue
}
func (a *AccountParties16) AddAdministrator() *InvestmentAccountOwnershipInformation15 {
newValue := new(InvestmentAccountOwnershipInformation15)
a.Administrator = append(a.Administrator, newValue)
return newValue
}
func (a *AccountParties16) AddOtherParty() *ExtendedParty12 {
newValue := new(ExtendedParty12)
a.OtherParty = append(a.OtherParty, newValue)
return newValue
}
func (a *AccountParties16) AddGranter() *InvestmentAccountOwnershipInformation15 {
newValue := new(InvestmentAccountOwnershipInformation15)
a.Granter = append(a.Granter, newValue)
return newValue
}
func (a *AccountParties16) AddSettlor() *InvestmentAccountOwnershipInformation15 {
newValue := new(InvestmentAccountOwnershipInformation15)
a.Settlor = append(a.Settlor, newValue)
return newValue
}
func (a *AccountParties16) AddSeniorManagingOfficial() *InvestmentAccountOwnershipInformation15 {
newValue := new(InvestmentAccountOwnershipInformation15)
a.SeniorManagingOfficial = append(a.SeniorManagingOfficial, newValue)
return newValue
}
func (a *AccountParties16) AddProtector() *InvestmentAccountOwnershipInformation15 {
newValue := new(InvestmentAccountOwnershipInformation15)
a.Protector = append(a.Protector, newValue)
return newValue
}
func (a *AccountParties16) AddRegisteredShareholderName() *RegisteredShareholderName1Choice {
a.RegisteredShareholderName = new(RegisteredShareholderName1Choice)
return a.RegisteredShareholderName
}