ADVERTISEMENT

Global rail operators queue up for North-South Commuter Railway deal

Published Dec 24, 2025 02:08 pm
(DOTr photo)
(DOTr photo)
The Department of Transportation (DOTr) said some of the world’s largest railway operators are interested in bidding for the ₱229-billion concession deal to operate and maintain the North-South Commuter Railway (NSCR).
Acting Transportation Secretary Giovanni Lopez said the pre-bid conference for the project was attended by 11 rail operators, reflecting strong appeal in managing what will be the country’s largest railway infrastructure.
Lopez said he was directed by President Ferdinand R. Marcos Jr. to choose the “most qualified and competent” private partner for the operations and maintenance (O&M) of NSCR.
“The government and the private sector really need to work together to improve and make the country’s transport infrastructure more effective,” he said.
Based on the potential bidders identified by the DOTr, the agency is on the right track, having drawn interest from companies based in Japan and France, as well as domestic firms.
The DOTr said Japanese transit operators Sumitomo Corp., Mitsubishi Corp., Tokyo Metro, JR East, and JR West attended the project’s pre-bid conference.
French railway companies Alstom, Transdev, RATP, and Keolis also attended the event.
Locally, Ramon Ang-led San Miguel Corp. (SMC) and the Lopez Group’s First Balfour Inc. expressed interest in vying for the project.
Transportation Undersecretary Timothy John Batan said the potential participation of these companies in the bidding process is critical to the successful management of NSCR.
“We estimate that up to one million passengers will use the NSCR once it is fully operational. And to ensure that its operations are convenient, efficient, and safe, it is necessary for us to find and select a qualified and experienced operator,” said Batan.
“What we are looking for is not just any random company; we are looking at the largest operators of the world’s biggest and most complex rail systems. That is the expertise and capability we are seeking to run the NSCR,” he added.
The DOTr earlier issued the invitation to bid for the project, requiring interested bidders to have a track record in running the O&M of a railway system for at least three consecutive years within the last eight years.
This railway system should have served 45,000 passengers per hour in each direction, maintained an on-time average above 98 percent, and had a repair time of less than half an hour.
While open to all private firms, the DOTr said prospective bidders must possess a net worth of at least ₱114.65 billion.
Based on the bidding schedule, the final bid bulletin and concession agreement will be issued on April 30, 2026.
The tentative deadline for bid submissions is May 29 next year.
Once awarded, the operator will oversee the 147-kilometer (km) NSCR, including trains, depots, stations, guideways, electromechanical systems, auxiliary facilities, and interoperations with the under-construction Metro Manila Subway Project (MMSP).
Spanning 35 stations, NSCR will cut travel time from Clark International Airport in Pampanga province to Calamba City in Laguna province to less than two and a half hours, from the usual four hours via land travel.
The partial operations of the railway’s Valenzuela-to-Malolos segment are set to start in December 2027, with the Malolos-to-Clark segment targeted to be operational by October 2028.
ADVERTISEMENT
.most-popular .layout-ratio{ padding-bottom: 79.13%; } @media (min-width: 768px) and (max-width: 1024px) { .widget-title { font-size: 15px !important; } }

{{ articles_filter_1561_widget.title }}

.most-popular .layout-ratio{ padding-bottom: 79.13%; } @media (min-width: 768px) and (max-width: 1024px) { .widget-title { font-size: 15px !important; } }

{{ articles_filter_1562_widget.title }}

.most-popular .layout-ratio{ padding-bottom: 79.13%; } @media (min-width: 768px) and (max-width: 1024px) { .widget-title { font-size: 15px !important; } }

{{ articles_filter_1563_widget.title }}

{{ articles_filter_1564_widget.title }}

.mb-article-details { position: relative; } .mb-article-details .article-body-preview, .mb-article-details .article-body-summary{ font-size: 17px; line-height: 30px; font-family: "Libre Caslon Text", serif; color: #000; } .mb-article-details .article-body-preview iframe , .mb-article-details .article-body-summary iframe{ width: 100%; margin: auto; } .read-more-background { background: linear-gradient(180deg, color(display-p3 1.000 1.000 1.000 / 0) 13.75%, color(display-p3 1.000 1.000 1.000 / 0.8) 30.79%, color(display-p3 1.000 1.000 1.000) 72.5%); position: absolute; height: 200px; width: 100%; bottom: 0; display: flex; justify-content: center; align-items: center; padding: 0; } .read-more-background a{ color: #000; } .read-more-btn { padding: 17px 45px; font-family: Inter; font-weight: 700; font-size: 18px; line-height: 16px; text-align: center; vertical-align: middle; border: 1px solid black; background-color: white; } .hidden { display: none; }
function initializeAllSwipers() { // Get all hidden inputs with cms_article_id document.querySelectorAll('[id^="cms_article_id_"]').forEach(function (input) { const cmsArticleId = input.value; const articleSelector = '#article-' + cmsArticleId + ' .body_images'; const swiperElement = document.querySelector(articleSelector); if (swiperElement && !swiperElement.classList.contains('swiper-initialized')) { new Swiper(articleSelector, { loop: true, pagination: false, navigation: { nextEl: '#article-' + cmsArticleId + ' .swiper-button-next', prevEl: '#article-' + cmsArticleId + ' .swiper-button-prev', }, }); } }); } setTimeout(initializeAllSwipers, 3000); const intersectionObserver = new IntersectionObserver( (entries) => { entries.forEach((entry) => { if (entry.isIntersecting) { const newUrl = entry.target.getAttribute("data-url"); if (newUrl) { history.pushState(null, null, newUrl); let article = entry.target; // Extract metadata const author = article.querySelector('.author-section').textContent.replace('By', '').trim(); const section = article.querySelector('.section-info ').textContent.replace(' ', ' '); const title = article.querySelector('.article-title h1').textContent; // Parse URL for Chartbeat path format const parsedUrl = new URL(newUrl, window.location.origin); const cleanUrl = parsedUrl.host + parsedUrl.pathname; // Update Chartbeat configuration if (typeof window._sf_async_config !== 'undefined') { window._sf_async_config.path = cleanUrl; window._sf_async_config.sections = section; window._sf_async_config.authors = author; } // Track virtual page view with Chartbeat if (typeof pSUPERFLY !== 'undefined' && typeof pSUPERFLY.virtualPage === 'function') { try { pSUPERFLY.virtualPage({ path: cleanUrl, title: title, sections: section, authors: author }); } catch (error) { console.error('ping error', error); } } // Optional: Update document title if (title && title !== document.title) { document.title = title; } } } }); }, { threshold: 0.1 } ); function showArticleBody(button) { const article = button.closest("article"); const summary = article.querySelector(".article-body-summary"); const body = article.querySelector(".article-body-preview"); const readMoreSection = article.querySelector(".read-more-background"); // Hide summary and read-more section summary.style.display = "none"; readMoreSection.style.display = "none"; // Show the full article body body.classList.remove("hidden"); } document.addEventListener("DOMContentLoaded", () => { let loadCount = 0; // Track how many times articles are loaded const offset = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; // Offset values const currentUrl = window.location.pathname.substring(1); let isLoading = false; // Prevent multiple calls if (!currentUrl) { console.log("Current URL is invalid."); return; } const sentinel = document.getElementById("load-more-sentinel"); if (!sentinel) { console.log("Sentinel element not found."); return; } function isSentinelVisible() { const rect = sentinel.getBoundingClientRect(); return ( rect.top < window.innerHeight && rect.bottom >= 0 ); } function onScroll() { if (isLoading) return; if (isSentinelVisible()) { if (loadCount >= offset.length) { console.log("Maximum load attempts reached."); window.removeEventListener("scroll", onScroll); return; } isLoading = true; const currentOffset = offset[loadCount]; window.loadMoreItems().then(() => { let article = document.querySelector('#widget_1690 > div:nth-last-of-type(2) article'); intersectionObserver.observe(article) loadCount++; }).catch(error => { console.error("Error loading more items:", error); }).finally(() => { isLoading = false; }); } } window.addEventListener("scroll", onScroll); });

Sign up by email to receive news.