# DIGIT Complaints Management

The **DIGIT Complaints Management (CMS)** is a web and mobile platform for registering and resolving public grievances. Citizens submit complaints anytime, from anywhere. Municipal staff resolve them within defined SLAs. The system is configurable, omni-channel, and built on the open-source DIGIT platform.

{% hint style="info" %}
**CMS was formerly known as Public Grievance Redressal (PGR).** You may see references to the older name in some parts of the documentation and user manuals.
{% endhint %}

***

## Get Started By Role

{% tabs %}
{% tab title="🧑‍💻 Developers" %}
You are setting up, configuring, or extending the CMS. Start with the architecture, then move through setup → configure → customise.

**Your path:** [Solution Architecture](/complaints-management/design/architecture/solution-architecture.md) → [Quick Install](/complaints-management/deploy/setup/quick-install.md) → [Configure](/complaints-management/deploy/configure.md) → [Customise](/complaints-management/deploy/customise.md)

**Key references:**

* [API Specs](/complaints-management/design/architecture/complaints-api-specs.md)
* [Data Model](/complaints-management/design/architecture/data-model.md)
* [Workflows](/complaints-management/access/pgr-functional-specifications/pgr-workflows.md)
* [Setup Infrastructure](/complaints-management/deploy/setup/production-setup/setup-infrastructure.md)
  {% endtab %}

{% tab title="📋 Product Managers" %}
You are understanding capabilities, managing rollout, or reviewing performance. Start with functional specs, then workflows and release notes.

**Your path:** [Functional Specifications](/complaints-management/access/pgr-functional-specifications.md) → [Workflows](/complaints-management/access/pgr-functional-specifications/pgr-workflows.md) → [User Manuals](/complaints-management/access/pgr-user-manual.md) → [Release Notes](/complaints-management/digit-complaints-management/release-notes.md)

**Key references:**

* [Complaint Types List](/complaints-management/access/pgr-functional-specifications/complaint-types-list.md)
* [Citizen User Manual](/complaints-management/access/pgr-user-manual/citizen-user-manual.md)
* [Employee User Manual](/complaints-management/access/pgr-user-manual/employee-user-manual.md)
* [Roadmap](/complaints-management/community/roadmap.md)
  {% endtab %}

{% tab title="🏛️ Program Teams" %}
You are planning rollout across departments, ULBs, or states. Focus on governance, tenancy, and SLA design.

**Your path:** [Functional Specifications](/complaints-management/access/pgr-functional-specifications.md) → [User Personas](/complaints-management/design/architecture/user-personas.md) → [Master Data Templates](/complaints-management/deploy/configure/master-data/master-data-templates.md) → [SLA Configuration](/complaints-management/deploy/configure/service-level-agreement-sla.md)

**Key references:**

* [Tenancy Setup](/complaints-management/design/architecture/tenancy.md)
* [Boundary Hierarchy](/complaints-management/design/architecture/boundary-hierarchy.md)
* [Localisation](/complaints-management/deploy/configure/localisation.md)
  {% endtab %}
  {% endtabs %}

***

## Browse By Category

<table data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th><th data-hidden data-card-cover data-type="files"></th></tr></thead><tbody><tr><td><strong>📖 Functional Specs</strong></td><td>Feature scope, workflows, complaint types, and user personas — the complete functional picture of CMS.</td><td><a href="/spaces/jXXjB2bSqCC6E6B5s39Y/pages/-MgiGQxtxe7biC88ewNv">/spaces/jXXjB2bSqCC6E6B5s39Y/pages/-MgiGQxtxe7biC88ewNv</a></td><td></td></tr><tr><td><strong>📐 Architecture</strong></td><td>Solution design, data model, API specs, sequence diagrams, and domain configuration.</td><td><a href="/spaces/jXXjB2bSqCC6E6B5s39Y/pages/GHAzeyiAkUhAMZFFkQJa">/spaces/jXXjB2bSqCC6E6B5s39Y/pages/GHAzeyiAkUhAMZFFkQJa</a></td><td></td></tr><tr><td><strong>🚀 Setup &#x26; Install</strong></td><td>Quick install on AWS, production deployment, first-run configuration, and troubleshooting FAQ.</td><td><a href="/spaces/jXXjB2bSqCC6E6B5s39Y/pages/6X5OGKV2Zhxvc0FkgFOc">/spaces/jXXjB2bSqCC6E6B5s39Y/pages/6X5OGKV2Zhxvc0FkgFOc</a></td><td></td></tr><tr><td><strong>⚙️ Configuration</strong></td><td>All 13 configuration areas — workflow, MDMS, SLA, Inbox v2, notifications, boundary, S3, and more.</td><td><a href="/spaces/jXXjB2bSqCC6E6B5s39Y/pages/hI3p7ZVpZL3mJF4KzaWu">/spaces/jXXjB2bSqCC6E6B5s39Y/pages/hI3p7ZVpZL3mJF4KzaWu</a></td><td></td></tr><tr><td><strong>🎨 Customise</strong></td><td>Frontend (React) and backend (Spring Boot) customisation guides for adapting CMS to local needs.</td><td><a href="/spaces/jXXjB2bSqCC6E6B5s39Y/pages/RBERr5rhejAuacuD9apl">/spaces/jXXjB2bSqCC6E6B5s39Y/pages/RBERr5rhejAuacuD9apl</a></td><td></td></tr><tr><td><strong>📚 User Manuals</strong></td><td>Step-by-step guides for citizens, employees, and counter service representatives.</td><td><a href="/spaces/jXXjB2bSqCC6E6B5s39Y/pages/-MgiGQy0Fv7p3SbGnLHT">/spaces/jXXjB2bSqCC6E6B5s39Y/pages/-MgiGQy0Fv7p3SbGnLHT</a></td><td></td></tr></tbody></table>

***

## Setup & Installation

{% stepper %}
{% step %}

#### Install the platform

Choose your deployment path first. Use **Quick Install** for a 1-click AWS deployment with default master data pre-loaded. Use **Production Setup** for a full Kubernetes deployment.

[Quick Install](/complaints-management/deploy/setup/quick-install.md) → [Production Setup](/complaints-management/deploy/setup/production-setup.md)
{% endstep %}

{% step %}

#### Complete pre-deployment configuration

Complete all required configurations before deploying the `ccrs-services` image. Follow this order: Workflow → Master Data → Localisation → Persister → SLA → IDGen → Inbox v2 → Indexer → Boundary → SMS/Email → Google Maps → S3 → Common Guidelines.

[Configuration Reference](/complaints-management/deploy/configure.md)
{% endstep %}

{% step %}

#### Load ULB data after deployment

After deployment, use **DIGIT Workbench** to load ULB-specific data such as departments, complaint types, and user roles. Quick Install already pre-loads baseline data through the Default Data Handler.

[Get Started](/complaints-management/deploy/setup/get-started.md)
{% endstep %}

{% step %}

#### Go live and customise

Run go-live checks next. Validate dashboards and SMS templates, then onboard users. Customise the frontend or backend as needed.

[Customise](/complaints-management/deploy/customise.md) → [FAQ](/complaints-management/deploy/setup/faq.md)
{% endstep %}
{% endstepper %}

***

## Architecture At A Glance

<table data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Solution Architecture</strong></td><td>CMS service, Inbox v2, MDMS, IDGen, Persister, Indexer, Kafka, Elasticsearch — and how they connect.</td><td><a href="/spaces/jXXjB2bSqCC6E6B5s39Y/pages/tn4fKtfoViMXjYwMko7F">/spaces/jXXjB2bSqCC6E6B5s39Y/pages/tn4fKtfoViMXjYwMko7F</a></td></tr><tr><td><strong>API Specs</strong></td><td>Full REST endpoint definitions, request/response schemas, and authentication for the CMS backend.</td><td><a href="/spaces/jXXjB2bSqCC6E6B5s39Y/pages/oCJCgBF7qSXlnPp8ByDU">/spaces/jXXjB2bSqCC6E6B5s39Y/pages/oCJCgBF7qSXlnPp8ByDU</a></td></tr><tr><td><strong>Data Model</strong></td><td>PostgreSQL schema, entity relationships, and field-level definitions for complaints, assignments, and audit.</td><td><a href="/spaces/jXXjB2bSqCC6E6B5s39Y/pages/afh24wG3WdmnJ6g7Oor8">/spaces/jXXjB2bSqCC6E6B5s39Y/pages/afh24wG3WdmnJ6g7Oor8</a></td></tr><tr><td><strong>Sequence Diagrams</strong></td><td>Service interaction flows for create, update, search, and notification operations.</td><td><a href="/spaces/jXXjB2bSqCC6E6B5s39Y/pages/dC8eHpbJfO1aksSBdh7P">/spaces/jXXjB2bSqCC6E6B5s39Y/pages/dC8eHpbJfO1aksSBdh7P</a></td></tr><tr><td><strong>CMS Workflows</strong></td><td>State machine: registration → assignment → resolution → closure → reopen. Roles and actions per stage.</td><td><a href="/spaces/jXXjB2bSqCC6E6B5s39Y/pages/EE9WpmvKnJaRa1Pa8clf">/spaces/jXXjB2bSqCC6E6B5s39Y/pages/EE9WpmvKnJaRa1Pa8clf</a></td></tr><tr><td><strong>User Personas</strong></td><td>Citizen, Assigning Officer, Last Mile Employee, CSR — roles, permissions, and access scope.</td><td><a href="/spaces/jXXjB2bSqCC6E6B5s39Y/pages/X7Kr9xffRBej6K4Tk0t6">/spaces/jXXjB2bSqCC6E6B5s39Y/pages/X7Kr9xffRBej6K4Tk0t6</a></td></tr></tbody></table>

***

## Configuration Reference

{% hint style="warning" %}
All configurations below must be loaded **before** deploying the `ccrs-services` application image. Complete them in the numbered order.
{% endhint %}

<table data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>01 · Workflow</strong></td><td>Lifecycle stages, transitions, actors, and actions for the complaint journey.</td><td><a href="/spaces/jXXjB2bSqCC6E6B5s39Y/pages/mNyWwfOhM6X3CpjcPYo3">/spaces/jXXjB2bSqCC6E6B5s39Y/pages/mNyWwfOhM6X3CpjcPYo3</a></td></tr><tr><td><strong>02 · Master Data (MDMS)</strong></td><td>Service definitions, complaint types, departments, roles, and ULB info.</td><td><a href="/spaces/jXXjB2bSqCC6E6B5s39Y/pages/UvgWpGxMu2N2ZjJ0xnXR">/spaces/jXXjB2bSqCC6E6B5s39Y/pages/UvgWpGxMu2N2ZjJ0xnXR</a></td></tr><tr><td><strong>03 · Localisation</strong></td><td>Translations for UI labels, error messages, and service names across all languages.</td><td><a href="/spaces/jXXjB2bSqCC6E6B5s39Y/pages/QkCSdCVjXnJbhtDjEMK0">/spaces/jXXjB2bSqCC6E6B5s39Y/pages/QkCSdCVjXnJbhtDjEMK0</a></td></tr><tr><td><strong>04 · Persister</strong></td><td>PostgreSQL DB mappings for all CMS-related Kafka topic events.</td><td><a href="/spaces/jXXjB2bSqCC6E6B5s39Y/pages/TaTVqsBrZXyv1RQ5u72F">/spaces/jXXjB2bSqCC6E6B5s39Y/pages/TaTVqsBrZXyv1RQ5u72F</a></td></tr><tr><td><strong>05 · SLA</strong></td><td>Service-level agreements per complaint type and department. Auto-escalation on breach.</td><td><a href="/spaces/jXXjB2bSqCC6E6B5s39Y/pages/dnDKnK7iKKUrjsZwGmcc">/spaces/jXXjB2bSqCC6E6B5s39Y/pages/dnDKnK7iKKUrjsZwGmcc</a></td></tr><tr><td><strong>06 · ID Generation</strong></td><td>Format patterns and sequences for generating unique complaint ticket numbers.</td><td><a href="/spaces/jXXjB2bSqCC6E6B5s39Y/pages/jelLLz16sGEHLf7vJQo0">/spaces/jXXjB2bSqCC6E6B5s39Y/pages/jelLLz16sGEHLf7vJQo0</a></td></tr><tr><td><strong>07 · Inbox v2 &#x26; Elasticsearch</strong></td><td>Advanced inbox filtering and fast search for the v2.11 release baseline.</td><td><a href="/spaces/jXXjB2bSqCC6E6B5s39Y/pages/WeGmrjkI0NOEY2KBnKyE">/spaces/jXXjB2bSqCC6E6B5s39Y/pages/WeGmrjkI0NOEY2KBnKyE</a></td></tr><tr><td><strong>08 · Indexer</strong></td><td>Elasticsearch indexing configuration for complaint search and reporting.</td><td><a href="/spaces/jXXjB2bSqCC6E6B5s39Y/pages/ticSKUkfF6Qi5TYv3TWE">/spaces/jXXjB2bSqCC6E6B5s39Y/pages/ticSKUkfF6Qi5TYv3TWE</a></td></tr><tr><td><strong>09 · Boundary</strong></td><td>Geospatial boundaries with backend validation and configurable hierarchy support in v2.11.</td><td><a href="/spaces/jXXjB2bSqCC6E6B5s39Y/pages/DUDI8uF3XU6i8EJ9MzFi">/spaces/jXXjB2bSqCC6E6B5s39Y/pages/DUDI8uF3XU6i8EJ9MzFi</a></td></tr><tr><td><strong>10 · SMS &#x26; Email</strong></td><td>Notification templates per event type across SMS, WhatsApp, and email channels.</td><td><a href="/spaces/jXXjB2bSqCC6E6B5s39Y/pages/YLrDzPxYelszp6acI7Pd">/spaces/jXXjB2bSqCC6E6B5s39Y/pages/YLrDzPxYelszp6acI7Pd</a></td></tr><tr><td><strong>11 · Google Maps</strong></td><td>GIS location integration for citizen complaint location capture.</td><td><a href="/spaces/jXXjB2bSqCC6E6B5s39Y/pages/Ly05SC4Q3oLMUMNultOv">/spaces/jXXjB2bSqCC6E6B5s39Y/pages/Ly05SC4Q3oLMUMNultOv</a></td></tr><tr><td><strong>12 · AWS S3</strong></td><td>Object storage for complaint photos and file attachments.</td><td><a href="/spaces/jXXjB2bSqCC6E6B5s39Y/pages/2Nc2PPMFbXgsjqisOpod">/spaces/jXXjB2bSqCC6E6B5s39Y/pages/2Nc2PPMFbXgsjqisOpod</a></td></tr><tr><td><strong>13 · Common Guidelines</strong></td><td>Cross-cutting configuration patterns and best practices reference.</td><td><a href="/spaces/jXXjB2bSqCC6E6B5s39Y/pages/nNJ7sDfAM3hmvfsNepzD">/spaces/jXXjB2bSqCC6E6B5s39Y/pages/nNJ7sDfAM3hmvfsNepzD</a></td></tr><tr><td><strong>14· WhatsApp Setup Guide</strong></td><td>Instructions for configuring the end-to-end WhatsApp notification ecosystem</td><td></td></tr></tbody></table>

***

## What's New — v2.11

{% hint style="success" %}
**CMS v2.11** adds a provider-agnostic notification layer, new configuration services, and stronger local setup tooling.
{% endhint %}

**Highlights:**

* **Provider-agnostic notifications** — Route SMS and WhatsApp through configurable providers without code changes.
* **New platform services** — Add **Config Service**, **User Preferences Service**, and **Novu Bridge**.
* **Bidirectional WhatsApp support** — Support consent, template resolution, and richer event payloads.
* **Improved setup and operations** — Add Docker Compose, Kind + Tilt, DataLoader v2, and broader test coverage.

For the full change log, build details, and known issues, use the release references below.

[Full Release Notes](/complaints-management/digit-complaints-management/release-notes.md) → [Service Build Updates](/complaints-management/digit-complaints-management/release-notes/mdms-configuration-and-service-build-updates.md) → [Test Cases](/complaints-management/digit-complaints-management/release-notes/test-cases.md) → [Migration Guide](/complaints-management/digit-complaints-management/release-notes/migration-guide.md)

***

## Key Concepts

{% hint style="info" %}
New to DIGIT CMS? These four concepts underpin everything else in the system.
{% endhint %}

<table data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Tenancy</strong></td><td>How ULBs and states are isolated. Each tenant has its own data, configuration, and user base within a shared DIGIT instance.</td><td><a href="/spaces/jXXjB2bSqCC6E6B5s39Y/pages/pSZt13Rc7T46i6w2ViCP">/spaces/jXXjB2bSqCC6E6B5s39Y/pages/pSZt13Rc7T46i6w2ViCP</a></td></tr><tr><td><strong>Boundary Hierarchy</strong></td><td>State → District → ULB → Ward → Zone. Complaint locations and assignment routing depend on this hierarchy being correctly configured.</td><td><a href="/spaces/jXXjB2bSqCC6E6B5s39Y/pages/J4nyEv267BwmGIi3L4uz">/spaces/jXXjB2bSqCC6E6B5s39Y/pages/J4nyEv267BwmGIi3L4uz</a></td></tr><tr><td><strong>Masters List</strong></td><td>All MDMS master configurations — departments, complaint categories, service codes, and DIGIT-specific data structures that drive the system.</td><td><a href="/spaces/jXXjB2bSqCC6E6B5s39Y/pages/gI0P8KuwS2Z8uKr9MGHe">/spaces/jXXjB2bSqCC6E6B5s39Y/pages/gI0P8KuwS2Z8uKr9MGHe</a></td></tr><tr><td><strong>Default Data Handler</strong></td><td>Provides baseline master data on installation so v2.11 works out of the box with minimal manual MDMS setup.</td><td><a href="/spaces/jXXjB2bSqCC6E6B5s39Y/pages/YJ6jBlRdmMQecNeOTC9b">/spaces/jXXjB2bSqCC6E6B5s39Y/pages/YJ6jBlRdmMQecNeOTC9b</a></td></tr></tbody></table>

***

## Community Resources

<table data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>⭐ Source Code</strong></td><td>Full CMS codebase on GitHub — frontend React micro-frontends and backend Spring Boot microservices.</td><td><a href="https://github.com/egovernments/Citizen-Complaint-Resolution-System/tree/master/">https://github.com/egovernments/Citizen-Complaint-Resolution-System/tree/master/</a></td></tr><tr><td><strong>🗺️ Roadmap</strong></td><td>Planned features, upcoming releases, and the long-term direction for the CMS module.</td><td><a href="/spaces/jXXjB2bSqCC6E6B5s39Y/pages/iqC7gQq8Dxxv2txVZA55">/spaces/jXXjB2bSqCC6E6B5s39Y/pages/iqC7gQq8Dxxv2txVZA55</a></td></tr><tr><td><strong>🧪 Try the Sandbox</strong></td><td>Explore a live demo of CMS without any setup. Includes citizen and employee interfaces.</td><td><a href="https://sandbox.digit.org/sandbox-ui/">https://sandbox.digit.org/sandbox-ui/</a></td></tr></tbody></table>

{% embed url="<https://egov.org.in/contact-us/>" %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.digit.org/complaints-management/digit-complaints-management.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
