Property services
Reference to Children Document
Property Mutation - Ownership Transfer Technical documentation
Assessment of property
One of the major application of the eGov stack which helps municipal and citizen to handle property tax payment and other related functions on the property such as assessments, mutation and so on.
...
Name of the business code in the workflow, this should be set to matching value to the config businessService field in workflow master
property.workflow.name=PT.CREATE
property.legacy.updateentry.workflow.name=PT.CREATE
Sample workflow config - (The same PT.CREATE can be used for update workflow also since both involve the same functionality)
...
language | json |
---|
...
LEGACY
property.update.workflow.name=PT.UPDATE
Workflow Config for property create if the source is from WATER CONNECTION module
For creation of property from water and sewerage module, as per the use case mentioned in this ticket, different workflow config is used.
For each use case, to identified which workflow to use can be identified from this mdms file.
Code Block |
---|
{ "tenantId": "pb", "moduleName": "PropertyTax", "PTWorkflow":[ { "businessService": "PT.CREATECREATEWITHWNS", "businessinitialAction": "PTOPEN", "businessServiceSlainWorkflowStatusAllowed": nullfalse, "statesenable":false [ }, { "businessService":"PT.CREATE", "tenantId"initialAction": "pbopen", "slainWorkflowStatusAllowed": null, true, "stateenable":true null, } "applicationStatus": "INWORKFLOW", "docUploadRequired": false, "isStartState": true, "isTerminateState": false, "actions": [] } |
For use case 1 which says, The property which is creating from Water and sewerage module should have one step workflow.
for this requirement in above mdms file businessService
with PT.CREATEWITHWNS
object must have enable field to set as true.
Then for all the property creation from Water and Sewerage module would have one step workflow and property would be created with ACTIVE state.
Fields in above mdms file:
Mdms Fields | Descripton |
---|---|
businessService | Name of workflow config |
initialAction | Indicate the start(initial) action of the particular workflow mention in businessService. |
inWorkflowStatusAllowed | This field indicate whether the property with application status as “inWorkflow” can be use with water and sewerage connection creation. |
enable | If this filed is set as true, then the other fields associate with the particular object is use for property creation. |
(Note: The above objects indicate the each use case mention in this ticket, so at a time only one object (use case)enable field must set as true )
Sample workflow config for use case 1 where property creation is from water and sewerage module with one step workflow
Code Block |
---|
{
"BusinessServices": [
{
"tenantId": "pb",
"businessService": "PT.CREATEWITHWNS",
"business": "PT",
"businessServiceSla": null,
"states": [
{
"sla": null,
"state": null,
"applicationStatus": "INWORKFLOW",
"docUploadRequired": false,
"isStartState": true,
"isTerminateState": false,
"isStateUpdatable": false,
"actions": [
{
"action": "OPEN",
"nextState": "INITIATED",
"roles": [
"CITIZEN",
"WS_CEMP",
"SW_CEMP"
]
}
]
},
{
"sla": null,
"state": "INITIATED",
"applicationStatus": "INWORKFLOW",
"docUploadRequired": false,
"isStartState": true,
"isTerminateState": false,
"isStateUpdatable": true,
"actions": [
{
"action": "SUBMIT",
"nextState": "APPROVED",
"roles": [
"EMPLOYEE",
"CITIZEN",
"SW_CEMP",
"WS_CEMP"
]
},
{
"action": "BACK",
"nextState": "INWORKFLOW",
"roles": [
"EMPLOYEE",
"CITIZEN",
"SW_CEMP",
"WS_CEMP"
]
}
]
},
{
"sla": null,
"state": "INWORKFLOW",
"applicationStatus": "INWORKFLOW",
"docUploadRequired": false,
"isStartState": true,
"isTerminateState": false,
"isStateUpdatable": true,
"actions": [
{
"action": "SUBMIT",
"nextState": "APPROVED",
"roles": [
"EMPLOYEE",
"CITIZEN",
"SW_CEMP",
"WS_CEMP"
]
}
]
},
{
"sla": null,
"state": "APPROVED",
"applicationStatus": "ACTIVE",
"docUploadRequired": false,
"isStartState": false,
"isTerminateState": true,
"isStateUpdatable": false,
"actions": null
}
]
}
]
} |
Sample workflow config - (The same PT.CREATE can be used for update workflow also since both involve the same functionality)
Code Block | ||
---|---|---|
| ||
{ "RequestInfo": { "apiId": "Rainmaker", "action": "", "did": 1, "key": "", "msgId": "20170310130900|en_IN", "requesterId": "", "ts": 1513579888683, "ver": ".01", "authToken": "b39181b1-5c6b-484a-b825-6be2f62012b8" }, "BusinessServices": [ { "tenantId": "pb", "businessService": "PT.CREATE", "business": "PT", "businessServiceSla": null, "states": [ { "tenantId": "pb", "sla": null, "state": null, "applicationStatus": "INWORKFLOW", "docUploadRequired": false, "isStartState": true, "isTerminateState": false, "actions": [ { "tenantId": "pb", "action": "OPEN", "nextState": "OPEN", "roles": [ "CITIZEN", "EMPLOYEE" ] } ] }, { "tenantId": "pb", "sla": null, "state": "OPEN", "applicationStatus": "INWORKFLOW", "docUploadRequired": false, "isStartState": true, "isTerminateState": false, "actions": [ { "tenantId": "pb", "action": "VERIFY", "nextState": "DOCVERIFIED", "roles": [ "PT_DOC_VERIFIER" ] }, { "tenantId": "pb", "action": "REJECT", "nextState": "REJECTED", "roles": [ "PT_DOC_VERIFIER" ] }, { "tenantId": "pb", "action": "SENDBACKTOCITIZEN", "nextState": "CORRECTIONPENDING", "roles": [ "PT_DOC_VERIFIER" ] } ] }, { "tenantId": "pb", "sla": null, "state": "DOCVERIFIED", "applicationStatus": "INWORKFLOW", "docUploadRequired": false, "isStartState": false, "isTerminateState": false, "actions": [ { "tenantId": "pb", "action": "FORWARD", "nextState": "FIELDVERIFIED", "roles": [ "PT_FIELD_INSPECTOR" ] } ] }, { "tenantId": "pb", "sla": null, "state": "FIELDVERIFIED", "applicationStatus": "INWORKFLOW", "docUploadRequired": false, "isStartState": false, "isTerminateState": false, "actions": [ { "tenantId": "pb", "action": "APPROVE", "nextState": "APPROVED", "roles": [ "PT_APPROVER" ] }, { "tenantId": "pb", "action": "REJECT", "nextState": "REJECTED", "roles": [ "PT_APPROVER" ] } ] }, { "tenantId": "pb", "sla": null, "state": "REJECTED", "applicationStatus": "INACTIVE", "docUploadRequired": false, { "isStartState": false, "isTerminateState": true, "tenantIdactions": "pb", null }, { "actiontenantId": "OPENpb", "sla": null, "nextStatestate": "OPENAPPROVED", "applicationStatus": "ACTIVE", "rolesdocUploadRequired": false, [ "isStartState": false, "isTerminateState": true, "CITIZEN", "actions": null }, { "tenantId": "EMPLOYEEpb", "sla": null, "state": "CORRECTIONPENDING", ] "applicationStatus": "INWORKFLOW", "docUploadRequired": false, } "isStartState": false, "isTerminateState": false, ] "isStateUpdatable": true, }, "actions": [ { { "tenantId": "pb", "slaaction": null"REOPEN", "statenextState": "OPEN", "applicationStatusroles": "INWORKFLOW",[ "docUploadRequired": false, CITIZEN", "isStartState": true, "PT_CEMP" "isTerminateState": false, ] "actions": [}, { { "tenantId": "pb", "tenantIdaction": "pbREJECT", "nextState": "REJECTED", "action": "VERIFY", "roles": [ "nextState": "DOCVERIFIEDCITIZEN", "PT_CEMP" "roles": [ ] } "PT_DOC_VERIFIER" ] } ] } ] } |
PT.LEGACY workflow config
Code Block |
---|
{ "RequestInfo": { |
...
"apiId": "Rainmaker", "action": "", "did": 1, |
...
"key": "", "msgId": "20170310130900|en_IN", |
...
"requesterId": "", "ts": 1513579888683, |
...
"ver": ".01", |
...
"authToken": "{{authToken_amritsar}}" }, |
...
"BusinessServices": [ { |
...
"tenantId": "pb",
|
...
"businessService": "PT.LEGACY", |
...
" |
...
business": |
...
"PT", |
...
"businessServiceSla": null, " |
...
states": |
...
[ { " |
...
tenantId": " |
...
pb", |
...
"sla": null, |
...
|
...
"state": null, " |
...
applicationStatus": |
...
"INWORKFLOW", |
...
" |
...
docUploadRequired": false, |
...
"isStartState": true, |
...
|
...
"isTerminateState": false, "actions": [ |
...
{ "tenantId": "pb", |
...
"action": " |
...
OPEN", |
...
"nextState": " |
...
APPROVALPENDING", |
...
"roles": [ "CITIZEN", |
...
"EMPLOYEE" ] |
...
} ] |
...
}, { |
...
"tenantId": "pb", |
...
"sla": null, |
...
"state": "APPROVALPENDING", " |
...
applicationStatus": " |
...
INWORKFLOW", "docUploadRequired": false, |
...
|
...
|
...
"isStartState": true, " |
...
isTerminateState": |
...
false, "actions": [ |
...
{ " |
...
tenantId": |
...
"pb", |
...
|
...
" |
...
action": |
...
"APPROVE", " |
...
nextState": |
...
"APPROVED", |
...
" |
...
roles": [ |
...
"EMPLOYEE" |
...
] }, |
...
|
...
{ " |
...
tenantId": " |
...
pb", "action": "REJECT", "nextState": " |
...
REJECTED", "roles": [ |
...
|
...
"EMPLOYEE" ] |
...
} ] |
...
}, { |
...
"tenantId": "pb", "sla": null, |
...
"state": "REJECTED", |
...
"applicationStatus": "INACTIVE", " |
...
docUploadRequired": |
...
false, |
...
"isStartState": false, |
...
" |
...
isTerminateState": |
...
true, "actions": null }, |
...
|
...
{ "tenantId": "pb", |
...
|
...
"sla": null, "state": "APPROVED", "applicationStatus": |
...
" |
...
INACTIVE", "docUploadRequired": false, "isStartState": false, |
...
"isTerminateState": true, "actions": |
...
null } ] |
...
} |
...
]
} |
Notifications :
To enable or disable notifcation
notif.sms.enabled=true
#notif urls - makes use of the UI app host in notification service
egov.notif.commonpay = citizen/egov-common/pay?consumerCode={CONSUMERCODE}&tenantId={TENANTID}
egov.notif.view.property = citizen/property-tax/my-properties/property/{PROPERTYID}/{TENANTID}
egov.notif.view.mutation = citizen/pt-mutation/search-preview?applicationNumber={APPID}&tenantId={TENANTID}
The Current localization messages for notification
Code Block | ||
---|---|---|
| ||
[ { "slacode": null, "PT_NOTIF_WF_STATE_LOCALE_OPEN", "statemessage": "REJECTEDOpen", "applicationStatusmodule": "INACTIVErainmaker-pt", "locale": "en_IN" "docUploadRequired": false}, { "isStartStatecode": false,"PT_NOTIF_WF_STATE_LOCALE_DOCVERIFIED", "message": "Document Verified", "isTerminateStatemodule": true, "rainmaker-pt", "actionslocale": null "en_IN" }, { { "code": "PT_NOTIF_WF_STATE_LOCALE_FIELDVERIFIED", "tenantIdmessage": "pbField verified", "slamodule": null"rainmaker-pt", "locale": "en_IN" "state": "APPROVED", }, { "applicationStatuscode": "ACTIVEPT_NOTIF_WF_STATE_LOCALE_APPROVED", "message": "Approved", "docUploadRequiredmodule": false"rainmaker-pt", "locale": "en_IN" "isStartState": false}, { "isTerminateStatecode": true"PT_NOTIF_WF_STATE_LOCALE_REJECTED", "message": "Rejected", "actions": null "module": "rainmaker-pt", } "locale": "en_IN" ] }, } |
Notifications :
To enable or disable notifcation
notif.sms.enabled=true
#notif urls - makes use of the UI app host in notification service
egov.notif.commonpay = citizen/egov-common/pay?consumerCode={CONSUMERCODE}&tenantId={TENANTID}
egov.notif.view.property = citizen/property-tax/my-properties/property/{PROPERTYID}/{TENANTID}
egov.notif.view.mutation = citizen/pt-mutation/search-preview?applicationNumber={APPID}&tenantId={TENANTID}
The Current localization messages for notification
Code Block | ||
---|---|---|
| ||
{ "messages": [ { "code": "PT_NOTIF_WF_STATE_LOCALE_PAID", "message": "Paid", "module": "rainmaker-pt", "locale": "en_IN" }, { "code": "PT_NOTIF_WF_MT_OPEN", "message": "Dear {OWNER_NAME}, Your application to edit ownership details of property ID {PROPERTYID} has been submitted successfully. Your application no. for future reference is {APPID}. You can track your application on the link given below - {MTURL} Thank you", "module": "rainmaker-pt", "locale": "en_IN" }, { "code": "PT_NOTIF_WF_MT_STATE_CHANGE", "message": "Dear {OWNER_NAME}, Status for your application no. {APPID} for property {PROPERTYID} to edit ownership has been changed to {STATUS}. You can track your application on the link given below - {MTURL} Thank you", "module": "rainmaker-pt", "locale": "en_IN" }, { "code": "PT_NOTIF_WF_MT_PAYMENT_PENDING",, "message": "Dear {OWNER_NAME}, Payment is pending for your application no. {APPID} for property ID {PROPERTYID} to edit ownership. You can pay your mutation fee on the below link - {PAYLINK} or visit your ULB to pay your dues. Thank you", "module": "rainmaker-pt", "locale": "en_IN" }, { "code": "PT_NOTIF_WF_MT_PAID", "message": "Dear {OWNER_NAME}, You’ve successfully paid mutation fee - INR {AMOUNT} for application no. {APPID} for property ID {PROPERTYID}. You can download your receipt on the below link - {MTURL} Thank you ", "module": "rainmaker-pt", "locale": "en_IN" }, { "code": "PT_NOTIF_WF_MT_APPROVED", "message": "Dear {OWNER_NAME}, Your property ownership has been changed as per the application no. {APPID} for property {PROPERTYID}. You can download your mutation certificate on the below link - {MTURL} Thank you", "module": "rainmaker-pt", "locale": "en_IN" }, { "code": "PT_NOTIF_WF_MT_NONE", "message": "Dear {OWNER_NAME}, Your property with property-id {PROPERTYID} has been mutated. You can view your property on the link given below - {MTURL} Thank you", "module": "rainmaker-pt", "locale": "en_IN" }, { "code": "PT_NOTIF_WF_OPEN", "message": "Dear {OWNER_NAME}, Your application to {updated/created} property with Id {PROPERTYID} has been submitted successfully. Your application no. for future reference is {APPID}. You can track your application on the link given below - {PTURL} Thank you", "module": "rainmaker-pt", "locale": "en_IN" }, { "code": "PT_NOTIF_WF_STATUS_CHANGE", "message": "Dear {OWNER_NAME}, Status for your application no. {APPID} for property {PROPERTYID} to {updated/created} property has been changed to {STATUS}. You can track your application on the link given below - {PTURL} Thank you", "module": "rainmaker-pt", "locale": "en_IN" }, { "code": "PT_NOTIF_WF_APPROVED", "message": "Dear {OWNER_NAME}, Your property has been {updated/created} as per the application no. {APPID} for property {PROPERTYID}. You can view your property on the link given below - {PTURL} Thank you", "module": "rainmaker-pt", "locale": "en_IN" }, { "code": "PT_NOTIF_WF_UPDATE_NONE", "message": "Dear {OWNER_NAME}, Your property with property-id {PROPERTYID} has been {updated/created}. You can view your property on the link given below - {PTURL} Thank you", "module": "rainmaker-pt", "locale": "en_IN" } ] } |