// Adds dimensions UUID, Author and Topic into GA4
Saturday, June 13, 2026
33.5 C
Singapore

Geolah and Trans-Cab join Singapore’s full ride-hailing operators after LTA licence approval

SINGAPORE: Geolah and Trans-Cab will be joining Singapore’s full ride-hailing operators, Grab, CDG Zig, Gojek, Ryde, and Tada, after the Land Transport Authority (LTA) announced on Monday (Dec 22) that it has converted both operators’ provisional licenses into full three-year ride-hailing service operator licenses (RSOL) after they met all regulatory standards over the past year.

The move will give commuters seven operators to choose from, LTA added.

Geolah and Trans-Cab were given provisional licences on Dec 23, 2024, which allowed them to provide ride-hailing services from Jan 1, 2025, as they worked towards meeting LTA’s regulatory standards.

Over the past year, both operators met the authority’s standards and have now been granted full licences valid from Jan 1, 2025, to Dec 31, 2027.

Under LTA’s point-to-point (P2P) transport framework, operators with at least 800 bookable vehicles will be licensed based on the services they provide, such as street hail, ride hail or carpool options. /TISG

Read also: Acting transport minister says taxi, PHV drivers’ roles ‘may change’ as Singapore’s AV trial starts by Q4 2025

- Advertisement -

Hot this week

‘I don’t want to grow up as wounded and salty as her’: Student opens up about controlling mum

SINGAPORE: Desperate to break free from his controlling mother’s grip, a university student in Singapore turned to netizens online for advice, asking: “How do I stop living life based on what my mo...

M1 says no changes for customers after Simba acquisition plan collapses

M1 emphasized that the company remains operating steadily and will continue to provide reliable services to its customers.

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