Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • kafka topics persister configs for eGov persister to save and update BPA Data

    • persister.save.buildingplan.topic=save-bpa-buildingplan

    • persister.update.buildingplan.topic=update-bpa-buildingplan

    • persister.update.buildingplan.workflow.topic=update-bpa-workflow

    • persister.update.buildingplan.adhoc.topic=update-bpa-adhoc-buildingplan

  • Receipt kafka topics where BPA application listens to move the application Status after payment completion

    • kafka.topics.receipt.create=egov.collection.payment-create

  • Config for Demand Business service codes for different fees to be paid for BPA

    • egov.receipt.businessservice=

      • BPA.NC_APP_FEE := Building Plan Approval Application Fee

      • BPA.NC_SAN_FEE := Building Plan Approval Sanction Fee

      • BPA.LOW_RISK_PERMIT_FEE := Building Plan Approval Low Risk Permit Fee

      • BPA.NC_OC_APP_FEE := Building Plan Approval Occupancy Certificate Application Fee

      • BPA.NC_OC_SAN_FEE := Building Plan Approval Occupancy Certificate Sanction Fee

  • Application and Permit Number Formats

    • egov.idgen.bpa.applicationNum.format=PB-BP-[cy:yyyy-MM-dd]-[SEQ_EG_BP_APN]

    • egov.idgen.bpa.permitNum.format=PB-BP-[cy:yyyy-MM-dd]-[SEQ_EG_BP_PN]

  • SMS Notification Topic to push the SMS and Notification’s to be sent by BPA module

    • kafka.topics.notification.sms=egov.core.notification.sms

  • Payment Notification Config

    • egov.ui.app.host=https://egov-micro-dev.egovernments.org

    • egov.usr.events.create.topic=persist-user-events-async

    • egov.usr.events.pay.link=citizen/otpLogin?mobileNo=$mobile&redirectTo=egov-common/pay?consumerCode=$applicationNo&tenantId=$tenantId&businessService=$businessService

    • egov.usr.events.pay.code=PAY

  • List of Application Statuses on which payment notification to be sent

    • egov.usr.events.pay.triggers=PENDING_SANC_FEE_PAYMENT,PENDING_APPL_FEE,PENDING_FEE

  • Validity of the permit order generated in no of months

    • egov.bpa.validity.date.in.months=36

  • Workflow code for the combination of applicationType , ServiceType

    • appSrvTypeBussSrvCode={"BUILDING_PLAN_SCRUTINY":{"NEW_CONSTRUCTION":"BPA,BPA_LOW"},"BUILDING_OC_PLAN_SCRUTINY":{"NEW_CONSTRUCTION":"BPA_OC"}}

  • Application Status on which SKIP_PAYMENT action to be considered

    • egov.bpa.skippayment.status=PENDING_APPL_FEE,PENDING_SANC_FEE_PAYMENT,PENDING_FEE

  • Business Service Code for WorkflowCode and Application Status

    • workflowStatusFeeBusinessSrvMap={"BPA":{"PENDING_APPL_FEE":"BPA.NC_APP_FEE","PENDING_SANC_FEE_PAYMENT":"BPA.NC_SAN_FEE"},"BPA_LOW":{"PENDING_FEE":"BPA.LOW_RISK_PERMIT_FEE"},"BPA_OC":{"PENDING_APPL_FEE":"BPA.NC_OC_APP_FEE","PENDING_SANC_FEE_PAYMENT":"BPA.NC_OC_SAN_FEE"}}

external API references:

  • egov-user - ( Manage user )

  • tl-services - Stakeholder Registration ( Registration process of Stakeholder is handled by this service )

  • egov-user-event ( What’s New and Events )

  • egov-filestore ( To store the documents uploaded by the user )

  • egov-idgen ( To generate the application No, Permit No )

  • egov-indexer ( To index the bpa data )

  • egov-localization ( To use the localized messages )

  • egov-location ( To store the NOC application Integration configs

    • Config to validate the status of applicable noc’s status to allow application to move forward from NOC_VERIFICATION_PENDING Workflow State

      • validate.required.nocs.statuses=APPROVED,AUTO_APPROVED,REJECTED,VOIDED

    • NOC workflow initiate action code to initiate the workflow of the NOC when appliation reachers the respective nocTrigerState

      • egov.noc.initiate.action=INITIATE

    • NOC workflow void action code to void the applicable NOC’s, when the application moved to REJECTED State

      • egov.noc.void.action=VOID

    • NOC workflow action coes for AutoAprove to auto approve offline NOC , while moving from NOC_VERIFICATION_PENDING to next state

      • egov.noc.autoapprove.action=AUTO_APPROVE

external API references:

  • egov-user - ( Manage user )

  • tl-services - Stakeholder Registration ( Registration process of Stakeholder is handled by this service )

  • egov-user-event ( What’s New and Events )

  • egov-filestore ( To store the documents uploaded by the user )

  • egov-idgen ( To generate the application No, Permit No )

  • egov-indexer ( To index the bpa data )

  • egov-localization ( To use the localized messages )

  • egov-location ( To store the address locality )

  • egov-mdms ( Configurations/master data used in the application is served by MDMS )

  • egov-notification-sms ( Service to send SMS to the users involved in the application )

  • egov-persister ( Helps to persist the data )

  • egov-searcher ( Search query used to simply the search )

  • egov-workflow-v2 ( Workflow configuration for different BPA application is configured )

  • pdf-service ( Receipt’s, permitorder etc.. and prepared )

  • billing-service ( Create demands and bills for the fees to be collected )

  • collection-services ( Create receipt for the payment received for the bills )

  • bpa-calculator ( Calculates the fees to be collected at different stages)

  • land-services ( land information related to BPA application is stored )

  • dcr-services ( get and validate Edcr data )

  • noc-services ( NOC application )

Configuration:

BPA Specific Mdms configuration:

...

{

2. Used to configure the conditions for Approval Stage

Condition checkboxes to be shown before approve which can be considered as Conditions for Approval

MDMS Name

MDMS Path

Description

Example

ServiceType

ServiceType

Values for ServiceType Dropdown

NA

Application Type

ApplicationType

Values for Application Type Dropdown

NA

Occupancy Type

OccupancyType

Values for Occupancy Type Dropdown

NA

SubOccupancy Type

SubOccupancyType

Values for SubOccupancy Type Dropdown

NA

DocumentTypeMapping

DocumentTypeMapping

List’s out the documents required at the given stage of the application for Given ApplicationType, ServiceType, RiskType and WorklowState.

In the docTypes we have

  • Order - Indicates the sequence of the document

  • Code - Refers to the DocumentType parentGroup from DocumentTypes from common masters MDMS

  • allow - Indicates allow to edit

  • required - Mandatory at given stage

Code Block
{
      "applicationType": "BUILDING_PLAN_SCRUTINY",
      "ServiceType": "NEW_CONSTRUCTION",
      "RiskType": "LOW",
      "WFState": "INPROGRESS",
      "docTypes": [
        {
          "code": "APPL.IDENTITYPROOF",
          "required": false,
          "allow": "false",
          "order": 1
        },
        {
          "code": "APPL.ADDRESSPROOF",
          "required": true,
          "allow": "true",
          "order": 2
        }
        ]}

Above example indicates Documents from the common-master documentTypes starting with code(s) in the above example should be displayed in BPA Application UI when the Application of ApplicationType -BUILDINGPLAN_SCRUTINY
ServiceType- NEW_CONSTRUCTION
RiskType- LOW
Workflow State - INPROGRESS

Out of this,
IDENTITY documentType is not allowed to upload in this stage and not mandatory.
ADDRESSPROOF documentType is allowed to upload in this stage and mandatory to move forward from this stage.

CalculationType

CalculationType

Used by bpa-calculator Service which Defines the Fee to be collected for Given ApplicationType, ServiceType, RiskType and feeType

Code Block
  {
      "applicationType": "BUILDING_PLAN_SCRUTINY",
      "serviceType": "ALL",
      "riskType": "LOW",
      "feeType": "SanctionFee",
      "amount": 500
    }, {
      "applicationType": "BUILDING_PLAN_SCRUTINY",
      "serviceType": "NEW_CONSTRUCTION",
      "riskType": "ALL",
      "feeType": "ApplicationFee",
      "amount": 120
    }, {
      "applicationType": "BUILDING_PLAN_SCRUTINY",
      "serviceType": "NEW_CONSTRUCTION",
      "riskType": "LOW",
      "feeType": "Low_ApplicationFee",
      "amount": 100
    },

From the above example

  1. indicates SanctionFee is Rs 500 for applicationType=BuildingPlanScrutiny, RiskType=LOW and any ServiceType

  2. indicates applicationFee is Rs 120 for applicationType=BuildingPlanScrutiny, ServiceType=NEW_CONSTRUCTION and any RiskType

    1. indicates applicationFee is Rs 100 for applicationType=BuildingPlanScrutiny, ServiceType=NEW_CONSTRUCTION and RiskType=LOW

RiskTypeComputation

RiskTypeComputation

Helps to Defines the RiskType of the Application based on the building Height and plotArea received from the EDCR System

Code Block
 {"fromPlotArea": 500,
    "toPlotArea": 9999999999,
    "fromBuildingHeight": 15,
    "toBuildingHeight":9999999999,
    "riskType": "HIGH",
    "note": "(Heigh 15 Mt or More) or ( Plot area >=800 sq.Mt)"
        }
        

CheckList

CheckList

  1. Used to Define the List of Questions and Documents to be attached on Field Inspection Pending Stage by Field Inspector.

The Example indicates

Four Questions with fieldType “YES/NO/NA“ ( Which indicates that field of type dropdown with Yes, NO and NA options) should be asked.

Readable question will be available in

Code Block
  1. Field Inspection Questions & Documents

Code Block
{
      "applicationType": "BUILDING_PLAN_SCRUTINY",
      "ServiceType": "NEW_CONSTRUCTION",
      "RiskType": "LOW",
      "WFState": "FIELDINSPECTION_PENDING",
      "questions": [
        {
          "question": "RIVER_EXISTS_ON_SITE",
          "fieldType": "YES/NO/NA",
          "active": true
        },
        {
          "question": "TREE_EXISTS_ON_SITE",
          "fieldType": "YES/NO/NA",
          "active": true
        },
        {
          "question": "PLAN_AS_PER_THE_SITE",
          "fieldType": "YES/NO/NA",
          "active": true
        },
        {
          "question": "ROADWIDTH_AS_PER_THE_PLAN",
          "fieldType": "YES/NO/NA",
          "active": true
        }
      ],
      "docTypes": [
        {
          "code": "FI.FIR",
          "required": true
        },
        {
          "code": "FI.SINS",
          "required": true
        },
        {
          "code": "FI.SISS",
          "required": true
        },
        {
          "code": "FI.SIES",
          "required": true
        },
        {
          "code": "FI.SIWS",
          "required": true
        }
      ]
    }

Access MDMS Config

Action Test : URL Actions adding

...

2. Conditions for Approval Stage

Code Block

...

{
      "

...

applicationType": 

...

"BUILDING_PLAN_SCRUTINY",
      "

...

ServiceType": "

...

NEW_CONSTRUCTION",
      "

...

RiskType": "

...

HIGH",
      "

...

WFState": "

...

PENDINGAPPROVAL",
      "

...

conditions": 

...

[
      "

...

The development shall be undertaken strictly according to plans enclosed with necessary permission endorsement.",
      "

...

The land in question must be in lawful ownership and peaceful possession of the applicant.",
      

...

"

...

The permission is valid for period of X(this is the validity period in years) years with effect from the date of issue.",
      "

...

Permission accorded under the provision cannot be construed as evidence in respect of right title interest of the plot over which the plan is approved.",
      "

...

Any dispute arising out of land record or in respect of right/ title/ interest after this approval the plan shall be treated automatically cancelled during the period of dispute.",
      

...

"

...

Adequate safety precaution shall be provided at all stages of construction for safe guarding the life of workers and any public hazard.",
      "

...

The land/ Building shall be used exclusively for the above occupancy for which you applied and the uses shall not be changed to any other use without prior approval of this Authority.",
      "

...

Adequate space mentioned in the approved plan shall be kept open for parking and no part of it will be built upon.",
      "

...

The land over which construction is proposed is accessible by an approved means of access with sufficient road width."
      

...

]
    

...

}

NocTypeMapping

NocTypeMaping

Mapping of the NOC Types applicable for BPA ApplicationType, ServiceType and riskType

From the Example

AIRPORT_AUTHORITY, NOC_FIRE NOC’s are applicable for applicationType → BULDING_PLAN_SCRUTINY

serviceType-> NEW_CONSTRUCTION

riskType-> ALL ( Any )

NocTypes-> list out the NOC Type object

and NOC Applications get created when BPA is created by the NOC’s Workflow would be initiated when the BPA application Status is equl to the nocTriggerState configured. ( According to this example, when the application status changes to Citizen Approval Pending, all the NOc’s workflow would be initiated)

Code Block
{
      "

...

applicationType": "

...

BUILDING_PLAN_SCRUTINY",
      "

...

serviceType": "

...

NEW_CONSTRUCTION",
      "

...

riskType": 

...

"ALL",
      "

...

nocTriggerState": 

...

"CITIZEN_APPROVAL_INPROCESS",
      "

...

nocTypes":

...

 [
        {
  

...

 

...

       "

...

type": "AIRPORT_AUTHORITY",
    

...

Access to the Roles for the above Actions

roleacton.json

...

      "

...

required": 

...

true
       

...

 

...

},
      

...

  {
          "

...

type": "

...

FIRE_NOC",
   

...

       "

...

required": 

...

false
      

...

 

...

 }
     

...

 ]
    

...

}

Access MDMS Config

Action Test : URL Actions adding

action-test.json

Code Block
  {
   },   "id": 1971,
{       "rolecodename": "BPA_BUILDER-PermitOrderEDCR Report",
      "actionidurl": 1971"/bpa-services/v1/bpa/_permitorderedcr",
      "actioncodedisplayName": "Apply",
      "tenantIdorderNumber": "pb"
0,
   },     {"enabled": false,
      "rolecodeserviceCode": "BPA_STRUCTURALENGINEER",
      "actionidcode": 1971"null",
      "actioncodepath": "",
    }, {
 "tenantId": "pb"    "id": }1975,
   
{       "rolecodename": "BPA_SUPERVISOR",Locality searcher endpoint for    "actionid": 1971BPA",
      "actioncodeurl": "/egov-searcher/locality/bpa-services/_get",
      "tenantIddisplayName": "pb"BPA locality searcher",
  },     {"orderNumber": 0,
      "rolecodeenabled": "BPA_VERIFIER"false,
      "actionidserviceCode": 1971"egov-searcher",
      "actioncodecode": "null",
      "tenantIdpath": "pb"
    },
    {
      "rolecodeid": "BPA_FIELD_INSPECTOR"1924,
      "actionidname": 1971"BPA-Applyforservice",
      "actioncodeurl": "/bpa-services/v1/bpa/_create",
      "tenantIddisplayName": "pbApply",
    },     {"orderNumber": 0,
      "rolecodeenabled": "BPA_NOC_VERIFIER"false,
      "actionidserviceCode": 1971"BPA",
      "actioncodecode": "null",
      "tenantIdpath": "pb"
    },
    {
      "rolecodeid": "BPA_APPROVER"1930,
      "actionidname": 1971"BPA-applicationsearch",
      "actioncodeurl": "/bpa-services/v1/bpa/_search",
      "tenantIddisplayName": "pbSearch",
    },     {"orderNumber": 0,
      "rolecodeenabled": "BPA_ARCHITECT"false,
      "actionidserviceCode": 1971"BPA",
      "actioncodecode": "null",
      "tenantIdpath": "pb"
    },
    {
      "rolecodeid": "CITIZEN"1931,
      "actionidname": 1971"BPA-updateapplicationservice",
      "actioncodeurl": "/bpa-services/v1/bpa/_update",
      "tenantIddisplayName": "pbApply",
    },     {"orderNumber": 0,
       "rolecodeenabled": "BPA_ENGINEER"false,
      "actionidserviceCode": 1971"BPA",
      "actioncodecode": "null",
      "tenantIdpath": "pb"
    },
     

Access to the Roles for the above Actions

roleacton.json

Code Block
{
      "rolecode": "BPA_VERIFIERCEMP",
      "actionid": 19751971,
      "actioncode": "",
      "tenantId": "pb"
    },
    {
      "rolecode": "BPA_FIELD_INSPECTORTOWNPLANNER",
      "actionid": 19751971,
      "actioncode": "",
      "tenantId": "pb"
    },
    {
      "rolecode": "BPA_NOC_VERIFIERBUILDER",
      "actionid": 19751971,
      "actioncode": "",
      "tenantId": "pb"
    },
    {
      "rolecode": "BPA_APPROVERSTRUCTURALENGINEER",
      "actionid": 19751971,
      "actioncode": "",
      "tenantId": "pb"
    },

    {
      "rolecode": "BPA_ARCHITECTSUPERVISOR",
      "actionid": 19241971,
      "actioncode": "",
      "tenantId": "pb"
    },
    {
      "rolecode": "BPA_ARCHITECTVERIFIER",
      "actionid": 19311971,
      "actioncode": "",
      "tenantId": "pb"
    },
    {
      "rolecode": "CITIZENBPA_FIELD_INSPECTOR",
      "actionid": 19311971,
      "actioncode": "",
      "tenantId": "pb"
    },
    {
      "rolecode": "BPA_NOC_VERIFIER",
      "actionid": 19311971,
      "actioncode": "",
      "tenantId": "pb"
    },
    {
      "rolecode": "BPA_APPROVER",
      "actionid": 19311971,
      "actioncode": "",
      "tenantId": "pb"
    },
     {
      "rolecode": "BPA_FIELD_INSPECTORARCHITECT",
      "actionid": 19311971,
      "actioncode": "",
      "tenantId": "pb"
    },
    {
      "rolecode": "BPA_NOC_VERIFIERCITIZEN",
      "actionid": 19311971,
      "actioncode": "",
      "tenantId": "pb"
    },
    {
      "rolecode": "BPA_ARCHITECTENGINEER",
      "actionid": 19301971,
      "actioncode": "",
      "tenantId": "pb"
    },
     {
      "rolecode": "BPA_VERIFIER",
      "actionid": 19301975,
      "actioncode": "",
      "tenantId": "pb"
    },
    {
      "rolecode": "CEMPBPA_FIELD_INSPECTOR",
      "actionid": 19301975,
      "actioncode": "",
      "tenantId": "pb"
    },
    {
      "rolecode": "BPA_APPROVERNOC_VERIFIER",
      "actionid": 19301975,
      "actioncode": "",
      "tenantId": "pb"
    },
    {
      "rolecode": "CITIZENBPA_APPROVER",
      "actionid": 19301975,
      "actioncode": "",
      "tenantId": "pb"
    },
{     {
      "rolecode": "BPA_FIELD_INSPECTORARCHITECT",
      "actionid": 19301924,
      "actioncode": "",
      "tenantId": "pb"
    },
    {
      "rolecode": "BPA_NOC_VERIFIERARCHITECT",
      "actionid": 19301931,
      "actioncode": "",
      "tenantId": "pb"
    },
    {
      "rolecode": "AIRPORT_AUTHORITY_APPROVERCITIZEN",
      "actionid": 19301931,
      "actioncode": "",
      "tenantId": "pb"
    },
    {
      "rolecode": "FIREBPA_NOC_APPROVERVERIFIER",
      "actionid": 19301931,
      "actioncode": "",
      "tenantId": "pb"
    },
    {
      "rolecode": "NOCBPA_DEPT_APPROVER",
      "actionid": 19301931,
      "actioncode": "",
      "tenantId": "pb"
    }

Billing Service MDMS Config

BusinessService.json

BusinessService Config for Fee’s to be collected

Application Fee, Sanction Fee BPA High/Medium Risk

Code Block
,
     {
      "businessServicerolecode": "BPA.NEWCONSTRUCTION_APPFIELD_FEEINSPECTOR",
      "codeactionid": "BPA.NC_APP_FEE"1931,
      "collectionModesNotAllowedactioncode": ["",
       "tenantId": "DDpb"
    },
    ],{
      "partPaymentAllowedrolecode": false"BPA_NOC_VERIFIER",
      "isAdvanceAllowedactionid": false1931,
      "isVoucherCreationEnabledactioncode": true"",
      "isActivetenantId": true"pb"
    },
    {
      "businessServicerolecode": "BPA.NEWCONSTRUCTION_SANC_FEEARCHITECT",
      "codeactionid": "BPA.NC_SAN_FEE"1930,
      "collectionModesNotAllowedactioncode": ["",
      "tenantId":  "DDpb"
      ]},{
      "partPaymentAllowedrolecode": false"BPA_VERIFIER",
      "isAdvanceAllowedactionid": false1930,
      "isVoucherCreationEnabledactioncode": true"",
      "isActivetenantId": true"pb"
    },
    

Application Fee, Sanction Fee for BPA Low Risk

...

{
      "

...

rolecode": "

...

CEMP",
      "

...

actionid": 

...

1930,
      "

...

actioncode": 

...

"",
      "tenantId": 

...

"

...

pb"
    },
  

...

  {
      "

...

rolecode": 

...

"BPA_APPROVER",
      "

...

actionid": 

...

1930,
      "

...

actioncode": 

...

"",
      "

...

tenantId": 

...

"pb"
    },

...

Application Fee, Sanction Fee for BPA OC

...

  {
      "

...

rolecode": "

...

CITIZEN",
      "

...

actionid": 

...

1930,
      "

...

actioncode": 

...

"",
      "tenantId": 

...

"

...

pb"
    }, {

...

      

...

"

...

rolecode": 

...

"BPA_FIELD_INSPECTOR",
      "

...

actionid": 

...

1930,
      "

...

actioncode": 

...

"",
      "

...

tenantId": 

...

"pb"
    },
    {
      "

...

rolecode": "BPA

...

_

...

NOC_

...

VERIFIER",
      "

...

actionid": 

...

1930,
      "

...

actioncode": 

...

"",
      "tenantId": 

...

"

...

pb"
    

...

},{
      "

...

rolecode": 

...

"AIRPORT_AUTHORITY_APPROVER",
      "

...

actionid": 

...

1930,
      "

...

actioncode": 

...

"",
      "

...

tenantId": 

...

"pb"
    }

...

TaxHead MDMS

TaxHeader.json

Tax Head for BPA High/Medium Risk

...

,
    {
      "

...

rolecode": "

...

FIRE_NOC_APPROVER",
      "

...

actionid": 

...

1930,
      "

...

actioncode": "

...

",
      "

...

tenantId": "

...

pb"
    },
   

...

 {
      "

...

rolecode": 

...

"NOC_DEPT_APPROVER",
      "

...

actionid": 

...

1930,
      "actioncode": "",
      "

...

tenantId": 

...

"pb"
    }

...

Billing Service MDMS Config

BusinessService.json

BusinessService Config for Fee’s to be collected

Application Fee, Sanction Fee BPA High/Medium Risk

Code Block
 {
      "

...

businessService": "BPA.NEWCONSTRUCTION_APP_FEE",
      "

...

code": "BPA.NC_

...

APP_FEE",
      "

...

collectionModesNotAllowed": 

...

[

...

 

...

       "

...

DD"
      ],
      "

...

partPaymentAllowed": false,
      "

...

isAdvanceAllowed": 

...

false,
      "

...

isVoucherCreationEnabled": 

...

true,
      "

...

isActive": 

...

true
    },
   

...

TaxHead config for BPA Low Risk

...

 {
      "

...

businessService": "BPA.NEWCONSTRUCTION_SANC_FEE",
      "

...

code": "BPA.

...

NC_

...

SAN_

...

FEE",
      "

...

collectionModesNotAllowed":

...

 [
        "DD"
      

...

],
      "

...

partPaymentAllowed": false,
      "

...

isAdvanceAllowed": 

...

false,
      "

...

isVoucherCreationEnabled": 

...

true,
      "

...

isActive": 

...

true
    },
    

Application Fee, Sanction Fee for BPA Low Risk

Code Block
{
      "categorybusinessService": "BPA.NEWCONSTRUCTION_LOW_RISK_PERMIT_FEE",
      "servicecode": "BPA.LOW_RISK_PERMIT_FEE",
      "namecollectionModesNotAllowed": "BPA[
Low Risk Permit Fees",      "DD"
      "code": "BPA_LOW_SANC_FEES"],
      "isDebitpartPaymentAllowed": false,
      "isActualDemandisAdvanceAllowed": truefalse,
      "orderisVoucherCreationEnabled": "1"true,
      "isRequiredisActive": falsetrue
    },

TaxHead config Application Fee, Sanction Fee for BPA OC

Code Block
 {
      "categorybusinessService": "BPA.NEWCONSTRUCTION_OC_APP_FEE",
      "servicecode": "BPA.NC_OC_APP_FEE",
      "namecollectionModesNotAllowed": "BPA[
Application fees",       "code": "BPA_OC_APPL_FEES"DD"
      ],
      "isDebitpartPaymentAllowed": false,
      "isActualDemandisAdvanceAllowed": truefalse,
      "orderisVoucherCreationEnabled": "1"true,
      "isRequiredisActive": falsetrue
    },
    {
      "categorybusinessService": "FEEBPA.NEWCONSTRUCTION_OC_SANC_FEE",
      "servicecode": "BPA.NC_OC_SAN_FEE",
      "namecollectionModesNotAllowed": "BPA[
Sanction fees",       "code": "BPA_OC_SANC_FEES"DD"
      ],
      "isDebitpartPaymentAllowed": false,
      "isActualDemandisAdvanceAllowed": truefalse,
      "orderisVoucherCreationEnabled": "2"true,
      "isRequiredisActive": falsetrue
    },

...

TaxHead MDMS

...

TaxPeriodTaxHeader.json

TaxPeriod MDMS Tax Head for BPA High/Medium Risk

Code Block
{
      "

...

category": 

...

"FEE",
      "

...

service": 

...

"BPA.NC_APP_FEE",
      "

...

name": "

...

BPA Application fees",
      "

...

code": "BPA

...

_

...

APPL_

...

FEES",
      "

...

isDebit": 

...

false,
      "

...

isActualDemand": 

...

true,
    

...

  

...

"order": "1",
      "

...

isRequired": false

...

    },
  

...

  {
      "

...

category": "

...

FEE",
      "service": "BPA.NC_SAN_FEE",
      "

...

name": "

...

BPA Sanction fees",
      "

...

code": "

...

TaxPeriod MDMS for BPA Low Risk

Code Block
{BPA_SANC_FEES",
      "fromDateisDebit": 1522540801000false,
      "toDateisActualDemand": 1838159999000true,
      "periodCycleorder": "FORTENYEARS2",
      "serviceisRequired": "BPA.LOW_RISK_PERMIT_FEE",false
    },
 "code": "BPA10YRS2018",
  

TaxHead config for BPA Low Risk

Code Block
 {
      "financialYearcategory": "2018-28"FEE",
      },

TaxPeriod Config for BPA OC

Code Block
{"service": "BPA.LOW_RISK_PERMIT_FEE",
      "fromDatename": 1522540801000 "BPA Low Risk Appllication Fees",
      "toDatecode": 1838159999000"BPA_LOW_APPL_FEES",
      "periodCycleisDebit": "FORTENYEARS"false,
      "serviceisActualDemand": "BPA.NC_OC_APP_FEE"true,
      "codeorder": "BPAOCAPP10YRS20181",
      "financialYearisRequired": "2018-28"false
    },
    {
      "fromDatecategory": 1522540801000"FEE",
      "toDateservice": 1838159999000"BPA.LOW_RISK_PERMIT_FEE",
      "periodCyclename": "FORTENYEARSBPA Low Risk Permit Fees",
      "servicecode": "BPA.NC_OCLOW_SANSANC_FEEFEES",
      "codeisDebit": "BPAOCSAN10YRS2018"false,
      "isActualDemand": true,
      "financialYearorder": "1",
  "2018-28"
    "isRequired": false
    },

ID Gen Config for BPA Numbers

idFormats.json

BPA Application Number format ConfigTaxHead config for BPA OC

Code Block
 {
      "

...

category":

...

 "FEE",
      "

...

service":

...

BPA Permit Number format Config

...

 "BPA.NC_OC_APP_FEE",
      "

...

name":

...

 "BPA Application fees",
      "

...

code":

...

 "BPA_OC_APPL_FEES",
   

...

BPA Receipt Number format config

...

   "isDebit": false,
      

...

"

...

isActualDemand": 

...

true,
      "order": "1",
      "

...

isRequired": 

...

false
    },
    {
      "

...

category": "

...

FEE",
      "

...

service": "

...

BPA.

...

NC_OC_

...

SAN_FEE",
    

...

BPA OC Receipt Number format config

Code Block
  {
  "name": "BPA Sanction fees",
      "formatcode": "BPA/OC/[CITY.CODE]/[fy:yyyy-yy]/[SEQ_EGOV_COMMON]_OC_SANC_FEES",
      "idnameisDebit": "bpa.nc_oc_app_fee.receipt.id"false,
    },  "isActualDemand": true,
 {       "formatorder": "BPA/OC/[CITY.CODE]/[fy:yyyy-yy]/[SEQ_EGOV_COMMON]2",
      "idnameisRequired": "bpa.nc_oc_san_fee.receipt.id"
    },

Persister configuration:

BPA Persister YAML

Indexer Configuration:

BPA Indexer YAML

Locality Search Configuration:

Setup the locality Search query in the localitySearcher.yml as new entry. Add RoleAction Test and Role Action for the URL /egov-searcher/locality/bpa-services/_get

...

 false
    },

TaxPeriod MDMS Config

TaxPeriod.json

TaxPeriod MDMS for BPA High/Medium Risk

Code Block
{
      "fromDate": 1522540801000,
       baseQuery"toDate": |1838159999000,
      "periodCycle": "FORTENYEARS",
Select row_to_json(result) from    "service": "BPA.NC_APP_FEE",
   (   "code": "BPA10YRS2018",
      select applicationNo as referenceNumber,locality from eg_bpa_buildingplan bpa"financialYear": "2018-28"
    },
    {
     INNER JOIN eg_land_Address ad ON ad.landInfoId = bpa.landid
   "fromDate": 1522540801000,
      "toDate": 1838159999000,
    ) result  $where"periodCycle": "FORTENYEARS",
      groupBy"service":  "BPA.NC_SAN_FEE",
      orderBy"code": "BPA10YRS2018",
   searchParams:   "financialYear": "2018-28"
   condition: AND },

TaxPeriod MDMS for BPA Low Risk

Code Block
{
      

...

"fromDate": 1522540801000,
     

...

 

...

"toDate": 

...

1838159999000,
      

...

"periodCycle": 

...

"FORTENYEARS",
      

...

"service": 

...

"BPA.LOW_RISK_PERMIT_FEE",
      "code": "BPA10YRS2018",

...

      

...

"financialYear": "2018-28"
    },

TaxPeriod Config for BPA OC

Code Block
{
      

...

Database Schema

...

Postman Collection

Workflow Configuration

BPA - Building Plan Approval Apply High/Medium Risk

BPA Low – Building Plan Approval Apply Low Risk

BPA OC - Building Plan Approval Occupancy Certificate Apply

"fromDate": 1522540801000,
      "toDate": 1838159999000,
      "periodCycle": "FORTENYEARS",
      "service": "BPA.NC_OC_APP_FEE",
      "code": "BPAOCAPP10YRS2018",
      "financialYear": "2018-28"
    },
    {
      "fromDate": 1522540801000,
      "toDate": 1838159999000,
      "periodCycle": "FORTENYEARS",
      "service": "BPA.NC_OC_SAN_FEE",
      "code": "BPAOCSAN10YRS2018",
      "financialYear": "2018-28"
    }

ID Gen Config for BPA Numbers

idFormats.json

BPA Application Number format Config

Code Block
{
      "idname":"egov.idgen.bpa.applicationNum",
      "format":"PB-BP-[cy:yyyy-MM-dd]-[SEQ_EG_BP_APN]"
    },

BPA Permit Number format Config

Code Block
{
      "idname":"egov.idgen.bpa.applicationNum",
      "format":"PB-BP-[cy:yyyy-MM-dd]-[SEQ_EG_BP_PN]"
    },

BPA Receipt Number format config

Code Block
 {
      "format": "BPA/[CITY.CODE]/[fy:yyyy-yy]/[SEQ_EGOV_COMMON]",
      "idname": "bpa.nc_app_fee.receipt.id"
    },
    {
      "format": "BPA/[CITY.CODE]/[fy:yyyy-yy]/[SEQ_EGOV_COMMON]",
      "idname": "bpa.nc_san_fee.receipt.id"
    },

BPA OC Receipt Number format config

Code Block
  {
      "format": "BPA/OC/[CITY.CODE]/[fy:yyyy-yy]/[SEQ_EGOV_COMMON]",
      "idname": "bpa.nc_oc_app_fee.receipt.id"
    },
    {
      "format": "BPA/OC/[CITY.CODE]/[fy:yyyy-yy]/[SEQ_EGOV_COMMON]",
      "idname": "bpa.nc_oc_san_fee.receipt.id"
    },

Persister configuration:

BPA Persister YAML

Indexer Configuration:

BPA Indexer YAML

Locality Search Configuration:

Setup the locality Search query in the localitySearcher.yml as new entry. Add RoleAction Test and Role Action for the URL /egov-searcher/locality/bpa-services/_get

Code Block
  - name: bpa-services
    query:
      baseQuery: |
        Select row_to_json(result) from
        (
          select applicationNo as referenceNumber,locality from eg_bpa_buildingplan bpa
          INNER JOIN eg_land_Address ad ON ad.landInfoId = bpa.landid
        ) result  $where
      groupBy:
      orderBy:
    searchParams:
      condition: AND
      params:
      - name: result.referenceNumber
        isMandatory: true
        jsonPath: $.searchCriteria.referenceNumber
        operator: 

    output:
      jsonFormat: {"ResponseInfo": {}}
      outJsonPath: $.Localities
      responseInfoPath: $.ResponseInfo

Database Schema

...

Postman Collection

Workflow Configuration

BPA - Building Plan Approval Apply High/Medium Risk

BPA Low – Building Plan Approval Apply Low Risk

BPA OC - Building Plan Approval Occupancy Certificate Apply

BPA and BPA OC Workflow Stages

BPA workflow configuration is for Building Plan Approval Apply High and Medium Risk Types.

BPA OC workflow configuration is for Building Plan Approval Occupancy Certificate irrespective of RiskTypes

Both the workflow flows as depicted below

...

In the above Flow Chart

  • Rectangle Indicates the Workflow State

  • Line connecting two states indicates the action

    • Action name is in black color text

    • User Role who can take action is in Blue color Text

Specific Configurations and How To’s

  • System allows to configure the Documents that can be visible, allowed to upload and Mandatory to move from the current state in DocumentTypeMapping MDMS as described in MDMS Details Table DocumentTypeMapping Row

  • Application Creation Sage

    • Process

      • DCR system is integrated to get the applicationType, serviceType and riskType based on the EDCR Number populated by the architect.

      • DCR system is integrated to validate the status of the EDCRNumber populated

      • New BPA or BPAOC application cannot be created if there is existing un ended( application status other than approved or rejected is considered as un ended) application with the same EDCR

    • How To add new Document

      • Should add new documentType group in DocumentTypeMapping MDMS with the applicable applicationType, serviceType, riskType, wfState (refere existing sample for understanding)

      • Can configure allow, required as well as order for each documentType

      • Make sure the new documentType added exists in documentType of common-masters

  • Initiated Stage

    • Process

      • NOC’s from the NocTypeMapping MDMS matching to the application data will get created

    • How To add new NocType

      • Should add new NOCType in NocTypeMapping MDMS

      • New NocType should add in noc-services applicatin as well

  • Citizen Approval Pending Stage

    • Process

      • According the example in the NocTypeMapping Data in the MDMS Details Table, Once BPA or BPA OC reaches this Staus all the Applicable Noc’s workflow would be initiated.

    • How to change NOC workflow initiation step

      • Should change the nocTriggerState in NocTypeMapping to the desired application status.

  • InProgress Stage

    • Process

      • Application fee Demand gets generated by the bpa-calculator

      • Notification to the Stakeholder and owner will be sent regarding the fee payment

    • How To change the Fee Amount

      • Will be discussed in bpa-calculator service

  • Document Verification Pending Stage

    • Process

      • Nothing Specific

    • How To

      • NA

  • FieldInspection Pending Stage

    • Process

      • At this stage FieldInspector should answers the checklist questions and attached the documents which will be configured in checklist MDMS, as described in MDMS Details Table CheckList Row

      • Field Inspector can create multiple FieldInspection Reports

    • How to add new questions and documents

      • Should add/modify the questions for the desired combination of applicationType, serviceType, risktype

      • with the localization code for question text

      • specify the fieldType ( ass of now only YES/NO/NA only supported )

      • Should add/modify documents for the desired combination of applicationType, serviceType, risktype

  • Noc Verification Pending State

    • Process

      • NOC verifier can upload the Documents to the NOC application’s if available.

      • Offline Noc’s would get autoapproved while NOC verifier is forwarding the BPA or BPAOC application from the current state

      • BPA or BPAOC application cannot be forwarded if any NOC is not in matching the status configured for validate.required.nocs.statuses in application.properties

    • How to change the NOC application status to be verified to move forward

      • should update the validate.required.nocs.statuses property in value in application.properties with the list of status to be considered to move forward

  • Approval Pending Stage

    • Process

      • Approver can select the predefined conditions for approval updated in CheckList MDMS, as described in MDMS Details Table checkList Row

      • Approver can add new conditions as well for approval

      • Sanction fee Demand gets generated by the bpa-calculator

      • Notification to the Stakeholder and owner will be sent regarding the fee payment

    • How to add/remove/modify conditions

      • Should add/modify the conditions array for the desired combination of applicationType, serviceType, riskType

  • Approved Stage

    • Process

      • System generates PermitOrder for the application

      • System Stamps the validate date for the permit Order by adding the no of months configured for the property egov.bpa.validity.date.in.months in application.properties

    • How to change the valdity period of the permit order which will generate from now

      • Change the value of the property egov.bpa.validity.date.in.months in application.properties file to the desired no of months

    • How to change Permit Order

      • Can be changed by changing the data and format configs of the permit order , please refer PDF’s section of Permit Order

  • Rejected Stage

    • Process

      • NA

BPA LOW Workflow

BPA with riskType low has separate workflow, which is almost same with the BPA workflow as depicted below

...

In the above Flow Chart

  • Rectangle Indicates the Workflow State

  • Line connecting two states indicates the action

    • Action name is in black color text

    • User Role who can take action is in Blue color Text

Specific Configurations and How To’s which are not common to BPA Workflow

  • InProgress Stage

    • Process

      • Application and Sanction Fee together gets calcualted and Demand gets generated by the bpa-calculator

      • Notification to the Stakeholder and owner will be sent regarding the fee payment

    • How To change the Fee Amount

      • Will be discussed in bpa-calculator service

  • Document Verification Pending Stage

    • Process

      • System generates PermitOrder for the application

      • System Stamps the validate date for the permit Order by adding the no of months configured for the property egov.bpa.validity.date.in.months in application.properties

    • How to change the valdity period of the permit order which will generate from now

      • Change the value of the property egov.bpa.validity.date.in.months in application.properties file to the desired no of months

  • Approved Stage

    • Process

      • NA

  • Revocated Stage

    • Process

      • System generates Revocation letter

    • How to change Revocation Letter format

      • Can be changed by changing the data and format configs of the revocation letter , please refer PDF’s section of Revocation letter

Validations included

  • On Workflow action of Every Stage, System verifies the Documents Configured for the given stage of the workflow from the DocumentTypeMapping MDMS and validates the required Documents attached to move forward

  • DropDown values to be validate against the MDMS values, Value in those field should be one of the MDMS value.

...

The message text for the above code is sent through SMS and Notification filling the owner, serviceType, application Number and other values.

PDFS used

...