Sewerage Service

Overview

This is one of the major application of the egov stack which helps municipal and citizens to handle sewerage services like creating sewerage connection , searching sewerage connection, sewerage connection , also creating property if it doesn't exist and creating and updating workflow where depending on different roles of the logged-in user he/she can perform various actions like editing or perform document verification and many more specified in workflow documentation and SMS & email notification sent to owner for various actions performed in workflow. 

Pre-requisites

Before you proceed with the documentation, make sure the following pre-requisites are met -

  • Java 8

  • Kafka server is up and running

  • egov-persister service is running and has sewerage service persister config path added in it

  • PSQL server is running and database is created to store sewerage connection / application data

  • knowledge of eGov-mdms service, eGov-persister, eGov-idgen, eGov-sms, eGov-email,eGov-user, eGov-localization, eGov-workflow-service will be helpful.

Key Functionalities

The sewerage service provides multiple functionality starting from serving as a central repository where one can create sewerage connection, update sewerage connection, search for a particular sewerage connection based on different criterias like mobile number, sewerage connection nos etc. and also creating property if it doesnt exist ,creating and updating workflow where depending on different roles of the logged-in user he/she can perform various actions like editing or perform document verification and many more specified in workflow documentation and SMS & email notification sent to owner for various actions performed in workflow.The different services provided by the sewerage services are

  • Creating sewerage connection

  • Updating sewerage connection

  • Apply for Property creation.

  • Searching sewerage connection based on few criteria’s mentioned in swagger documentation later

  • Creating property if it doesn't exist

  • Creating and updating workflow. 

Environment Variables

Description

egov.sewarageservice.createconnection

This variable contains the kafka topic name which is used to create new sewerage connection application in the system.

egov.sewarageservice.updateconnection

This variable contains the kafka topic name which is used to update the existing v connection application in the system.

egov.sewerageservice.updatesewerageconnection.workflow.topic

This variable contains the kafka topic name which is used to update the process instance of the sewerage connection application.

egov.idgen.scapid.name

This variable contain the idgen format name for sewerage application

egov.idgen.scapid.format

This variable contain the idgen format for sewerage application
ex:- WS/[CITY.CODE]/[fy:yyyy-yy]/[SEQ_EGOV_COMMON]

egov.idgen.scid.name

This variable contain the idgen format name for sewerage connection

egov.idgen.scid.format

This variable contain the idgen format for sewerage connection
ex:- WS_AP/[CITY.CODE]/[fy:yyyy-yy]/[SEQ_EGOV_COMMON]

Interaction Diagram:

To Do

Table UML Diagram:

 

Configuration Details

Mdms configuration:

https://github.com/egovernments/egov-mdms-data/tree/DEV/data

sw-services-calculation PropertyTax

master-config.json for sewerage service

sw-services-calculation": { "Interest": { "masterName": "Interest", "isStateLevel": true, "uniqueKeys": [ "$.fromFY" ] }, "Rebate": { "masterName": "Rebate", "isStateLevel": true, "uniqueKeys": [ "$.fromFY" ] }, "Penalty": { "masterName": "Penalty", "isStateLevel": true, "uniqueKeys": [ "$.fromFY" ] }, "SCBillingSlab": { "masterName": "SCBillingSlab", "isStateLevel": true, "uniqueKeys": [] }, "billingPeriod": { "masterName": "billingPeriod", "isStateLevel": true, "uniqueKeys": [ "$.billingCycle" ] }, "SW_CHARGE": { "masterName": "SW_CHARGE", "isStateLevel": true, "uniqueKeys": [] }, "SW_TIME_PENALTY": { "masterName": "SW_TIME_PENALTY", "isStateLevel": true, "uniqueKeys": [] }, "SW_Round_Off": { "masterName": "SW_Round_Off", "isStateLevel": true, "uniqueKeys": [] }, "PlotSizeSlab": { "masterName": "PlotSizeSlab", "isStateLevel": true, "uniqueKeys": [] }, "PropertyUsageType": { "masterName": "PropertyUsageType", "isStateLevel": true, "uniqueKeys": [] }, "FeeSlab": { "masterName": "FeeSlab", "isStateLevel": true, "uniqueKeys": [] }, "RoadType": { "masterName": "RoadType", "isStateLevel": true, "uniqueKeys": [] }, "CalculationAttribute": { "masterName": "CalculationAttribute", "isStateLevel": true, "uniqueKeys": [] } }

Property creation through WNS module
https://github.com/egovernments/egov-mdms-data/blob/DEV/data/pb/PropertyTax/PTWorkflow.json

Persister configuration:
https://github.com/egovernments/configs/blob/qa/egov-persister/sewerage-persist.yml

 

Actions & Role Action Mapping


Actions

[ { "id": {{PLACEHOLDER1}}, "name": "Create Sewerage Connection", "url": "/sw-services/swc/_create", "displayName": "Create Sewerage Connection", "orderNumber": 0, "enabled": false, "serviceCode": "sw-services", "code": "null", "path": "" }, { "id": {{PLACEHOLDER2}}, "name": "Update Sewerage Connection", "url": "/sw-services/swc/_update", "displayName": "Update Sewerage Connection", "orderNumber": 0, "enabled": false, "serviceCode": "sw-services", "code": "null", "path": "" }, { "id": {{PLACEHOLDER3}}, "name": "Search Sewerage Connection", "url": "/sw-services/swc/_search", "displayName": "Search Sewerage Connection", "orderNumber": 0, "enabled": false, "serviceCode": "sw-services", "code": "null", "path": "" } ]


Role Action Mapping


 

Workflow business service config:

Create businessService (workflow configuration) using the  /businessservice/_create. Following is the product configuration for sewerage service

 

Workflow for property creation through Water and Sewerage Module

 

Indexer config for sewerage-service:

Setup:

  1. Write the configuration for sewerage service. https://github.com/egovernments/configs/blob/DEV/egov-indexer/sewerage-service.yml

  2. Provide the absolute path of the checked-in file to DevOps, to add it to the file-read path of egov-indexer. The file will be added to the egov-indexer's environment manifest file for it to be read at the start-up of the application.

  3. Put indexer config file to the config repo under egov-indexer folder.(GitHub - egovernments/configs )

  4. Run the egov-indexer app, Since it is a consumer, it starts listening to the configured topics and indexes the data.

 

Modify connection:

After connection activation or legacy connection, we can edit the connection. This process based on defined workflow. Any action is based on defined roles on the action level. For edit connection, we need to upload some supporting documents and mandatory info.

Workflow config for edit connection:

Create businessService (workflow configuration) using the  /businessservice/_create. Following is the product configuration for editing sewerage connection.

Notification :

Notification will be sent to the property owners and connection holders based on different application states.

Capturing connection holders :

We can add connection holders to the sewerage connection which will be the owner of the connection. We can fill the connection holders' details or we can just make the property owner to the connection holder.

The connection holder will get notification based on a different state of the application. We are pushing the data of the connection holders in the user service too.

Multiple Road Type Support
We can add road cutting details of multiple roads to the sewerage connection. For each road which goes under cutting process we have to fill their road type details and road cutting area.
Based on this information, application one time fee estimate is calculated.

Integration 

Integration Scope

This sw-service module is use to manage sewerage service connections against a property in the system.

Integration Benefits

  • Provide backend support for the different sewerage connection registration process.

  • Mseva and SMS notifications on application status changes.

  • Elastic search index for creating visualisations and Dashboards.

  • Supports workflow which is configurable

Steps to Integration

  1. To integrate, host of sw-service module should be overwritten in helm chart.

  2.  /sw-services/swc/_create should be added as the create endpoint for creating sewerage application/connection in the system

  3.  /sw-services/swc/_search should be added as the search endpoint .This method handles all requests to search existing records depending on different search criteria

  4.  /sw-services/swc/_update should be added as the update endpoint. This method is used to update fields in existing records or to update status of application based on workflow.

Reference Docs

Doc Links

Title 

Link

API Swagger Documentation

Swagger Documentation

Sewerage Calculator Service

https://digit-discuss.atlassian.net/l/c/vGpEzt2Q

API List

(Note: All the API’s are in the same postman collection therefore same link is added in each row)