Skip to main content
Glama

compare_uses

Read-onlyIdempotent

Use this when someone wants to know which uses are allowed on a plot in Maharashtra, or how built-up differs between uses on the same land. Returns every use on the same land in a fixed order: allowed or the reason not, conditions, clause, and built-up with and without TDR.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
crzNothe coastal regulation zone the plot is in: I (between the tide lines), II, or III within its No Development Zone. No TDR in the coastal zone (11.2.8(c)); development as the CRZ Notification allows (1.6(i))
todNoplot inside a TOD zone (14.2): Municipal Corporations, metropolitan authorities and CIDCO; the Nagpur Metro Rail Corridor by Table 14-P
areaYesplot area as the user gave it, in m2 unless area_unit says sqft, guntha, acre or hectare: the least of 7/12, measurement sheet and site
bedsNobeds: for hospitals, parking, water, sanitation and grey water; for hotels, water
roadNowidth of the road in front, in m unless road_unit is ft, when there is one road and no sides
townYesMaharashtra town, city or planning authority, e.g. Pune, Kolhapur, Nashik, PMRDA
zoneNonc non-congested, c congested (gaothan)
areasNothe three areas of Appendix A item 1, in m2, for the area statement: ownership (the 7/12 or property card), sheet (the measurement sheet of the Land Records) and site (by the measurements); area is the least of those given
flatsNonumber of flats; with carpet, a one-type unit mix
greenNogreen rating committed (IGBC / GRIHA / LEED tier) for the incentive FSI of 7.10 on basic FSI: 3%, 5% or 7%
roomsNoguest rooms, for hotel parking and sanitation
seatsNoseats, for assembly parking
sidesNoevery side, anticlockwise, starting at a road
stiltNo
unitsNothe unit mix, one entry per type, e.g. [{"type":"2 BHK","count":12,"carpet":60},{"type":"Shop","count":4,"carpet":25}]; parking takes each type in its own Table 8-B row; a count left out is worked out from the building
wingsNoa group housing project as wings, each with its own typical floor and floors; units then gives each type and its carpet only. Returns each wing's height, lifts, special building and the distance between wings (6.2.4), and the built-up the wings need against what the rules allow
carpetNocarpet area of a flat, m2
marginNomargin the developer needs, % of sales value; with the rates, gives what the land carries and the largest share of the flats for the landowner in a joint development
papersNothe papers the facts were read from, when they were: 712 (the 7/12 extract or property card, for the area), sheet (the measurement sheet, for the sides and area), zone (the zone certificate or DP remark, for the zone, the road width, road widening and reservations), layout (the sanctioned layout or regularisation order). The study marks each fact as read from its paper or as told; no rule reads them
buy_tdrNofalse: the study is drawn without buying TDR, on basic and premium FSI with their ancillary area; default true. Either way, tdr_choice sets both side by side, with the most TDR is worth to this plot when sale_rate and build_cost are given
polygonNoplot corners [x, y] in m, anticlockwise, one per side, side 1 first; needed for plots that are not rectangles
rc_rateNothe ASR rate of RCC construction, Rs a m², for the land rate to construction rate ratio of Tables 7-C to 7-E
asr_rateNoland rate of the plot in the Annual Statement of Rates, Rs a m2; gives premiums in rupees and the DRC to debit
land_useNothe zone on the development or regional plan: residential, commercial, industrial, public / semi-public, agricultural, transport, green belt, loom industry cum residential (4.9), regional park (4.14), tourism development (4.15), afforestation (4.16), hill top (4.17), green zone 2 (4.18), forest, defence, mines and quarry, public utility, woodland corridor, special economic zone, airport (4.19 to 4.25)
measuredNotrue: the polygon is the plot as measured on site (draw_plot gives it so), drawn as it is; area, the least of the areas of Appendix A item 1, may then be smaller than the polygon. Without it the drawing is scaled to area
tdr_rateNoprice of TDR, Rs a sq ft
area_unitNounit of area, road_widening and reservation as the user gave them; default m2. Citiwise converts and says so in units
basementsNolevels of basement, for parking and services (9.11)
bathroomsNofactories: whether bath-rooms are provided, for water (Table 12-A)
jda_offerNoshare of the flats a developer has offered the landowner in a joint development, %; with the rates, gives what the developer keeps at that share beside the share the plot carries
road_unitNounit of road and of each road side's width as the user gave them; default m
sale_rateNosale rate, Rs a sq ft of carpet area; with build_cost and tdr_rate gives an appraisal: sales value, construction, premiums, TDR and the surplus before land
build_costNoconstruction cost, Rs a sq ft of built-up area
flood_zoneNothe plot lies within the blue flood line (prohibitive: no construction, no TDR) or between the blue and red flood lines (restrictive: plinth above the red flood line) (3.1.3; 11.2.8(b))
land_priceNoasking price of the land when it is being bought, Rs for the whole plot; with the rates, gives the profit at that price and how far it sits from what the land carries
sprinklersNomixed building fully sprinklered with the travel distances kept: under the 1.3(93)(xiv) note it stays out of the special building rules up to 24 m with floors up to 750 m², subject to fire NOC
steep_areaNom² of the plot steeper than 1 in 5: hill top and hill slope land, not built upon (3.1(iii); 4.0 (XIV))
use_carpetNocarpet area of a non-residential use, or of the shops below flats, m2, for its parking and water; default the built-up that fits
buy_premiumNofalse: the study is drawn without premium FSI (and without the Table 7-A higher FSI, which is taken on premium), on basic FSI, any TDR and the ancillary area; default true
handed_overNo
layout_kindNothe land is laid out into plots, or developed as a group housing scheme; returns layout: the internal road widths of Tables 3A to 3C and what the layout carries (3.3, 3.4, 2.7.2)
other_costsNoother costs (fees, finance, marketing), % of construction cost
plot_originNolayout: sanctioned layout or sub-division; unauthorised: sub-divided after 11.01.1967 without permission; gunthewari: regularised under the Gunthewari Act
prepared_byNowho is giving the study, as it should appear on its cover, e.g. a broker or developer
reservationNo
carpet_shareNocarpet area as a share of the built-up, 0.3 to 0.95 or 30 to 95 (default 0.8); sets the unit counts left out and so the sales value
floor_heightNo
gaothan_beltNoa Regional Plan village plot in the agricultural zone, within the belt around the gaothan or a town where 5.1.1 permits residential development, on a premium of a share of the land's ASR rate
parking_costNoconstruction cost of the stilt floor, Rs a sq ft; the stilt is free of FSI but built; default build_cost
prepared_forNowho the study is for, as it should appear on its cover, e.g. the landowner or client
step_marginsNotrue: step margins on upper floors (6.2.3(c)): each floor keeps the side and rear margin its own height needs, so lower floors are larger; 6 m at the ground for a special building
access_lengthNothe plot does not abut a public street: the length of the access way to it, m, measured to the street; 'road' is then the access way's width (3.2.2, 3.3.3)
avoid_specialNotrue: keep the building out of the special building rules (1.3(93)(xiv)): no higher than 24 m, and for the uses the floor area reaches, each floor below 500 m² (750 m² for a sprinklered mixed building). Either way, special_choice sets the building kept out beside the special building, with what the special building brings
existing_kindNowhat stands on the plot, for redevelopment (7.4, 7.5, 7.6): a co-operative society's building, a tenanted building, a MHADA scheme building redeveloped by the society or by MHADA, or a bungalow; returns schemes with the figures
ground_heightNo
power_line_kvNovoltage of an overhead line near the plot, kV, for its clearance
road_wideningNo
allotted_basicNofor a plot of a plotted layout, the basic FSI area in m² the layout plan allots it (3.9(iii)), up to the most the plot may receive
basement_flushNobasement top flush with the ground: it may then run into the side and rear margins (9.11.1 proviso i)
slum_tenementsNoeligible hutments on the plot, for slum rehabilitation (14.6, 14.7)
specified_areaNoKolhapur: the characteristic specified area of Table 10-B (10.9.1) the plot is in, by Sr. No. ('1' for Rajarampuri) or the area's name; where the row has several plot sizes, Sr. No. and the plot row, e.g. '3.2'. Sets the Table 10-B margins and coverage and the Note 1 basic FSI. Pune: 'koregaon_park' (10.1.2). A Regional Plan area: an area of Chapter 5 with rules of its own, one of hill_station, station_near, station_far, tarapur, ratnagiri_pada, sindhudurg_t2, sindhudurg_t4, sindhudurg_t5, mp_buffer_edge, mp_buffer_gaothan, satara_core, satara_buffer, nagothane, wadi, rajpuri_usar, sector_r_lonavala, sector_r_kune, aurangabad_strip, ligo. Chapter 10 city areas, Pune: parvati_chatushrungi, arde, hemrl; Thane: ram_maruti, gokhale, express_highway, chemical_green_belt, chemical_low_density, air_force, defence_buffer, g1_yeur, g3_forest, eco_sensitive, defence_west_orange, defence_west_pink, defence_west_navy_blue, defence_west_yellow, defence_west_violet, defence_west_green, defence_east_orange, defence_east_pink, defence_east_yellow, defence_east_violet, defence_east_sky_blue; Nashik: tps1, gangapur_ambad; Vasai-Virar: low_density, eco_sensitive; Mira-Bhayandar: road_strip, manori_gorai_uttan, eco_sensitive; NMRDA: ring_road, township, gaothan_small, gaothan_large
existing_carpetNocarpet area of the existing tenements together, m² (7.4.2, 7.6)
reservation_typeNowhat the DP reservation on the plot is for; with 'reservation', returns accommodation_reservation: developing it by its owner under 11.1, Table 11-A
existing_built_upNoauthorised built-up of the existing building, m², with its TDR and premium FSI (7.5, 7.6)
existing_tenementsNotenements in the existing building (7.4.2, 7.6)
road_widening_sideNoside number (1-based) that the road widening strip comes off; default the first road side
tdr_generating_rateNoASR land rate of the TDR's generating plot, Rs a m2 (11.2.6)
internal_road_lengthNowith layout_kind, the length of the longest internal road, m, from the farthest plot or building to the public street (3.3.3)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / sides / items / properties / type / enum
      Previous value: -[
      -  "road",
      -  "plot",
      -  "open",
      -  "nallah",
      -  "river",
      -  "rail"
      -]New value: +[
      +  "road",
      +  "plot",
      +  "open",
      +  "nallah",
      +  "river",
      +  "rail",
      +  "shared"
      +]
  2. Changed4 schema fields changed
    • addedInput schema / properties / allotted_basic
      Added value: +{
      +  "description": "for a plot of a plotted layout, the basic FSI area in m² the layout plan allots it (3.9(iii)), up to the most the plot may receive",
      +  "type": "number"
      +}
    • addedInput schema / properties / green
      Added value: +{
      +  "description": "green rating committed (IGBC / GRIHA / LEED tier) for the incentive FSI of 7.10 on basic FSI: 3%, 5% or 7%",
      +  "enum": [
      +    "silver",
      +    "gold",
      +    "platinum"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / steep_area
      Added value: +{
      +  "description": "m² of the plot steeper than 1 in 5: hill top and hill slope land, not built upon (3.1(iii); 4.0 (XIV))",
      +  "type": "number"
      +}
    • addedInput schema / properties / step_margins
      Added value: +{
      +  "description": "true: step margins on upper floors (6.2.3(c)): each floor keeps the side and rear margin its own height needs, so lower floors are larger; 6 m at the ground for a special building",
      +  "type": "boolean"
      +}
  3. Changed1 schema field changed
    • addedInput schema / properties / buy_premium
      Added value: +{
      +  "description": "false: the study is drawn without premium FSI (and without the Table 7-A higher FSI, which is taken on premium), on basic FSI, any TDR and the ancillary area; default true",
      +  "type": "boolean"
      +}
  4. Changed2 schema fields changed
    • addedInput schema / properties / avoid_special
      Added value: +{
      +  "description": "true: keep the building out of the special building rules (1.3(93)(xiv)): no higher than 24 m, and for the uses the floor area reaches, each floor below 500 m² (750 m² for a sprinklered mixed building). Either way, special_choice sets the building kept out beside the special building, with what the special building brings",
      +  "type": "boolean"
      +}
    • changedInput schema / properties / sprinklers / description
      Previous value: -"mixed building fully sprinklered (1.3(93)(xiv) note)"New value: +"mixed building fully sprinklered with the travel distances kept: under the 1.3(93)(xiv) note it stays out of the special building rules up to 24 m with floors up to 750 m², subject to fire NOC"
  5. Changed2 schema fields changed
    • addedInput schema / properties / areas
      Added value: +{
      +  "description": "the three areas of Appendix A item 1, in m2, for the area statement: ownership (the 7/12 or property card), sheet (the measurement sheet of the Land Records) and site (by the measurements); area is the least of those given",
      +  "properties": {
      +    "ownership": {
      +      "type": "number"
      +    },
      +    "sheet": {
      +      "type": "number"
      +    },
      +    "site": {
      +      "type": "number"
      +    }
      +  },
      +  "type": "object"
      +}
    • addedInput schema / properties / measured
      Added value: +{
      +  "description": "true: the polygon is the plot as measured on site (draw_plot gives it so), drawn as it is; area, the least of the areas of Appendix A item 1, may then be smaller than the polygon. Without it the drawing is scaled to area",
      +  "type": "boolean"
      +}
  6. Changed2 schema fields changed
    • changedInput schema / properties / land_price / description
      Previous value: -"asking price of the land when it is being bought, Rs for the whole plot; with the rates, gives the profit at that price and how far it sits from the most to pay for the land"New value: +"asking price of the land when it is being bought, Rs for the whole plot; with the rates, gives the profit at that price and how far it sits from what the land carries"
    • changedInput schema / properties / margin / description
      Previous value: -"margin the developer needs, % of sales value; with the rates, gives the most to pay for the land and the largest share of the flats for the landowner in a joint development"New value: +"margin the developer needs, % of sales value; with the rates, gives what the land carries and the largest share of the flats for the landowner in a joint development"
  7. Changed1 schema field changed
    • addedInput schema / properties / buy_tdr
      Added value: +{
      +  "description": "false: the study is drawn without buying TDR, on basic and premium FSI with their ancillary area; default true. Either way, tdr_choice sets both side by side, with the most TDR is worth to this plot when sale_rate and build_cost are given",
      +  "type": "boolean"
      +}
  8. Changed1 schema field changed
    • addedInput schema / properties / slum_tenements
      Added value: +{
      +  "description": "eligible hutments on the plot, for slum rehabilitation (14.6, 14.7)",
      +  "type": "integer"
      +}
  9. Changed6 schema fields changed
    • addedInput schema / properties / existing_built_up
      Added value: +{
      +  "description": "authorised built-up of the existing building, m², with its TDR and premium FSI (7.5, 7.6)",
      +  "type": "number"
      +}
    • addedInput schema / properties / existing_carpet
      Added value: +{
      +  "description": "carpet area of the existing tenements together, m² (7.4.2, 7.6)",
      +  "type": "number"
      +}
    • addedInput schema / properties / existing_kind
      Added value: +{
      +  "description": "what stands on the plot, for redevelopment (7.4, 7.5, 7.6): a co-operative society's building, a tenanted building, a MHADA scheme building redeveloped by the society or by MHADA, or a bungalow; returns schemes with the figures",
      +  "enum": [
      +    "society",
      +    "tenanted",
      +    "mhada_society",
      +    "mhada",
      +    "bungalow"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / existing_tenements
      Added value: +{
      +  "description": "tenements in the existing building (7.4.2, 7.6)",
      +  "type": "integer"
      +}
    • addedInput schema / properties / rc_rate
      Added value: +{
      +  "description": "the ASR rate of RCC construction, Rs a m², for the land rate to construction rate ratio of Tables 7-C to 7-E",
      +  "type": "number"
      +}
    • changedInput schema / properties / specified_area / description
      Previous value: -"Kolhapur: the characteristic specified area of Table 10-B (10.9.1) the plot is in, by Sr. No. ('1' for Rajarampuri) or the area's name; where the row has several plot sizes, Sr. No. and the plot row, e.g. '3.2'. Sets the Table 10-B margins and coverage and the Note 1 basic FSI. Pune: 'koregaon_park' (10.1.2). A Regional Plan area: an area of Chapter 5 with rules of its own, one of hill_station, station_near, station_far, tarapur, ratnagiri_pada, sindhudurg_t2, sindhudurg_t4, sindhudurg_t5, mp_buffer_edge, mp_buffer_gaothan, satara_core, satara_buffer, nagothane, wadi, rajpuri_usar, sector_r_lonavala, sector_r_kune, aurangabad_strip, ligo"New value: +"Kolhapur: the characteristic specified area of Table 10-B (10.9.1) the plot is in, by Sr. No. ('1' for Rajarampuri) or the area's name; where the row has several plot sizes, Sr. No. and the plot row, e.g. '3.2'. Sets the Table 10-B margins and coverage and the Note 1 basic FSI. Pune: 'koregaon_park' (10.1.2). A Regional Plan area: an area of Chapter 5 with rules of its own, one of hill_station, station_near, station_far, tarapur, ratnagiri_pada, sindhudurg_t2, sindhudurg_t4, sindhudurg_t5, mp_buffer_edge, mp_buffer_gaothan, satara_core, satara_buffer, nagothane, wadi, rajpuri_usar, sector_r_lonavala, sector_r_kune, aurangabad_strip, ligo. Chapter 10 city areas, Pune: parvati_chatushrungi, arde, hemrl; Thane: ram_maruti, gokhale, express_highway, chemical_green_belt, chemical_low_density, air_force, defence_buffer, g1_yeur, g3_forest, eco_sensitive, defence_west_orange, defence_west_pink, defence_west_navy_blue, defence_west_yellow, defence_west_violet, defence_west_green, defence_east_orange, defence_east_pink, defence_east_yellow, defence_east_violet, defence_east_sky_blue; Nashik: tps1, gangapur_ambad; Vasai-Virar: low_density, eco_sensitive; Mira-Bhayandar: road_strip, manori_gorai_uttan, eco_sensitive; NMRDA: ring_road, township, gaothan_small, gaothan_large"
  10. Changed4 schema fields changed
    • addedInput schema / properties / access_length
      Added value: +{
      +  "description": "the plot does not abut a public street: the length of the access way to it, m, measured to the street; 'road' is then the access way's width (3.2.2, 3.3.3)",
      +  "type": "number"
      +}
    • addedInput schema / properties / internal_road_length
      Added value: +{
      +  "description": "with layout_kind, the length of the longest internal road, m, from the farthest plot or building to the public street (3.3.3)",
      +  "type": "number"
      +}
    • addedInput schema / properties / layout_kind
      Added value: +{
      +  "description": "the land is laid out into plots, or developed as a group housing scheme; returns layout: the internal road widths of Tables 3A to 3C and what the layout carries (3.3, 3.4, 2.7.2)",
      +  "enum": [
      +    "plots",
      +    "group_housing"
      +  ],
      +  "type": "string"
      +}
    • changedInput schema / properties / specified_area / description
      Previous value: -"Kolhapur: the characteristic specified area of Table 10-B (10.9.1) the plot is in, by Sr. No. ('1' for Rajarampuri) or the area's name; where the row has several plot sizes, Sr. No. and the plot row, e.g. '3.2'. Sets the Table 10-B margins and coverage and the Note 1 basic FSI. Pune: 'koregaon_park' (10.1.2)"New value: +"Kolhapur: the characteristic specified area of Table 10-B (10.9.1) the plot is in, by Sr. No. ('1' for Rajarampuri) or the area's name; where the row has several plot sizes, Sr. No. and the plot row, e.g. '3.2'. Sets the Table 10-B margins and coverage and the Note 1 basic FSI. Pune: 'koregaon_park' (10.1.2). A Regional Plan area: an area of Chapter 5 with rules of its own, one of hill_station, station_near, station_far, tarapur, ratnagiri_pada, sindhudurg_t2, sindhudurg_t4, sindhudurg_t5, mp_buffer_edge, mp_buffer_gaothan, satara_core, satara_buffer, nagothane, wadi, rajpuri_usar, sector_r_lonavala, sector_r_kune, aurangabad_strip, ligo"
  11. Changed2 schema fields changed
    • addedInput schema / properties / land_use / description
      Added value: +"the zone on the development or regional plan: residential, commercial, industrial, public / semi-public, agricultural, transport, green belt, loom industry cum residential (4.9), regional park (4.14), tourism development (4.15), afforestation (4.16), hill top (4.17), green zone 2 (4.18), forest, defence, mines and quarry, public utility, woodland corridor, special economic zone, airport (4.19 to 4.25)"
    • changedInput schema / properties / land_use / enum
      Previous value: -[
      -  "res",
      -  "com",
      -  "ind",
      -  "psp",
      -  "agr",
      -  "tt",
      -  "gb"
      -]New value: +[
      +  "res",
      +  "com",
      +  "ind",
      +  "psp",
      +  "agr",
      +  "tt",
      +  "gb",
      +  "loom",
      +  "park",
      +  "tourism",
      +  "afforest",
      +  "hilltop",
      +  "green2",
      +  "forest",
      +  "defence",
      +  "mines",
      +  "utility",
      +  "woodland",
      +  "sez",
      +  "airport"
      +]
  12. Changed12 schema fields changed
    • addedInput schema / properties / crz
      Added value: +{
      +  "description": "the coastal regulation zone the plot is in: I (between the tide lines), II, or III within its No Development Zone. No TDR in the coastal zone (11.2.8(c)); development as the CRZ Notification allows (1.6(i))",
      +  "enum": [
      +    "I",
      +    "II",
      +    "III"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / flood_zone
      Added value: +{
      +  "description": "the plot lies within the blue flood line (prohibitive: no construction, no TDR) or between the blue and red flood lines (restrictive: plinth above the red flood line) (3.1.3; 11.2.8(b))",
      +  "enum": [
      +    "prohibitive",
      +    "restrictive"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / gaothan_belt
      Added value: +{
      +  "description": "a Regional Plan village plot in the agricultural zone, within the belt around the gaothan or a town where 5.1.1 permits residential development, on a premium of a share of the land's ASR rate",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / jda_offer
      Added value: +{
      +  "description": "share of the flats a developer has offered the landowner in a joint development, %; with the rates, gives what the developer keeps at that share beside the share the plot carries",
      +  "type": "number"
      +}
    • addedInput schema / properties / land_price
      Added value: +{
      +  "description": "asking price of the land when it is being bought, Rs for the whole plot; with the rates, gives the profit at that price and how far it sits from the most to pay for the land",
      +  "type": "number"
      +}
    • addedInput schema / properties / papers
      Added value: +{
      +  "description": "the papers the facts were read from, when they were: 712 (the 7/12 extract or property card, for the area), sheet (the measurement sheet, for the sides and area), zone (the zone certificate or DP remark, for the zone, the road width, road widening and reservations), layout (the sanctioned layout or regularisation order). The study marks each fact as read from its paper or as told; no rule reads them",
      +  "items": {
      +    "enum": [
      +      "712",
      +      "sheet",
      +      "zone",
      +      "layout"
      +    ],
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • addedInput schema / properties / reservation_type
      Added value: +{
      +  "description": "what the DP reservation on the plot is for; with 'reservation', returns accommodation_reservation: developing it by its owner under 11.1, Table 11-A",
      +  "enum": [
      +    "recreational",
      +    "education",
      +    "commercial",
      +    "health",
      +    "transport",
      +    "bus_stand",
      +    "truck_terminus",
      +    "residential",
      +    "assembly",
      +    "psp",
      +    "other"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / specified_area
      Added value: +{
      +  "description": "Kolhapur: the characteristic specified area of Table 10-B (10.9.1) the plot is in, by Sr. No. ('1' for Rajarampuri) or the area's name; where the row has several plot sizes, Sr. No. and the plot row, e.g. '3.2'. Sets the Table 10-B margins and coverage and the Note 1 basic FSI. Pune: 'koregaon_park' (10.1.2)",
      +  "type": "string"
      +}
    • changedInput schema / properties / tod / description
      Previous value: -"plot inside a TOD zone (14.2.1)"New value: +"plot inside a TOD zone (14.2): Municipal Corporations, metropolitan authorities and CIDCO; the Nagpur Metro Rail Corridor by Table 14-P"
    • addedInput schema / properties / units / items / properties / per_floor
      Added value: +{
      +  "description": "instead of count: units of this type on each typical floor, 0 to 200, repeated on every floor that carries units",
      +  "type": "integer"
      +}
    • addedInput schema / properties / units / items / properties / share_of_units
      Added value: +{
      +  "description": "with count left out: this type's share of the units, as a developer gives a mix (60 for 60% 2 BHK), 0 to 1 or a percentage; the number of units is worked out from the building",
      +  "type": "number"
      +}
    • addedInput schema / properties / wings
      Added value: +{
      +  "description": "a group housing project as wings, each with its own typical floor and floors; units then gives each type and its carpet only. Returns each wing's height, lifts, special building and the distance between wings (6.2.4), and the built-up the wings need against what the rules allow",
      +  "items": {
      +    "properties": {
      +      "floors": {
      +        "description": "floors of this wing that carry units, 1 to 60; left out, those of the building that fits",
      +        "type": "integer"
      +      },
      +      "name": {
      +        "description": "the wing's name, up to 12 characters: A, B, Tower 1",
      +        "type": "string"
      +      },
      +      "units": {
      +        "items": {
      +          "properties": {
      +            "per_floor": {
      +              "description": "units of that type on this wing's typical floor, 0 to 200",
      +              "type": "integer"
      +            },
      +            "type": {
      +              "description": "one of the types in units",
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "type",
      +            "per_floor"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      }
      +    },
      +    "required": [
      +      "name",
      +      "units"
      +    ],
      +    "type": "object"
      +  },
      +  "maxItems": 12,
      +  "type": "array"
      +}
  13. Changed4 schema fields changed
    • changedInput schema / properties / area / description
      Previous value: -"plot area in m2: the least of 7/12, measurement sheet and site (1 sq ft = 0.0929 m2; 1 guntha = 101.17 m2; 1 acre = 4,046.86 m2)"New value: +"plot area as the user gave it, in m2 unless area_unit says sqft, guntha, acre or hectare: the least of 7/12, measurement sheet and site"
    • addedInput schema / properties / area_unit
      Added value: +{
      +  "description": "unit of area, road_widening and reservation as the user gave them; default m2. Citiwise converts and says so in units",
      +  "enum": [
      +    "m2",
      +    "sqft",
      +    "guntha",
      +    "acre",
      +    "hectare"
      +  ],
      +  "type": "string"
      +}
    • changedInput schema / properties / road / description
      Previous value: -"width of the road in front in m, when there is one road and no sides (1 ft = 0.3048 m)"New value: +"width of the road in front, in m unless road_unit is ft, when there is one road and no sides"
    • addedInput schema / properties / road_unit
      Added value: +{
      +  "description": "unit of road and of each road side's width as the user gave them; default m",
      +  "enum": [
      +    "m",
      +    "ft"
      +  ],
      +  "type": "string"
      +}
  14. Changed2 schema fields changed
    • addedInput schema / properties / basement_flush
      Added value: +{
      +  "description": "basement top flush with the ground: it may then run into the side and rear margins (9.11.1 proviso i)",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / basements
      Added value: +{
      +  "description": "levels of basement, for parking and services (9.11)",
      +  "maximum": 5,
      +  "minimum": 0,
      +  "type": "integer"
      +}
  15. Changed1 schema field changed
    • addedInput schema / properties / sides / items / properties / corner
      Added value: +{
      +  "description": "true for the rounding or cut where two roads meet (3.3.12): margins run from it, but it is not a road of its own",
      +  "type": "boolean"
      +}
  16. Changed9 schema fields changed
    • addedInput schema / properties / build_cost
      Added value: +{
      +  "description": "construction cost, Rs a sq ft of built-up area",
      +  "type": "number"
      +}
    • addedInput schema / properties / carpet_share
      Added value: +{
      +  "description": "carpet area as a share of the built-up, 0.3 to 0.95 or 30 to 95 (default 0.8); sets the unit counts left out and so the sales value",
      +  "type": "number"
      +}
    • addedInput schema / properties / margin
      Added value: +{
      +  "description": "margin the developer needs, % of sales value; with the rates, gives the most to pay for the land and the largest share of the flats for the landowner in a joint development",
      +  "type": "number"
      +}
    • addedInput schema / properties / other_costs
      Added value: +{
      +  "description": "other costs (fees, finance, marketing), % of construction cost",
      +  "type": "number"
      +}
    • addedInput schema / properties / parking_cost
      Added value: +{
      +  "description": "construction cost of the stilt floor, Rs a sq ft; the stilt is free of FSI but built; default build_cost",
      +  "type": "number"
      +}
    • addedInput schema / properties / prepared_by
      Added value: +{
      +  "description": "who is giving the study, as it should appear on its cover, e.g. a broker or developer",
      +  "maxLength": 80,
      +  "type": "string"
      +}
    • addedInput schema / properties / prepared_for
      Added value: +{
      +  "description": "who the study is for, as it should appear on its cover, e.g. the landowner or client",
      +  "maxLength": 80,
      +  "type": "string"
      +}
    • addedInput schema / properties / sale_rate
      Added value: +{
      +  "description": "sale rate, Rs a sq ft of carpet area; with build_cost and tdr_rate gives an appraisal: sales value, construction, premiums, TDR and the surplus before land",
      +  "type": "number"
      +}
    • addedInput schema / properties / tdr_rate
      Added value: +{
      +  "description": "price of TDR, Rs a sq ft",
      +  "type": "number"
      +}
  17. Changed3 schema fields changed
    • changedInput schema / properties / area / description
      Previous value: -"plot area in m2: the least of 7/12, measurement sheet and site"New value: +"plot area in m2: the least of 7/12, measurement sheet and site (1 sq ft = 0.0929 m2; 1 guntha = 101.17 m2; 1 acre = 4,046.86 m2)"
    • changedInput schema / properties / road / description
      Previous value: -"road width in m when there is one road and no sides"New value: +"width of the road in front in m, when there is one road and no sides (1 ft = 0.3048 m)"
    • changedInput schema / properties / town / description
      Previous value: -"Maharashtra town or authority; use towns to find the exact name"New value: +"Maharashtra town, city or planning authority, e.g. Pune, Kolhapur, Nashik, PMRDA"
  18. First observed

TDQS

A4.1/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so safety is covered by structured data. The description then adds the one thing annotations cannot: the shape of the return, "every use on the same land in a fixed order: allowed or the reason not, conditions, clause, and built-up with and without TDR." With no output schema present, this output disclosure is genuinely valuable.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tightly written sentences: the first front-loads the invocation trigger, the second enumerates the return contents in order. Every clause earns its place and there is no filler, restatement of the title, or vague throat-clearing.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description compensates for the absent output schema by describing the return fields, which is important for a tool this complex. But against 68 parameters, 11 enums and nested objects, it says nothing about the huge optional surface (TDR, premiums, appraisals, redevelopment, layout) or how it relates to the overlapping feasibility sibling, leaving the agent to infer the tool's true scope from the name alone.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 91% across 68 parameters, with rich per-field descriptions, enums and documented defaults, so the schema carries the semantic load. The description adds no parameter-level meaning (no mention of town, area, or the large optional surface). A baseline 3 is appropriate when the schema already documents nearly everything.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a specific verb and resource: it answers which uses are permitted on a Maharashtra plot and how built-up differs between those uses on the same land. That is far more than a restatement of the name. It stops short of a 5 because it never distinguishes itself from close siblings such as feasibility or check_design, which an agent could easily confuse with this output.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The trigger is explicit: "Use this when someone wants to know which uses are allowed on a plot in Maharashtra, or how built-up differs between uses on the same land." That is a clear when-to-invoke condition. However, there are no exclusions and no routing to the plausibly overlapping alternatives (feasibility, check_design), so it does not reach the 5 bar.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources