Skip to content

Customers and relationships

Module id: customers

The party of record: a person or a legal entity, the links between them, and the consent attached to that party.

Other modules store the party id from here. They do not keep a private copy of the person or the company.

Customers, read top to bottom: channel journeys, then people and businesses, then the party record
Read top to bottom. Channel journeys ask the domain about people and businesses. The core stores the party record.

There is no exp-customers repository. Channel work uses onboarding (exp-onboarding) and profile self-service (exp-profile, under shared services). The domain service is domain-customer-people. The core service is core-common-customer-mgmt.

What it owns

  • Parties, natural persons, and legal entities
  • Relationships between parties
  • Addresses, phone contacts, and email contacts
  • Identity documents, economic activities, and group memberships
  • Consent records and party status
  • Politically exposed person records attached to a party

What it does not own

  • KYC and KYB cases. Those are onboarding.
  • User accounts, sessions, and sign-in. Those are shared services.
  • Bank and branch structure. That is organisation management, also under shared services.
  • Contracts that bind a party to a product. Those are agreements.

Repositories

Repository Layer What it holds OpenAPI
domain-customer-people Domain Customers, businesses, relationships, contact queries, consent catalogue openapi.yml
core-common-customer-mgmt Core Party persistence and the nested party resources openapi.yml

How the pieces fit

A channel collects the journey. When the party should last, the domain service takes the command.

domain-customer-people exposes customers, businesses, party relationships, a consent catalogue, and party contact queries. Search sits on the customer resource. Those calls are the domain's job: coordinate the command or answer the query.

core-common-customer-mgmt persists the party under /api/v1/parties, with nested resources for persons, legal entities, relationships, contacts, documents, consent, status, and politically exposed persons. Downstream modules store the party id on their own records. They do not recreate the party table.