Noc Services
Overview
For every building plan application, there is a need to get the No objection certificate from concerned departments. Based on the configuration we have for the NOCs, for every application, there will be a set of NOCs required. There should be a provision to allow the NOC department user to login to our system and upload the required NOC. We are providing a user to one NOC department. Based on the workflow mode(online/offline) of each noc type, the NOC department user can perform action.
Online mode – NOC department user can login to system and approve/reject the application.
Offline mode – NOC application will be auto approved.
Pre-requisites
Before you proceed with the documentation, make sure the following pre-requisites are met -
Knowledge of Java/J2EE(preferably Java 8 version)
Knowledge of Spring Boot and spring-boot microservices.
Knowledge of Git or any version control system.
Knowledge of RESTful Web services.
Knowledge of the Lombok library will helpful.
knowledge of eGov-mdms service, eGov-persister, eGov-idgen, eGov-user, eGov-localization will be helpful.
Key Functionalities
NOC service module is used to apply NOC application for approval of respective noc users.
Configuration Details
Workflow Configuration
Fire Noc : Off Line configuration
{
"businessService": "FIRE_NOC_OFFLINE",
"business": "noc-services",
"businessServiceSla": 5184000000,
"tenantId": "pb",
"states": [
{
"sla": null,
"state": null,
"tenantId": "pb",
"applicationStatus": "INITIATED",
"docUploadRequired": false,
"isStartState": true,
"isTerminateState": false,
"isStateUpdatable": true,
"actions": [
{
"currentState": "null",
"action": "INITIATE",
"tenantId": "pb",
"nextState": "INITIATED",
"roles": [
"CITIZEN",
"BPA_ARCHITECT",
"BPA_ENGINEER",
"BPA_BUILDER",
"BPA_STRUCTURALENGINEER",
"BPA_TOWNPLANNER",
"BPA_SUPERVISOR"
]
}
]
},
{
"sla": null,
"state": "INITIATED",
"applicationStatus": "INPROGRESS",
"docUploadRequired": false,
"tenantId": "pb",
"isStartState": false,
"isTerminateState": false,
"isStateUpdatable": false,
"actions": [
{
"currentState": "INITIATED",
"action": "AUTO_APPROVE",
"tenantId": "pb",
"nextState": "AUTO_APPROVED",
"roles": [
"BPA_VERIFIER",
"BPA_FIELD_INSPECTOR",
"BPA_NOC_VERIFIER",
"BPA_APPROVER"
]
},
{
"currentState": "INITIATED",
"action": "VOID",
"tenantId": "pb",
"nextState": "VOIDED",
"roles": [
"BPA_VERIFIER",
"BPA_FIELD_INSPECTOR",
"BPA_NOC_VERIFIER",
"BPA_APPROVER"
]
}
]
},
{
"sla": null,
"state": "VOIDED",
"applicationStatus": "VOIDED",
"docUploadRequired": false,
"tenantId": "pb",
"isStartState": false,
"isTerminateState": true,
"isStateUpdatable": false,
"actions": null
},
{
"sla": null,
"state": "AUTO_APPROVED",
"applicationStatus": "AUTO_APPROVED",
"docUploadRequired": false,
"tenantId": "pb",
"isStartState": false,
"isTerminateState": true,
"isStateUpdatable": false,
"actions": null
}
]
}
Airport Authority Noc : Off Line configuration
{
"businessService": "AIRPORT_NOC_OFFLINE",
"business": "noc-services",
"tenantId": "pb",
"businessServiceSla": 5184000000,
"states": [
{
"sla": null,
"state": null,
"applicationStatus": "INITIATED",
"docUploadRequired": false,
"tenantId": "pb",
"isStartState": true,
"isTerminateState": false,
"isStateUpdatable": true,
"actions": [
{
"currentState": "null",
"action": "INITIATE",
"tenantId": "pb",
"nextState": "INITIATED",
"roles": [
"CITIZEN",
"BPA_ARCHITECT",
"BPA_ENGINEER",
"BPA_BUILDER",
"BPA_STRUCTURALENGINEER",
"BPA_TOWNPLANNER",
"BPA_SUPERVISOR"
]
}
]
},
{
"sla": null,
"state": "INITIATED",
"tenantId": "pb",
"applicationStatus": "INPROGRESS",
"docUploadRequired": false,
"isStartState": false,
"isTerminateState": false,
"isStateUpdatable": false,
"actions": [
{
"currentState": "INITIATED",
"action": "AUTO_APPROVE",
"tenantId": "pb",
"nextState": "AUTO_APPROVED",
"roles": [
"BPA_VERIFIER",
"BPA_FIELD_INSPECTOR",
"BPA_NOC_VERIFIER",
"BPA_APPROVER"
]
},
{
"currentState": "INITIATED",
"action": "VOID",
"tenantId": "pb",
"nextState": "VOIDED",
"roles": [
"BPA_VERIFIER",
"BPA_FIELD_INSPECTOR",
"BPA_NOC_VERIFIER",
"BPA_APPROVER"
]
}
]
},
{
"sla": null,
"state": "VOIDED",
"tenantId": "pb",
"applicationStatus": "VOIDED",
"docUploadRequired": false,
"isStartState": false,
"isTerminateState": true,
"isStateUpdatable": false,
"actions": null
},
{
"sla": null,
"state": "AUTO_APPROVED",
"tenantId": "pb",
"applicationStatus": "AUTO_APPROVED",
"docUploadRequired": false,
"isStartState": false,
"isTerminateState": true,
"isStateUpdatable": false,
"actions": null
}
]
}
Fire Noc : online configuration
{
"businessService": "FIRE_NOC_SRV",
"business": "noc-services",
"tenantId": "pb",
"businessServiceSla": 5184000000,
"states": [
{
"sla": null,
"state": null,
"applicationStatus": "INITIATED",
"docUploadRequired": false,
"isStartState": true,
"tenantId": "pb",
"isTerminateState": false,
"isStateUpdatable": true,
"actions": [
{
"currentState": "null",
"action": "INITIATE",
"tenantId": "pb",
"nextState": "INITIATED",
"roles": [
"CITIZEN",
"BPA_ARCHITECT",
"BPA_ENGINEER",
"BPA_BUILDER",
"BPA_STRUCTURALENGINEER",
"BPA_TOWNPLANNER",
"BPA_SUPERVISOR"
]
}
]
},
{
"sla": null,
"state": "INITIATED",
"applicationStatus": "INPROGRESS",
"docUploadRequired": false,
"tenantId": "pb",
"isStartState": false,
"isTerminateState": false,
"isStateUpdatable": false,
"actions": [
{
"currentState": "INITIATED",
"tenantId": "pb",
"action": "REJECT",
"nextState": "REJECTED",
"roles": [
"FIRE_NOC_APPROVER"
]
},
{
"currentState": "INITIATED",
"tenantId": "pb",
"action": "APPROVE",
"nextState": "APPROVED",
"roles": [
"FIRE_NOC_APPROVER"
]
},
{
"currentState": "INITIATED",
"action": "VOID",
"tenantId": "pb",
"nextState": "VOIDED",
"roles": [
"BPA_VERIFIER",
"BPA_FIELD_INSPECTOR",
"BPA_NOC_VERIFIER"
]
}
]
},
{
"sla": null,
"state": "REJECTED",
"tenantId": "pb",
"applicationStatus": "REJECTED",
"docUploadRequired": false,
"isStartState": false,
"isTerminateState": true,
"isStateUpdatable": false,
"actions": null
},
{
"sla": null,
"state": "APPROVED",
"tenantId": "pb",
"applicationStatus": "APPROVED",
"docUploadRequired": false,
"isStartState": false,
"isTerminateState": true,
"isStateUpdatable": false,
"actions": null
},
{
"sla": null,
"state": "VOIDED",
"tenantId": "pb",
"applicationStatus": "VOIDED",
"docUploadRequired": false,
"isStartState": false,
"isTerminateState": true,
"isStateUpdatable": false,
"actions": null
}
]
}
Airport Authority : online configuration
Database Schema
Deployment Details
Add mdms configs required for NOC Service and restart mdms service.
Add workflow configs required for NOC Service and restart workflow service.
Deploy the latest version of NOC Service.
Add NOC Service persister yaml path in persister configuration and restart persister service
Add Role-Action mapping for API’s.
Integration
Integration Scope
The NOC service is used to apply NOC application for approval of respective noc users.
Steps to Integration
To integrate, host of noc-services module should be overwritten in helm chart.
noc-services/v1/noc/_create
should be added as the create endpoint for creating NOC application in the system. The response contains the NOC object with its assigned application number .noc-services/v1/noc/_search
should be added as the search endpoint .This method handles all requests to search existing records depending on different search criterianoc-services/v1/noc/_update
should be added as the update endpoint. On created NOC multiple assessments can be done by calling thenoc-services/v1/noc/_update
api. Validations are carried out to verify the authenticity of the request and generate application fee which will be paid by the architect and gets approval number generated on approval .
Reference Docs
Doc Links
Title | Link |
API Swagger Documentation | |
Persister Configuration |
API List
Title | Link |
noc-services/v1/noc/_create | |
noc-services/v1/noc/_update | |
noc-services/v1/noc/_search |
(Note: All the API’s are in the same postman collection therefore same link is added in each row)