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 |
| This variable contains the kafka topic name which is used to create new sewerage connection application in the system. |
| This variable contains the kafka topic name which is used to update the existing v connection application in the system. |
| This variable contains the kafka topic name which is used to update the process instance of the sewerage connection application. |
| This variable contain the idgen format name for sewerage application |
| This variable contain the idgen format for sewerage application |
| This variable contain the idgen format name for sewerage connection |
| This variable contain the idgen format for sewerage connection |
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:
The indexer provides the facility for indexing the data to elastic search. https://github.com/egovernments/configs/blob/DEV/egov-indexer/sewerage-service.yml
Setup:
Write the configuration for sewerage service. https://github.com/egovernments/configs/blob/DEV/egov-indexer/sewerage-service.yml
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.
Put indexer config file to the config repo under egov-indexer folder.(https://github.com/egovernments/configs )
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
To integrate, host of sw-service module should be overwritten in helm chart.
/sw-services/swc/_create
should be added as the create endpoint for creating sewerage application/connection in the system/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/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 | |
Sewerage Calculator Service |
API List
Title | Link |
/sw-services/swc/_create | |
/sw-services/swc/_update | |
/sw-services/swc/_search |
(Note: All the API’s are in the same postman collection therefore same link is added in each row)