// Adds dimensions UUID, Author and Topic into GA4
Tuesday, January 20, 2026
26.4 C
Singapore

oBike urges users to use their services with GrabCycle, but the latter explains partnership no longer exists

Earlier today, bike sharing operator oBike announced the immediate ceasing of its operations in Singapore

In a statement released online, they cite “difficulties foreseen” with the new Land Transport Authority (LTA) requirements and guidelines as the reason for closing down.

The issue that got the most people worried about was the refund of their deposits. Typically, oBike deposits cost S$49, with students paying only S$19.

In their statement, oBike said that users who wish to continue using their services could do so with Grabcycle.

However, a spokesperson from Grab clarified and said, “We understand that oBike has decided to cease operations in Singapore due to their difficulties in meeting regulatory guidelines. This means that we will no longer be able to offer oBike’s bicycles on the GrabCycle marketplace effective today, as oBike will not have the appropriate bike-sharing license to operate in Singapore, nor will they be maintaining their fleet of bicycles”.

See also  Microsoft and Grab announce partnership for investment, facial recognition, and other upgrades

They also added, “With one fewer partner, we understand that our customers’ experience will be impacted. As such, we will be waiving all existing GrabCycle subscription fees and deposits”.

Most netizens were hardly worried about switching to another app such as GrabCycle, without getting their deposits back first.

http://ww2.theindependent.sg/refundmydeposit-trends-in-social-media-as-obike-suddenly-exits-singapore/

 

Many others were also for fewer bike sharing companies in Singapore.

Screen Shot 2018 06 25 at 4.49.07 pm Screen Shot 2018 06 25 at 4.48.41 pm Screen Shot 2018 06 25 at 4.48.25 pm Screen Shot 2018 06 25 at 4.47.50 pm


[email protected]

- Advertisement -

Hot this week

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