Sales and Service
Customer Relationship Management
sd-customer-relationship-management · bian-sales-service
A BIAN service domain in Sales and Service. It applies the Direct functional pattern to the Customer Relationship, with the Customer Relationship Strategy as its control record — one independent Spring Boot microservice on the platform's Cilium eBPF mesh.
View repository ↗The 162-domain platform ↗
Business DomainCustomer Management
Functional PatternDirect
Asset TypeCustomer Relationship
Control RecordCustomer Relationship Strategy
USEWhat it is used for
Representative use cases for the Customer Relationship Management service domain within a BIAN-aligned core-banking landscape.
- Maintain a single view of the customer across products, channels, and entities
- Drive onboarding, servicing, and offboarding journeys for Customer Relationship records
- Feed customer analytics, consent, and entitlement decisions to channel applications
APIBIAN semantic API
The control record (Customer Relationship Strategy) is exposed through uniform BIAN action terms. Java 21 · Spring Boot 3, OpenAPI at /swagger-ui.html, health at /actuator/health.
| Method | Path | BIAN action |
| GET | /v1/service-domain | Service metadata |
| POST | /v1/customer-relationship-strategy/initiate | Initiate |
| GET | /v1/customer-relationship-strategy/{crId}/retrieve | Retrieve |
| PUT | /v1/customer-relationship-strategy/{crId}/update | Update |
| PUT | /v1/customer-relationship-strategy/{crId}/control | Control (suspend / resume / terminate) |
INTBackend integrations
The systems and standards a real deployment of Customer Relationship Management would transact with.
- CRM: Salesforce Financial Services Cloud, Microsoft Dynamics 365
- CIAM: Keycloak, Okta, ForgeRock
- Credit bureaus: CIBIL, Experian, Equifax
- KYC utilities & registries
RUNRun it yourself
Each service domain is its own standalone Spring Boot repository — clone and run in seconds, or deploy onto Kubernetes with the bundled Helm chart behind the Cilium mesh.
# run this service domain standalone
git clone https://github.com/Sreenivas-Sadhu-Prabhakara/sd-customer-relationship-management
mvn -f sd-customer-relationship-management spring-boot:run
curl localhost:8080/v1/service-domain
# or deploy onto Kubernetes (Cilium eBPF mesh)
helm upgrade --install sd-customer-relationship-management ./helm -n bian-sales-service
FAQQuestions
What is the BIAN “Direct” functional pattern?
A Direct service domain sets the policy, targets and mandates that steer how other domains operate. Customer Relationship Management applies it to the Customer Relationship.
What is a BIAN service domain?
BIAN (the Banking Industry Architecture Network) decomposes a bank into independent service domains, each owning exactly one business capability. Customer Relationship Management is the service domain for Customer Management; it manages the Customer Relationship Strategy and exposes it through standard BIAN action terms.
What business area does Customer Relationship Management belong to?
Customer Relationship Management sits in the Sales and Service business area — the customer-facing sales, servicing and channel domains that run the customer lifecycle. It runs in the bian-sales-service namespace as one independent Spring Boot microservice.
Is Customer Relationship Management production-ready?
It is an educational reference implementation: a real BIAN REST API over an in-memory store, ready to be filled with domain logic. It is not a live bank and is not affiliated with BIAN.
SEEIn the landscape
Customer Relationship Management is one of 162 BIAN service domains on the platform. Explore the rest: