// Adds dimensions UUID, Author and Topic into GA4
Wednesday, September 23, 2026
28.7 C
Singapore

Pre-purchase HDB BTO flats waiting period returns to pre-pandemic norms

SINGAPORE: In a noteworthy development for prospective homeowners, the waiting period for built-to-order (BTO) flats released by the Housing and Development Board (HDB) in 2023 has reverted to pre-COVID-19 norms, marking a substantial improvement over the last five years.

According to an official statement, approximately 70 per cent of the units launched this year boast waiting periods not exceeding four years. The median waiting period stands at three years and ten months, not only reinstating pre-pandemic levels but surpassing the four-year peak witnessed during the height of the COVID-19 pandemic.

HDB has expressed commitment to sustaining this positive momentum and aims to launch additional units with even shorter waiting periods starting in the upcoming year.

As the demand for residential properties continues in land-scarce Singapore, the reduction in waiting times is expected to have a tangible impact on the accessibility and affordability of housing for Singapore residents.

Hot this week

Singaporean man, 67, gets S$5K fine for throwing urine and faeces at neighbour’s Bukit Batok flat unit

A tyre dispute led a PHV driver to leave “smelly stuff” outside his neighbour’s home twice, alarming the resident and prompting police calls

Indonesia records 174,000 respiratory cases as haze from Borneo and Sumatra fires worsens — over 40,000 cases in toddlers

Indonesia's health ministry has recorded more than 174,000 acute respiratory infection cases across seven haze-affected provinces between Aug and Sep 21, with over 40,000 cases involving toddlers a...

Popular Categories

document.addEventListener("DOMContentLoaded", () => { const trigger = document.getElementById("ads-trigger"); if ('IntersectionObserver' in window && trigger) { const observer = new IntersectionObserver((entries, observer) => { entries.forEach(entry => { if (entry.isIntersecting) { lazyLoader(); // You should define lazyLoader() elsewhere or inline here observer.unobserve(entry.target); // Run once } }); }, { rootMargin: '800px', threshold: 0.1 }); observer.observe(trigger); } else { // Fallback setTimeout(lazyLoader, 3000); } });
// //
Enable Notifications OK No thanks