BPA Calculator

Overview

BPA application and BPA Occupancy Certificate application has Fee involved. Based on the Application Type, RiskType and ServiceType Fee to be calculated and generates a demand for the calculated amount for Payment. This service used to generate Application Fee, Sanction Fee, Low Application Permit Fee, Deviation Charges for BPA application and Occupancy Certificate Application.

Pre-requisites

Before you proceed with the configuration, 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-sms, eGov-email, eGov-user, eGov-localization, bpa-services will be helpful.

Key Functionalities

  • BPA-Calculator service used to generate Application Fee, Sanction Fee, Low Application Permit Fee, Deviation Charges for building permit and Occupancy Certificate Application.

  • Based on the Application Type, RiskType and ServiceType Fee to be calculated and generates a demand for the calculated amount for Payment.

Configuration Details

Application.properties File Information:

  • Business service codes for

    • BPA High/Medium Risk Application Fee

      • egov.demand.appl.businessservice=BPA.NC_APP_FEE

    • BPA High/Medium Risk Sanction Fee

      • egov.demand.sanc.businessservice=BPA.NC_SAN_FEE

    • BPA Low Risk Permit Fee

      • egov.demand.lowriskpermit.businessservice=BPA.LOW_RISK_PERMIT_FEE

    • BPA OC Application Fee

      • egov.demand.oc.appl.businessservice=BPA.NC_OC_APP_FEE

    • BPA OC Sanction Fee

      • egov.demand.oc.sanc.businessservice=BPA.NC_OC_SAN_FEE

  • Tax Head Code for

    • BPA High/Medium Risk Application Fee

      • egov.appl.fee=BPA_APPL_FEES

    • BPA High/Medium Risk Sanction Fee

      • egov.sanc.fee= BPA_SANC_FEES

    • BPA Low Risk Sanction Fee

      • egov.low.sanc.fee= BPA_LOW_SANC_FEES

    • BPA Low Risk Application Fee

      • egov.low.appl.fee=BPA_LOW_APPL_FEES

    • BPA OC Application Fee

      • egov.oc.appl.fee=BPA_OC_APPL_FEES

    • BPA OC Sanction Fee

      • egov.oc.sanc.fee= BPA_OC_SANC_FEES


MDMS Configuration:

MDMS Name

Path

Description

Example Json

CalculationType

CalculationType

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

 

  1. Second Example defines the calculation logic to figure out the fee for the Service, considering the different parameters from EDCR information of the BPA.

ParameterPath indicates the EDCR Response Data path to get the data point.

from

Indicates the from value of the data point to be considered

to

Indicates the to value of the data point to be considered

MF

multiplication factor to be considered to multiple the datapoint value to calculate the value when data point value falls between from and to

 

UOM

UOM to be considered to multiple the datapoint value and MF to calculate the Fee when data point value falls between from and to

 

{ "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 }, { "applicationType": "BUILDING_OC_PLAN_SCRUTINY", "serviceType": "ALL", "riskType": "ALL", "feeType": "SanctionFee", "amount": 500, "calsiLogic": [ { "parameter": "builtuparea", "tolerancelimit": 10, "calculationType": "number", "deviation": [ { "from": 11, "to": 50, "MF": 1, "uom": 100 }, { "from": 51, "to": 100, "MF": 2, "uom": 150 }, { "from": 101, "to": 499, "MF": 3, "uom": 200 } ], "paramPath": "edcrDetail[0].planDetail.virtualBuilding.totalBuitUpArea" } ] }

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

 

Access MDMS Config

bpa-calculator cannot be accessed publicly, Only called by the bpa-calculator

Billing Service MDMS Config

BusinessService.json

BusinessService Config for Fee’s to be collected

Application Fee, Sanction Fee BPA High/Medium Risk

{ "businessService": "BPA.NEWCONSTRUCTION_APP_FEE", "code": "BPA.NC_APP_FEE", "collectionModesNotAllowed": [ "DD" ], "partPaymentAllowed": false, "isAdvanceAllowed": false, "isVoucherCreationEnabled": true, "isActive": true }, { "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

 

{ "businessService": "BPA.NEWCONSTRUCTION_LOW_RISK_PERMIT_FEE", "code": "BPA.LOW_RISK_PERMIT_FEE", "collectionModesNotAllowed": [ "DD" ], "partPaymentAllowed": false, "isAdvanceAllowed": false, "isVoucherCreationEnabled": true, "isActive": true },

Application Fee, Sanction Fee for BPA OC

 

 

TaxHead MDMS

TaxHeader.json

Tax Head for BPA High/Medium Risk

 

 

TaxHead config for BPA Low Risk

 

 

TaxHead config for BPA OC

 

TaxPeriod MDMS Config

TaxPeriod.json

TaxPeriod MDMS for BPA High/Medium Risk

 

TaxPeriod MDMS for BPA Low Risk

 

 

TaxPeriod Config for BPA OC

 

Deployment Details

  1. Add mdms configs required for BPA Service and calculator and restart mdms service.

  2. Deploy the latest version of BPA Service and calculator.

  3. Add BPA Service persister yaml path in persister configuration and restart persister service

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

Integration

Integration Scope

bpa-calculator will be integrated with bpa-services. bpa-services internally invoke the bpa-calculator service to calculate Application Fee, Sanction Fee, Low Permit Fee, OC Deviation Charges, generating demands for a particular BPA, BPA OC applications , updating demands.

Integration Benefits

bpa calculator application is used to calculate the Application Fee, Sanction Fee, Low Permit Fee, OC Deviation Charges based on the data mentioned in bpa application creation. So because of bpa calculator the calculation and demand generation logic will be separate out from bpa services.
So in future, if calculation logic need to modify then changes can be carry out for each implementation without modifying the bpa services.

Steps to Integration

bpa service application need to call bpa-calculator/v1/_calculate API to calculate the Fee and create Demand with the applicable businessService and TaxHeads

Interaction Diagram

TBD

Reference Docs

Doc Links

Title 

Link

API Swagger Contract

Swagger Document

BPA Service Document

https://digit-discuss.atlassian.net/l/c/9AnvF9C5

API List