Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

Overview

The main objective of the Fire-NOC module is to provide No Objection Certificate indicating that the building is designed as per fire safety norms and regulation.

Pre-requisites

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

  • Prior knowledge of JavaScript.

  • Prior knowledge of Node.js platform.

  • Kafka server is up and running

  • JSONPath for filtering required data from json objects.

  • Prior Knowledge of REST APIs and related concepts like path parameters, headers, JSON etc.

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

  • PSQL server is running  and database is created

  • Prior knowledge of eGov-mdms service, eGov-persister, eGov-user,  eGov-location, eGov-localization, eGov-idgen.

Key Functionalities

  • Used for No Objection Certificate generations indicating that the building is designed as per fire safety norms and regulation.

  • Generate application number and fire noc number

  • Support workflow

  • Provide notification on various status changes for an application

Interaction Diagram

To Do

Deployment Details

  1. Add mdms configs required for firenoc service and restart mdms service.

  2. Deploy the latest version of firenoc-services service.

  3. Add firenoc-services persister yaml path in persister configuration and restart persister service.

  4. Add Role-Action mapping for API’s.

  5. Create businessService (workflow configuration) according to firenoc registration.

Configuration Details

Following are the properties in application.properties file in trade firenoc-service which are configurable.

Property

Value

Remarks

EGOV_APPLICATION_FORMATE

PB-FN-[cy:yyyy-MM-dd]-[SEQ_EG_TL_APL]

The format of the firenoc application number

EGOV_CIRTIFICATE_FORMATE

PB-FN-[cy:yyyy-MM-dd]-[SEQ_EG_PT_LN]

The format of the firenoc certificate number

EGOV_DEFAULT_STATE_ID

pb

Variable store the default value of state tenantid

EGOV_FN_DEFAULT_LIMIT

100

Max number of records to be returned

KAFKA_TOPICS_FIRENOC_CREATE

save-fn-firenoc

The name of kafka topic on which create request are published

KAFKA_TOPICS_FIRENOC_UPDATE

update-fn-firenoc

The name of kafka topic on which update request are published

KAFKA_TOPICS_FIRENOC_WORKFLOW

update-fn-workflow

The name of kafka topic on which status update request are published

ACTION_PAY

PAY

This is workflow action for making payment against the application

SENDBACK

SENDBACK

This is workflow action for sending application to previous state of workflow.

SENDBACKTOCITIZEN

SENDBACKTOCITIZEN

This is workflow action for sending application to citizen for correction.

MDMS Configuration

Firenoc service makes calls to egov-mdms-service to fetch required masters. These are significant in validations of application.

Fire-NOC masters

Description

Application Type

This master contains the list of application type.

Building Type

This master contains the details about which unit of measurement is use for a particular building type.

FireStations

This master contains the list of firestation present in city.

PropertyType

This master contains the list of property type.

FireNocULBConstats

This master contains the list of minimum charges of each application type.

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

"BusinessServices": [
    {
      "tenantId": "pb",
      "businessService": "FIRENOC",
      "business": "fireNoc",
      "businessServiceSla": 172800000,
      "states": [
        {
          "sla": null,
          "state": null,
          "applicationStatus": null,
          "docUploadRequired": false,
          "isStartState": true,
          "isTerminateState": false,
          "actions": [
            {
              "action": "INITIATE",
              "nextState": "INITIATED",
              "roles": [
                "CITIZEN",
                "NOC_CEMP"
              ]
            }
          ]
        },
        {
          "sla": null,
          "state": "INITIATED",
          "applicationStatus": "INITIATED",
          "docUploadRequired": false,
          "isStartState": true,
          "isTerminateState": false,
          "actions": [
            {
              "action": "APPLY",
              "nextState": "PENDINGPAYMENT",
              "roles": [
                "CITIZEN",
                "NOC_CEMP"
              ]
            },
            {
              "action": "INITIATE",
              "nextState": "INITIATED",
              "roles": [
                "CITIZEN",
                "TL_CEMP"
              ]
            }
          ]
        },
        {
          "sla": null,
          "state": "PENDINGPAYMENT",
          "applicationStatus": "PENDINGPAYMENT",
          "docUploadRequired": false,
          "isStartState": false,
          "isTerminateState": false,
          "isStateUpdatable": false,
          "actions": [
            {
              "action": "PAY",
              "nextState": "DOCUMENTVERIFY",
              "roles": [
                "CITIZEN",
                "NOC_CEMP"
              ]
            },
            {
              "action": "ADHOC",
              "nextState": "PENDINGPAYMENT",
              "roles": [
                "NOC_CEMP"
              ]
            }
          ]
        },
        {
          "sla": 86400000,
          "state": "DOCUMENTVERIFY",
          "applicationStatus": "DOCUMENTVERIFY",
          "docUploadRequired": false,
          "isStartState": false,
          "isTerminateState": false,
          "isStateUpdatable": false,
          "actions": [
            {
              "action": "REJECT",
              "nextState": "REJECTED",
              "roles": [
                "NOC_DOC_VERIFIER"
              ]
            },
            {
              "action": "FORWARD",
              "nextState": "FIELDINSPECTION",
              "roles": [
                "NOC_DOC_VERIFIER"
              ]
            },
            {
              "action": "REFER",
              "nextState": "DOCUMENTVERIFY",
              "roles": [
                "NOC_DOC_VERIFIER"
              ]
            },
            {
              "action": "SENDBACKTOCITIZEN",
              "nextState": "CITIZENACTIONREQUIRED",
              "roles": [
                "NOC_DOC_VERIFIER"
              ]
            }
          ]
        },
        {
          "sla": null,
          "state": "REJECTED",
          "applicationStatus": "REJECTED",
          "docUploadRequired": false,
          "isStartState": false,
          "isTerminateState": true
        },
        {
          "sla": 86400000,
          "state": "FIELDINSPECTION",
          "applicationStatus": "FIELDINSPECTION",
          "docUploadRequired": false,
          "isStartState": false,
          "isTerminateState": false,
          "isStateUpdatable": false,
          "actions": [
            {
              "action": "REJECT",
              "nextState": "REJECTED",
              "roles": [
                "NOC_FIELD_INSPECTOR"
              ]
            },
            {
              "action": "SENDBACK",
              "nextState": "DOCUMENTVERIFY",
              "roles": [
                "NOC_FIELD_INSPECTOR"
              ]
            },
            {
              "action": "FORWARD",
              "nextState": "PENDINGAPPROVAL",
              "roles": [
                "NOC_FIELD_INSPECTOR"
              ]
            },
            {
              "action": "REFER",
              "nextState": "FIELDINSPECTION",
              "roles": [
                "NOC_FIELD_INSPECTOR"
              ]
            },
            {
              "action": "SENDBACKTOCITIZEN",
              "nextState": "CITIZENACTIONREQUIRED",
              "roles": [
                "NOC_FIELD_INSPECTOR"
              ]
            }
          ]
        },
        {
          "sla": 43200000,
          "state": "PENDINGAPPROVAL",
          "applicationStatus": "PENDINGAPPROVAL",
          "docUploadRequired": false,
          "isStartState": false,
          "isTerminateState": false,
          "isStateUpdatable": false,
          "actions": [
            {
              "action": "SENDBACK",
              "nextState": "FIELDINSPECTION",
              "roles": [
                "NOC_APPROVER"
              ]
            },
            {
              "action": "REFER",
              "nextState": "PENDINGAPPROVAL",
              "roles": [
                "NOC_APPROVER"
              ]
            },
            {
              "action": "APPROVE",
              "nextState": "APPROVED",
              "roles": [
                "NOC_APPROVER"
              ]
            },
            {
              "action": "REJECT",
              "nextState": "REJECTED",
              "roles": [
                "NOC_APPROVER"
              ]
            }
          ]
        },
        {
          "sla": null,
          "state": "APPROVED",
          "applicationStatus": "APPROVED",
          "docUploadRequired": false,
          "isStartState": false,
          "isTerminateState": false,
          "isStateUpdatable": false,
          "actions": [
            {
              "action": "CANCEL",
              "nextState": "CANCELLED",
              "roles": [
                "NOC_APPROVER"
              ]
            }
          ]
        },
        {
          "sla": null,
          "state": "CANCELLED",
          "applicationStatus": "CANCELLED",
          "docUploadRequired": false,
          "isStartState": false,
          "isTerminateState": true,
          "isStateUpdatable": false,
          "actions": null
        },
        {
          "sla": null,
          "state": "CITIZENACTIONREQUIRED",
          "applicationStatus": "CITIZENACTIONREQUIRED",
          "docUploadRequired": false,
          "isStartState": false,
          "isTerminateState": false,
          "isStateUpdatable": true,
          "actions": [
              {
                  "action": "RESUBMIT",
                  "nextState": "DOCUMENTVERIFY",
                  "roles": [
                      "CITIZEN",
                      "NOC_CEMP"
                  ]
              }
          ]
      }

      ]
    }
  ]

Persister Config:

https://github.com/egovernments/configs/blob/DEV/egov-persister/firenoc_persiter.yaml  

Id Gen Config: 

https://github.com/egovernments/egov-services/blob/noc/core/egov-idgen/src/main/resources/db/migration/main/V20190517152600__create_fn_sequence_ddl.sql

API Details

BasePath /firenoc-services/v1/[API endpoint]

Method

a) _create

Create API call is called with INITIATED action to create new application. In this API call we validate request body(using ajv module for contract specific validation and explicit checking for user related validation checks), enrich audit details, generate application no using idgen, persist data using persister and return response.

Allowed user roles: NOC_CEMP, CITIZEN

b) _update

Once application is created it can be updated by citizen or employee while taking action on application

Allowed user roles: NOC_CEMP, CITIZEN, NOC_DOC_VERIFIER, NOC_FIELD_INSPECTOR, NOC_APPROVER

c) _search

Search API call is used to search for application. If search call is being made by CITIZEN then only his application would be fetched applying other search filters. For employee search based on search filter will return data.

Allowed user roles: NOC_CEMP, CITIZEN, NOC_DOC_VERIFIER, NOC_FIELD_INSPECTOR, NOC_APPROVER, EMPLOYEE

Integration 

Integration Scope

The Fire-Noc service is use to provide No Objection Certificate indicating that the building is designed as per fire safety norms and regulation.

Integration Benefits

  • Provide backend support for the No Objection Certificate registration process for different building.

  • SMS notifications on application status changes.

  • Supports workflow which is configurable

Steps to Integration

To integrate, host of firenoc-services service should be overwritten in helm chart.

  1. firenoc-services/v1/_create should be added as the create endpoint for creating fire noc application in the system.

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

  3. firenoc-services/v1/_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

Title 

Link

API Swagger Documentation

Swagger Documentation

Firer Noc Calculator Service

To Do

API List

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

  • No labels

0 Comments

You are not logged in. Any changes you make will be marked as anonymous. You may want to Log In if you already have an account.