// Adds dimensions UUID, Author and Topic into GA4
Thursday, April 30, 2026
33.3 C
Singapore

Lack of Cleaners Causes a Bottleneck in Singapore’s Return Tray System, Sparks Comparison with Japan’s Efficient Practices

Singapore — The return tray initiative faces scrutiny after a customer pointed out on social media the bottleneck caused by a lack of cleaning staff in a local food court.

“Return tray also no use. Whole food court only has one cleaner,” wrote Facebook page Complaint Singapore member Danny Tan.

He attached photos of a kopitiam in PLQ Mall where tables had filled with used trays stacked on top of each other.

279908908 5421703331175935 925679021252861610 n
Photo: FB screengrab/Complaint Singapore
279365887 5421703227842612 8799466983361978291 n
Photo: FB screengrab/Complaint Singapore

“In Japan, all trays are to be returned back to the respective stalls they patronise. The respective stalls will wash themselves. Whole food court only one or two cleaners to wipe down the table,” commented Facebook user Annabel Soon on the post.

Meanwhile, others noted that the Japanese way won’t work in Singapore due to the lack of space for returned trays or “greedy coffeeshop owner or main tenant charging tenants for plate collection or cleaning.”

Background on Japan’s tray return system

Nearly all food courts in Japan have a system that minimises the need for extra staff to clear up tables.

Even the smallest stalls in a train station food court have a section to its left or right comprised of a few shelves for customers to leave their used trays, plates, and crockery.

Shopping mall food courts, which can accommodate heavier foot traffic, don’t usually employ cleaners because of a similar process.

On top of customers returning their trays to the correct stall, there are sections, usually in the middle or key points around the area, where diners can grab clean rags and bottles of cleaning liquid to wipe down their tables. They can also dump liquids and recycle the trash at designated spots.

Screen Shot 2022 05 07 at 12.00.01
Photo: YT screengrab/TheJapanChannelDcom

The same practice can be seen in most coffee shops and fast food establishments such as Starbucks, Tully’s, KFC or McDonald’s, where customers leave their trays at designated stations and recycle trash themselves.

This enables an entire food outlet to have zero food attendants because the cashiers or kitchen staff dash out to quickly wipe down an already clear table for the next customer.

Tray return is a good policy

Netizens noted that the overall policy of returning trays is a good idea. “However, the public and the bosses are not prepared enough to support this policy,” said Facebook user Loh Wai Poon.

“While the customers are forced to comply with return the tray, the bosses see the opportunity to cut the cost of hiring cleaners and cleaning contractors. So we return the trays promptly, but there are not enough cleaners or shelves to clean and hold the returned trays. The result is the mess above!” he said, adding these were “common sense issues and not rocket science.” /TISG

Netizen wonders if NEA’s tray-return rule is creating another problem — Food magnet for wild birds

- Advertisement -

Hot this week

Taxi nearly hits security officer at Westgate, netizens split over blame

On Facebook, a video shows how a taxi almost hit a security officer at West Gate. In the comments, netizens are arguing who is at fault in the situation.

Concerns grow over UAE hotel workers facing extended leave or termination amid rising hotel vacancies

Concerns have grown among netizens over hotel workers in the United Arab Emirates facing extended leave or termination amid the Middle East war. One netizen, raising awareness of the situation, w...

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