commit 9c6aa45b647caaf18c3847ebf33bd49c29b2075a
parent 624708533ee0dae96b868a2b404222e04fa08e3b
Author: Sebastian <sebasjm@gmail.com>
Date: Mon, 30 Dec 2024 20:34:11 -0300
add section
Diffstat:
9 files changed, 275 insertions(+), 139 deletions(-)
diff --git a/gnu-taler-aml-attributes/.gitignore b/gnu-taler-aml-attributes/.gitignore
@@ -3,5 +3,6 @@
*.h
*.tmp
*.ts
+*.json
*.go
*.rs
diff --git a/gnu-taler-aml-attributes/Makefile b/gnu-taler-aml-attributes/Makefile
@@ -1,4 +1,5 @@
FILES=taler_aml_attributes.ts \
+ taler_aml_attributes.json \
taler_aml_attributes.rst
FORMS=VQF_902_1 \
@@ -46,6 +47,21 @@ taler_aml_attributes.ts.tmp: registry.rec ts.template ts.form-header ts.form-foo
taler_aml_attributes.ts: ts.header taler_aml_attributes.ts.tmp ts.footer
cat $^ > $@
+
+taler_aml_attributes.json.tmp: registry.rec json.template json.form-header json.form-footer
+ /usr/bin/truncate --size 0 $@
+
+ for FORM in $(FORMS); do \
+ echo Name: $$FORM | recfmt -f json.form-header >> $@; \
+ ../format.sh json.template 'Form = "'$$FORM'"' < registry.rec >> $@; \
+ cat json.form-footer >> $@; \
+ done
+
+
+taler_aml_attributes.json: json.header taler_aml_attributes.json.tmp json.footer
+ cat $^ > $@
+
+
taler_aml_attributes.rst.tmp: registry.rec rst.template
../format.sh rst.template < registry.rec > $@
diff --git a/gnu-taler-aml-attributes/json.footer b/gnu-taler-aml-attributes/json.footer
@@ -0,0 +1 @@
+"":""}
+\ No newline at end of file
diff --git a/gnu-taler-aml-attributes/json.form-footer b/gnu-taler-aml-attributes/json.form-footer
@@ -0,0 +1 @@
+"":""},
diff --git a/gnu-taler-aml-attributes/json.form-header b/gnu-taler-aml-attributes/json.form-header
@@ -0,0 +1 @@
+ "{{Name}}": {
diff --git a/gnu-taler-aml-attributes/json.header b/gnu-taler-aml-attributes/json.header
@@ -0,0 +1 @@
+{
diff --git a/gnu-taler-aml-attributes/json.template b/gnu-taler-aml-attributes/json.template
@@ -0,0 +1,6 @@
+ "{{Identifier}}": {
+ "required": {{Required}},
+ "type": "{{Type}}",
+ "section": "{{Section}}",
+ "comment": "{{Comment}}"
+ },
diff --git a/gnu-taler-aml-attributes/registry.rec b/gnu-taler-aml-attributes/registry.rec
@@ -4,17 +4,20 @@
#
%rec: TalerAttributes
%key: Identifier
-%typedef: Identifier_t regexp /^[ABCDEFGHIJKLMNOPQRSTUVWXYZ_][ABCDEFGHIJKLMNOPQRSTUVWXYZ_0123456789:\.]*$/
%type: Identifier Identifier_t
+%typedef: Identifier_t regexp /^[ABCDEFGHIJKLMNOPQRSTUVWXYZ_][ABCDEFGHIJKLMNOPQRSTUVWXYZ_0123456789:\.]*$/
%type: Required Required_t
%typedef: Required_t regexp /^(true|false)*$/
+%type: Comment Comment_t
+%typedef: Comment_t regexp |^[ABCDEFGHIJKLMNOPQRSTUVWXYZ_][ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_0123456789 :\.,'-/%?]*$|
%unique: Identifier
%mandatory: Identifier
%mandatory: Type
%mandatory: Form
%allowed: Comment
+%allowed: Section
%mandatory: Required
-%sort: Identifier Type Form Comment Required
+%sort: Identifier Type Form Comment Required Section
##########################
## All VQF forms
@@ -24,6 +27,7 @@
Identifier: OFFICER_FULL_NAME
Comment: Full legal name of the officer filling the form.
+Section: header
Type: String
Form: VQF_902_1
Form: VQF_902_4
@@ -37,6 +41,7 @@ Required: true
Identifier: FORM_FILLING_DATE
Comment: When the form was completed.
+Section: header
Type: AbsoluteTime
Form: VQF_902_1
Form: VQF_902_4
@@ -49,6 +54,7 @@ Form: VQF_902_14
Required: true
Identifier: CUSTOMER_ID
+Section: header
Required: true
Type: String
Form: VQF_902_1
@@ -63,6 +69,7 @@ Comment: Customer system ID required to correlate different AML forms.
Identifier: SIGN_DATE
Comment: Contracing partner signature,
+Section: footer
Type: AbsoluteTime
Form: VQF_902_9
Form: VQF_902_11
@@ -71,7 +78,8 @@ Form: VQF_902_13
Required: true
Identifier: SIGNATURE
-Comment: .
+Section: footer
+# Comment:
Form: VQF_902_9
Form: VQF_902_11
Form: VQF_902_12
@@ -90,114 +98,133 @@ Identifier: CUSTOMER_NATURAL_FULL_NAME
Required: true
Type: String
Form: VQF_902_1
+Section: 1
Comment: If the customer is a natural person.
Identifier: CUSTOMER_NATURAL_RESIDENTIAL
Required: true
Type: ResidentialAddress
Form: VQF_902_1
+Section: 1
Comment: If the customer is a natural person.
Identifier: CUSTOMER_NATURAL_PHONE
Required: false
Type: String
Form: VQF_902_1
+Section: 1
Comment: If the customer is a natural person.
Identifier: CUSTOMER_NATURAL_EMAIL
Required: false
Type: String
Form: VQF_902_1
+Section: 1
Comment: If the customer is a natural person.
Identifier: CUSTOMER_NATURAL_BIRTHDATE
Required: true
Type: AbsoluteTime
Form: VQF_902_1
+Section: 1
Comment: If the customer is a natural person.
Identifier: CUSTOMER_NATURAL_NATIONALITY
Required: true
Type: CountryCode
Form: VQF_902_1
+Section: 1
Comment: If the customer is a natural person.
Identifier: CUSTOMER_NATURAL_NATIONAL_ID
Required: true
Type: String
Form: VQF_902_1
+Section: 1
Comment: If the customer is a natural person.
Identifier: CUSTOMER_NATURAL_NATIONAL_ID_COPY
Required: true
Type: File
Form: VQF_902_1
+Section: 1
Comment: If the customer is a natural person.
Identifier: CUSTOMER_NATURAL_COMPANY_NAME
Required: false
Type: String
Form: VQF_902_1
+Section: 1
Comment: If the customer is a natural person.
Identifier: CUSTOMER_NATURAL_REGISTERED_OFFICE
Required: false
Type: String
Form: VQF_902_1
+Section: 1
Comment: If the customer is a natural person.
Identifier: CUSTOMER_NATURAL_COMPANY_ID
Required: false
Type: String
Form: VQF_902_1
+Section: 1
Comment: If the customer is a natural person.
Identifier: CUSTOMER_NATURAL_COMPANY_ID_COPY
Required: false
Type: File
Form: VQF_902_1
+Section: 1
Comment: If the customer is a natural person.
Identifier: CUSTOMER_ENTITY_COMPANY_NAME
Required: true
Type: String
Form: VQF_902_1
+Section: 1
Comment: If the customer is a legal entity.
Identifier: CUSTOMER_ENTITY_ADDRESS
Required: true
Type: BusinessAddress
Form: VQF_902_1
+Section: 1
Comment: If the customer is a legal entity.
Identifier: CUSTOMER_ENTITY_CONTACT_PERSON_NAME
Required: false
Type: String
Form: VQF_902_1
+Section: 1
Comment: If the customer is a legal entity.
Identifier: CUSTOMER_ENTITY_PHONE
Required: false
Type: String
Form: VQF_902_1
+Section: 1
Comment: If the customer is a legal entity.
Identifier: CUSTOMER_ENTITY_EMAIL
Required: false
Type: String
Form: VQF_902_1
+Section: 1
Comment: If the customer is a legal entity.
Identifier: CUSTOMER_ENTITY_ID
Required: true
Type: String
Form: VQF_902_1
+Section: 1
Comment: If the customer is a legal entity. Not older than 12 month
Identifier: CUSTOMER_ENTITY_ID_COPY
Required: true
Type: File
Form: VQF_902_1
+Section: 1
Comment: If the customer is a legal entity. Not older than 12 month
# 2
@@ -207,6 +234,7 @@ Comment: If the customer is a legal entity. Not older than 12 month
Identifier: FOUNDER_LIST
Type: Form<VQF_902_1_founder>[]
Form: VQF_902_1
+Section: 2
Comment: List of founder with the fields below.
Required: true
@@ -214,35 +242,42 @@ Identifier: FOUNDER_FULL_NAME
Type: String
Form: VQF_902_1_founder
Required: true
+# Comment:
Identifier: FOUNDER_RESIDENTIAL_ADDRESS
Type: ResidentialAddress
Form: VQF_902_1_founder
Required: true
+# Comment:
Identifier: FOUNDER_BIRTHDATE
Type: AbsoluteTime
Form: VQF_902_1_founder
Required: true
+# Comment:
Identifier: FOUNDER_NATIONALITY
Type: CountryCode
Form: VQF_902_1_founder
Required: true
+# Comment:
Identifier: FOUNDER_AUTHORIZATION_TYPE
-Comment: signatory of representation
+Section: 2
+Comment: Signatory of representation
Type: String
Form: VQF_902_1_founder
Required: true
+# Comment:
Identifier: FOUNDER_NATIONAL_ID
Type: String
Form: VQF_902_1_founder
Required: true
+# Comment:
Identifier: FOUNDER_POWER_OF_ATTORNEY
-Comment: Could be "cr extract", "mandate" or "other"
+Comment: Could be 'cr extract', 'mandate' or 'other'.
Type: String
Form: VQF_902_1_founder
Required: true
@@ -251,31 +286,36 @@ Required: true
# Acceptance of business relationship
Identifier: ACCEPTANCE_DATE
+Section: 3
Comment: Conclusion of the conract
Type: AbsoluteTime
Form: VQF_902_1
Required: false
Identifier: ACCEPTANCE_METHOD
+Section: 3
Comment: Accepted by face to face or correspondence
Type: String
Form: VQF_902_1
Required: false
Identifier: ACCEPTANCE_CORRESPONDENCE_SERVICE_TYPE
-Comment: to the customer, hold at bank, to the member or to a third party
+Section: 3
+Comment: To the customer, hold at bank, to the member or to a third party
Type: String
Form: VQF_902_1
Required: false
Identifier: ACCEPTANCE_LANGUAGE
-Comment:
+Section: 3
+#Comment:
Type: String
Form: VQF_902_1
Required: false
Identifier: ACCEPTANCE_ADDITIONAL_INFO
-Comment:
+Section: 3
+#Comment:
Type: String
Form: VQF_902_1
Required: false
@@ -285,6 +325,7 @@ Required: false
# defines the customer type
Identifier: CUSTOMER_TYPE
+Section: 4
Comment: Value could be natural person and sole beneficial, legal entity, a foundation, a trust, a life insurance or all other cases.
Type: String
Form: VQF_902_1
@@ -294,6 +335,7 @@ Required: true
# Embargo procedures/terrorism list
Identifier: EMBARGO_TERRORISM_INFO
+Section: 5
Comment: Verification whether the customer or any involved persons are listed on an embargo-/terrorism list
Type: String
Form: VQF_902_1
@@ -305,13 +347,15 @@ Required: false
# In case of occasional customer that no customer profile (VQF No 902.5) is created.
Identifier: RELATIONSHIP_TYPE
-Comment: Could be "money exchange", "money and asset transfer" or "other"
+Section: 6
+Comment: Could be 'money exchange', 'money and asset transfer' or 'other'
Type: String
Form: VQF_902_1
Required: false
Identifier: RELATIONSHIP_PURPOSE
-Comment:
+Section: 6
+#Comment:
Type: String
Form: VQF_902_1
Required: false
@@ -326,24 +370,28 @@ Required: false
# Art 7
Identifier: PEP_FOREIGN
-Comment: True if the person is a PEP defined by "Art 7 lit. g numeral 1"
+Section: 1
+Comment: True if the person is a PEP defined by 'Art 7 lit. g numeral 1'
Type: Boolean
Form: VQF_902_4
Required: true
Identifier: PEP_DOMESTIC
-Comment: True if the person is a PEP defined by "Art 7 lit. g numeral 2"
+Section: 1
+Comment: True if the person is a PEP defined by 'Art 7 lit. g numeral 2'
Type: Boolean
Form: VQF_902_4
Required: true
Identifier: PEP_INTERNATIONAL_ORGANIZATION
-Comment: True if the person is a PEP defined by "Art 7 lit. g numeral 3"
+Section: 1
+Comment: True if the person is a PEP defined by 'Art 7 lit. g numeral 3'
Type: Boolean
Form: VQF_902_4
Required: true
Identifier: PEP_ACCEPTANCE_DATE
+Section: 1
Comment: The decision of the Senior executive body on the acceptance of a business relationsip was obtained on ___
Type: AbsoluteTime
Form: VQF_902_4
@@ -352,12 +400,14 @@ Required: false
# 2. High risk or non-cooperative country
Identifier: HIGH_RISK_COUNTRY
+Section: 2
Comment: True if the person is in a country for which FATF requires incresed dilegence.
Type: Boolean
Form: VQF_902_4
Required: true
Identifier: HIGH_RISK__ACCEPTANCE_DATE
+Section: 2
Comment: The decision of the Senior executive body on the acceptance of a business relationsip was obtained on ___
Type: String
Form: VQF_902_4
@@ -366,72 +416,84 @@ Required: false
# 3. Business relationship risk
Identifier: COUNTRY_RISK_TYPE
-Comment: Can be "nationality customer", "nationality owner", "domicile customer", "domicile owner", "domicile controlling", "business activity", or "payments"
+Section: 3
+Comment: Can be 'nationality customer', 'nationality owner', 'domicile customer', 'domicile owner', 'domicile controlling', 'business activity', or 'payments'
Type: String
Form: VQF_902_4
Required: false
Identifier: COUNTRY_RISK_LEVEL
-Comment: Can be "low", "medium" or "high" based on 902.4.1 country list
+Section: 3
+Comment: Can be 'low', 'medium' or 'high' based on 902.4.1 country list
Type: String
Form: VQF_902_4
Required: false
Identifier: INDUSTRY_RISK_TYPE
-Comment: Can be "customer" or "owner"
+Section: 3
+Comment: Can be 'customer' or 'owner'
Type: String
Form: VQF_902_4
Required: false
Identifier: INDUSTRY_RISK_LEVEL
-Comment: Can be "transparent", "high level of cash transaction", "not well known", "high risk trade" or "unkown industry"
+Section: 3
+Comment: Can be 'transparent', 'high level of cash transaction', 'not well known', 'high risk trade' or 'unkown industry'
Type: String
Form: VQF_902_4
Required: false
Identifier: CONTACT_RISK_LEVEL
-Comment: Can be "low", "med" or "high"
+Section: 3
+Comment: Can be 'low', 'med' or 'high'
Type: String
Form: VQF_902_4
Required: false
Identifier: PRODUCT_RISK_LEVEL
-Comment: Can be "easy", "sophisticated", "offshore", "complex structure", "large number of accounts", "complex service" or "frequent transaction with increased risk"
+Section: 3
+Comment: Can be 'easy', 'sophisticated', 'offshore', 'complex structure', 'large number of accounts', 'complex service' or 'frequent transaction with increased risk'
Type: String
Form: VQF_902_4
Required: false
Identifier: EXTRA_CRITERA_1_RISK_DEFINITION
+Section: 3
Comment: Criteria description
Type: String
Form: VQF_902_4
Required: false
Identifier: EXTRA_CRITERA_1_RISK_LEVEL
-Comment: Can be "low", "med" or "high"
+Section: 3
+Comment: Can be 'low', 'med' or 'high'
Type: String
Form: VQF_902_4
Required: false
Identifier: EXTRA_CRITERA_2_RISK_DEFINITION
+Section: 3
Comment: Criteria description
Type: String
Form: VQF_902_4
Required: false
Identifier: EXTRA_CRITERA_2_RISK_LEVEL
-Comment: Can be "low", "med" or "high"
+Section: 3
+Comment: Can be 'low', 'med' or 'high'
Type: String
Form: VQF_902_4
Required: false
Identifier: RISK_CLASIFICATION_LEVEL
-Comment: Can be "with" or "without" increased risk.
+Section: 3
+Comment: Can be 'with' or 'without' increased risk.
Type: String
Form: VQF_902_4
Required: false
Identifier: RISK_CLASIFICATION_ACCEPTANCE_DATE
+Section: 3
Comment: The decision of the Senior executive body on the acceptance of a business relationsip was obtained on ___
Type: String
Form: VQF_902_4
@@ -449,6 +511,7 @@ Required: false
# 1. Business activity
Identifier: BIZREL_PROFESSION
+Section: 1
Comment: Profession, business activities, etc. (former, current, potentially planned)
Type: String
Form: VQF_902_5
@@ -457,6 +520,7 @@ Required: false
# 2. Financial circumstances
Identifier: BIZREL_INCOME
+Section: 2
Comment: Income and assets, liabilities (estimated)
Type: String
Form: VQF_902_5
@@ -465,19 +529,22 @@ Required: false
# 3. Origin of the deposited assets involved
Identifier: BIZREL_ORIGIN_AMOUNT
+Section: 3
Comment: Nature, amount and currency of the involved assets.
Type: Amount
Form: VQF_902_5
Required: true
Identifier: BIZREL_ORIGIN_CATEGORY
-Comment: Could be "savings", "own business", "inheritance" or "other".
+Section: 3
+Comment: Could be 'savings', 'own business', 'inheritance' or 'other'.
Type: String
Form: VQF_902_5
Required: true
Identifier: BIZREL_ORIGIN_DETAIL
-Comment: Define the category if "other".
+Section: 3
+Comment: Define the category if 'other'.
Type: String
Form: VQF_902_5
Required: false
@@ -485,36 +552,42 @@ Required: false
# 4. Nature and purpose
Identifier: BIZREL_PURPOSE
+Section: 4
Comment: Purpose of the business relationship.
Type: String
Form: VQF_902_5
Required: false
Identifier: BIZREL_DEVELOPMENT
+Section: 4
Comment: Information on the planned development of the business relationship and the assets.
Type: String
Form: VQF_902_5
Required: false
Identifier: BIZREL_FINANCIAL_VOLUME
+Section: 4
Comment: In the case of cash or money and asset transfer transacction with regular customer
Type: String
Form: VQF_902_5
Required: false
Identifier: BIZREL_FINANCIAL_BENEFICIARIES_FULL_NAME
+Section: 4
Comment: In the case of cash or money and asset transfer transacction with regular customer
Type: String
Form: VQF_902_5
Required: false
Identifier: BIZREL_FINANCIAL_BENEFICIARIES_ADDRESS
+Section: 4
Comment: In the case of cash or money and asset transfer transacction with regular customer
Type: BusinessAddress
Form: VQF_902_5
Required: false
Identifier: BIZREL_FINANCIAL_BENEFICIARIES_BANK_ACCOUNT
+Section: 4
Comment: In the case of cash or money and asset transfer transacction with regular customer
Type: String
Form: VQF_902_5
@@ -523,18 +596,21 @@ Required: false
# 5. Third parties
Identifier: BIZREL_THIRDPARTY_RELATIONSHIP
+Section: 5
Comment: Relation of the customer to the beneficial owner, controlling persons, authorised signatories and other persons involved in the business relationship.
Type: String
Form: VQF_902_5
Required: false
Identifier: BIZREL_THIRDPARTY_AMLA_FILES
+Section: 5
Comment: Relation to other AMLA-files.
Type: String
Form: VQF_902_5
Required: false
Identifier: BIZREL_THIRDPARTY_REFERENCES
+Section: 5
Comment: Introducer / agents / references.
Type: String
Form: VQF_902_5
@@ -543,6 +619,7 @@ Required: false
# 6. Further information
Identifier: BIZREL_FURTHER_INFO
+Section: 6
Comment: Other relevant information.
Type: String
Form: VQF_902_5
@@ -558,37 +635,39 @@ Required: false
# Identity of beneficial owner
Identifier: IDENTITY_CONTRACTING_PARTNER
-Comment: .
+Section: 1
+# Comment:
Type: String
Form: VQF_902_9
Required: true
Identifier: IDENTITY_LIST
+Section: 2
Comment: The beneficial owners of the assets involved in the business relationship.
Type: Form<VQF_902_9_identity>[]
Form: VQF_902_9
Required: false
Identifier: IDENTITY_FULL_NAME
-Comment: .
+# Comment:
Type: String
Form: VQF_902_9_identity
Required: true
Identifier: IDENTITY_BIRTHDATE
-Comment: .
+# Comment:
Type: AbsoluteTime
Form: VQF_902_9_identity
Required: true
Identifier: IDENTITY_NATIONALITY
-Comment: .
+# Comment:
Type: CountryCode
Form: VQF_902_9_identity
Required: true
Identifier: IDENTITY_DOMICILE
-Comment: .
+# Comment:
Type: ResidentialAddress
Form: VQF_902_9_identity
Required: true
@@ -600,25 +679,29 @@ Required: true
# controlling person of the operation legal entity and partnerships
Identifier: CONTROLLING_ENTITY_CONTRACTING_PARTNER
-Comment: .
+Section: 1
+# Comment:
Type: String
Form: VQF_902_11
Required: true
Identifier: CONTROLLING_ENTITY_LEVEL
-Comment: Could be "more than 25% voting rights", "other ways" or "director"
+Section: 2
+Comment: Could be 'more than 25% voting rights', 'other ways' or 'director'
Type: String
Form: VQF_902_11
Required: true
Identifier: CONTROLLING_ENTITY_FULL_NAME
-Comment: .
+Section: 3
+# Comment:
Type: String
Form: VQF_902_11
Required: true
Identifier: CONTROLLING_ENTITY_DOMICILE
-Comment: .
+Section: 3
+# Comment:
Type: ResidentialAddress
Form: VQF_902_11
Required: true
@@ -626,6 +709,7 @@ Required: true
Identifier: CONTROLLING_ENTITY_THIRD_PERSON
Type: Boolean
Form: VQF_902_11
+Section: 4
Comment: Is a third person the beneficial owner of the assets?
Required: true
@@ -636,13 +720,15 @@ Required: true
# foundations
Identifier: FOUNDATION_CONTRACTING_PARTNER
-Comment: .
+Section: 0
+# Comment:
Type: String
Form: VQF_902_12
Required: true
Identifier: FOUNDATION_KNOWN_AS
-Comment: .
+Section: 0
+# Comment:
Type: String
Form: VQF_902_12
Required: true
@@ -650,19 +736,22 @@ Required: true
# 1. About the foundation
Identifier: FOUNDATION_NAME
-Comment: .
+Section: 1
+# Comment:
Type: String
Form: VQF_902_12
Required: true
Identifier: FOUNDATION_DISCRETIONARY
-Comment: .
+Section: 1
+# Comment:
Type: Boolean
Form: VQF_902_12
Required: true
Identifier: FOUNDATION_REVOCABLE
-Comment: .
+Section: 1
+# Comment:
Type: Boolean
Form: VQF_902_12
Required: true
@@ -670,43 +759,44 @@ Required: true
# 2. About the founder
Identifier: FOUNDATION_FOUNDER_LIST
-Comment: .
+Section: 2
+# Comment:
Type: Form<VQF_902_12_founder>[]
Form: VQF_902_12
Required: true
Identifier: FOUNDATION_FOUNDER_FULL_NAME
-Comment: .
+# Comment:
Type: String
Form: VQF_902_12_founder
Required: true
Identifier: FOUNDATION_FOUNDER_DOMICILE
-Comment: .
+# Comment:
Type: ResidentialAddress
Form: VQF_902_12_founder
Required: true
Identifier: FOUNDATION_FOUNDER_BIRTHDATE
-Comment: .
+# Comment:
Type: AbsoluteTime
Form: VQF_902_12_founder
Required: true
Identifier: FOUNDATION_FOUNDER_NATIONALITY
-Comment: .
+# Comment:
Type: CountryCode
Form: VQF_902_12_founder
Required: true
Identifier: FOUNDATION_FOUNDER_DEATHDATE
-Comment: .
+# Comment:
Type: AbsoluteTime
Form: VQF_902_12_founder
Required: true
Identifier: FOUNDATION_FOUNDER_RIGHT_TO_REVOKE
-Comment: .
+# Comment:
Type: Boolean
Form: VQF_902_12_founder
Required: true
@@ -714,43 +804,44 @@ Required: true
# 3. About the pre-existing foundation
Identifier: FOUNDATION_PRE_LIST
-Comment: .
+Section: 3
+# Comment:
Type: Form<VQF_902_12_pre>[]
Form: VQF_902_12
Required: true
Identifier: FOUNDATION_PRE_FULL_NAME
-Comment: .
+# Comment:
Type: String
Form: VQF_902_12_pre
Required: true
Identifier: FOUNDATION_PRE_DOMICILE
-Comment: .
+# Comment:
Type: ResidentialAddress
Form: VQF_902_12_pre
Required: true
Identifier: FOUNDATION_PRE_COUNTRY
-Comment: .
+# Comment:
Type: CountryCode
Form: VQF_902_12_pre
Required: true
Identifier: FOUNDATION_PRE_BIRTHDATE
-Comment: .
+# Comment:
Type: AbsoluteTime
Form: VQF_902_12_pre
Required: true
Identifier: FOUNDATION_PRE_NATIONALITY
-Comment: .
+# Comment:
Type: CountryCode
Form: VQF_902_12_pre
Required: true
Identifier: FOUNDATION_PRE_DEATHDATE
-Comment: .
+# Comment:
Type: AbsoluteTime
Form: VQF_902_12_pre
Required: true
@@ -758,49 +849,50 @@ Required: true
# 4. Beneficiaries information
Identifier: FOUNDATION_BENEFICIARY_LIST
-Comment: .
+Section: 4
+# Comment:
Type: Form<VQF_902_12_beneficiary>[]
Form: VQF_902_12
Required: true
Identifier: FOUNDATION_BENEFICIARY_FULL_NAME
-Comment: .
+# Comment:
Type: String
Form: VQF_902_12_beneficiary
Required: false
Identifier: FOUNDATION_BENEFICIARY_DOMICILE
-Comment: .
+# Comment:
Type: ResidentialAddress
Form: VQF_902_12_beneficiary
Required: false
Identifier: FOUNDATION_BENEFICIARY_COUNTRY
-Comment: .
+# Comment:
Type: CountryCode
Form: VQF_902_12_beneficiary
Required: false
Identifier: FOUNDATION_BENEFICIARY_BIRTHDATE
-Comment: .
+# Comment:
Type: AbsoluteTime
Form: VQF_902_12_beneficiary
Required: false
Identifier: FOUNDATION_BENEFICIARY_NATIONALITY
-Comment: .
+# Comment:
Type: CountryCode
Form: VQF_902_12_beneficiary
Required: false
Identifier: FOUNDATION_BENEFICIARY_RIGHT_TO_CLAIM
-Comment: .
+# Comment:
Type: Boolean
Form: VQF_902_12_beneficiary
Required: false
Identifier: FOUNDATION_BENEFICIARY_ADDITION
-Comment: .
+# Comment:
Type: String
Form: VQF_902_12_beneficiary
Required: false
@@ -808,43 +900,44 @@ Required: false
# 5. Further person with right to nominate representatives
Identifier: FOUNDATION_REPRESENTATIVE_LIST
-Comment: .
+Section: 5
+# Comment:
Type: Form<VQF_902_12_representative>[]
Form: VQF_902_12
Required: true
Identifier: FOUNDATION_REPRESENTATIVE_FULL_NAME
-Comment: .
+# Comment:
Type: String
Form: VQF_902_12_representative
Required: true
Identifier: FOUNDATION_REPRESENTATIVE_DOMICILE
-Comment: .
+# Comment:
Type: ResidentialAddress
Form: VQF_902_12_representative
Required: true
Identifier: FOUNDATION_REPRESENTATIVE_COUNTRY
-Comment: .
+# Comment:
Type: CountryCode
Form: VQF_902_12_representative
Required: true
Identifier: FOUNDATION_REPRESENTATIVE_BIRTHDATE
-Comment: .
+# Comment:
Type: AbsoluteTime
Form: VQF_902_12_representative
Required: true
Identifier: FOUNDATION_REPRESENTATIVE_NATIONALITY
-Comment: .
+# Comment:
Type: CountryCode
Form: VQF_902_12_representative
Required: true
Identifier: FOUNDATION_REPRESENTATIVE_RIGHT_TO_REVOKE
-Comment: .
+# Comment:
Type: Boolean
Form: VQF_902_12_representative
Required: true
@@ -856,13 +949,15 @@ Required: true
# trusts
Identifier: TRUST_CONTRACTING_PARTNER
-Comment: .
+Section: 0
+# Comment:
Type: String
Form: VQF_902_13
Required: true
Identifier: TRUST_KNOWN_AS
-Comment: .
+Section: 0
+# Comment:
Type: String
Form: VQF_902_13
Required: true
@@ -870,19 +965,22 @@ Required: true
# 1. About the trust
Identifier: TRUST_NAME
-Comment: .
+Section: 1
+# Comment:
Type: String
Form: VQF_902_13
Required: true
Identifier: TRUST_DISCRETIONARY
-Comment: .
+Section: 1
+# Comment:
Type: Boolean
Form: VQF_902_13
Required: true
Identifier: TRUST_REVOCABLE
-Comment: .
+Section: 1
+# Comment:
Type: Boolean
Form: VQF_902_13
Required: true
@@ -890,226 +988,231 @@ Required: true
# 2. About the settlor of the trust
Identifier: TRUST_SETTLOR_LIST
-Comment: .
+Section: 2
+# Comment:
Type: Form<VQF_902_13_settlor>[]
Form: VQF_902_13
Required: true
Identifier: TRUST_SETTLOR_FULL_NAME
-Comment: .
+# Comment:
Type: String
Form: VQF_902_13_settlor
Required: true
Identifier: TRUST_SETTLOR_DOMICILE
-Comment: .
+# Comment:
Type: ResidentialAddress
-Form: VQF_902_13
+Form: VQF_902_13_settlor
Required: true
Identifier: TRUST_SETTLOR_BIRTHDATE
-Comment: .
+# Comment:
Type: AbsoluteTime
-Form: VQF_902_13
+Form: VQF_902_13_settlor
Required: true
Identifier: TRUST_SETTLOR_NATIONALITY
-Comment: .
+# Comment:
Type: CountryCode
-Form: VQF_902_13
+Form: VQF_902_13_settlor
Required: true
Identifier: TRUST_SETTLOR_DEATHDATE
-Comment: .
+# Comment:
Type: AbsoluteTime
-Form: VQF_902_13
+Form: VQF_902_13_settlor
Required: true
Identifier: TRUST_SETTLOR_RIGHT_TO_REVOKE
-Comment: .
+# Comment:
Type: Boolean
-Form: VQF_902_13
+Form: VQF_902_13_settlor
Required: true
# 3. About the pre-existing trust`
Identifier: TRUST_PRE_LIST
-Comment: .
+Section: 3
+# Comment:
Type: Form<VQF_902_13_pre>[]
Form: VQF_902_13
Required: true
Identifier: TRUST_PRE_FULL_NAME
-Comment: .
+# Comment:
Type: String
Form: VQF_902_13_pre
Required: false
Identifier: TRUST_PRE_DOMICILE
-Comment: .
+# Comment:
Type: ResidentialAddress
-Form: VQF_902_13
+Form: VQF_902_13_pre
Required: false
Identifier: TRUST_PRE_COUNTRY
-Comment: .
+# Comment:
Type: CountryCode
-Form: VQF_902_13
+Form: VQF_902_13_pre
Required: false
Identifier: TRUST_PRE_BIRTHDATE
-Comment: .
+# Comment:
Type: AbsoluteTime
-Form: VQF_902_13
+Form: VQF_902_13_pre
Required: false
Identifier: TRUST_PRE_NATIONALITY
-Comment: .
+# Comment:
Type: CountryCode
-Form: VQF_902_13
+Form: VQF_902_13_pre
Required: false
Identifier: TRUST_PRE_DEATHDATE
-Comment: .
+# Comment:
Type: AbsoluteTime
-Form: VQF_902_13
+Form: VQF_902_13_pre
Required: false
# 4. Beneficiaries information
Identifier: TRUST_BENEFICIARY_LIST
-Comment: .
+Section: 4
+# Comment:
Type: Form<VQF_902_13_beneficiary>[]
Form: VQF_902_13
Required: true
Identifier: TRUST_BENEFICIARY_FULL_NAME
-Comment: .
+# Comment:
Type: String
Form: VQF_902_13_beneficiary
Required: false
Identifier: TRUST_BENEFICIARY_DOMICILE
-Comment: .
+# Comment:
Type: ResidentialAddress
-Form: VQF_902_13
+Form: VQF_902_13_beneficiary
Required: false
Identifier: TRUST_BENEFICIARY_COUNTRY
-Comment: .
+# Comment:
Type: CountryCode
-Form: VQF_902_13
+Form: VQF_902_13_beneficiary
Required: false
Identifier: TRUST_BENEFICIARY_BIRTHDATE
-Comment: .
+# Comment:
Type: AbsoluteTime
-Form: VQF_902_13
+Form: VQF_902_13_beneficiary
Required: false
Identifier: TRUST_BENEFICIARY_NATIONALITY
-Comment: .
+# Comment:
Type: CountryCode
-Form: VQF_902_13
+Form: VQF_902_13_beneficiary
Required: false
Identifier: TRUST_BENEFICIARY_RIGHT_TO_CLAIM
-Comment: .
+# Comment:
Type: Boolean
-Form: VQF_902_13
+Form: VQF_902_13_beneficiary
Required: false
Identifier: TRUST_BENEFICIARY_ADDITION
-Comment: .
+# Comment:
Type: String
-Form: VQF_902_13
+Form: VQF_902_13_beneficiary
Required: false
# 5. Further person with right to nominate representatives
Identifier: TRUST_PROTECTOR_LIST
-Comment: .
+Section: 5
+# Comment:
Type: Form<VQF_902_13_protector>[]
Form: VQF_902_13
Required: true
Identifier: TRUST_PROTECTOR_FULL_NAME
-Comment: .
+# Comment:
Type: String
Form: VQF_902_13_protector
Required: false
Identifier: TRUST_PROTECTOR_DOMICILE
-Comment: .
+# Comment:
Type: ResidentialAddress
-Form: VQF_902_13
+Form: VQF_902_13_protector
Required: false
Identifier: TRUST_PROTECTOR_COUNTRY
-Comment: .
+# Comment:
Type: CountryCode
-Form: VQF_902_13
+Form: VQF_902_13_protector
Required: false
Identifier: TRUST_PROTECTOR_BIRTHDATE
-Comment: .
+# Comment:
Type: AbsoluteTime
-Form: VQF_902_13
+Form: VQF_902_13_protector
Required: false
Identifier: TRUST_PROTECTOR_NATIONALITY
-Comment: .
+# Comment:
Type: CountryCode
-Form: VQF_902_13
+Form: VQF_902_13_protector
Required: false
Identifier: TRUST_PROTECTOR_RIGHT_TO_REVOKE
-Comment: .
+# Comment:
Type: Boolean
-Form: VQF_902_13
+Form: VQF_902_13_protector
Required: false
Identifier: TRUST_FURTHER_LIST
-Comment: .
+# Comment:
+Section: 5
Type: Form<VQF_902_13_further>[]
-Form: VQF_902_13
+Form: VQF_902_13_further
Required: true
Identifier: TRUST_FURTHER_FULL_NAME
-Comment: .
+# Comment:
Type: String
Form: VQF_902_13_further
Required: false
Identifier: TRUST_FURTHER_DOMICILE
-Comment: .
+# Comment:
Type: ResidentialAddress
-Form: VQF_902_13
+Form: VQF_902_13_further
Required: false
Identifier: TRUST_FURTHER_COUNTRY
-Comment: .
+# Comment:
Type: CountryCode
-Form: VQF_902_13
+Form: VQF_902_13_further
Required: false
Identifier: TRUST_FURTHER_BIRTHDATE
-Comment: .
+# Comment:
Type: AbsoluteTime
-Form: VQF_902_13
+Form: VQF_902_13_further
Required: false
Identifier: TRUST_FURTHER_NATIONALITY
-Comment: .
+# Comment:
Type: CountryCode
-Form: VQF_902_13
+Form: VQF_902_13_further
Required: false
Identifier: TRUST_FURTHER_RIGHT_TO_REVOKE
-Comment: .
+# Comment:
Type: Boolean
-Form: VQF_902_13
+Form: VQF_902_13_further
Required: false
@@ -1122,6 +1225,7 @@ Required: false
# 1. Reason for special clarifications
Identifier: INCRISK_REASON
+Section: 1
Comment: Description of the circumstances/transactions, which triggered the special clarifications
Type: String
Form: VQF_902_14
@@ -1130,7 +1234,8 @@ Required: true
# 2. Used means of clarification
Identifier: INCRISK_MEANS
-Comment: Could be "gathering", "consultation", "enquiries" or "other"
+Section: 2
+Comment: Could be 'gathering', 'consultation', 'enquiries' or 'other'
Type: String
Form: VQF_902_14
Required: true
@@ -1138,12 +1243,14 @@ Required: true
# 3. Summary
Identifier: INCRISK_SUMMARY
-Comment: .
+Section: 3
+# Comment:
Type: String
Form: VQF_902_14
Required: true
Identifier: INCRISK_DOCUMENTS
+Section: 3
Comment: Gathered or consulted documents
Type: File[]
Form: VQF_902_14
@@ -1152,7 +1259,8 @@ Required: true
# 4. Result of the special clarification
Identifier: INCRISK_RESULT
-Comment: Could be "no suspicion", "reasonable suspicion", "simple suspicion" or "other"
+Section: 4
+Comment: Could be 'no suspicion', 'reasonable suspicion', 'simple suspicion' or 'other'
Type: String
Form: VQF_902_14
Required: true
diff --git a/gnu-taler-aml-attributes/ts.header b/gnu-taler-aml-attributes/ts.header
@@ -28,4 +28,4 @@ type ResidentialAddress = string;
type BusinessAddress = string;
type Form<T> = T
-namespace TalerAmlAttributes {
+export namespace TalerAmlAttributes {