# Eximee Case Repository

**Eximee Case Repository** is the bank’s central repository of customer cases, serving as a common reference point for all channels and applications supporting customer processes.\
Its main purpose is **storing, sharing, and tracking the history of contacts and case statuses** regardless of which system they were initiated or handled in.

## Role and purpose

Eximee Case Repository serves as **an integration and archiving layer**, enabling a consistent view of case statuses and data from multiple sources.\
The repository collects data about all customer interactions with the bank — both those handled automatically by systems and those carried out by employees.\
This makes it possible to:

* preserve the full history of the customer's cases,
* build a consolidated 360° customer view,
* present current statuses and activities regardless of the service channel.

## Functional scope

### Main functions of the Case Repository

* **Storing customer cases** – persisting case data originating from various banking applications, regardless of technology and channel.
* **Activity history log** – recording all actions performed by users and systems in the context of a specific case.
* **Data aggregation** – combining information from Eximee BPMS processes, forms, APIs, and external systems.
* **Unified data model** – each case object complies with the common data schema used across the entire Eximee platform.
* **Publishing case data** – exposing case information for display in various channels, e.g. CRM, online banking, or back-office applications.

## Operating principles and data integration

Any applications supporting customer processes — both those created in **Eximee Low-Code Platform**and the bank’s independent systems — can feed **Case Repository** with data.\
To do this, they must:

1. create an object compliant with the common data model,
2. publish it in the repository using an event-based mechanism (e.g. **Apache Kafka**).

The repository operates on the basis of **an event-driven architecture**, so status updates and events are processed in real time and propagated to all interested systems.

## Presentation and use of data

The list of a customer's cases, along with their business statuses, can be:

* displayed as a **microfrontend** in customer applications (e.g. internet banking, mobile banking),
* embedded in bank employee applications (e.g. CRM, Contact Center, Back Office),
* made available to external systems via the Eximee API.

This approach ensures a consistent user experience and central access to information about all customer processes.

## Architecture and information flow

**Eximee Case Repository** is a central element of the platform's information architecture.\
Case data:

1. **are created** in various components (BPMS, Forms, API, Customer Panel, Service Zone),
2. **are aggregated** and published in the Case Repository,
3. **made available** to other modules and external systems in the form of a structured "Case" object.

The repository can be used both in **online** mode (display of active cases) and in **archival** mode (history of closed cases).

## Data model

Each record in **Eximee Case Repository** has a unified data model containing, among others:

* case identifier (Case ID),
* customer data and product context,
* status and process stage,
* metadata (creation, update, closure dates),
* a list of events and actions,
* links to documents and processes (BPMN, Forms).

The model is consistent with the definitions of data stored in **Eximee Data Model Runtime**, which enables seamless integration between components.

## Security and access

* **Authorization:** based on domain roles and organizational context.
* **Availability:** case visibility control with respect to the user and channel.
* **Integration with Eximee Security Framework:** inheritance of authorization rules from the platform.
* **Audit:** every publish and read operation is logged.
* **Encryption of sensitive data:** TLS 1.2+ and integration with the bank's KeyVault.

## Key features of Eximee Case Repository

* Central repository for all customer cases.
* Handling data from multiple sources – Eximee processes and external systems.
* Unified data model (Case Data Model).
* Event-driven architecture.
* Support for microfrontends and multichannel integration.
* Full security and auditing.
* Scalability and high availability.
* Compliance with the Omnichannel approach.

## Summary

**Eximee Case Repository** is a key integration element of the Eximee ecosystem.\
It provides a central source of truth for all customer cases, regardless of which system or channel they were created in.\
As a result, it enables the building of consistent customer views, process automation, and improved service efficiency.\
It is the foundation for reporting, analytics, and communication between channels in the architecture **Omnichannel Banking**.
