Individual — Field Validation Rules (with Enums)
Character policy for names
- Disallowed special characters:
?!§&#{[\@]}=+^$%*<>;" - Allowed: standard letters (including accents like é, è, ô), hyphen (-), apostrophe ('), and language‑specific characters (e.g., Ł, Ø).
- FR: Les caractères typiques présents dans certains noms comme le trait d’union (-), l’apostrophe ('), les lettres accentuées (é, è, ô, etc..) ou les caractères propres à certaines langues comme Ł ou Ø sont, quant à eux, acceptés.
Quick scan table
Field | Rules |
|---|---|
First name | 1–35 chars. Apply Character policy for names. |
Last name | 1–35 chars. Apply Character policy for names. |
Other name | ≤ 35 chars. Apply Character policy for names. |
Must match email regex (see Regex library). | |
Phone number | Must match phone regex (see Regex library). Optional at account creation; required to complete onboarding. |
Birth date | Format DD/MM/YYYY; not today or future; year ≥ 1920. (Optional: min age ≥ 18; partner‑configurable, floor at 12.) |
Birth city | String, 1–90 chars. Optional at creation; required to complete onboarding. |
Birth province | Enum (Italy only; see BOI list). Optional; required if residence country = |
Birth country | ISO 3166‑1 alpha‑2. Required. |
Nationalities | ISO 3166‑1 alpha‑2 (single or multiple). Required. |
Street | 1–256 chars.Required to complete onboarding. |
Complementary street info | 1–256 chars. Optional. |
Postal code | Alphanumeric, 1–90 chars. Optional; required to complete onboarding. |
City | String, 1–90 chars. Optional; required to complete onboarding. |
Province | Enum (Italy only; see BOI list). Optional; required if residence country = |
Country of residence | ISO 3166‑1 alpha‑2. Required. |
PEP status | Enum |
PEP position | Enum |
PEP other position | String. Required if position = |
PEP start date | Date |
PEP end date | Date |
PEP close relationship | Enum |
PEP full name | 1–35 chars. Required if status = |
Occupation | Enum |
Annual revenue | Enum |
Estimated wealth | Enum |
IFI tax | Boolean. Required if residence country = |
Legal capacity — type | Enum |
Legal capacity — protection type | Enum |
Legal capacity — other | String 1–90. Required if |
Type of project | Enum |
Wedding relation | Enum |
Project description | ≤ 256 chars. Required if |
Project website | URL regex. Required if |
Board member function | Enum (not specified in this extract). |
Enumerations
Reference lists — Parameters for Triggering an Onboarding Use these authoritative lists when populating payloads. They’re large, so we link out instead of inlining.
•
protectionType→ complete_enum_lists.xlsx
•
professionalSituation→ IND_ProfessionalSituation.pdf
•
province→ AddressProvince.pdf
•
birthProvince→ BirthProvince.pdf
PEP
PEP_STATUS:NO,YES,CLOSEPEP_POSITION:POLITICAL_LEADER,POLITICAL_REPRESENTATIVE,JUDICIAL_OFFICIAL,FINANCIAL_AUDITOR,BANK_EXECUTIVE,DIPLOMATIC_REPRESENTATIVE,MILITARY_LEADER,ADMINISTRATIVE_OFFICIAL,ORGANIZATIONAL_OFFICIAL,OTHERPEP_CLOSE_RELATIONSHIP:PARTNER,CHILD,PARENT
Professional & Financial
-
PROFESSIONAL_ACTIVITY: list of PCS codes (reference: roles.partnerActivityType / PCS catalog) -
INCOME_TIER:FIRST_TIER,SECOND_TIER,THIRD_TIER,FOURTH_TIER,FIFTH_TIER,SIXTH_TIER -
WEALTH_TIER:FIRST_TIER,SECOND_TIER,THIRD_TIER,FOURTH_TIER,FIFTH_TIER,SIXTH_TIER,SEVENTH_TIER -
SOURCE_OF_FUNDS(array of enum):INCOMEREAL_ESTATE_PROPERTIESSAVINGS_ACCUMULATED_OVER_SEVERAL_YEARSDONATION_OR_INHERITANCESALE_OF_A_STOCK_PORTFOLIOTRANSFER_OF_COMPANY_SHARESWINNING_FROM_GAMES_OR_CONTESTSSURRENDER_OF_A_CAPITALIZATION_CONTRACT_OR_LIFE_INSURANCE_POLICYSALE_OF_MOVABLE_ASSETS_GOODWILL_INTELLECTUAL_PROPERTY_RIGHTSSALE_OF_CURRENCY_GOLD_OR_CRYPTOCURRENCIESFINANCIAL_INVESTMENTSOTHER_OPERATIONS
Legal capacity
CAPACITY_TYPE:LEGAL_AGE_AND_CAPACITY,PROTECTED_ADULT,MINOR_NOT_EMANCIPATED,MINOR_EMANCIPATEDPROTECTION_TYPE(required whenCAPACITY_TYPE = PROTECTED_ADULT):SAFEGUARDING_OF_JUSTICE,CURATORSHIP,GUARDIANSHIP,OTHER
Project
PROJECT_TYPE:WEDDING,FAREWELL,NEWBORN,BIRTHDAY,CHARITY,OTHERWEDDING_RELATION_TYPE(whenPROJECT_TYPE = WEDDING):BRIDE_GROOM,OTHERSALARY_ADVANCE_REASON_TYPE:UNFORESEEN_BILLS,URGENT_FAMILY_EXPENSES,WEDDING,BIRTH,HOUSE_MOVE,HOLIDAYS,OTHER
Address (Italy‑specific)
- Subdivision / Province enums: use BOI enumerations (e.g.,
AOSTA, …) when country = IT
Visa applicant — Financial support (additional profile)
VISA_APPLICANT_ROLE:STUDENT,JOB_SEEKERisPayer: booleanPAYER_RELATIONSHIP_LINK(whenisPayer = false):MOTHER_FATHER,RELATIVES,SIBLINGS,GRAND_PARENTS,HUSBAND_WIFE,LIFE_PARTNER,OTHER- Payer’s income/wealth/sourceOfFunds (when
isPayer = true): useINCOME_TIER,WEALTH_TIER,SOURCE_OF_FUNDS
Regex library (suggested patterns)
Pragmatic patterns for client‑side/ingress checks. Use server‑side validators and canonical parsers for final enforcement.
Email (simple, practical)
^[^\s@]+@[^\s@]+\.[^\s@]{2,}$Phone number (E.164 international)
^\+?[1-9]\d{1,14}$Date — DD/MM/YYYY with year ≥ 1920
^(0[1-9]|[12]\d|3[01])\/(0[1-9]|1[0-2])\/(19[2-9]\d|20\d{2})$Note: This regex does not validate calendar edge cases (e.g., 31/02). Apply a date parser to enforce real dates and the not today / not future rule.
ISO country codes (alpha‑2)
^[A-Z]{2}$Website / URL (basic, http/https or bare www)
^(https?:\/\/)?([\w-]+\.)+[\w-]{2,}(\/[^\s]*)?$For production, prefer a URL parser over regex.
Age rules (optional, partner‑configurable)
- Standard: minimum age ≥ 18 years
- Custom: partner configuration can lower the minimum age but not below 12 years
Implementation tips
- Enforce length limits at both UI (maxlength) and API (schema) levels
- Normalize names (trim, collapse repeated spaces) but do not strip valid characters from the policy above
- Validate country codes against an ISO‑3166 list; reject unknown codes even if regex matches
- For PEP periods, ensure
startDate ≤ endDateand dates are in the past - For address lines, allow common punctuation (comma, period) unless your business rules require stricter filters
- Respect collection rules from the data model: many fields are optional at account creation but required to complete onboarding; also apply conditional requirements (Italy‑specific provinces,
PEPconditionals, project‑type conditionals)
