Versions Compared

Key

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

End Points:

create : tl-services/v1/_create

update : tl-services/v1/_update

search : tl-services/v1/_search

Migration:

Two new columns added for TL Renewal flow. applicationType and workflowCode. To deploy TL Renewal in environment where TL is already running , these 2 columns needs to be migrated to eg_tl_tradelicense and eg_tl_tradelicense_audit table. The following query does this migration:

...

 

...

 All the existing Applications default values for the new columns will be set using below Query.

...

Configurations:

Persister:

...

Hence 2 new Business service configs are pushed for each flow respectively.

Integration changes:

  • For API /egov-workflow-v2/egov-wf/process/_transition :
    The field assignee of type User in ProcessInstance object is changed to list of 'User' called assignes.
    User assignee --> List<User> assignes

  • For Citizen Sendback:
    When the action SENDBACKTOCITIZEN is called on the entity the module has to enrich the assignes with the uuids of the owners and creator of the entity

MDMSEDITRENEWAL : https://digit-discuss.atlassian.net/wiki/spaces/EPE/pages/408945692/EDITRENEWAL+Config?atlOrigin=eyJpIjoiMzQzOTMxYjQzNDVmNGJkZmFhYmFhZGE5NGVmMzZlYWIiLCJwIjoiYyJ9

DIRECTRENEWAL : https://digit-discuss.atlassian.net/wiki/spaces/EPE/pages/413696153/DIRECTRENEWAL+Config?atlOrigin=eyJpIjoiODA5NGFlOTQyNDA2NGJmZWI5NWUzYzk5ZGE5ODI4ZTMiLCJwIjoiYyJ9

mdms:

https://raw.githubusercontent.com/egovernments/egov-mdms-data/master/data/pb/BillingService/BusinessService.json

Code Block
{
      "businessService": "TL.RENEWAL",
      "code": "TL.RENEWAL",
      "collectionModesNotAllowed": [
        "DD"
      ],
      "partPaymentAllowed": false,
      "isAdvanceAllowed": false,
      "isVoucherCreationEnabled": true,
      "isActive": true
    },

https://raw.githubusercontent.com/egovernments/egov-mdms-data/master/data/pb/BillingService/TaxHeadMaster.json

Code Block
{
      "category": "FEE",
      "service": "TL",
      "name": "TL Renewal Tax",
      "code": "TL_RENEWAL_TAX",
      "isDebit": false,
      "isActualDemand": true,
      "order": "2",
      "isRequired": false
    },
    {
      "category": "REBATE",
      "service": "TL",
      "name": "TL Renewal Rebate",
      "code": "TL_RENEWAL_REBATE",
      "isDebit": true,
      "isActualDemand": false,
      "order": "0",
      "isRequired": false
    },
    {
      "category": "PENALTY",
      "service": "TL",
      "name": "TL Renewal Penalty",
      "code": "TL_RENEWAL_PENALTY",
      "isDebit": false,
      "isActualDemand": false,
      "order": "1",
      "isRequired": false
    },
    {
      "category": "TAX",
      "service": "TL",
      "name": "TL Renewal adhoc rebate",
      "code": "TL_RENEWAL_ADHOC_REBATE",
      "isDebit": true,
      "isActualDemand": false,
      "order": "0",
      "isRequired": false
    },
    {
      "category": "TAX",
      "service": "TL",
      "name": "TL Renewal adhoc penalty",
      "code": "TL_RENEWAL_ADHOC_PENALTY",
      "isDebit": false,
      "isActualDemand": false,
      "order": "1",
      "isRequired": false
    }

https://raw.githubusercontent.com/egovernments/egov-mdms-data/master/data/pb/BillingService/TaxPeriod.json

Code Block
 {
      "fromDate": 1585679399000,
      "toDate": 1617172199000,
      "periodCycle": "ANNUAL",
      "service": "TL",
      "code": "TLRENEWAL2020",
      "financialYear": "2020-21"
    },

https://raw.githubusercontent.com/egovernments/egov-mdms-data/master/data/pb/egf-master/FinancialYear.json

Code Block
{
      "id": "7",
      "tenantId": "pb",
      "finYearRange": "2020-21",
      "name": "2020-21",
      "code": "2020-21",
      "startingDate": 1585679399000,
      "endingDate": 1617172199000,
      "active": true,
      "isActiveForPosting": false,
      "isClosed": false,
      "transferClosingBalance": false,
      "module": "TL"
    },

application.properties :

EDITRENEWAL & DIRECTRENEWAL businessService codes are added.

Code Block
create.directRenewal.workflow.name=DIRECTRENEWAL
create.editRenewal.workflow.name=EDITRENEWAL

TradelicenseSearcCriteria.java

licenseNumber variable is now list if String. Hence licenseNumber is replaced everywhere with licenseNumbers

Code Block

@JsonProperty("licenseNumbers")
private List<String> licenseNumbers;

TLQueryBuilder.java

Code Block
List<String> licenseNumbers = criteria.getLicenseNumbers();
if (!CollectionUtils.isEmpty(licenseNumbers)) {
    addClauseIfRequired(preparedStmtList, builder);
    builder.append(" tl.licensenumber IN (").append(createQuery(licenseNumbers)).append(")");
    addToPreparedStatement(preparedStmtList, licenseNumbers);
}

Frontend:

All APPROVED and EXPIRED applications are configured with 2 buttons ‘EDIT FOR RENEWAL' and 'SUBMIT FOR RENEWAL’ .

Edit for Renewal : Will be redirected to edit flow , where Citizen/ Counter employee have acces to change specific fields. New set of documents can be updated for Renewal flow, which is configured in mdms.

Documents Configuration :

https://github.com/egovernments/egov-mdms-data/blob/master/data/pb/TradeLicense/TradeType.json

Frontend:

COMMON -

APPROVED Application configured with 2 buttons “EDIT FOR RENEWAL” and “SUBMIT FOR RENEWAL” and these button will be blocked once the renewal process gets initiatedLicense Number will be shown in the header.

Direct Renewal : Will be applied directly for Renewal. Which send application to PENDINGPAYMENT status.
SUBMIT FOR RENEWAL- Directly Submitted without editing.

EDIT FOR RENEWAL- Once can edit the specific fields while few fields will be blocked for editing. Extraa documents can be uploaded also he can change already uploaded documents.(Configured via MDMS). In flow instead of old application number licence number will be shown and the next financial year will be auto populated.

TL certificate is configured for renewal application.

Employee

Search Screen: Application type is added as a new filter for application search and In search results Financial year and Application types are added.

CITIZEN:

On approved application citizen will get a different label for renewal in my application section.

...

Image Added

TL Certificate configuration :

https://github.com/egovernments/configs/blob/master/pdf-service/data-config/tlrenewalcertificate.json - Data Config

https://github.com/egovernments/configs/blob/master/pdf-service/format-config/tlrenewalcertificate.json - Format Config

Employee :

Search Screen :

'Application Type' search param added.

...

Search Results have 2 more columns now.

Financial Year and Application Type :

...

CITIZEN:

On approved application RENEWAL BUTTON is visible to citizen.

...

Trade License Renewal Fees, Rebate and Penalty

When the the Trade License application is submitted for renewal, the renewal application fees is calculated depends on the billing slab provided in the system.

Code Block
"billingSlab": [
        {            
            "tenantId": "pb.amritsar",
            "id": "a949d9b3-a5de-4e2e-9565-b61f41bc5a7b",
            "licenseType": "TEMPORARY",
            "structureType": "IMMOVABLE.PUCCA",
            "tradeType": "GOODS.MANUFACTURE.TST-3",
            "accessoryCategory": null,
            "type": "FLAT",
            "uom": null,
            "fromUom": 0.0,
            "toUom": 0.0,
            "rate": 500.00,
            "auditDetails": {
                "createdBy": "11b0e02b-0145-4de2-bc42-c97b96264807",
                "lastModifiedBy": "11b0e02b-0145-4de2-bc42-c97b96264807",
                "createdTime": 1539756637943,
                "lastModifiedTime": 1539756637943
            }
        },
        {
            "tenantId": "pb.amritsar",
            "id": "6e3b0523-8e3f-490e-be0e-0d8cf74efd6c",
            "licenseType": "TEMPORARY",
            "structureType": "IMMOVABLE.PUCCA",
            "tradeType": "GOODS.WHOLESALE.TST-160",
            "accessoryCategory": null,
            "type": "FLAT",
            "uom": null,
            "fromUom": 0.0,
            "toUom": 0.0,
            "rate": 500.00,
            "auditDetails": {
                "createdBy": "11b0e02b-0145-4de2-bc42-c97b96264807",
                "lastModifiedBy": "11b0e02b-0145-4de2-bc42-c97b96264807",
                "createdTime": 1539756637943,
                "lastModifiedTime": 1539756637943
            }
        },
        {
            "tenantId": "pb.amritsar",
            "id": "a270598a-fa39-4124-9bc2-bd2e6f6075af",
            "licenseType": "TEMPORARY",
            "structureType": "IMMOVABLE.PUCCA",
            "tradeType": "GOODS.RETAIL.TST-81",
            "accessoryCategory": null,
            "type": "FLAT",
            "uom": null,
            "fromUom": 0.0,
            "toUom": 0.0,
            "rate": 1000.00,
            "auditDetails": {
                "createdBy": "11b0e02b-0145-4de2-bc42-c97b96264807",
                "lastModifiedBy": "11b0e02b-0145-4de2-bc42-c97b96264807",
                "createdTime": 1539756637943,
                "lastModifiedTime": 1539756637943
            }
        },
        {
            "tenantId": "pb.amritsar",
            "id": "d957f0b7-b45b-4095-b4f2-2191bd88a9e9",
            "licenseType": "TEMPORARY",
            "structureType": "IMMOVABLE.PUCCA",
            "tradeType": "GOODS.MANUFACTURE.TST-23",
            "accessoryCategory": null,
            "type": "FLAT",
            "uom": null,
            "fromUom": 0.0,
            "toUom": 0.0,
            "rate": 150.00,
            "auditDetails": {
                "createdBy": "11b0e02b-0145-4de2-bc42-c97b96264807",
                "lastModifiedBy": "11b0e02b-0145-4de2-bc42-c97b96264807",
                "createdTime": 1539756637943,
                "lastModifiedTime": 1539756637943
            }
        }
      ] 


The calculation is also depend on the type i.e “FLAT” and “RATE” . If the calculation “type” in billing slab is FLAT the amount mentioned in rate field is the renewal fees and if the type is RATE then fees = rate x uomValue (from trade unit).

When a person fails to apply for renewal of his/her trade license application for proper financial year then some penalty charges has to pay. The penalty charge is X% of renewal fees. For example TL renewal financial year is 2019-20 and current financial year going on is 2020-21 then person has to pay penalty. When a person submitted the renewal application for proper financial year then certain amount is rebated from fees. Rebate charge is Y% of renewal fees. The rebate and penalty percentage is set by state/ULB.

MDMS configuration for Rebate and Penalty

Rebate:- https://raw.githubusercontent.com/egovernments/egov-mdms-data/master/data/pb/TradeLicense/Rebate.json

Penalty:- https://raw.githubusercontent.com/egovernments/egov-mdms-data/master/data/pb/TradeLicense/Penalty.json

Notification

The notification for renewal depends upon the Action and Status of the application.

Below is the mapping of Action_Status to localisation code

Action_Status

Localisation Code

INITIATE_INITIATED

tl.renew.en.counter.initiate

APPLY_APPLIED

tl.renew.en.counter.submit

FORWARD_FIELDINSPECTION

tl.renew.en.field.inspection

FORWARD_PENDINGAPPROVAL

tl.renew.en.pending.approval

REJECT_REJECTED

tl.renew.en.counter.rejected

APPROVE_PENDINGPAYMENT

tl.renew.en.counter.approved

INITIATE_PENDINGPAYMENT

tl.renew.en.counter.approved

TL Renewal Localisation Messages :

https://docs.google.com/spreadsheets/d/1o1qYwGB33SMksdgGLWZaxZLj7Q2sA_KU6opRQBfAYN8/edit#gid=0