taler-typescript-core

Wallet core logic and WebUIs for various components
Log | Files | Refs | Submodules | README | LICENSE

commit eca6e416309a2494aef690c292e438cbd70513d6
parent 3df4239d7c533f08e77573766bdd22197a0e6358
Author: Sebastian <sebasjm@gmail.com>
Date:   Wed,  8 Jan 2025 15:05:13 -0300

update gana forms

Diffstat:
Mpackages/kyc-ui/src/forms/VQF_902_1.ts | 10+---------
Mpackages/kyc-ui/src/forms/VQF_902_11.ts | 10+---------
Mpackages/kyc-ui/src/forms/VQF_902_12.ts | 10+---------
Mpackages/kyc-ui/src/forms/VQF_902_13.ts | 10+---------
Mpackages/kyc-ui/src/forms/VQF_902_14.ts | 10+---------
Mpackages/kyc-ui/src/forms/VQF_902_15.ts | 10+---------
Mpackages/kyc-ui/src/forms/VQF_902_4.ts | 10+---------
Mpackages/kyc-ui/src/forms/VQF_902_5.ts | 10+---------
Mpackages/kyc-ui/src/forms/VQF_902_9.ts | 10+---------
Dpackages/kyc-ui/src/forms/taler_aml_attributes.ts | 1192-------------------------------------------------------------------------------
Apackages/kyc-ui/src/forms/taler_form_attributes.ts | 1285+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
11 files changed, 1294 insertions(+), 1273 deletions(-)

diff --git a/packages/kyc-ui/src/forms/VQF_902_1.ts b/packages/kyc-ui/src/forms/VQF_902_1.ts @@ -4,7 +4,7 @@ import { UIHandlerId, SelectUiChoice, } from "@gnu-taler/web-util/browser"; -import { TalerAmlAttributes } from "./taler_aml_attributes.js"; +import { TalerAmlAttributes } from "./taler_form_attributes.js"; export function countryList(i18n: InternationalizationAPI): SelectUiChoice[] { return [ @@ -22,14 +22,6 @@ export function VQF_902_1(i18n: InternationalizationAPI): DoubleColumnForm { title: i18n.str`This form was completed by`, fields: [ { - id: "OFFICER_FULL_NAME" satisfies keyof TalerAmlAttributes.VQF_902_1 as UIHandlerId, - label: i18n.str`Full name`, - // gana_type: "String", - type: "text", - required: true, - disabled: true, - }, - { id: "FORM_FILLING_DATE" satisfies keyof TalerAmlAttributes.VQF_902_1 as UIHandlerId, label: i18n.str`Date`, // gana_type: "AbsoluteDateTime", diff --git a/packages/kyc-ui/src/forms/VQF_902_11.ts b/packages/kyc-ui/src/forms/VQF_902_11.ts @@ -3,7 +3,7 @@ import { DoubleColumnForm, UIHandlerId, } from "@gnu-taler/web-util/browser"; -import { TalerAmlAttributes } from "./taler_aml_attributes.js"; +import { TalerAmlAttributes } from "./taler_form_attributes.js"; export function VQF_902_11(i18n: InternationalizationAPI): DoubleColumnForm { return { @@ -13,14 +13,6 @@ export function VQF_902_11(i18n: InternationalizationAPI): DoubleColumnForm { title: i18n.str`This form was completed by`, fields: [ { - id: "OFFICER_FULL_NAME" satisfies keyof TalerAmlAttributes.VQF_902_11 as UIHandlerId, - label: i18n.str`Full name`, - // gana_type: "String", - type: "text", - required: true, - disabled: true, - }, - { id: "FORM_FILLING_DATE" satisfies keyof TalerAmlAttributes.VQF_902_11 as UIHandlerId, label: i18n.str`Date`, // gana_type: "AbsoluteDateTime", diff --git a/packages/kyc-ui/src/forms/VQF_902_12.ts b/packages/kyc-ui/src/forms/VQF_902_12.ts @@ -3,7 +3,7 @@ import { DoubleColumnForm, UIHandlerId, } from "@gnu-taler/web-util/browser"; -import { TalerAmlAttributes } from "./taler_aml_attributes.js"; +import { TalerAmlAttributes } from "./taler_form_attributes.js"; import { countryList } from "./VQF_902_1.js"; export function VQF_902_12(i18n: InternationalizationAPI): DoubleColumnForm { @@ -14,14 +14,6 @@ export function VQF_902_12(i18n: InternationalizationAPI): DoubleColumnForm { title: i18n.str`This form was completed by`, fields: [ { - id: "OFFICER_FULL_NAME" satisfies keyof TalerAmlAttributes.VQF_902_12 as UIHandlerId, - label: i18n.str`Full name`, - // gana_type: "String", - type: "text", - required: true, - disabled: true, - }, - { id: "FORM_FILLING_DATE" satisfies keyof TalerAmlAttributes.VQF_902_12 as UIHandlerId, label: i18n.str`Date`, // gana_type: "AbsoluteDateTime", diff --git a/packages/kyc-ui/src/forms/VQF_902_13.ts b/packages/kyc-ui/src/forms/VQF_902_13.ts @@ -3,7 +3,7 @@ import { DoubleColumnForm, UIHandlerId, } from "@gnu-taler/web-util/browser"; -import { TalerAmlAttributes } from "./taler_aml_attributes.js"; +import { TalerAmlAttributes } from "./taler_form_attributes.js"; import { countryList } from "./VQF_902_1.js"; export function VQF_902_13(i18n: InternationalizationAPI): DoubleColumnForm { @@ -14,14 +14,6 @@ export function VQF_902_13(i18n: InternationalizationAPI): DoubleColumnForm { title: i18n.str`This form was completed by`, fields: [ { - id: "OFFICER_FULL_NAME" satisfies keyof TalerAmlAttributes.VQF_902_13 as UIHandlerId, - label: i18n.str`Full name`, - // gana_type: "String", - type: "text", - required: true, - disabled: true, - }, - { id: "FORM_FILLING_DATE" satisfies keyof TalerAmlAttributes.VQF_902_13 as UIHandlerId, label: i18n.str`Date`, // gana_type: "AbsoluteDateTime", diff --git a/packages/kyc-ui/src/forms/VQF_902_14.ts b/packages/kyc-ui/src/forms/VQF_902_14.ts @@ -3,7 +3,7 @@ import { DoubleColumnForm, UIHandlerId, } from "@gnu-taler/web-util/browser"; -import { TalerAmlAttributes } from "./taler_aml_attributes.js"; +import { TalerAmlAttributes } from "./taler_form_attributes.js"; export function VQF_902_14(i18n: InternationalizationAPI): DoubleColumnForm { return { @@ -13,14 +13,6 @@ export function VQF_902_14(i18n: InternationalizationAPI): DoubleColumnForm { title: i18n.str`This form was completed by`, fields: [ { - id: "OFFICER_FULL_NAME" satisfies keyof TalerAmlAttributes.VQF_902_14 as UIHandlerId, - label: i18n.str`Full name`, - // gana_type: "String", - type: "text", - required: true, - disabled: true, - }, - { id: "FORM_FILLING_DATE" satisfies keyof TalerAmlAttributes.VQF_902_14 as UIHandlerId, label: i18n.str`Date`, // gana_type: "AbsoluteDateTime", diff --git a/packages/kyc-ui/src/forms/VQF_902_15.ts b/packages/kyc-ui/src/forms/VQF_902_15.ts @@ -3,7 +3,7 @@ import { DoubleColumnForm, UIHandlerId, } from "@gnu-taler/web-util/browser"; -import { TalerAmlAttributes } from "./taler_aml_attributes.js"; +import { TalerAmlAttributes } from "./taler_form_attributes.js"; import { countryList } from "./VQF_902_1.js"; export function VQF_902_15(i18n: InternationalizationAPI): DoubleColumnForm { @@ -14,14 +14,6 @@ export function VQF_902_15(i18n: InternationalizationAPI): DoubleColumnForm { title: i18n.str`This form was completed by`, fields: [ { - id: "OFFICER_FULL_NAME" satisfies keyof TalerAmlAttributes.VQF_902_15 as UIHandlerId, - label: i18n.str`Full name`, - // gana_type: "String", - type: "text", - required: true, - disabled: true, - }, - { id: "FORM_FILLING_DATE" satisfies keyof TalerAmlAttributes.VQF_902_15 as UIHandlerId, label: i18n.str`Date`, // gana_type: "AbsoluteDateTime", diff --git a/packages/kyc-ui/src/forms/VQF_902_4.ts b/packages/kyc-ui/src/forms/VQF_902_4.ts @@ -3,7 +3,7 @@ import { DoubleColumnForm, UIHandlerId, } from "@gnu-taler/web-util/browser"; -import { TalerAmlAttributes } from "./taler_aml_attributes.js"; +import { TalerAmlAttributes } from "./taler_form_attributes.js"; export function VQF_902_4(i18n: InternationalizationAPI): DoubleColumnForm { return { @@ -13,14 +13,6 @@ export function VQF_902_4(i18n: InternationalizationAPI): DoubleColumnForm { title: i18n.str`This form was completed by`, fields: [ { - id: "OFFICER_FULL_NAME" satisfies keyof TalerAmlAttributes.VQF_902_1 as UIHandlerId, - label: i18n.str`Full name`, - // gana_type: "String", - type: "text", - required: true, - disabled: true, - }, - { id: "FORM_FILLING_DATE" satisfies keyof TalerAmlAttributes.VQF_902_1 as UIHandlerId, label: i18n.str`Date`, // gana_type: "AbsoluteDateTime", diff --git a/packages/kyc-ui/src/forms/VQF_902_5.ts b/packages/kyc-ui/src/forms/VQF_902_5.ts @@ -3,7 +3,7 @@ import { DoubleColumnForm, UIHandlerId, } from "@gnu-taler/web-util/browser"; -import { TalerAmlAttributes } from "./taler_aml_attributes.js"; +import { TalerAmlAttributes } from "./taler_form_attributes.js"; export function VQF_902_5(i18n: InternationalizationAPI): DoubleColumnForm { return { @@ -13,14 +13,6 @@ export function VQF_902_5(i18n: InternationalizationAPI): DoubleColumnForm { title: i18n.str`This form was completed by`, fields: [ { - id: "OFFICER_FULL_NAME" satisfies keyof TalerAmlAttributes.VQF_902_5 as UIHandlerId, - label: i18n.str`Full name`, - // gana_type: "String", - type: "text", - required: true, - disabled: true, - }, - { id: "FORM_FILLING_DATE" satisfies keyof TalerAmlAttributes.VQF_902_5 as UIHandlerId, label: i18n.str`Date`, // gana_type: "AbsoluteDateTime", diff --git a/packages/kyc-ui/src/forms/VQF_902_9.ts b/packages/kyc-ui/src/forms/VQF_902_9.ts @@ -3,7 +3,7 @@ import { DoubleColumnForm, UIHandlerId, } from "@gnu-taler/web-util/browser"; -import { TalerAmlAttributes } from "./taler_aml_attributes.js"; +import { TalerAmlAttributes } from "./taler_form_attributes.js"; import { countryList } from "./VQF_902_1.js"; export function VQF_902_9(i18n: InternationalizationAPI): DoubleColumnForm { @@ -14,14 +14,6 @@ export function VQF_902_9(i18n: InternationalizationAPI): DoubleColumnForm { title: i18n.str`This form was completed by`, fields: [ { - id: "OFFICER_FULL_NAME" satisfies keyof TalerAmlAttributes.VQF_902_9 as UIHandlerId, - label: i18n.str`Full name`, - // gana_type: "String", - type: "text", - required: true, - disabled: true, - }, - { id: "FORM_FILLING_DATE" satisfies keyof TalerAmlAttributes.VQF_902_9 as UIHandlerId, label: i18n.str`Date`, // gana_type: "AbsoluteDateTime", diff --git a/packages/kyc-ui/src/forms/taler_aml_attributes.ts b/packages/kyc-ui/src/forms/taler_aml_attributes.ts @@ -1,1192 +0,0 @@ -/* - This file is part of GNU Taler - Copyright (C) 2012-2025 Taler Systems SA - - GNU Taler is free software: you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published - by the Free Software Foundation, either version 3 of the License, - or (at your option) any later version. - - GNU Taler is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program. If not, see <http://www.gnu.org/licenses/>. - - SPDX-License-Identifier: LGPL3.0-or-later - - Note: the LGPL does not apply to all components of GNU Taler, - but it does apply to this file. - */ - -type AbsoluteDateTime = string; -type AbsoluteDate = string; -type CountryCode = string; -type Amount = string; -type ResidentialAddress = string; -type BusinessAddress = string; -type Paragraph = string; -type LangCode = string; -type Email = string; -type Phone = string; -type Form<T> = T; - -export namespace TalerAmlAttributes { - export interface VQF_902_1 { - /** - * - * Required: false - */ - ACCEPTANCE_CORRESPONDENCE_SERVICE_TYPE?: - | "TO_THE_CUSTOMER" - | "HOLD_AT_BANK" - | "TO_THE_MEMBER" - | "TO_A_THIRD_PARTY" - | String; - /** - * Conclusion of the conract - * Required: false - */ - ACCEPTANCE_DATE?: AbsoluteDate; - /** - * - * Required: false - */ - ACCEPTANCE_FURTHER_INFO?: String; - /** - * - * Required: false - */ - ACCEPTANCE_LANGUAGE?: LangCode; - /** - * - * Required: false - */ - ACCEPTANCE_METHOD?: - | "FACE_TO_FACE" - | "AUTHENTICATED_COPY" - | "RESIDENTIAL_ADDRESS_VALIDATED"; - /** - * If the customer is a legal entity. - * Required: true - */ - CUSTOMER_ENTITY_ADDRESS: BusinessAddress; - /** - * If the customer is a legal entity. - * Required: true - */ - CUSTOMER_ENTITY_COMPANY_NAME: String; - /** - * If the customer is a legal entity. - * Required: false - */ - CUSTOMER_ENTITY_CONTACT_PERSON_NAME?: String; - /** - * If the customer is a legal entity. - * Required: false - */ - CUSTOMER_ENTITY_EMAIL?: Email; - /** - * Not older than 12 month - * Required: true - */ - CUSTOMER_ENTITY_ID: String; - /** - * - * Required: true - */ - CUSTOMER_ENTITY_ID_COPY: File; - /** - * If the customer is a legal entity. - * Required: false - */ - CUSTOMER_ENTITY_PHONE?: Phone; - /** - * Customer system ID required to correlate different AML forms. - * Required: true - */ - CUSTOMER_ID: String; - /** - * If the customer is a natural person. - * Required: true - */ - CUSTOMER_NATURAL_BIRTHDATE: AbsoluteDate; - /** - * If the customer is a natural person. - * Required: false - */ - CUSTOMER_NATURAL_COMPANY_ID?: String; - /** - * If the customer is a natural person. - * Required: false - */ - CUSTOMER_NATURAL_COMPANY_ID_COPY?: File; - /** - * If the customer is a natural person. - * Required: false - */ - CUSTOMER_NATURAL_COMPANY_NAME?: String; - /** - * If the customer is a natural person. - * Required: false - */ - CUSTOMER_NATURAL_EMAIL?: Email; - /** - * - * Required: true - */ - CUSTOMER_NATURAL_FULL_NAME: String; - /** - * If the customer is a natural person. - * Required: true - */ - CUSTOMER_NATURAL_NATIONALITY: CountryCode; - /** - * If the customer is a natural person. - * Required: true - */ - CUSTOMER_NATURAL_NATIONAL_ID: String; - /** - * If the customer is a natural person. - * Required: true - */ - CUSTOMER_NATURAL_NATIONAL_ID_COPY: File; - /** - * If the customer is a natural person. - * Required: false - */ - CUSTOMER_NATURAL_PHONE?: Phone; - /** - * If the customer is a natural person. - * Required: false - */ - CUSTOMER_NATURAL_REGISTERED_OFFICE?: String; - /** - * If the customer is a natural person. - * Required: true - */ - CUSTOMER_NATURAL_RESIDENTIAL: ResidentialAddress; - /** - * Establishment of the beneficial owner of the assets and/or contrilling person - * Required: true - */ - CUSTOMER_TYPE: - | "NATURAL" - | "LEGAL_ENTITY" - | "FOUNDATION" - | "TRUST" - | "LIFE_INSURANCE" - | "OTHER"; - /** - * Verification whether the customer, beneficial owners of the assets, controlling persons, authorised representatives or other involved persons are listed on an embargo-/terrorism list (date of verification/result) - * Required: false - */ - EMBARGO_TERRORISM_INFO?: Paragraph; - /** - * - * Required: false - */ - ENCLOSURE_BENEFICIAL_OWNER?: Boolean; - /** - * - * Required: false - */ - ENCLOSURE_CUSTOMER_DOCUMENTS?: Boolean; - /** - * - * Required: false - */ - ENCLOSURE_CUSTOMER_PROFILE?: Boolean; - /** - * - * Required: false - */ - ENCLOSURE_IDENTIFICATION_DOCUMENTS?: Boolean; - /** - * - * Required: false - */ - ENCLOSURE_RISK_PROFILE?: Boolean; - /** - * When the form was completed. - * Required: true - */ - FORM_FILLING_DATE: AbsoluteDateTime; - /** - * List of founder with the fields below. - * Required: true - */ - FOUNDER_LIST: Form<VQF_902_1_founder>[]; - /** - * Full legal name of the officer filling the form. - * Required: true - */ - OFFICER_FULL_NAME: String; - /** - * Purpose of service requested - * Required: false - */ - RELATIONSHIP_PURPOSE?: Paragraph; - /** - * - * Required: false - */ - RELATIONSHIP_TYPE?: "MONEY_EXCHANGE" | "MONEY_ASSET_TRANSFER" | String; - } - export interface VQF_902_11 { - /** - * - * Required: true - */ - CONTROLLING_ENTITY_CONTRACTING_PARTNER: Paragraph; - /** - * - * Required: true - */ - CONTROLLING_ENTITY_DOMICILE: ResidentialAddress; - /** - * - * Required: true - */ - CONTROLLING_ENTITY_FULL_NAME: String; - /** - * - * Required: true - */ - CONTROLLING_ENTITY_LEVEL: "25_MORE_RIGHTS" | "OTHER_WAY" | "DIRECTOR"; - /** - * Is a third person the beneficial owner of the assets? - * Required: true - */ - CONTROLLING_ENTITY_THIRD_PERSON: Boolean; - /** - * Customer system ID required to correlate different AML forms. - * Required: true - */ - CUSTOMER_ID: String; - /** - * When the form was completed. - * Required: true - */ - FORM_FILLING_DATE: AbsoluteDateTime; - /** - * Full legal name of the officer filling the form. - * Required: true - */ - OFFICER_FULL_NAME: String; - /** - * - * Required: true - */ - SIGNATURE: String; - /** - * Contracing partner signature, - * Required: true - */ - SIGN_DATE: AbsoluteDateTime; - } - export interface VQF_902_12 { - /** - * Customer system ID required to correlate different AML forms. - * Required: true - */ - CUSTOMER_ID: String; - /** - * When the form was completed. - * Required: true - */ - FORM_FILLING_DATE: AbsoluteDateTime; - /** - * - * Required: false - */ - FOUNDATION_BENEFICIARY_ADDITION?: Paragraph; - /** - * - * Required: true - */ - FOUNDATION_BENEFICIARY_LIST: Form<VQF_902_12_beneficiary>[]; - /** - * - * Required: true - */ - FOUNDATION_CONTRACTING_PARTNER: Paragraph; - /** - * - * Required: true - */ - FOUNDATION_DISCRETIONARY: Boolean; - /** - * - * Required: true - */ - FOUNDATION_FOUNDER_LIST: Form<VQF_902_12_founder>[]; - /** - * - * Required: true - */ - FOUNDATION_KNOWN_AS: String; - /** - * - * Required: true - */ - FOUNDATION_NAME: String; - /** - * - * Required: true - */ - FOUNDATION_PRE_LIST: Form<VQF_902_12_pre>[]; - /** - * - * Required: true - */ - FOUNDATION_REPRESENTATIVE_LIST: Form<VQF_902_12_representative>[]; - /** - * - * Required: true - */ - FOUNDATION_REVOCABLE: Boolean; - /** - * Full legal name of the officer filling the form. - * Required: true - */ - OFFICER_FULL_NAME: String; - /** - * - * Required: true - */ - SIGNATURE: String; - /** - * Contracing partner signature, - * Required: true - */ - SIGN_DATE: AbsoluteDateTime; - } - export interface VQF_902_12_beneficiary { - /** - * - * Required: false - */ - FOUNDATION_BENEFICIARY_BIRTHDATE?: AbsoluteDate; - /** - * - * Required: false - */ - FOUNDATION_BENEFICIARY_COUNTRY?: CountryCode; - /** - * - * Required: false - */ - FOUNDATION_BENEFICIARY_DOMICILE?: ResidentialAddress; - /** - * - * Required: false - */ - FOUNDATION_BENEFICIARY_FULL_NAME?: String; - /** - * - * Required: false - */ - FOUNDATION_BENEFICIARY_NATIONALITY?: CountryCode; - /** - * - * Required: false - */ - FOUNDATION_BENEFICIARY_RIGHT_TO_CLAIM?: Boolean; - } - export interface VQF_902_12_founder { - /** - * - * Required: true - */ - FOUNDATION_FOUNDER_BIRTHDATE: AbsoluteDate; - /** - * - * Required: true - */ - FOUNDATION_FOUNDER_DEATHDATE: AbsoluteDate; - /** - * - * Required: true - */ - FOUNDATION_FOUNDER_DOMICILE: ResidentialAddress; - /** - * - * Required: true - */ - FOUNDATION_FOUNDER_FULL_NAME: String; - /** - * - * Required: true - */ - FOUNDATION_FOUNDER_NATIONALITY: CountryCode; - /** - * - * Required: true - */ - FOUNDATION_FOUNDER_RIGHT_TO_REVOKE: Boolean; - } - export interface VQF_902_12_pre { - /** - * - * Required: true - */ - FOUNDATION_PRE_BIRTHDATE: AbsoluteDate; - /** - * - * Required: true - */ - FOUNDATION_PRE_COUNTRY: CountryCode; - /** - * - * Required: true - */ - FOUNDATION_PRE_DEATHDATE: AbsoluteDate; - /** - * - * Required: true - */ - FOUNDATION_PRE_DOMICILE: ResidentialAddress; - /** - * - * Required: true - */ - FOUNDATION_PRE_FULL_NAME: String; - /** - * - * Required: true - */ - FOUNDATION_PRE_NATIONALITY: CountryCode; - } - export interface VQF_902_12_representative { - /** - * - * Required: true - */ - FOUNDATION_REPRESENTATIVE_BIRTHDATE: AbsoluteDate; - /** - * - * Required: true - */ - FOUNDATION_REPRESENTATIVE_COUNTRY: CountryCode; - /** - * - * Required: true - */ - FOUNDATION_REPRESENTATIVE_DOMICILE: ResidentialAddress; - /** - * - * Required: true - */ - FOUNDATION_REPRESENTATIVE_FULL_NAME: String; - /** - * - * Required: true - */ - FOUNDATION_REPRESENTATIVE_NATIONALITY: CountryCode; - /** - * - * Required: true - */ - FOUNDATION_REPRESENTATIVE_RIGHT_TO_REVOKE: Boolean; - } - export interface VQF_902_13 { - /** - * Customer system ID required to correlate different AML forms. - * Required: true - */ - CUSTOMER_ID: String; - /** - * When the form was completed. - * Required: true - */ - FORM_FILLING_DATE: AbsoluteDateTime; - /** - * Full legal name of the officer filling the form. - * Required: true - */ - OFFICER_FULL_NAME: String; - /** - * - * Required: true - */ - SIGNATURE: String; - /** - * Contracing partner signature, - * Required: true - */ - SIGN_DATE: AbsoluteDateTime; - /** - * - * Required: true - */ - TRUST_BENEFICIARY_LIST: Form<VQF_902_13_beneficiary>[]; - /** - * - * Required: true - */ - TRUST_CONTRACTING_PARTNER: Paragraph; - /** - * - * Required: true - */ - TRUST_DISCRETIONARY: Boolean; - /** - * - * Required: true - */ - TRUST_KNOWN_AS: String; - /** - * - * Required: true - */ - TRUST_NAME: String; - /** - * - * Required: true - */ - TRUST_PRE_LIST: Form<VQF_902_13_pre>[]; - /** - * - * Required: true - */ - TRUST_PROTECTOR_LIST: Form<VQF_902_13_protector>[]; - /** - * - * Required: true - */ - TRUST_REVOCABLE: Boolean; - /** - * - * Required: true - */ - TRUST_SETTLOR_LIST: Form<VQF_902_13_settlor>[]; - } - export interface VQF_902_13_beneficiary { - /** - * - * Required: false - */ - TRUST_BENEFICIARY_ADDITION?: Paragraph; - /** - * - * Required: false - */ - TRUST_BENEFICIARY_BIRTHDATE?: AbsoluteDate; - /** - * - * Required: false - */ - TRUST_BENEFICIARY_COUNTRY?: CountryCode; - /** - * - * Required: false - */ - TRUST_BENEFICIARY_DOMICILE?: ResidentialAddress; - /** - * - * Required: false - */ - TRUST_BENEFICIARY_FULL_NAME?: String; - /** - * - * Required: false - */ - TRUST_BENEFICIARY_NATIONALITY?: CountryCode; - /** - * - * Required: false - */ - TRUST_BENEFICIARY_RIGHT_TO_CLAIM?: Boolean; - } - export interface VQF_902_13_further { - /** - * - * Required: false - */ - TRUST_FURTHER_BIRTHDATE?: AbsoluteDate; - /** - * - * Required: false - */ - TRUST_FURTHER_COUNTRY?: CountryCode; - /** - * - * Required: false - */ - TRUST_FURTHER_DOMICILE?: ResidentialAddress; - /** - * - * Required: false - */ - TRUST_FURTHER_FULL_NAME?: String; - /** - * - * Required: true - */ - TRUST_FURTHER_LIST: Form<VQF_902_13_further>[]; - /** - * - * Required: false - */ - TRUST_FURTHER_NATIONALITY?: CountryCode; - /** - * - * Required: false - */ - TRUST_FURTHER_RIGHT_TO_REVOKE?: Boolean; - } - export interface VQF_902_13_pre { - /** - * - * Required: false - */ - TRUST_PRE_BIRTHDATE?: AbsoluteDate; - /** - * - * Required: false - */ - TRUST_PRE_COUNTRY?: CountryCode; - /** - * - * Required: false - */ - TRUST_PRE_DEATHDATE?: AbsoluteDate; - /** - * - * Required: false - */ - TRUST_PRE_DOMICILE?: ResidentialAddress; - /** - * - * Required: false - */ - TRUST_PRE_FULL_NAME?: String; - /** - * - * Required: false - */ - TRUST_PRE_NATIONALITY?: CountryCode; - } - export interface VQF_902_13_protector { - /** - * - * Required: false - */ - TRUST_PROTECTOR_BIRTHDATE?: AbsoluteDate; - /** - * - * Required: false - */ - TRUST_PROTECTOR_COUNTRY?: CountryCode; - /** - * - * Required: false - */ - TRUST_PROTECTOR_DOMICILE?: ResidentialAddress; - /** - * - * Required: false - */ - TRUST_PROTECTOR_FULL_NAME?: String; - /** - * - * Required: false - */ - TRUST_PROTECTOR_NATIONALITY?: CountryCode; - /** - * - * Required: false - */ - TRUST_PROTECTOR_RIGHT_TO_REVOKE?: Boolean; - } - export interface VQF_902_13_settlor { - /** - * - * Required: true - */ - TRUST_SETTLOR_BIRTHDATE: AbsoluteDate; - /** - * - * Required: true - */ - TRUST_SETTLOR_DEATHDATE: AbsoluteDate; - /** - * - * Required: true - */ - TRUST_SETTLOR_DOMICILE: ResidentialAddress; - /** - * - * Required: true - */ - TRUST_SETTLOR_FULL_NAME: String; - /** - * - * Required: true - */ - TRUST_SETTLOR_NATIONALITY: CountryCode; - /** - * - * Required: true - */ - TRUST_SETTLOR_RIGHT_TO_REVOKE: Boolean; - } - export interface VQF_902_14 { - /** - * Customer system ID required to correlate different AML forms. - * Required: true - */ - CUSTOMER_ID: String; - /** - * When the form was completed. - * Required: true - */ - FORM_FILLING_DATE: AbsoluteDateTime; - /** - * Gathered or consulted documents - * Required: true - */ - INCRISK_DOCUMENTS: File[]; - /** - * - * Required: true - */ - INCRISK_MEANS: "GATHERING" | "CONSULTATION" | "ENQUIRIES" | String; - /** - * Description of the circumstances/transactions, which triggered the special clarifications - * Required: true - */ - INCRISK_REASON: String; - /** - * - * Required: true - */ - INCRISK_RESULT: - | "NO_SUSPICION" - | "REASONABLE_SUSPICION" - | "SIMPLE_SUSPICION"; - /** - * - * Required: true - */ - INCRISK_SUMMARY: Paragraph; - /** - * Full legal name of the officer filling the form. - * Required: true - */ - OFFICER_FULL_NAME: String; - } - export interface VQF_902_15 { - /** - * Customer system ID required to correlate different AML forms. - * Required: true - */ - CUSTOMER_ID: String; - /** - * When the form was completed. - * Required: true - */ - FORM_FILLING_DATE: AbsoluteDateTime; - /** - * - * Required: true - */ - INSURANCE_CONTRACTING_PARTNER: Paragraph; - /** - * - * Required: true - */ - INSURANCE_HOLDER_BIRTHDATE: AbsoluteDate; - /** - * - * Required: true - */ - INSURANCE_HOLDER_DOMICILE: ResidentialAddress; - /** - * The beneficial owners of the assets involved in the business relationship. - * Required: false - */ - INSURANCE_HOLDER_FULL_NAME?: String; - /** - * - * Required: true - */ - INSURANCE_HOLDER_NATIONALITY: CountryCode; - /** - * - * Required: true - */ - INSURANCE_PAYER_BIRTHDATE: AbsoluteDate; - /** - * - * Required: true - */ - INSURANCE_PAYER_DOMICILE: ResidentialAddress; - /** - * The beneficial owners of the assets involved in the business relationship. - * Required: false - */ - INSURANCE_PAYER_FULL_NAME?: String; - /** - * - * Required: true - */ - INSURANCE_PAYER_NATIONALITY: CountryCode; - /** - * Name or number of the contractual relationship between the contracting party and the financial intermediary - * Required: true - */ - INSURANCE_RELATIONSHIP_NAME: String; - /** - * - * Required: true - */ - INSURANCE_RELATIONSHIP_POLICY: String; - /** - * Full legal name of the officer filling the form. - * Required: true - */ - OFFICER_FULL_NAME: String; - /** - * - * Required: true - */ - SIGNATURE: String; - /** - * Contracing partner signature, - * Required: true - */ - SIGN_DATE: AbsoluteDateTime; - } - export interface VQF_902_1_founder { - /** - * Signatory of representation - * Required: true - */ - FOUNDER_AUTHORIZATION_TYPE: String; - /** - * - * Required: true - */ - FOUNDER_BIRTHDATE: AbsoluteDate; - /** - * - * Required: true - */ - FOUNDER_FULL_NAME: String; - /** - * - * Required: true - */ - FOUNDER_NATIONALITY: CountryCode; - /** - * - * Required: true - */ - FOUNDER_NATIONAL_COPY: File; - /** - * - * Required: true - */ - FOUNDER_NATIONAL_ID: String; - /** - * - * Required: true - */ - FOUNDER_POWER_OF_ATTORNEY: "CR" | "MANDATE" | "OTHER" | String; - /** - * - * Required: true - */ - FOUNDER_RESIDENTIAL_ADDRESS: ResidentialAddress; - } - export interface VQF_902_4 { - /** - * Based on 902.4.1 country list - * Required: false - */ - CONTACT_RISK_LEVEL?: "LOW" | "MEDIUM" | "HIGH"; - /** - * Based on 902.4.1 country list - * Required: false - */ - COUNTRY_RISK_LEVEL?: "LOW" | "MEDIUM" | "HIGH"; - /** - * - * Required: false - */ - COUNTRY_RISK_TYPE?: - | "NATIONALITY_CUSTOMER" - | "NATIONALITY_OWNER" - | "DOMICILE_CUSTOMER" - | "DOMICILE_OWNER" - | "DOMICILE_CONTROLLING" - | "BUSINESS_ACTIVITY" - | "PAYMENTS"; - /** - * Customer system ID required to correlate different AML forms. - * Required: true - */ - CUSTOMER_ID: String; - /** - * Criteria description - * Required: false - */ - EXTRA_CRITERA_1_RISK_DEFINITION?: String; - /** - * Based on 902.4.1 country list - * Required: false - */ - EXTRA_CRITERA_1_RISK_LEVEL?: "LOW" | "MEDIUM" | "HIGH"; - /** - * Criteria description - * Required: false - */ - EXTRA_CRITERA_2_RISK_DEFINITION?: String; - /** - * Based on 902.4.1 country list - * Required: false - */ - EXTRA_CRITERA_2_RISK_LEVEL?: "LOW" | "MEDIUM" | "HIGH"; - /** - * When the form was completed. - * Required: true - */ - FORM_FILLING_DATE: AbsoluteDateTime; - /** - * The decision of the Senior executive body on the acceptance of a business relationsip was obtained on ___ - * Required: false - */ - HIGH_RISK_ACCEPTANCE_DATE?: AbsoluteDateTime; - /** - * True if the person is in a country for which FATF requires incresed dilegence. - * Required: true - */ - HIGH_RISK_COUNTRY: Boolean; - /** - * - * Required: false - */ - INDUSTRY_RISK_LEVEL?: - | "TRANSPARENT" - | "HIGH_CASH_TRANSACTION" - | "NOT_WELL_KNOWN" - | "HIGH_RISK_TRADE" - | "UNKNOWN_INDUSTRY"; - /** - * - * Required: false - */ - INDUSTRY_RISK_TYPE?: "CUSTOMER" | "OWNER"; - /** - * Full legal name of the officer filling the form. - * Required: true - */ - OFFICER_FULL_NAME: String; - /** - * The decision of the Senior executive body on the acceptance of a business relationsip was obtained on ___ - * Required: false - */ - PEP_ACCEPTANCE_DATE?: AbsoluteDateTime; - /** - * True if the person is a PEP defined by 'Art 7 lit. g numeral 2' - * Required: true - */ - PEP_DOMESTIC: Boolean; - /** - * True if the person is a PEP defined by 'Art 7 lit. g numeral 1' - * Required: true - */ - PEP_FOREIGN: Boolean; - /** - * True if the person is a PEP defined by 'Art 7 lit. g numeral 3' - * Required: true - */ - PEP_INTERNATIONAL_ORGANIZATION: Boolean; - /** - * - * Required: false - */ - PRODUCT_RISK_LEVEL?: - | "EASY" - | "SOPHISTICATED" - | "OFFSHORE" - | "COMPLEX_STRUCTURE" - | "LARGE_NUMBER_OF_ACCOUNTS" - | "COMPLEX_SERVICE" - | "FREQ_TRANS_WITH_HIGH_RISK"; - /** - * The decision of the Senior executive body on the acceptance of a business relationsip was obtained on ___ - * Required: false - */ - RISK_CLASIFICATION_ACCEPTANCE_DATE?: AbsoluteDateTime; - /** - * - * Required: false - */ - RISK_CLASIFICATION_LEVEL?: "WITH" | "WITHOUT"; - } - export interface VQF_902_5 { - /** - * Information on the planned development of the business relationship and the assets. - * Required: false - */ - BIZREL_DEVELOPMENT?: String; - /** - * In the case of cash or money and asset transfer transacction with regular customer - * Required: false - */ - BIZREL_FINANCIAL_BENEFICIARIES_ADDRESS?: BusinessAddress; - /** - * In the case of cash or money and asset transfer transacction with regular customer - * Required: false - */ - BIZREL_FINANCIAL_BENEFICIARIES_BANK_ACCOUNT?: String; - /** - * In the case of cash or money and asset transfer transacction with regular customer - * Required: false - */ - BIZREL_FINANCIAL_BENEFICIARIES_FULL_NAME?: String; - /** - * In the case of cash or money and asset transfer transacction with regular customer - * Required: false - */ - BIZREL_FINANCIAL_VOLUME?: String; - /** - * Other relevant information. - * Required: false - */ - BIZREL_FURTHER_INFO?: String; - /** - * Income and assets, liabilities (estimated) - * Required: false - */ - BIZREL_INCOME?: String; - /** - * Nature, amount and currency of the involved assets. - * Required: true - */ - BIZREL_ORIGIN_AMOUNT: Amount; - /** - * - * Required: true - */ - BIZREL_ORIGIN_CATEGORY: - | "SAVINGS" - | "OWN_BUSINESS" - | "INHERITANCE" - | "OTHER"; - /** - * - * Required: false - */ - BIZREL_ORIGIN_CATEGORY_OTHER?: String; - /** - * Define the category if 'other'. - * Required: false - */ - BIZREL_ORIGIN_DETAIL?: Paragraph; - /** - * Profession, business activities, etc. (former, current, potentially planned) - * Required: false - */ - BIZREL_PROFESSION?: String; - /** - * Purpose of the business relationship. - * Required: false - */ - BIZREL_PURPOSE?: String; - /** - * Relation to other AMLA-files. - * Required: false - */ - BIZREL_THIRDPARTY_AMLA_FILES?: String; - /** - * Introducer / agents / references. - * Required: false - */ - BIZREL_THIRDPARTY_REFERENCES?: String; - /** - * Relation of the customer to the beneficial owner, controlling persons, authorised signatories and other persons involved in the business relationship. - * Required: false - */ - BIZREL_THIRDPARTY_RELATIONSHIP?: String; - /** - * Customer system ID required to correlate different AML forms. - * Required: true - */ - CUSTOMER_ID: String; - /** - * When the form was completed. - * Required: true - */ - FORM_FILLING_DATE: AbsoluteDateTime; - /** - * Full legal name of the officer filling the form. - * Required: true - */ - OFFICER_FULL_NAME: String; - } - export interface VQF_902_9 { - /** - * Customer system ID required to correlate different AML forms. - * Required: true - */ - CUSTOMER_ID: String; - /** - * When the form was completed. - * Required: true - */ - FORM_FILLING_DATE: AbsoluteDateTime; - /** - * - * Required: true - */ - IDENTITY_CONTRACTING_PARTNER: Paragraph; - /** - * The beneficial owners of the assets involved in the business relationship. - * Required: false - */ - IDENTITY_LIST?: Form<VQF_902_9_identity>[]; - /** - * Full legal name of the officer filling the form. - * Required: true - */ - OFFICER_FULL_NAME: String; - /** - * - * Required: true - */ - SIGNATURE: String; - /** - * Contracing partner signature, - * Required: true - */ - SIGN_DATE: AbsoluteDateTime; - } - export interface VQF_902_9_identity { - /** - * - * Required: true - */ - IDENTITY_BIRTHDATE: AbsoluteDate; - /** - * - * Required: true - */ - IDENTITY_DOMICILE: ResidentialAddress; - /** - * - * Required: true - */ - IDENTITY_FULL_NAME: String; - /** - * - * Required: true - */ - IDENTITY_NATIONALITY: CountryCode; - } -} diff --git a/packages/kyc-ui/src/forms/taler_form_attributes.ts b/packages/kyc-ui/src/forms/taler_form_attributes.ts @@ -0,0 +1,1285 @@ +/* + This file is part of GNU Taler + Copyright (C) 2012-2025 Taler Systems SA + + GNU Taler is free software: you can redistribute it and/or modify it + under the terms of the GNU Lesser General Public License as published + by the Free Software Foundation, either version 3 of the License, + or (at your option) any later version. + + GNU Taler is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. + + SPDX-License-Identifier: LGPL3.0-or-later + + Note: the LGPL does not apply to all components of GNU Taler, + but it does apply to this file. + */ + +type AbsoluteDateTime = string; +type AbsoluteDate = string; +type CountryCode = string; +type Amount = string; +type ResidentialAddress = string; +type BusinessAddress = string; +type Paragraph = string; +type LangCode = string; +type Email = string; +type Phone = string; +type Hostname = string; +type HttpHostnamePath = string; +type Form<T> = T; + +export namespace TalerAmlAttributes { + export interface VQF_902_1 { + /** + * + * Required: false + */ + ACCEPTANCE_CORRESPONDENCE_SERVICE_TYPE?: 'TO_THE_CUSTOMER' | 'HOLD_AT_BANK' | 'TO_THE_MEMBER' | 'TO_A_THIRD_PARTY' | String; + /** + * Conclusion of the conract + * Required: false + */ + ACCEPTANCE_DATE?: AbsoluteDate; + /** + * + * Required: false + */ + ACCEPTANCE_FURTHER_INFO?: String; + /** + * + * Required: false + */ + ACCEPTANCE_LANGUAGE?: LangCode; + /** + * + * Required: false + */ + ACCEPTANCE_METHOD?: 'FACE_TO_FACE' | 'AUTHENTICATED_COPY' | 'RESIDENTIAL_ADDRESS_VALIDATED'; + /** + * If the customer is a legal entity. + * Required: true + */ + CUSTOMER_ENTITY_ADDRESS: BusinessAddress; + /** + * If the customer is a legal entity. + * Required: true + */ + CUSTOMER_ENTITY_COMPANY_NAME: String; + /** + * If the customer is a legal entity. + * Required: false + */ + CUSTOMER_ENTITY_CONTACT_PERSON_NAME?: String; + /** + * If the customer is a legal entity. + * Required: false + */ + CUSTOMER_ENTITY_EMAIL?: Email; + /** + * Not older than 12 month + * Required: true + */ + CUSTOMER_ENTITY_ID: String; + /** + * + * Required: true + */ + CUSTOMER_ENTITY_ID_COPY: File; + /** + * If the customer is a legal entity. + * Required: false + */ + CUSTOMER_ENTITY_PHONE?: Phone; + /** + * Customer system ID required to correlate different AML forms. + * Required: true + */ + CUSTOMER_ID: String; + /** + * If the customer is a natural person. + * Required: true + */ + CUSTOMER_NATURAL_BIRTHDATE: AbsoluteDate; + /** + * If the customer is a natural person. + * Required: false + */ + CUSTOMER_NATURAL_COMPANY_ID?: String; + /** + * If the customer is a natural person. + * Required: false + */ + CUSTOMER_NATURAL_COMPANY_ID_COPY?: File; + /** + * If the customer is a natural person. + * Required: false + */ + CUSTOMER_NATURAL_COMPANY_NAME?: String; + /** + * If the customer is a natural person. + * Required: false + */ + CUSTOMER_NATURAL_EMAIL?: Email; + /** + * + * Required: true + */ + CUSTOMER_NATURAL_FULL_NAME: String; + /** + * If the customer is a natural person. + * Required: true + */ + CUSTOMER_NATURAL_NATIONALITY: CountryCode; + /** + * If the customer is a natural person. + * Required: true + */ + CUSTOMER_NATURAL_NATIONAL_ID: String; + /** + * If the customer is a natural person. + * Required: true + */ + CUSTOMER_NATURAL_NATIONAL_ID_COPY: File; + /** + * If the customer is a natural person. + * Required: false + */ + CUSTOMER_NATURAL_PHONE?: Phone; + /** + * If the customer is a natural person. + * Required: false + */ + CUSTOMER_NATURAL_REGISTERED_OFFICE?: String; + /** + * If the customer is a natural person. + * Required: true + */ + CUSTOMER_NATURAL_RESIDENTIAL: ResidentialAddress; + /** + * Establishment of the beneficial owner of the assets and/or contrilling person + * Required: true + */ + CUSTOMER_TYPE: 'NATURAL' | 'LEGAL_ENTITY' | 'FOUNDATION' | 'TRUST' | 'LIFE_INSURANCE' | 'OTHER'; + /** + * Verification whether the customer, beneficial owners of the assets, controlling persons, authorised representatives or other involved persons are listed on an embargo-/terrorism list (date of verification/result) + * Required: false + */ + EMBARGO_TERRORISM_INFO?: Paragraph; + /** + * + * Required: false + */ + ENCLOSURE_BENEFICIAL_OWNER?: Boolean; + /** + * + * Required: false + */ + ENCLOSURE_CUSTOMER_DOCUMENTS?: Boolean; + /** + * + * Required: false + */ + ENCLOSURE_CUSTOMER_PROFILE?: Boolean; + /** + * + * Required: false + */ + ENCLOSURE_IDENTIFICATION_DOCUMENTS?: Boolean; + /** + * + * Required: false + */ + ENCLOSURE_RISK_PROFILE?: Boolean; + /** + * When the form was completed. + * Required: true + */ + FORM_FILLING_DATE: AbsoluteDateTime; + /** + * List of founder with the fields below. + * Required: true + */ + FOUNDER_LIST: Form<VQF_902_1_founder>[]; + /** + * Purpose of service requested + * Required: false + */ + RELATIONSHIP_PURPOSE?: Paragraph; + /** + * + * Required: false + */ + RELATIONSHIP_TYPE?: 'MONEY_EXCHANGE' | 'MONEY_ASSET_TRANSFER' | String; + } + export interface VQF_902_11 { + /** + * + * Required: true + */ + CONTROLLING_ENTITY_CONTRACTING_PARTNER: Paragraph; + /** + * + * Required: true + */ + CONTROLLING_ENTITY_DOMICILE: ResidentialAddress; + /** + * + * Required: true + */ + CONTROLLING_ENTITY_FULL_NAME: String; + /** + * + * Required: true + */ + CONTROLLING_ENTITY_LEVEL: '25_MORE_RIGHTS' | 'OTHER_WAY' | 'DIRECTOR'; + /** + * Is a third person the beneficial owner of the assets? + * Required: true + */ + CONTROLLING_ENTITY_THIRD_PERSON: Boolean; + /** + * Customer system ID required to correlate different AML forms. + * Required: true + */ + CUSTOMER_ID: String; + /** + * When the form was completed. + * Required: true + */ + FORM_FILLING_DATE: AbsoluteDateTime; + /** + * + * Required: true + */ + SIGNATURE: String; + /** + * Contracing partner signature, + * Required: true + */ + SIGN_DATE: AbsoluteDateTime; + } + export interface VQF_902_12 { + /** + * Customer system ID required to correlate different AML forms. + * Required: true + */ + CUSTOMER_ID: String; + /** + * When the form was completed. + * Required: true + */ + FORM_FILLING_DATE: AbsoluteDateTime; + /** + * + * Required: false + */ + FOUNDATION_BENEFICIARY_ADDITION?: Paragraph; + /** + * + * Required: true + */ + FOUNDATION_BENEFICIARY_LIST: Form<VQF_902_12_beneficiary>[]; + /** + * + * Required: true + */ + FOUNDATION_CONTRACTING_PARTNER: Paragraph; + /** + * + * Required: true + */ + FOUNDATION_DISCRETIONARY: Boolean; + /** + * + * Required: true + */ + FOUNDATION_FOUNDER_LIST: Form<VQF_902_12_founder>[]; + /** + * + * Required: true + */ + FOUNDATION_KNOWN_AS: String; + /** + * + * Required: true + */ + FOUNDATION_NAME: String; + /** + * + * Required: true + */ + FOUNDATION_PRE_LIST: Form<VQF_902_12_pre>[]; + /** + * + * Required: true + */ + FOUNDATION_REPRESENTATIVE_LIST: Form<VQF_902_12_representative>[]; + /** + * + * Required: true + */ + FOUNDATION_REVOCABLE: Boolean; + /** + * + * Required: true + */ + SIGNATURE: String; + /** + * Contracing partner signature, + * Required: true + */ + SIGN_DATE: AbsoluteDateTime; + } + export interface VQF_902_12_beneficiary { + /** + * + * Required: false + */ + FOUNDATION_BENEFICIARY_BIRTHDATE?: AbsoluteDate; + /** + * + * Required: false + */ + FOUNDATION_BENEFICIARY_COUNTRY?: CountryCode; + /** + * + * Required: false + */ + FOUNDATION_BENEFICIARY_DOMICILE?: ResidentialAddress; + /** + * + * Required: false + */ + FOUNDATION_BENEFICIARY_FULL_NAME?: String; + /** + * + * Required: false + */ + FOUNDATION_BENEFICIARY_NATIONALITY?: CountryCode; + /** + * + * Required: false + */ + FOUNDATION_BENEFICIARY_RIGHT_TO_CLAIM?: Boolean; + } + export interface VQF_902_12_founder { + /** + * + * Required: true + */ + FOUNDATION_FOUNDER_BIRTHDATE: AbsoluteDate; + /** + * + * Required: true + */ + FOUNDATION_FOUNDER_DEATHDATE: AbsoluteDate; + /** + * + * Required: true + */ + FOUNDATION_FOUNDER_DOMICILE: ResidentialAddress; + /** + * + * Required: true + */ + FOUNDATION_FOUNDER_FULL_NAME: String; + /** + * + * Required: true + */ + FOUNDATION_FOUNDER_NATIONALITY: CountryCode; + /** + * + * Required: true + */ + FOUNDATION_FOUNDER_RIGHT_TO_REVOKE: Boolean; + } + export interface VQF_902_12_pre { + /** + * + * Required: true + */ + FOUNDATION_PRE_BIRTHDATE: AbsoluteDate; + /** + * + * Required: true + */ + FOUNDATION_PRE_COUNTRY: CountryCode; + /** + * + * Required: true + */ + FOUNDATION_PRE_DEATHDATE: AbsoluteDate; + /** + * + * Required: true + */ + FOUNDATION_PRE_DOMICILE: ResidentialAddress; + /** + * + * Required: true + */ + FOUNDATION_PRE_FULL_NAME: String; + /** + * + * Required: true + */ + FOUNDATION_PRE_NATIONALITY: CountryCode; + } + export interface VQF_902_12_representative { + /** + * + * Required: true + */ + FOUNDATION_REPRESENTATIVE_BIRTHDATE: AbsoluteDate; + /** + * + * Required: true + */ + FOUNDATION_REPRESENTATIVE_COUNTRY: CountryCode; + /** + * + * Required: true + */ + FOUNDATION_REPRESENTATIVE_DOMICILE: ResidentialAddress; + /** + * + * Required: true + */ + FOUNDATION_REPRESENTATIVE_FULL_NAME: String; + /** + * + * Required: true + */ + FOUNDATION_REPRESENTATIVE_NATIONALITY: CountryCode; + /** + * + * Required: true + */ + FOUNDATION_REPRESENTATIVE_RIGHT_TO_REVOKE: Boolean; + } + export interface VQF_902_13 { + /** + * Customer system ID required to correlate different AML forms. + * Required: true + */ + CUSTOMER_ID: String; + /** + * When the form was completed. + * Required: true + */ + FORM_FILLING_DATE: AbsoluteDateTime; + /** + * + * Required: true + */ + SIGNATURE: String; + /** + * Contracing partner signature, + * Required: true + */ + SIGN_DATE: AbsoluteDateTime; + /** + * + * Required: true + */ + TRUST_BENEFICIARY_LIST: Form<VQF_902_13_beneficiary>[]; + /** + * + * Required: true + */ + TRUST_CONTRACTING_PARTNER: Paragraph; + /** + * + * Required: true + */ + TRUST_DISCRETIONARY: Boolean; + /** + * + * Required: true + */ + TRUST_KNOWN_AS: String; + /** + * + * Required: true + */ + TRUST_NAME: String; + /** + * + * Required: true + */ + TRUST_PRE_LIST: Form<VQF_902_13_pre>[]; + /** + * + * Required: true + */ + TRUST_PROTECTOR_LIST: Form<VQF_902_13_protector>[]; + /** + * + * Required: true + */ + TRUST_REVOCABLE: Boolean; + /** + * + * Required: true + */ + TRUST_SETTLOR_LIST: Form<VQF_902_13_settlor>[]; + } + export interface VQF_902_13_beneficiary { + /** + * + * Required: false + */ + TRUST_BENEFICIARY_ADDITION?: Paragraph; + /** + * + * Required: false + */ + TRUST_BENEFICIARY_BIRTHDATE?: AbsoluteDate; + /** + * + * Required: false + */ + TRUST_BENEFICIARY_COUNTRY?: CountryCode; + /** + * + * Required: false + */ + TRUST_BENEFICIARY_DOMICILE?: ResidentialAddress; + /** + * + * Required: false + */ + TRUST_BENEFICIARY_FULL_NAME?: String; + /** + * + * Required: false + */ + TRUST_BENEFICIARY_NATIONALITY?: CountryCode; + /** + * + * Required: false + */ + TRUST_BENEFICIARY_RIGHT_TO_CLAIM?: Boolean; + } + export interface VQF_902_13_further { + /** + * + * Required: false + */ + TRUST_FURTHER_BIRTHDATE?: AbsoluteDate; + /** + * + * Required: false + */ + TRUST_FURTHER_COUNTRY?: CountryCode; + /** + * + * Required: false + */ + TRUST_FURTHER_DOMICILE?: ResidentialAddress; + /** + * + * Required: false + */ + TRUST_FURTHER_FULL_NAME?: String; + /** + * + * Required: true + */ + TRUST_FURTHER_LIST: Form<VQF_902_13_further>[]; + /** + * + * Required: false + */ + TRUST_FURTHER_NATIONALITY?: CountryCode; + /** + * + * Required: false + */ + TRUST_FURTHER_RIGHT_TO_REVOKE?: Boolean; + } + export interface VQF_902_13_pre { + /** + * + * Required: false + */ + TRUST_PRE_BIRTHDATE?: AbsoluteDate; + /** + * + * Required: false + */ + TRUST_PRE_COUNTRY?: CountryCode; + /** + * + * Required: false + */ + TRUST_PRE_DEATHDATE?: AbsoluteDate; + /** + * + * Required: false + */ + TRUST_PRE_DOMICILE?: ResidentialAddress; + /** + * + * Required: false + */ + TRUST_PRE_FULL_NAME?: String; + /** + * + * Required: false + */ + TRUST_PRE_NATIONALITY?: CountryCode; + } + export interface VQF_902_13_protector { + /** + * + * Required: false + */ + TRUST_PROTECTOR_BIRTHDATE?: AbsoluteDate; + /** + * + * Required: false + */ + TRUST_PROTECTOR_COUNTRY?: CountryCode; + /** + * + * Required: false + */ + TRUST_PROTECTOR_DOMICILE?: ResidentialAddress; + /** + * + * Required: false + */ + TRUST_PROTECTOR_FULL_NAME?: String; + /** + * + * Required: false + */ + TRUST_PROTECTOR_NATIONALITY?: CountryCode; + /** + * + * Required: false + */ + TRUST_PROTECTOR_RIGHT_TO_REVOKE?: Boolean; + } + export interface VQF_902_13_settlor { + /** + * + * Required: true + */ + TRUST_SETTLOR_BIRTHDATE: AbsoluteDate; + /** + * + * Required: true + */ + TRUST_SETTLOR_DEATHDATE: AbsoluteDate; + /** + * + * Required: true + */ + TRUST_SETTLOR_DOMICILE: ResidentialAddress; + /** + * + * Required: true + */ + TRUST_SETTLOR_FULL_NAME: String; + /** + * + * Required: true + */ + TRUST_SETTLOR_NATIONALITY: CountryCode; + /** + * + * Required: true + */ + TRUST_SETTLOR_RIGHT_TO_REVOKE: Boolean; + } + export interface VQF_902_14 { + /** + * Customer system ID required to correlate different AML forms. + * Required: true + */ + CUSTOMER_ID: String; + /** + * When the form was completed. + * Required: true + */ + FORM_FILLING_DATE: AbsoluteDateTime; + /** + * Gathered or consulted documents + * Required: true + */ + INCRISK_DOCUMENTS: File[]; + /** + * + * Required: true + */ + INCRISK_MEANS: 'GATHERING' | 'CONSULTATION' | 'ENQUIRIES' | String; + /** + * Description of the circumstances/transactions, which triggered the special clarifications + * Required: true + */ + INCRISK_REASON: String; + /** + * + * Required: true + */ + INCRISK_RESULT: 'NO_SUSPICION' | 'REASONABLE_SUSPICION' | 'SIMPLE_SUSPICION'; + /** + * + * Required: true + */ + INCRISK_SUMMARY: Paragraph; + } + export interface VQF_902_15 { + /** + * Customer system ID required to correlate different AML forms. + * Required: true + */ + CUSTOMER_ID: String; + /** + * When the form was completed. + * Required: true + */ + FORM_FILLING_DATE: AbsoluteDateTime; + /** + * + * Required: true + */ + INSURANCE_CONTRACTING_PARTNER: Paragraph; + /** + * + * Required: true + */ + INSURANCE_HOLDER_BIRTHDATE: AbsoluteDate; + /** + * + * Required: true + */ + INSURANCE_HOLDER_DOMICILE: ResidentialAddress; + /** + * The beneficial owners of the assets involved in the business relationship. + * Required: false + */ + INSURANCE_HOLDER_FULL_NAME?: String; + /** + * + * Required: true + */ + INSURANCE_HOLDER_NATIONALITY: CountryCode; + /** + * + * Required: true + */ + INSURANCE_PAYER_BIRTHDATE: AbsoluteDate; + /** + * + * Required: true + */ + INSURANCE_PAYER_DOMICILE: ResidentialAddress; + /** + * The beneficial owners of the assets involved in the business relationship. + * Required: false + */ + INSURANCE_PAYER_FULL_NAME?: String; + /** + * + * Required: true + */ + INSURANCE_PAYER_NATIONALITY: CountryCode; + /** + * Name or number of the contractual relationship between the contracting party and the financial intermediary + * Required: true + */ + INSURANCE_RELATIONSHIP_NAME: String; + /** + * + * Required: true + */ + INSURANCE_RELATIONSHIP_POLICY: String; + /** + * + * Required: true + */ + SIGNATURE: String; + /** + * Contracing partner signature, + * Required: true + */ + SIGN_DATE: AbsoluteDateTime; + } + export interface VQF_902_1_founder { + /** + * Signatory of representation + * Required: true + */ + FOUNDER_AUTHORIZATION_TYPE: String; + /** + * + * Required: true + */ + FOUNDER_BIRTHDATE: AbsoluteDate; + /** + * + * Required: true + */ + FOUNDER_FULL_NAME: String; + /** + * + * Required: true + */ + FOUNDER_NATIONALITY: CountryCode; + /** + * + * Required: true + */ + FOUNDER_NATIONAL_COPY: File; + /** + * + * Required: true + */ + FOUNDER_NATIONAL_ID: String; + /** + * + * Required: true + */ + FOUNDER_POWER_OF_ATTORNEY: 'CR' | 'MANDATE' | 'OTHER' | String; + /** + * + * Required: true + */ + FOUNDER_RESIDENTIAL_ADDRESS: ResidentialAddress; + } + export interface VQF_902_4 { + /** + * Based on 902.4.1 country list + * Required: false + */ + CONTACT_RISK_LEVEL?: 'LOW' | 'MEDIUM' | 'HIGH'; + /** + * Based on 902.4.1 country list + * Required: false + */ + COUNTRY_RISK_LEVEL?: 'LOW' | 'MEDIUM' | 'HIGH'; + /** + * + * Required: false + */ + COUNTRY_RISK_TYPE?: 'NATIONALITY_CUSTOMER' | 'NATIONALITY_OWNER' | 'DOMICILE_CUSTOMER' | 'DOMICILE_OWNER' | 'DOMICILE_CONTROLLING' | 'BUSINESS_ACTIVITY' | 'PAYMENTS'; + /** + * Customer system ID required to correlate different AML forms. + * Required: true + */ + CUSTOMER_ID: String; + /** + * Criteria description + * Required: false + */ + EXTRA_CRITERA_1_RISK_DEFINITION?: String; + /** + * Based on 902.4.1 country list + * Required: false + */ + EXTRA_CRITERA_1_RISK_LEVEL?: 'LOW' | 'MEDIUM' | 'HIGH'; + /** + * Criteria description + * Required: false + */ + EXTRA_CRITERA_2_RISK_DEFINITION?: String; + /** + * Based on 902.4.1 country list + * Required: false + */ + EXTRA_CRITERA_2_RISK_LEVEL?: 'LOW' | 'MEDIUM' | 'HIGH'; + /** + * When the form was completed. + * Required: true + */ + FORM_FILLING_DATE: AbsoluteDateTime; + /** + * The decision of the Senior executive body on the acceptance of a business relationsip was obtained on ___ + * Required: false + */ + HIGH_RISK_ACCEPTANCE_DATE?: AbsoluteDateTime; + /** + * True if the person is in a country for which FATF requires incresed dilegence. + * Required: true + */ + HIGH_RISK_COUNTRY: Boolean; + /** + * + * Required: false + */ + INDUSTRY_RISK_LEVEL?: 'TRANSPARENT' | 'HIGH_CASH_TRANSACTION' | 'NOT_WELL_KNOWN' | 'HIGH_RISK_TRADE' | 'UNKNOWN_INDUSTRY'; + /** + * + * Required: false + */ + INDUSTRY_RISK_TYPE?: 'CUSTOMER' | 'OWNER'; + /** + * The decision of the Senior executive body on the acceptance of a business relationsip was obtained on ___ + * Required: false + */ + PEP_ACCEPTANCE_DATE?: AbsoluteDateTime; + /** + * True if the person is a PEP defined by 'Art 7 lit. g numeral 2' + * Required: true + */ + PEP_DOMESTIC: Boolean; + /** + * True if the person is a PEP defined by 'Art 7 lit. g numeral 1' + * Required: true + */ + PEP_FOREIGN: Boolean; + /** + * True if the person is a PEP defined by 'Art 7 lit. g numeral 3' + * Required: true + */ + PEP_INTERNATIONAL_ORGANIZATION: Boolean; + /** + * + * Required: false + */ + PRODUCT_RISK_LEVEL?: 'EASY' | 'SOPHISTICATED' | 'OFFSHORE' | 'COMPLEX_STRUCTURE' | 'LARGE_NUMBER_OF_ACCOUNTS' | 'COMPLEX_SERVICE' | 'FREQ_TRANS_WITH_HIGH_RISK'; + /** + * The decision of the Senior executive body on the acceptance of a business relationsip was obtained on ___ + * Required: false + */ + RISK_CLASIFICATION_ACCEPTANCE_DATE?: AbsoluteDateTime; + /** + * + * Required: false + */ + RISK_CLASIFICATION_LEVEL?: 'WITH' | 'WITHOUT'; + } + export interface VQF_902_5 { + /** + * Information on the planned development of the business relationship and the assets. + * Required: false + */ + BIZREL_DEVELOPMENT?: String; + /** + * In the case of cash or money and asset transfer transacction with regular customer + * Required: false + */ + BIZREL_FINANCIAL_BENEFICIARIES_ADDRESS?: BusinessAddress; + /** + * In the case of cash or money and asset transfer transacction with regular customer + * Required: false + */ + BIZREL_FINANCIAL_BENEFICIARIES_BANK_ACCOUNT?: String; + /** + * In the case of cash or money and asset transfer transacction with regular customer + * Required: false + */ + BIZREL_FINANCIAL_BENEFICIARIES_FULL_NAME?: String; + /** + * In the case of cash or money and asset transfer transacction with regular customer + * Required: false + */ + BIZREL_FINANCIAL_VOLUME?: String; + /** + * Other relevant information. + * Required: false + */ + BIZREL_FURTHER_INFO?: String; + /** + * Income and assets, liabilities (estimated) + * Required: false + */ + BIZREL_INCOME?: String; + /** + * Nature, amount and currency of the involved assets. + * Required: true + */ + BIZREL_ORIGIN_AMOUNT: Amount; + /** + * + * Required: true + */ + BIZREL_ORIGIN_CATEGORY: 'SAVINGS' | 'OWN_BUSINESS' | 'INHERITANCE' | 'OTHER'; + /** + * + * Required: false + */ + BIZREL_ORIGIN_CATEGORY_OTHER?: String; + /** + * Define the category if 'other'. + * Required: false + */ + BIZREL_ORIGIN_DETAIL?: Paragraph; + /** + * Profession, business activities, etc. (former, current, potentially planned) + * Required: false + */ + BIZREL_PROFESSION?: String; + /** + * Purpose of the business relationship. + * Required: false + */ + BIZREL_PURPOSE?: String; + /** + * Relation to other AMLA-files. + * Required: false + */ + BIZREL_THIRDPARTY_AMLA_FILES?: String; + /** + * Introducer / agents / references. + * Required: false + */ + BIZREL_THIRDPARTY_REFERENCES?: String; + /** + * Relation of the customer to the beneficial owner, controlling persons, authorised signatories and other persons involved in the business relationship. + * Required: false + */ + BIZREL_THIRDPARTY_RELATIONSHIP?: String; + /** + * Customer system ID required to correlate different AML forms. + * Required: true + */ + CUSTOMER_ID: String; + /** + * When the form was completed. + * Required: true + */ + FORM_FILLING_DATE: AbsoluteDateTime; + } + export interface VQF_902_9 { + /** + * Customer system ID required to correlate different AML forms. + * Required: true + */ + CUSTOMER_ID: String; + /** + * When the form was completed. + * Required: true + */ + FORM_FILLING_DATE: AbsoluteDateTime; + /** + * + * Required: true + */ + IDENTITY_CONTRACTING_PARTNER: Paragraph; + /** + * The beneficial owners of the assets involved in the business relationship. + * Required: false + */ + IDENTITY_LIST?: Form<VQF_902_9_identity>[]; + /** + * + * Required: true + */ + SIGNATURE: String; + /** + * Contracing partner signature, + * Required: true + */ + SIGN_DATE: AbsoluteDateTime; + } + export interface VQF_902_9_identity { + /** + * + * Required: true + */ + IDENTITY_BIRTHDATE: AbsoluteDate; + /** + * + * Required: true + */ + IDENTITY_DOMICILE: ResidentialAddress; + /** + * + * Required: true + */ + IDENTITY_FULL_NAME: String; + /** + * + * Required: true + */ + IDENTITY_NATIONALITY: CountryCode; + } + export interface GLS_Onboarding { + /** + * Building name of the of the individual or business. + * Required: false + */ + ADDRESS_BUILDING_NAME?: String; + /** + * Building number of the individual or business. + * Required: false + */ + ADDRESS_BUILDING_NUMBER?: String; + /** + * Country where the individual or business resides. Format is 2-letter ISO country-code. + * Required: false + */ + ADDRESS_COUNTRY?: CountryCode; + /** + * Country subdivision of the individual or business. + * Required: false + */ + ADDRESS_COUNTRY_SUBDIVISION?: String; + /** + * Additional address information of the individual or business. + * Required: false + */ + ADDRESS_LINES?: String; + /** + * Street address name of the individual or business. + * Required: false + */ + ADDRESS_STREET_NAME?: String; + /** + * Street address number of the individual or business. + * Required: false + */ + ADDRESS_STREET_NUMBER?: String; + /** + * Town district of the individual or business. + * Required: false + */ + ADDRESS_TOWN_DISTRICT?: String; + /** + * Town location of the individual or business. + * Required: false + */ + ADDRESS_TOWN_LOCATION?: String; + /** + * Postal code of the city where the individual or business resides. + * Required: false + */ + ADDRESS_ZIPCODE?: String; + /** + * Name of the company or business. + * Required: false + */ + BUSINESS_DISPLAY_NAME?: String; + /** + * Industry in which the company or business mainly operate. + * Required: false + */ + BUSINESS_INDUSTRY?: String; + /** + * True if the company or business is a non-profit. + * Required: false + */ + BUSINESS_IS_NON_PROFIT?: Boolean; + /** + * City or location where the company or business is registered. + * Required: false + */ + BUSINESS_LEGAL_JURISDICTION?: String; + /** + * List of natural persons that are legal representatives or shareholders. + * Required: false + */ + BUSINESS_LEGAL_REPRESENTATIVES?: GLS_BusinessRepresentative[]; + /** + * Registration founding date of the company or business. + * Required: false + */ + BUSINESS_REGISTRATION_DATE?: AbsoluteDate; + /** + * Registration id on legal entity of the company or business. + * Required: false + */ + BUSINESS_REGISTRATION_ID?: String; + /** + * Type of company form or business (limited liability company, general partnership, limited partnership, corporations, etc... ). + * Required: false + */ + BUSINESS_TYPE?: String ; + /** + * DNS domain name owned by the individual or business. + * Required: false + */ + CONTACT_DNS_DOMAIN?: Hostname; + /** + * E-mail address to contact the individual or business. Can be validated via E-mail with TAN. + * Required: false + */ + CONTACT_EMAIL?: Email; + /** + * Phone number to contact the individual or business. Can be validated via SMS-TAN or phone call. + * Required: false + */ + CONTACT_PHONE?: Phone; + /** + * Web site owned by the individual or business. + * Required: false + */ + CONTACT_WEB_DOMAIN?: HttpHostnamePath; + /** + * List of natural persons that are legal representatives or shareholders. + * Required: false + */ + PERSON_BUSINESS_REPRESENTATIVE_TYPE?: GLS_BusinessRepresentative[]; + /** + * Date of birth of an individual. Format is YYYY-MM-DD. + * Required: false + */ + PERSON_DATE_OF_BIRTH?: AbsoluteDate; + /** + * Full legal name of an individual as in the national identity card. + * Required: false + */ + PERSON_FULL_NAME?: String; + /** + * Last name of an individual as in the national identity card. + * Required: false + */ + PERSON_LAST_NAME?: String; + /** + * Nationality of an individual. Format is 2-letter ISO country-code. + * Required: false + */ + PERSON_NATIONALITY?: CountryCode; + /** + * Identification number or string of national identity card. + * Required: false + */ + PERSON_NATIONAL_ID?: String; + /** + * Scan of a recognized national identity card of an individual. + * Required: false + */ + PERSON_NATIONAL_ID_SCAN?: File; + /** + * Country name of of the individual or business. + * Required: false + */ + TAX_COUNTRY?: CountryCode; + /** + * Tax identifier of the individual or business. + * Required: false + */ + TAX_ID?: String; + /** + * Is the individual or business economically active or passive. + * Required: false + */ + TAX_IS_ACTIVE?: Boolean; + /** + * Is the business entitled to deduct input tax. + * Required: false + */ + TAX_IS_DEDUCTED?: Boolean; + /** + * Is business founded or under USA law. + * Required: false + */ + TAX_IS_USA_LAW?: Boolean; + } + export interface GLS_BusinessRepresentative { + } + + +}