Location Module

Setting up boundary hierarchies for tenants


The location module serves the boundary hierarchies for a tenant. Location is defined separately for every tenant (mostly ULBs) in DIGIT. Each tenant has a unique tenantId.


The tenantId key can be a combination of state or state.city or state.city.ulb. The hierarchyType can be one of Revenue, Admin or Election. Multiple hierarchy types can be defined for the same city tenant.

 "tenantId": "pb.amritsar",
 "moduleName": "egov-location",
 "TenantBoundary": [
     "hierarchyType": {
       "code": "REVENUE",
       "name": "REVENUE"
     "boundary": {
       "id": 1,
       "boundaryNum": 1,
       "name": "Amritsar",
       "localname": "Amritsar",
       "longitude": null,
       "latitude": null,
       "label": "City",
       "code": "pb.amritsar",

The entire hierarchy can be defined in a nested way as children. One sample of location data for the Amritsar ULB is available here.

Location data is stored in GitHub as part of MDMS. The egov-location folder needs to be created inside the city tenant (see Amritsar example above). It is stored in the following format:

Module name: egov-location (folder) 
Master name: TenantBoundary (key)

Data Setup

Enter the boundary hierarchy data in the <tenant>/egov-location/boundary-data.json file in the appropriate branch of your forked MDMS repository. For example - if you want changes to be visible in the Dev environment, add the data in the DEV branch of the MDMS repository.

Follow the Git flow processes to ensure high-quality data. Make sure the PR requests are raised, verified and merged especially where multiple people are working on the same branch.

Restart the MDMS service in your environment once the new data is available in the desired branch.

Boundary Localization

Users also need to upsert localisation codes for any new boundary data in MDMS. Else, users see the label names (auto-generated) for the city names in the UI. Check the Localisation Data Setup guide for more information on how to perform localisation.

The localisation code should follow the following format - *tenantId*_*moduleName*_*hierarchyType*_*cityCode*_*zoneCode*_*blockCode*_*areaCode

For example, to find the localisation code for "Ajitnagar area 1", assuming tenantId as "pb" and hierarchyType as "Revenue":

  1. moduleName: EGOV-LOCATION

  2. cityCode: PB.AMRITSAR

  3. zoneCode: Z1

  4. blockCode: B1

  5. areaCode: SUN04

So finally the localisation label code for "Ajitnagar area 1" would be PB_EGOV-LOCATION_REVENUE_PB.AMRITSAR_Z1_B1_SUN04 (visible in the UI if no localisation is present).

Last updated

All content on this page by eGov Foundation is licensed under a Creative Commons Attribution 4.0 International License.