Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
This service is used to issue a license to the user after verification. The service is designed in such a way that it can be used to serve different type of licenses. Currently used to issue trade licenses, perform stakeholder registration and issue lockdown pass. The service is integrated with workflow where we can define the steps for approval of the application. Once the application is approved the license is generated.
Before you proceed with the documentation, make sure the following pre-requisites are met -
Java 8
Kafka server is up and running
egov-persister service is running and has tl-services persister config path added in it
PSQL server is running and database is created
Used for license generations in trade licenses, stakeholder registration and issue lockdown pass
Define roles to applicants on successful application to access Building Plan Approval services at the time of stakeholder registration
Generate application number and license number
Support workflows
Provide notification on various status changes for an application
Add MDMS configs required for Trade License and BPA stakeholder registration and restart MDMS service
Deploy the latest version of tl-services service
Add tl-service persister yaml path in persister configuration and restart persister service
Add Role-Action mapping for API’s
Create businessService (workflow configuration) according to trade license and stakeholder registration
Add tl-service indexer yaml path in indexer service configuration and restart indexer service
Following application properties in the Trade License service are configurable.
egov.idgen.tl.applicationNum.format
PB-TL-[cy:yyyy-MM-dd]-[SEQ_EG_TL_APL]
The format of the TL application number
egov.idgen.tl.licensenumber.format
PB-TL-[cy:yyyy-MM-dd]-[SEQ_EG_PT_LN]
The format of the TL license number
egov.idgen.bpa.applicationNum.format
PB-SK-[cy:yyyy-MM-dd]-[SEQ_EG_TL_APL]
The format of the Stake holder application number
egov.idgen.bpa.licensenumber.format
PB-SK-[cy:yyyy-MM-dd]-[SEQ_EG_PT_LN]
The format of the Stake holder license number
egov.tl.max.limit
100
Max number of records to be returned
citizen.allowed.search.params
tenantId, applicationNumber, limit, offset, licenseNumbers
The search parameters on which citizen can search
employee.allowed.search.params
tenantId, applicationNumber, applicationType, status, mobileNumber, fromDate, toDate, licenseNumbers, oldLicenseNumber, limit, offset
The search parameters on which employee can search
persister.save.tradelicense.topic
save-tl-tradelicense
The name of kafka topic on which create request is published
persister.update.tradelicense.topic
update-tl-tradelicense
The name of kafka topic on which update request is published
persister.update.tradelicense.workflow.topic
update-tl-workflow
The name of kafka topic on which update request is published
The trade-license service is currently used to issue trade licenses, perform stakeholder registration and issue lockdown pass.
Provide backend support for the different license registration process.
Mseva and SMS notifications on application status changes.
The elastic search index for creating visualizations and Dashboards.
Bpa Stakeholder registration provides new roles to the user to access the Building Plan Approval system.
Supports workflow which is configurable
To integrate, host of tl-services service should be overwritten in the helm chart.
{servicename}/_create/ _create should be added as the create endpoint for creating any license in the system
{servicename}/_search/ _search should be added as the search endpoint. This method handles all requests to search existing records depending on different search criteria
{servicename}/_update/ _update should be added as the update endpoint. This method is used to update fields in existing records or to update the status of the application based on workflow.
Local Setup
API Swagger Documentation (Trade License)
In all below endpoints if the service name is BPAREG it is treated as a stakeholder registration application and if it is TL or if it is absent then the application is treated as trade license application.
Stakeholder registration APIs:- https://www.getpostman.com/collections/d18b79ccfb69ee8bb526
Trade-License APIs:- https://www.getpostman.com/collections/99f98723c45f97024831
{servicename}/_create, _create
This API is used to create an application for the license in the system. Whenever an application is created an application number is generated and assigned to the application for future reference.
{servicename}/_search, /_search
This API is used to search the applications in the system based on various search parameters like mobile number, the application number, status etc.
{servicename}/_update, _update
The _update API is used to update the application information or to forward the application from one state to another.
In the case of the stakeholder registration if the application reaches the last stage the role depending on the license type is given to the user.
{servicename}/{jobname}/_batch, /_batch
Searches trade licenses that are expiring and send a reminder SMS to owner's of the licenses
Trade License Calculator service is used to calculate the Trade license fees / renewal fees based on the defined billing slabs. This service enables the TL admins to create billing slab with different combination of license type, trade type, structure type and accessory type. The service is designed in such a way that it can be used to serve different type of licenses.
Before you proceed with the configuration, make sure the following pre-requisites are met -
Java 8
Kafka server is up and running
egov-persister service is running and has tl-calculation-persister & tl-billing-slab-persister config path added in it
PSQL server is running and a database is created to store TL Application data
Following services should be up and running:
egov-perister
egov-mdms
tl-services
billing-service
TL Admin an Employee of ULB with TL_Admin role can create, update billing slab(s)
ULB Employee with TL_CREATOR and TL_ADMIN can search billing slab(s)
TL service internally calls tl-calculator to generate demand.
Deploy the latest version of tl-service and tl-calculator
Add tl-calculation-persister.yml & tl-billing-slab-persister.yml file in config folder in git and add that path in persister . (The file path is to be added in environment yaml file in param called persist-yml-path )
tl-calculator will be integrated with tl-services. tl-services internally invoke the tl-calculator service to calculate and generate demand for the charges.
Tl calculator application is used to calculate the Trade license Fees based on the different billing slabs in the DB that's why the calculation and demand generation logic will be separated out from TL services. So in future, if calculation logic needs to modify then changes can be carried out for each implementation without modifying the TL services.
TL application to call /tl-calculator/v1/_calculate to calculate and generate the demand for the TL application
ULB Employee can create billing slab calling /tl-calculator/billingslab/_create
ULB Employee can update billing slab calling /tl-calculator/billingslab/_update
ULB Employee can search billing slab calling /tl-calculator/billingslab/_search
TBD
(Note: All the API’s are in the same postman collection therefore the same link is added in each row)
__
__
Users can review the list of applications and their status registered under their mobile numbers in the My Applications tab. Each Application for the initial view displays the Application No, Service Category, Owner Name (Multiple with a comma), status, SLA, and Trade Name with the View Details option. If the status is pending for payment the View Details & Pay button is available that enables the users to look up more details about the application.
Once the user clicks on the View Details or View Details & Pay button, the Application Details Page is displayed with all the necessary information about the application.
The user can download the Application Acknowledgement Form (status - pending for payment ) or TL Certificate or the payment receipt using the Download Link button available at the top right corner of the page.
If the status is Pending for Payment for the application or Action required by a citizen (discussed elaborately here), a button will be visible to pay or edit at the end of the page respectively. On clicking on the Make Payment button it will redirect to the common pay screen through which the user can make the payment.
Timeline Component - timeline component is present at the end of the application details which tells about the current status and history of the application being initiated, Applied, Pending for Document Verification, Pending for Field Inspection, Pending approval, Pending payment, Approved etc.
The link for the Applications and Application Details main code is given below, it can be used to understand the working of the code, Below is the folder link.
The template for My Application List is present under https://github.com/egovernments/digit-ui-internals/blob/main/packages/modules/tl/src/pages/citizen/Applications/Application.js and Application Details page is present inside - https://github.com/egovernments/digit-ui-internals/blob/main/packages/modules/tl/src/pages/citizen/Applications/ApplicationDetails.js .
All the Application lists are retrieved by calling the search API "/tl-services/v1/_search
". If the view is set as “bills”, all the application is loaded using the hook useFetchBill
which calls the /billing-service/bill/v2/_fetchbill
API. SLA value in the Application List Screen is calculated from the data received from workflow API : /egov-workflow-v2/egov-wf/process/_search
Following is the hook used for the trade search API.
To get the Application details in key-value format, in order to make it more compatible, the following hook is being used, which is a common service to be used across modules.
No MDMS data is being used here, all the data is being loaded from Search API/Fetch Bill API.
For My Applications also the localization keys are added in the ‘rainmaker-tl’ locale module same as other parts of the TL module. Change, update or add any new localization key is done in the same locale module only.
Objective: To provide the facility for the user to create a trade license application for the current year by citizen or counter employee.
Users can apply for a trade license application by clicking on the Apply for Trade License button. Users can add all the information as per the questions asked across the workflow. The summary screen at the end of the flow displays all details for review. Users can click on the submit button after review. The application for a trade license is created for the current financial year.
Apply Flow - The trade license registration screen is displayed after login which helps users identify the documents required to apply for a trade license. A citizen info card at the bottom of the page displays any additional information about the maximum size of the file that can be uploaded.
Trade License Details/Assessment Flow - This flow captures the trade-specific information required for registering the trade.
Trade Name - The user provides the name of the trade. An info card is displayed at the bottom of the screen stating that the license will be issued for the current financial year. The financial year value is retrieved from the MDMS.
Structure Type - The users can select yes or no based on whether the trade has mobility or not. If yes, the next screen prompts you to enter the vehicle type. If no, the next screen moves to the building type page.
Vehicle Type / Building Type - The options for vehicle and building type are fetched from the MDMS. The Building Type screen displays an information card about the pucca or kuccha options.
Commencement Date - It defines the date on which the trade started or will start in the future.
Trade Units - Users must provide the trade category as either goods or services. Based on the selected option the Trade Type is loaded from the MDMS as a drop-down list. The trade sub-type options are loaded based on the selected trade type. The unit of measure and UOM value get pre-populated from the MDMS as per the options selected above.
Users must enter at least one unit to move forward. Clicking on Add More Unit option enables users to enter additional units. Clicking on the delete icon on the top right corner of the unit card removes the unit.
Accessories - The Accessory page inquires if there are any accessories required for the business. Accessories may not be compulsory for all trades. If yes, it will move to the accessory details page. If no, it will skip it altogether and will load the address flow.
Accessory details - The options for accessories are retrieved from the MDMS. The Unit of Measure or UOM is pre-populated and cannot be edited. The users can edit the UOM value and the accessory count. In some cases, these are pre-populated from the MDMS. Clicking on Add More Trade Accessory button allows users to add multiple accessories.
Common PT integration with TL: After entering the trade details, users have the option to either search and integrate the already created property or create new lightweight property data for the trade license. This step can be skipped and users can proceed with the normal address details flow.
Once a property is selected user can see the details of the property on the property details page. Refer to the Common PT document for more details.
Address Details Flow - In the next flow, users have to enter the trade address details. This flow is straightforward, without any conditional routing.
Users can pinpoint the location in the Geo-location map, according to which pin code and city, as well as locality, is auto-filled.
Owner Details Flow - Finally, the users need to enter the trade owner details. Ownership can be Single or Multiple Owners. According to which the details are filled.
In the case of single/multiple owners, the following screen is displayed. The remaining flows remain the same.
Users can add multiple owners by clicking on the add owner button - a similar functionality as in trade units and accessories. The Add Owner button is not visible in case the user selects a single owner on the previous page.
The user must provide the owner's primary address and upload three documents that include address proof, owner identity and owner photograph.
Check Page and Acknowledgement Screen - Users can cross-verify the data entered throughout the flow in the Check page. Clicking on the change option adjacent to the data fields allows users to make any changes or updates to the data. The user is redirected back to a corresponding information page and the entire flow is repeated once again to submit the application.
The Applying of Trade License Create API is called. Create API snippet:1create: "/tl-services/v1/_create"
If the API response is successful, then the Acknowledgement Screen is displayed, otherwise Failed Acknowledgement Screen is displayed.
Clicking on the Download Acknowledgement Form button downloads the PDF copy of the acknowledgement.
All screens are developed using the new-UI structure followed previously in FSM, PGR and PT, except for multi-component.
Apply Trade License main index link: https://github.com/egovernments/digit-ui-internals/blob/main/packages/modules/tl/src/pages/citizen/Create/index.js
The TL (Trade License) module is segregated into a specified structure. The screen configuration is inside the PageComponent folder, and the configuration for routing of the pages are mentioned under the config folder which is common for both citizen and employees. Below is the snippet for folder structure and routing configuration.
The pages folder is where the high-level configuration for controlling the whole flow is mentioned, for citizens and employees. Citizen flows include Create, Edit Trade, Renewal, Applications and Search Trade. The index or the starting point of the entire flow is available in this folder.
In the Accessory-details page, the Billing slab search API "/tl-calculator/billingslab/_search"
is called. This returns the array list of all the accessories for which the billing slab has been configured. If the response returns an empty array then the options are curated from the MDMS API mentioned in the MDMS data section.
After completing the flow the user can download the acknowledgement PDF form of the License created. PDF generation config link: https://github.com/egovernments/digit-ui-internals/blob/main/packages/modules/tl/src/utils/getTLAcknowledgementData.js
The Utils folder basically contains all the methods used throughout the TL module. Additional common methods can be imported and added to this folder.
For creating an application the Create API from Trade License is called using the React hooks. This is declared in the hooks/elements/TL as TLService.
There are multiple pages within the workflows where data is imported from the MDMS. The table below lists the pages .js files for distinct page components.
TradeLicense
List of documents required for registration
TradeLicense
Documents
SelectTradeName
Current Financial Year
egf-master
FinancialYear
SelectVehicleType
Type of mobility trade
common-masters
StructureType
SelectBuildingType
Type of Steady Trade
common-masters
StructureType
SelectTradeUnits
List of trade category and its corresponding type and sub-type
TradeLicense
TradeType
SelectAccessoriesDetails
Lit of Accessory and its Unit of measure and UOM value
TradeLicense
AccessoriesCategory
TLSelectAddress
List of cities and its corresponding localities
TradeLicense
tenants
SelectOwnerShipDetails
categories imported are single and multiple owner.
common-masters
OwnerShipCategory
SelectOwnerDetails
List of Gender options.
common-masters
GenderType
React Hooks are used to calling MDMS data that is shared across the modules. Below is the code snippet for the MDMS call.
Localization keys are added to the ‘rainmaker-tl’ locale module. In future, if any new labels are implemented in the Trade License (Citizen) it is pushed to the locale DB in the rainmaker-tl locale module. Below is an example of a few locale labels.
API
Action id
Roles
/egov-mdms-service/v1/_search
954
CITIZEN
/tl-services/v1/_create
1685
CITIZEN
/filestore/v1/files/url
1528
CITIZEN
/billing-service/bill/v2/_fetchbill
1862
CITIZEN
/tl-calculator/billingslab/_search
1684
CITIZEN
/tl-services/v1/_update
1686
CITIZEN
/localization/messages/v1/_search
1531
CITIZEN
This feature allows the user to renew any trade license applications, which either has been expired or had to be renewed for current financial year (Approved and Paid), it also had integration with the payment component, in order to complete the flow all together for renewal.
Renewal can be two types:
DIRECT RENEWAL
EDIT RENEWAL
Once the user clicks on Renew Trade License button on the home page, it will redirect to the renewal list page which will display all the applications eligible for renewal corresponding to the mobile number on which the user has logged in. It will show the Trade name, License Number, Owner Name and status whether active or expired.
Once the user clicks on Renew Button, it redirects the user to the summary page just like in edit Trade license, with all the values pre-populated from the search API. The info card will be declared so that the user will understand how to proceed with either direct renewal or edit renewal.
If the user just wants to renew the same application without updating any data, it will cross-verify all the values in the summary page and then click on submit button directly at the end of the page, this will lead the application to the next status as pending for payment and user can go through payment flow from the acknowledgement screen also, by clicking on the Make Payment button.
If the user before renewal needs to update the application, they can do so by clicking on the change button on the summary screen, this will tell that the flow has been changed from direct to edit renewal, and the user will need to follow the same apply flow in order to complete the editing part of it. the values from the application will be pre-populated in the respective screens, to get the details about the edit flow, one can refer to this link. .
Once the user clicks on submit button it will change the current action of the application to pending for document verification as the data has been updated.
Renewal Trade main index can be found in the below-given link:
in this, we are calling the trade license search API, In order to get all the applications, through which the sorting is happened to classify which applications are eligible for renewal for the current financial year.
the hook which has been used for the API is:
The data from here then are sorted into the application which doesn’t have any open renewal application for the current financial year or which has a status of approved or expired. the significant method to get the renewal list of applications is mentioned below:
From here the Trade License List Component has been called which displays the list of the renewal application.
Once the user has completed the flow as required or clicked the submit button directly, the method convertToEditTrade
is being called, which re-arranges the data for the request body for the updated API /tl-services/v1/_update
.
If it is a direct renewal only one update API is being called which updates the financial year only.
but if it is an edit renewal, two updated API is called after the first API successful call the application status gets changed to Initiated but after the second API call it is changed to applied. with the next action pending for document verification.
the code for these can be found in the utils folder index please refer to the below link for the same:
MDMS data which is being used here is the same as the Apply flow only, as the flow structure used for edit renew trade is the same as the Apply for Trade License. Please refer to the link for detailed MDMS information.
For Renew Trade also, the Localization keys are being added in the ‘rainmaker-tl’ locale module. Change, update or add of any new localization key will be done in the same locale module only.
The Inbox page contains 4 react components:-
Application Links is a separate component that holds links to other pages of possible navigation from the inbox. This component is common in both mobile and desktop views. Links are conditionally rendered according to the user roles.
The Search Application component is a form-based component, that controls the Table component and the search param for Inbox API, it uses FormComposer HOC to render fields.
Validation of these fields is achieved by using controlled component rules
Any number of search fields can be added but by convention, only mobile numbers and application numbers are provided.
Filters contain input fields to filter the result of API, by sending search params to inbox API.
It contains 3 sections
Assigned to Me/ All - It is a radio component to send the assignedToMe param as true or false.
Locality - Filter result according to the selected locality by sending locality code in module search params in inbox API.
Status - Status filters are achieved by sending the id received from the inbox API response and mapping the name of businessService, status name and count
The table is a react component which uses the React-Table plugin, used in multiple modules
However, in Mobile view are using cards to list all the applications without pagination support.
API CURL -
All content on this page by eGov Foundation is licensed under a Creative Commons Attribution 4.0 International License.
All content on this page by is licensed under a .
All content on this page by eGov Foundation is licensed under a Creative Commons Attribution 4.0 International License.
All content on this page by eGov Foundation is licensed under a Creative Commons Attribution 4.0 International License.
The main functionality of converting the License Object received from the API to the object structure for formdata for apply flow, following is done in a similar way as the edit trade, and the same method is being used to convert the response object, to know more details please refer to
On Inbox page {env} is the only API that is called.
Title
Link
tl-calculator/billingslab/_create
tl-calculator/billingslab/_search
tl-calculator/billingslab/_update
tl-calculator/v1/_calculate
Title
Link
API Swagger Contract
Trade License Document
Provide employee purpose workflow actions.
The same screen is used for both application details and trade details.
Based on the conditions, we are showing the details here
Example: If the application is not in an approved state and the business Service New TL, then we are showing application details otherwise we are showing trade details.
For workflow action details, please refer to the file below.
The workflow is the same as Old UI only, please refer to the documentation link below.
1
egov-mdms-service/v1/_search
CR_PT
954
2
/tl-services/v1/_update
TL_APPROVER, TL_CEMP, EMPLOYEE, TL_DOC_VERIFIER, TL_FIELD_INSPECTOR
2029
3
/egov-workflow-v2/egov-wf/process/_search
EMPLOYEE
1730
4
/tl-services/v1/_search
EMPLOYEE
, TL_APPROVER
, TL_CEMP
1687
5
/egov-hrms/employees/_search
TL_APPROVER, TL_CEMP, EMPLOYEE, TL_DOC_VERIFIER, TL_FIELD_INSPECTOR
1752
Search Application and Search License pages are used for searching any application/ license that may or may not be relevant to the workflow action of the logged-in users.
Search Application has 2 components.
A search field component is a form which takes inputs and passes them into tl-search API params. It utilizes SearchForm and SearchField components to create and arrange the form.
Result Table uses the Table react component and the result from API is adapted to the table config using a custom hook inside the common parent wrapper and passing the response to individual components.
Search License has a fixed param where the status of the application is “APPROVED”, other than differences in table config
The API end point for searching trade licenses is {env}/tl-services/v1/_search
API CURL -
This feature allows the user to edit the application already created under their mobile number. After verifying employee can send the application back to the citizen with remarks on any changes that needed to be done, which can be edited by the user using this flow.
On the Application details page, on the employee side, if the application is marked with “Send Back to Citizen”, the edit option will appear dynamically at the end of the application details page, which the user can navigate through my applications.
After this, On clicking the button, the user can edit the trade license details by going through the Create Flow again. First, it will land on the Summary page, where for each section “change” button is there. Clicking on the Change button, the user will be redirected to the particular content, the only exception here will be the values will be pre-populated from the License object received from Trade License Search API, on completing the flow, Update API will be called and License application will get successfully updated.
Edit Trade License main index can be found in the link given below:
Here the main code consists of the function which results in transforming the License object received in Search API to the object structure which is suitable for citizen Apply flow (owner details, units, accessories etc), as the user needs to go through Apply flow again with pre-populated details and update the value of any accordingly. it also consists of the routing for the pages in the Apply flow.
getTradeEditDetails() function is being used so that the License object which is received from the Trade Search API, is converted to the Apply flow relevant structure so that the values can be pre-populated for the user convenience, on completing the flow, the application is updated. The link for the same can be found below:
Similarly, for owners the method which is used to form the new request param array is gettradeownerarray
It is similar to Accessories and Units - the only difference is in UI. Users can’t select multiple owners and only add one owner, it needs to either add more than one owner or select a single owner in the ownership category and proceed. After the successful update, the application's next action will be “Pending for document verification” as there is an update in the data.
On completing the flow, the same object structure which was being used earlier in the flow gets changed into the request body structure for the update API: /tl-services/v1/_update
, for this, the method which gets used is declared inside the Utils folder. Method name: convertToResubmitTrade
and it can be found in the below link:
MDMS data that is being used here is the same as the Apply flow only, as the flow structure used for edit trade is the same as the Apply for Trade License. Please refer to the link for detailed MDMS information.
For Edit Trade also, the localization keys are added to the ‘rainmaker-tl’ locale module. Change, update or add of any new localization key is done in the same locale module only.
All the fields in this flow are the same as the New TL Application. The difference here is that max fields are having pre-populated data (On Loading the page, search is made for that particular application).
Will get the Renew Trade License option, when the application is in an approved state and the same financial year application is not present in the workflow.
File path: digit-ui-internals/ApplicationDetails.js at main · egovernments/digit-ui-internals
When we click on the Renew Trade License application, it will route to Renew screen
Direct Renewal: There is no change in any fields and directly clicks on submitting an application, an update API call is made for the respective application with respective to Direct Renewal (applicationType
: RENEWAL
, workflowCode
: DIRECTRENEWAL,
)and it will go into direct renewal flow.
Edit Renewal: If there is any change in any fields and clicks on submitting an application, an update API call is made with respect to edit renewal (applicationType
: RENEWAL
,workflowCode
: EDITRENEWAL
)and update the application and it will go into the edit renewal flow.
Units, Accessories, Owners and documents details in case of Edit/Renewal flow
Acknowledgement Screen
After a successful update call, the user is routed to the acknowledgement screen.
EDIT Flow: It is also the same as renewal flow only, but we are passing the action action
: RESUBMIT
on the update call with all the changes.
Application/ Trade Details: Application Details/Trade Details
TL Create New Application: New Trade License Application
1
/egov-mdms-service/v1/_search
TL_CEMP
954
2
/tl-services/v1/_create
TL_CEMP
1685
3
/tl-services/v1/_update
TL_CEMP
1686
4
/tl-calculator/billingslab/_search
TL_CEMP
1684
The trade license 'apply' is the major feature in TL Module. It allows Citizens or Counter Employees to create TL Applications for the current financial year.
Every application is a part of the workflow. Once the user login with TL_CEMP
role, then the User will get the option for creating a New TL Application in the TL card as well as in the inbox.
Clicking on New Application navigates to the New Trade License Application screen.
Initial MDMS call is being made on page load like old UI.
Data fetch, load and render
Clicking on Submit button, tl-services/v1/_create
api is called and create the application, after getting success response, we are calling update API tl-services/v1/_update
.
Acknowledgement Screen
After the success of creating and updating calls will route to the acknowledgement screen.
1
/egov-mdms-service/v1/_search
TL_CEMP
954
2
/tl-services/v1/_create
TL_CEMP
1685
3
/tl-services/v1/_update
TL_CEMP
1686
4
/tl-calculator/billingslab/_search
TL_CEMP
1684
It is common for all modules, find the path here: digit-ui-internals/ApplicationDetailsContent.js at main · egovernments/digit-ui-internals
User can delete and add as many accessory or units as it needs but there should be at least one unit to complete the application, to add a new unit or accessory “Add” button is used which is located at the end of the page. A new array is formed with all the updated details or with the old unit/accessory, when the flow is completed, this new array is then compared with the old array of accessories and units, and a new resulting array object is formed for the request body, you can find the respective code in the following method : gettradeupdateaccessories
& gettradeupdateunits
. this can be found in the below link digit-ui-internals/index.js at main · egovernments/digit-ui-internals
Employee can edit units in both cases, employee can add and delete multiple units, please find the file below reg all use cases: digit-ui-internals/TLTradeUnitsEmployee.js at main · egovernments/digit-ui-internals
Employee cannot edit accessories in both cases, the employee can not add and delete multiple units and all fields are in disable state, please find the file below reg all use cases: digit-ui-internals/TLAccessoriesEmployee.js at main · egovernments/digit-ui-internals
Employee can edit in both cases, expect ownership details, ownership details field is in disable state in both cases. please find the file below reg all use cases: digit-ui-internals/TLTradeUnitsEmployee.js at main · egovernments/digit-ui-internals
Employee can edit the documents in both cases, please find the file below reg all use cases: digit-ui-internals/TLDocumentsEmployee.js at main · egovernments/digit-ui-internals
File path: digit-ui-internals/TLCard.js at main · egovernments/digit-ui-internals and digit-ui-internals/DesktopInbox.js at main · egovernments/digit-ui-internals
Route: mSeva
Structure Type and Sub Structure Type field data is fetched from egov-mdms-data/StructureType.json at master · egovernments/egov-mdms-data
Trade Category, Trade Type, Trade Sub Type field data is fetched from egov-mdms-data/TradeType.json at master · egovernments/egov-mdms-data
Mohalla Data - egov-mdms-data/boundary-data.json at master · egovernments/egov-mdms-data (For Amritsar)
Type of Ownership and Type of Sub ownership - egov-mdms-data/OwnerShipCategory.json at master · egovernments/egov-mdms-data egov-mdms-data/OwnerType.json at master · egovernments/egov-mdms-data
On loading the page, /tl-calculator/billingslab/_search
api is called for showing the licence type (File Path: digit-ui-internals/TLTradeDetailsEmployee.js at main · egovernments/digit-ui-internals ) and accessories options (File Path: digit-ui-internals/TLAccessoriesEmployee.js at main · egovernments/digit-ui-internals ).