# Preparation of MDMS Data for Data Loading

This document shows the preparation of the mdms changes be to done for data loading.

1. To add data in [tenant/tenants.json](https://github.com/egovernments/egov-mdms-data/blob/v2.3-patch/data/pg/tenant/tenants.json) - For showing the tenant at login screen\
   Sample Data :

| DETAILS                                                    | DESCRIPTION                                                                                                        | DATA FROM ULB                          |
| ---------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------ | -------------------------------------- |
| Name of ULB                                                | (E.g.: Berhampur Municipal Corporation or Balasore Municipality or Banki NAC)                                      | ANGUL MUNICIPALITY                     |
| ULB Census Code (Optional)                                 | ->                                                                                                                 |                                        |
| PIN codes covered within ULB Boundary (separate by commas) | (Eg.: 759001, 759013)                                                                                              | 759122, 759132, 759123, 759143         |
| District Name                                              | ->                                                                                                                 | ANGUL                                  |
| District Code (Optional)                                   | ->                                                                                                                 |                                        |
| Helpline Phone numbers for Septic tank cleaning            | (Write both Landline with Code and Mobile No. if you have, separated by commas.) (Eg.: 0674-234563, 91-9876786543) | 14420                                  |
| ULB's full postal Address                                  | ->                                                                                                                 | AT/PO-AMLAPADA, DIST-ANGUL, PIN-759122 |
| ULB Email Address                                          | ->                                                                                                                 | <angulmunicipality@gmail.com>          |

&#x20;

Example : Create a json for new ulb and Add required details given.

```json
{
    "code": "od.angul",
    "name": "Angul",
    "description": "Angul",
    "logoId": "https://digitaldesksujog051120.blob.core.windows.net/assets/Logos/odlogo.png",
    "imageId": null,
    "domainUrl": "https://sujog.odisha.gov.in",
    "type": "CITY",
    "twitterUrl": null,
    "facebookUrl": null,
    "emailId": "angulmunicipality@gmail.com",
    "OfficeTimings": {
        "Mon - Fri": "9.00 AM - 6.00 PM",
        "Sat": "9.00 AM - 12.00 PM"
    },
    "pincode": [
        759122,
        759132,
        759123,
        759143
    ],
    "city": {
        "name": "Angul",
        "localName": null,
        "districtCode": "Angul",
        "districtName": "Angul",
        "regionName": "Angul",
        "ulbGrade": "Angul Municipality",
        "longitude": 0,
        "latitude": 0,
        "shapeFileLocation": null,
        "captcha": null,
        "code": "ANG",
        "ddrName": "Angul",
        "wsBillHeaderLine1": "OFFICE OF THE AE/JE",
        "wsBillHeaderLine2": "PUBLIC HEALTH ENGINEERING ORGANIZATION : Angul",
        "districtTenantCode": "od.angul"
    },
    "address": "AT/PO-Amlapada,Dist-Angul, Pin-759122",
    "contactNumber": "",
    "helpLineNumber": "14420"
}
```

2. Adding in [tenant/citymodule.json](https://github.com/egovernments/egov-mdms-data/blob/v2.3-patch/data/pg/tenant/citymodule.json) - To enable ulb to create application,add new tenant code in FSM module.<br>

   ```json
   {
       "module": "FSM",
       "code": "FSM",
       "active": true,
       "tenants": [
           {
               "code": "pg.citya"
           },
           {
               "code": "pg.angul"
           }
       ]
   }
   ```
3. Adding FSTP details in [FSM/FSTPPlantInfo.json](https://github.com/egovernments/egov-mdms-data/blob/v2.3-patch/data/pg/FSM/FSTPPlantInfo.json)\
   Required Details:

| DETAILS                                     | DESCRIPTION                | DATA FROM ULB                          |
| ------------------------------------------- | -------------------------- | -------------------------------------- |
| FSTP Plant Address                          | ->                         | NUAMAUSA, PANCHAMAHALLA, ANGUL, 759132 |
| B.2. FSTP Installed Capacity in Kilo-Liters | (Eg.: 45 KLD)              | 18 KLD                                 |
| B.3. Plant Operation Timing Duration        | (Eg.: 09:00 AM - 08:00 PM) | 9.00AM-5.00PM                          |

&#x20;

Eg.

```json
{
    "PlantCode": "ANG_001",
    "PlantName": "ANGUL Plant",
    "active": true,
    "PlantType": "SeTP",
    "PlantLocation": "ANGUL",
    "PlusCode": "R3RW+7JQ",
    "PlantOperationalTimings": "09.00am-05.00pm",
    "PlantOperationalCapacityKLD": "18",
    "ULBS": "pg.angul"
}
```

\ <br>

| **Field Name**        | **Description**                                | **Comments**                                                                                                                                                                                                                                                                                                |
| --------------------- | ---------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Plus code             | Copy paste the plus code of the plant location | <p>Go to google maps , search for the plant and in the left panel you will have option to copy the plus code of the location.</p><p>Plus code is a simple digital address based out of latitude and longitude</p>                                                                                           |
| Unique Code for Plant | This will be an unique code for the SeTP plant | <p>For example : If the plant is the ANGUL Plant then the there can be 3 alphabets to identify the city "ANG\_001 "</p><p>001 - is a running sequence number for a state.If the first row is 001 the second row can be 002.</p><p>If the second row plant is from PURI then the code can be "PURI\_002"</p> |

&#x20;

* Creating Boundary data for Gram Panchayat in [ULBNAME/egov-location/boundary-data.json](https://github.com/egovernments/egov-mdms-data/blob/v2.3-patch/data/pg/anandapur/egov-location/boundary-data.json)\
  The GP details will be given in Annexure-5,in hierarchyType - REVENUE ,add GP data after locality data.\
  The json format of GP is :<br>

  ```json
  {
      "id": 6,
      "boundaryNum": 1,
      "name": "GP 1",
      "localname": "GP1",
      "longitude": null,
      "latitude": null,
      "label": "GP",
      "code": "GP1",
      "children": [
          {
              "id": 11,
              "boundaryNum": 1,
              "name": "Village 1",
              "localname": "Village local 1",
              "longitude": 74.871552,
              "latitude": 31.63089,
              "label": "Village",
              "code": "VIL1",
              "pincode": [
                  143001
              ],
              "area": "V-Area1",
              "children": []
          },
          {
              "id": 12,
              "boundaryNum": 1,
              "name": "Village 2",
              "localname": "Village local 2",
              "longitude": null,
              "latitude": null,
              "label": "Village",
              "code": "VIL2",
              "pincode": [
                  143001
              ],
              "area": "V-Area1",
              "children": []
          }
      ]
  },
  ```

***Example:***

```json
{
    "tenantId": "pg.rourkela",
    "moduleName": "egov-location",
    "TenantBoundary": [
        {
            "hierarchyType": {
                "code": "REVENUE",
                "name": "REVENUE"
            },
            "boundary": {
                "id": 1,
                "boundaryNum": 1,
                "name": "Rourkela",
                "localname": "Rourkela",
                "longitude": null,
                "latitude": null,
                "label": "City",
                "code": "pg.rourkela",
                "children": [
                    {
                        "id": "2",
                        "boundaryNum": 1,
                        "name": "Pradhanpalli",
                        "localname": "Pradhanpalli",
                        "longitude": null,
                        "latitude": null,
                        "label": "Locality",
                        "code": "VIL1"
                    },
                    {
                        "id": "3",
                        "boundaryNum": 1,
                        "name": "Other",
                        "localname": "Other",
                        "longitude": null,
                        "latitude": null,
                        "label": "GP",
                        "code": "OTH1",
                        "children": []
                    }
                ]
            }
        }
    ]
}
```

\
**Steps to create the jsons of GP data** -

* The GP data is given in excel format.
* Copy all the GP’s list and make an excel with format given below

| id | boundaryNum | name      | localname | longitude | latitude | label | code |
| -- | ----------- | --------- | --------- | --------- | -------- | ----- | ---- |
| 10 | 1           | Kodama    | Kodama    | null      | null     | GP    | GUD5 |
| 11 | 1           | M K Rai   | M K Rai   | null      | null     | GP    | GUD6 |
| 12 | 1           | Madhubana | Madhubana | null      | null     | GP    | GUD7 |

* The name and localname is the GP name provided
* The label is always GP and boundaryNum is 1.
* Id is unique for each GP and should be in sequential order.
* Provide a proper format of GP code according to GPname.
* Convert the excel data into json using excel-json online converter.
* Add the GP data after locality data in [boundary-data.json](https://github.com/egovernments/egov-mdms-data/blob/v2.3-patch/data/pg/anandapur/egov-location/boundary-data.json) file .
* Check the format once,change id into string if it is in integer format.
* Add **"children": \[]** for each GP separately after converting to json.

&#x20;

4. Adding Slum Details in [ULBNAME/FSM/Slum.json](https://github.com/egovernments/egov-mdms-data/blob/v2.3-patch/data/pg/anandapur/FSM/Slum.json)\
   The name of the slums will be provided.The format of slum adding in mdms is:&#x20;

   ```json
   {
       "name": "slumname",
       "active": true,
       "code": "CODE001",
       "locality": "VIL1"
   }
   ```

&#x20;

**Steps To Create the jsons of Slum data** :\
The slum data is provided in excel format.

* Make an excel with with given format

| name                      | active | code    | locality |
| ------------------------- | ------ | ------- | -------- |
| Adibasi Sahi(Poda khaman) | true   | ANAN001 | VIL1     |
| Badaharijan Sahi          | true   | ANAN002 | VIL1     |

* Add all the slums in name field
* change the code according to ulb name
* add locality VIL1 according to boundary-data.
* convert the excel data into json using excel to json converter.
* create a folder of a respective tenant  and inside it add slum.json file in FSM folder.

5. Adding New Vehicles in VehicleMakeModel\
   Before pushing the vehicle data,new vehicle should be added in mdms.

| Vehicle Make                       | Eg.: Swaraj, Eicher, Mahindra etc. -> | Mahindra |
| ---------------------------------- | ------------------------------------- | -------- |
| Vehicle Model                      | Eg.: Truck, Tractor, Pick Up etc. ->  | Truck    |
| GPS Tracker is present in vehicle? | YES **or** NO ->                      | No       |
| Cesspool Tank Capacity (in Litres) | ->                                    | 1000     |

Eg.  new vehicle add&#x20;

```json
{
    "code": "MAHINDRA",
    "name": "Mahindra",
    "active": true
},
{
    "code": "MAHINDRA.TRUCK",
    "name": "Truck",
    "active": true,
    "make": "MAHINDRA",
    "capacity": "1000"
}
```

The code should be different for each vehicle and in format [make.name](http://make.name/) .

6. Billing-slab pricing preparation\
   For adding the rate slabs(pricing) of vehicles,consider different combination of propertyType , slum and tank capacity.
   1. Required combination of property types and Sub-property types added in [MDMS](https://github.com/egovernments/egov-mdms-data/blob/v2.3-patch/data/pg/FSM/PropertyType.json) :
   2. RESIDENTIAL and RESIDENTIAL.SUB-PROPERTY\_TYPE
   3. INSTITUTIONAL and INSTITUTIONAL.SUB-PROPERTY\_TYPE
   4. COMMERCIAL and COMMERCIAL.SUB-PROPERTY\_TYPE
   5. Sample Data for pricing :

| <p>Name of the ULB:<br>(Write in right side box)</p> | Anandapur Municipality |           |           |
| ---------------------------------------------------- | ---------------------- | --------- | --------- |
| Details                                              | Description            | Vehicle-1 | Vehicle-2 |
| Cesspool Tank Capacity (in Litres)                   | ->                     | 1000      | 3000      |
| Per trip Pricing for **Residential properties**      | ->                     | 1000      | 2000      |
| Per trip Pricing for **Commercial properties**       | ->                     | 1000      | 3000      |
| Per trip Pricing for **Institutional properties**    | ->                     | 1000      | 2000      |
| Per trip Pricing for **Slum areas**                  | ->                     | 800       | 1500      |

\
**Steps to make billing-slab data:**\
\
A. Create an excel file in given format

| tenantId     | capacityFrom | capacityTo | propertyType                   | slum | price | status |
| ------------ | ------------ | ---------- | ------------------------------ | ---- | ----- | ------ |
| od.anandapur | 0            | 1000       | RESIDENTIAL                    | YES  | 1000  | ACTIVE |
| od.anandapur | 0            | 1000       | RESIDENTIAL.INDEPENDENT\_HOUSE | NO   | 800   | ACTIVE |

B. Consider all property types and sub-property type present in mdms with slum YES and with slum NO.

C. for capacity 1000L,the pricing is given as

For slum NO :

1. RESIDENTIAL and RESIDENTIAL.SUB-PROPERTY\_TYPE - 1000
2. INSTITUTIONAL and INSTITUTIONAL.SUB-PROPERTY\_TYPE - 1000
3. COMMERCIAL and COMMERCIAL.SUB-PROPERTY\_TYPE - 1000

For slum YES(Per trip Pricing for **Slum areas**) :

1. RESIDENTIAL and RESIDENTIAL.SUB-PROPERTY\_TYPE - 800
2. INSTITUTIONAL and INSTITUTIONAL.SUB-PROPERTY\_TYPE - 800
3. COMMERCIAL and COMMERCIAL.SUB-PROPERTY\_TYPE - 800

D. for capacity 3000L,the pricing is given as

For slum NO :

1. RESIDENTIAL and RESIDENTIAL.SUB-PROPERTY\_TYPE - 2000
2. INSTITUTIONAL and INSTITUTIONAL.SUB-PROPERTY\_TYPE - 2000
3. COMMERCIAL and COMMERCIAL.SUB-PROPERTY\_TYPE - 3000

For slum YES(Per trip Pricing for **Slum areas**) :

1. RESIDENTIAL and RESIDENTIAL.SUB-PROPERTY\_TYPE - 1500
2. INSTITUTIONAL and INSTITUTIONAL.SUB-PROPERTY\_TYPE - 1500
3. COMMERCIAL and COMMERCIAL.SUB-PROPERTY\_TYPE - 1500

E. After creating the excel file by considering the combinations,convert the excel file into json.

F. Push the same json file in billing slab api using runner.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.digit.org/sanitation/water-sanitation-product-suite/waste-management-system/faecal-sludge-management-fsm/enablement-toolkits-assetization-for-fsm/preparation-of-mdms-data-for-data-loading.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
