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 | Used by bpa-calculator Service which Defines the Fee to be collected for Given ApplicationType, ServiceType, RiskType and feeType
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
|
Access MDMS Config
bpa-calculator cannot be accessed publicly, Only called by the bpa-calculator
Billing Service MDMS Config
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
Tax Head for BPA High/Medium Risk
TaxHead config for BPA Low Risk
TaxHead config for BPA OC
TaxPeriod MDMS Config
TaxPeriod MDMS for BPA High/Medium Risk
TaxPeriod MDMS for BPA Low Risk
TaxPeriod Config for BPA OC
Deployment Details
Add mdms configs required for BPA Service and calculator and restart mdms service.
Deploy the latest version of BPA Service and calculator.
Add BPA Service persister yaml path in persister configuration and restart persister service
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 | |
BPA Service Document |
API List
Title | Link |
|