// Adds dimensions UUID, Author and Topic into GA4
Friday, July 10, 2026
31.6 C
Singapore

‘It’s just fair’: Netizens defend restaurant over S$400 cancellation fee after woman cancelled Valentine’s reservation due to close relative’s death

SINGAPORE: Netizens defended a Michelin-starred restaurant after it charged a woman a S$400 cancellation fee when she called off her Valentine’s Day reservation for two, following the sudden death of a close relative.

The woman, L, reportedly called the restaurant on Feb 13 to cancel her reservation on “compassionate grounds” and requested a waiver of the cancellation fee but she was met with a “strictly enforced 72-hour policy”, which she described as a “slap on the face”.

L, also apparently left the restaurant a one-star review on Google, saying they could have filled her spot with those on the waitlist instead. However, the restaurant said there’s no such waitlist on Valentine’s Day. The restaurant explained that they had suggested L find someone to take on her reservation, but apparently, she cancelled it a few hours before the reservation. 

While commenters online said they understood L was grieving, many argued the policy was “just fair”, with others noting the restaurant already explained their terms of service.

It is really unfortunate and bad timing, but that’s not the fault of the restaurant, and they need to survive too,” one wrote, noting that two wasted spots could have gone to other diners. Another added that restaurants can’t always fill last-minute cancellations, especially on Valentine’s Day, when menus and ingredients are prepared in advance.

To secure a reservation, the restaurant requires a S$200-per-person credit card authorisation.  Bookings open 60 days before the diner’s desired date, and cancellations or changes must be made at least 72 hours ahead, or the amount is forfeited.

The restaurant told Mothership that it had implemented the policy because, like most fine-dining restaurants, they need to prepare certain ingredients in advance, and a no-show meant lost revenue. The cancellation fee simply offsets the wasted perishables prepared for the reservation.

A recent surge in last-minute cancellations also made it “extremely challenging” for the restaurant to tell which cases are genuine and which are not. Many customers cancelled just five or six hours before their reservations, citing emergencies like accidents, funerals, family deaths, sudden medical issues, or missed flights — often because they had booked multiple restaurants in advance and only decided where to go at the last minute.

In fact, the restaurant added that some customers who tried to back out but got notified of the S$200-per-person cancellation fee ended up showing up “just fine.” That’s why they stick to their policy, they said.

In L’s case, the restaurant said it reached out to her, but she wanted to move her Valentine’s reservation from Feb 14 to 15. With the 15th also fully booked, L allegedly became upset as they could not set her up at another table for two.

When the restaurant’s manager called to explain, he was reportedly met with vulgarities, leaving him “shocked and deeply affected.” L, however, denied using such language. /TISG

Read also: Singaporean hustles hard: 52-year-old hawker advertises S$500-per-hour ‘boyfriend for rent’ services for Valentine’s and CNY

- Advertisement -

Hot this week

Why some Singaporeans stopped buying the cheapest option and started saving more

SINGAPORE: If there's one thing many Singaporeans excel at, it's finding clever ways to save money. Recently, many revealed the simple lifestyle changes that quietly ended up saving them a surpri...

Photo of helpers waiting outside maid agency puts treatment of domestic workers under the spotlight

SINGAPORE: A viral photo of several domestic helpers sitting on the floor outside a maid agency has sparked fresh debate over how migrant workers are treated in Singapore, with many netizens callin...

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