Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | 4x 4x 4x 4x 24x | // Hyderabad interior-design rates: the ONE source for every rupee figure the
// marketplace prints for Hyderabad (city hub answer + table + FAQs, locality
// answers and FAQs, BHK pages, llms.txt). Numbers are Hyderabad-market means
// as of 2026-04 (sourced from /interiors/hyderabad meta + zone tier ranges).
//
// Two bands coexist and must never be printed without their scope label:
// - the BHK package rows below are furniture + modular work (PACKAGE_SCOPE);
// - turnkey work that includes civil is priced per square foot (TURNKEY).
//
// Update these here once and every page that renders them updates.
export interface CostRow {
type: string;
range: string;
timeline: string;
/** Numeric INR bounds powering the PriceSpecification JSON-LD. Keep in sync with `range`. */
minPrice: number;
maxPrice: number;
}
/** What a BHK package row covers. Print it next to every row figure. */
export const PACKAGE_SCOPE = "furniture + modular";
/** The work a furniture + modular package includes (plain words for copy). */
export const PACKAGE_INCLUDES = "modular kitchen, wardrobes, false ceiling and lighting";
/** Turnkey work that includes civil, priced per square foot. */
export const HYDERABAD_TURNKEY_PER_SQFT = {
range: "₹1,500–₹3,500",
scope: "turnkey incl. civil",
civil: "wall-breaking, tiling, painting, plumbing",
} as const;
export const HYDERABAD_DEFAULT_COSTS: CostRow[] = [
{ type: "1BHK", range: "₹2L–₹4L", timeline: "4–8 weeks", minPrice: 200000, maxPrice: 400000 },
{ type: "2BHK", range: "₹4L–₹8L", timeline: "8–12 weeks", minPrice: 400000, maxPrice: 800000 },
{ type: "3BHK", range: "₹8L–₹15L", timeline: "3–5 months", minPrice: 800000, maxPrice: 1500000 },
{ type: "4BHK", range: "₹15L–₹30L+", timeline: "4–6 months", minPrice: 1500000, maxPrice: 3000000 },
];
/** The package row for a BHK label ("2BHK", "2bhk"), or undefined. */
export function hyderabadCost(type: string): CostRow | undefined {
return HYDERABAD_DEFAULT_COSTS.find((r) => r.type.toLowerCase() === type.toLowerCase());
}
|