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

  1. Add mdms configs required for NOC Service and restart mdms service.

  2. Add workflow configs required for NOC Service and restart workflow service.

  3. Deploy the latest version of NOC Service.

  4. Add NOC Service persister yaml path in persister configuration and restart persister service

  5. 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

  1. To integrate, host of noc-services module should be overwritten in helm chart.

  2. 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 .

  3. 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 criteria

  4. noc-services/v1/noc/_update should be added as the update endpoint. On created NOC multiple assessments can be done by calling the noc-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

Swagger Documentation

Persister Configuration

Persister Config

API List

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