All files / src/lib/content costs.ts

100% Statements 6/6
100% Branches 0/0
100% Functions 2/2
100% Lines 5/5

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());
}