...
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, eGov-workflow-service,dcr, land-services, bpa-calculator will be helpful.
Setup and usage:
The Application is present among the municipal services group of applications available in the eGov-services git repository with the folder name bpa-services , bpa-calculator and land-services . The spring boot application needs the Lombok* extension added in your IDE to load it. Once the application is up and running API requests can be posted to the URL and ids can be generated.
...
Please refer to Swagger API for YAML file details. Link - API Specs.
Application.properties File Information:
...
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-
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:
...
MDMS Name | MDMS Path | Description | Example | ||
---|---|---|---|---|---|
ServiceType | Values for ServiceType Dropdown | NA | |||
Application Type | Values for Application Type Dropdown | NA | |||
Occupancy Type | Values for Occupancy Type Dropdown | NA | |||
SubOccupancy Type | Values for SubOccupancy Type Dropdown | NA | |||
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
|
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 | |||
CalculationType | Used by bpa-calculator Service which Defines the Fee to be collected for Given ApplicationType, ServiceType, RiskType and feeType |
From the above example
| |||
RiskTypeComputation | Helps to Defines the RiskType of the Application based on the building Height and plotArea received from the EDCR System |
| |||
CheckList |
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 2. Used to configure the conditions for Approval Stage Condition checkboxes to be shown before approve which can be considered as Conditions for Approval |
|
Access MDMS Config
Action Test : URL Actions adding
...
2. Conditions for Approval Stage
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
| |||||
NocTypeMapping | 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) |
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
Access to the Roles for the above Actions
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
Access MDMS Config
Action Test : URL Actions adding
Code Block |
---|
{ " |
...
id": 1971, " |
...
name": "BPA-PermitOrderEDCR Report", " |
...
url": " |
...
/bpa-services/v1/bpa/_permitorderedcr", |
...
"displayName": "Apply", |
...
"orderNumber": 0, " |
...
enabled": |
...
false, " |
...
serviceCode": |
...
"BPA", " |
...
code": "null", " |
...
path": " |
...
"
}, |
...
{
" |
...
id": |
...
1975, " |
...
name": |
...
"Locality searcher endpoint for BPA", " |
...
url": "/egov-searcher/locality/bpa-services/_get", " |
...
displayName": " |
...
BPA locality searcher", |
...
|
...
"orderNumber": 0, " |
...
enabled": |
...
false, " |
...
serviceCode": |
...
"egov-searcher", " |
...
code": "null", " |
...
path": " |
...
"
}, |
...
{
" |
...
id": |
...
1924, " |
...
name": |
...
"BPA-Applyforservice", " |
...
url": "/bpa-services/v1/bpa/_create", " |
...
displayName": " |
...
Apply", |
...
|
...
"orderNumber": 0, " |
...
enabled": |
...
false, " |
...
serviceCode": |
...
"BPA", " |
...
code": "null", " |
...
path": " |
...
"
}, |
...
|
...
{
" |
...
id": |
...
1930, " |
...
name": |
...
"BPA-applicationsearch", " |
...
url": "/bpa-services/v1/bpa/_search", " |
...
displayName": " |
...
Search", |
...
"orderNumber": 0, |
...
|
...
" |
...
enabled": |
...
false, " |
...
serviceCode": |
...
"BPA", " |
...
code": "null", " |
...
path": " |
...
" },{ |
...
|
...
" |
...
id": |
...
1931, " |
...
name": |
...
"BPA-updateapplicationservice", " |
...
url": "/bpa-services/v1/bpa/_update", " |
...
displayName": " |
...
Apply", |
...
"orderNumber": 0, |
...
|
...
" |
...
enabled": |
...
false, " |
...
serviceCode": |
...
"BPA", " |
...
code": "null", " |
...
path": " |
...
"
}, |
...
Access to the Roles for the above Actions
Code Block |
---|
{
"rolecode": " |
...
CEMP", "actionid": 1971, "actioncode": "", "tenantId": "pb" }, |
...
{
"rolecode": "BPA_ |
...
TOWNPLANNER", "actionid": |
...
1971, "actioncode": "", "tenantId": "pb" }, { "rolecode": "BPA_ |
...
BUILDER", "actionid": |
...
1971, "actioncode": "", "tenantId": "pb" }, { "rolecode": "BPA_ |
...
STRUCTURALENGINEER", "actionid": |
...
1971, "actioncode": "", "tenantId": "pb" }, { "rolecode": "BPA_ |
...
SUPERVISOR", "actionid": |
...
1971, "actioncode": "", "tenantId": "pb" }, |
...
{
"rolecode": "BPA_ |
...
VERIFIER", "actionid": |
...
1971, "actioncode": "", "tenantId": "pb" }, { "rolecode": "BPA_ |
...
FIELD_INSPECTOR", "actionid": |
...
1971, "actioncode": "", "tenantId": "pb" }, { "rolecode": " |
...
BPA_NOC_VERIFIER", "actionid": |
...
1971, "actioncode": "", "tenantId": "pb" }, { "rolecode": "BPA_ |
...
APPROVER", "actionid": |
...
1971, "actioncode": "", "tenantId": "pb" }, { "rolecode": "BPA_ |
...
ARCHITECT", "actionid": |
...
1971, "actioncode": "", "tenantId": "pb" }, |
...
{
"rolecode": " |
...
CITIZEN", "actionid": |
...
1971, "actioncode": "", "tenantId": "pb" }, { "rolecode": "BPA_ |
...
ENGINEER", "actionid": |
...
1971, "actioncode": "", "tenantId": "pb" }, { "rolecode": "BPA_ |
...
VERIFIER", "actionid": |
...
1975, "actioncode": "", "tenantId": "pb" }, { "rolecode": "BPA_FIELD_ |
...
INSPECTOR", "actionid": |
...
1975, "actioncode": "", "tenantId": "pb" }, { "rolecode": " |
...
BPA_NOC_VERIFIER", "actionid": |
...
1975, "actioncode": "", "tenantId": "pb" }, { "rolecode": "BPA_APPROVER", "actionid": |
...
1975, "actioncode": "", "tenantId": "pb" }, { "rolecode": " |
...
BPA_ARCHITECT", "actionid": |
...
1924, "actioncode": "", "tenantId": "pb" }, { "rolecode": "BPA_ |
...
ARCHITECT", "actionid": |
...
1931, "actioncode": "", "tenantId": "pb" }, { "rolecode": " |
...
CITIZEN", "actionid": |
...
1931, "actioncode": "", "tenantId": "pb" }, { "rolecode": " |
...
BPA_ |
...
VERIFIER", "actionid": |
...
1931, "actioncode": "", "tenantId": "pb" }, |
...
|
...
{
"rolecode": " |
...
BPA_APPROVER", "actionid": |
...
1931, "actioncode": "", "tenantId": "pb" }, { "rolecode": " |
...
BPA_ |
...
FIELD_ |
...
INSPECTOR", "actionid": |
...
1931, "actioncode": "", "tenantId": "pb" } |
...
Billing Service MDMS Config
BusinessService Config for Fee’s to be collected
Application Fee, Sanction Fee BPA High/Medium Risk
Code Block |
---|
, { "businessServicerolecode": "BPA.NEWCONSTRUCTION_APPNOC_FEEVERIFIER", "codeactionid": "BPA.NC_APP_FEE"1931, "collectionModesNotAllowedactioncode": ["", "tenantId": "DDpb" ]},{ "partPaymentAllowedrolecode": false,"BPA_ARCHITECT", "isAdvanceAllowedactionid": false1930, "isVoucherCreationEnabledactioncode": true"", "isActivetenantId": true"pb" }, { "businessServicerolecode": "BPA.NEWCONSTRUCTION_SANC_FEEVERIFIER", "codeactionid": "BPA.NC_SAN_FEE"1930, "collectionModesNotAllowedactioncode": ["", "tenantId": "DDpb" }, ], { "partPaymentAllowedrolecode": false"CEMP", "isAdvanceAllowedactionid": false1930, "isVoucherCreationEnabledactioncode": true"", "isActivetenantId": true"pb" }, |
Application Fee, Sanction Fee for BPA Low Risk
...
{
" |
...
rolecode": "BPA |
...
_APPROVER", " |
...
actionid": |
...
1930, " |
...
actioncode": |
...
"", "tenantId": |
...
" |
...
pb" }, |
...
{ " |
...
rolecode": |
...
"CITIZEN", " |
...
actionid": |
...
1930, " |
...
actioncode": |
...
"", " |
...
tenantId": |
...
"pb" }, |
...
Application Fee, Sanction Fee for BPA OC
...
{ " |
...
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" }, |
...
{ " |
...
rolecode": |
...
"FIRE_NOC_APPROVER", " |
...
actionid": |
...
1930, " |
...
actioncode": |
...
"", " |
...
tenantId": |
...
"pb" } |
...
TaxHead MDMS
Tax Head for BPA High/Medium Risk
...
, { |
...
|
...
|
...
" |
...
rolecode": " |
...
NOC_ |
...
DEPT_ |
...
APPROVER", " |
...
actionid": |
...
1930, " |
...
actioncode": " |
...
",
" |
...
tenantId": |
...
"pb" } |
Billing Service MDMS Config
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": "BPA.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 }, |
TaxPeriod MDMS Config
...
TaxHead 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"}, "financialYear": "2018-28" }, |
TaxHead config for BPA Low Risk
Code Block |
---|
{ "fromDatecategory": 1522540801000"FEE", "toDateservice": 1838159999000"BPA.LOW_RISK_PERMIT_FEE", "periodCyclename": "FORTENYEARSBPA Low Risk Appllication Fees", "servicecode": "BPA.NC_OCLOW_APPAPPL_FEEFEES", "codeisDebit": "BPAOCAPP10YRS2018"false, "financialYearisActualDemand": "2018-28" }, true, { "fromDateorder": 1522540801000"1", "toDateisRequired": 1838159999000,false }, "periodCycle { "category": "FORTENYEARSFEE", "service": "BPA.NCLOW_OCRISK_SANPERMIT_FEE", "codename": "BPAOCSAN10YRS2018BPA Low Risk Permit Fees", "financialYearcode": "2018-28"BPA_LOW_SANC_FEES", "isDebit": false, } |
ID Gen Config for BPA Numbers
BPA Application Number format Config
...
"isActualDemand": true, " |
...
order": |
...
"1", " |
...
isRequired": false }, |
BPA Permit Number format ConfigTaxHead config for BPA OC
Code Block |
---|
{ " |
...
category": |
...
"FEE", " |
...
service": |
...
"BPA.NC_OC_APP_FEE", |
...
BPA Receipt Number format config
...
"name": "BPA Application fees", " |
...
code": "BPA |
...
_OC_APPL_FEES", " |
...
isDebit": |
...
false, |
...
|
...
"isActualDemand": true, |
...
" |
...
order": " |
...
1", " |
...
isRequired": |
...
false }, |
...
BPA OC Receipt Number format config
Code Block |
---|
{ "formatcategory": "BPA/OC/[CITY.CODE]/[fy:yyyy-yy]/[SEQ_EGOV_COMMON]","FEE", "idnameservice": "bpaBPA.ncNC_ocOC_app_fee.receipt.id"SAN_FEE", }, "name": "BPA Sanction {fees", "formatcode": "BPA/OC/[CITY.CODE]/[fy:yyyy-yy]/[SEQ_EGOV_COMMON]_OC_SANC_FEES", "idnameisDebit": "bpa.nc_oc_san_fee.receipt.id" }, |
Persister configuration:
Indexer Configuration:
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, "isActualDemand": true, "order": "2", |
...
|
...
"isRequired": |
...
false |
...
}, |
TaxPeriod MDMS Config
TaxPeriod MDMS for BPA High/Medium Risk
Code Block |
---|
{ "fromDate": 1522540801000, ( "toDate": 1838159999000, select applicationNo as referenceNumber,locality from eg_bpa_buildingplan bpa"periodCycle": "FORTENYEARS", "service": "BPA.NC_APP_FEE", INNER JOIN eg_land_Address ad ON ad.landInfoId = bpa.landid "code": "BPA10YRS2018", "financialYear": "2018-28" }, ) result $where{ groupBy"fromDate": 1522540801000, orderBy "toDate": 1838159999000, searchParams: condition"periodCycle": AND"FORTENYEARS", params"service": "BPA.NC_SAN_FEE", - name"code": result.referenceNumber"BPA10YRS2018", "financialYear": "2018-28" isMandatory: true }, |
TaxPeriod MDMS for BPA Low Risk
Code Block |
---|
{ |
...
"fromDate": |
...
1522540801000, "toDate": 1838159999000, |
...
|
...
"periodCycle": "FORTENYEARS", |
...
|
...
" |
...
service": |
...
"BPA.LOW_RISK_PERMIT_FEE", |
...
"code": |
...
"BPA10YRS2018", |
...
Database Schema
...
Postman Links
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
"financialYear": "2018-28"
}, |
TaxPeriod Config for BPA OC
Code Block |
---|
{
"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
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:
Indexer Configuration:
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 Links
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.
...