ADVERTISEMENT

OVP extends 'Libreng Sakay' hours in Metro Manila amid April 21–23 transport strike

Published Apr 21, 2026 04:18 pm
The Office of the Vice President (OVP), led by VP Sara Duterte, extends “Libreng Sakay” hours across the National Capital Region to assist commuters affected by the April 21–23 transport strike. (OVP / Facebook)
The Office of the Vice President (OVP), led by VP Sara Duterte, extends “Libreng Sakay” hours across the National Capital Region to assist commuters affected by the April 21–23 transport strike. (OVP / Facebook)
The Office of the Vice President (OVP) under VP Sara Duterte on Tuesday, April 21, announced the extension of operating hours for its “Libreng Sakay” (free ride) program across the National Capital Region (NCR) in response to the scheduled three-day transport strike, set to run until April 23.
In a Facebook post, the OVP said the move aims to cushion the impact of the transport disruption by expanding access to free transportation services, particularly for workers, students, and daily commuters who rely heavily on public transit.
In connection with the scheduled three-day transport strike from April 21 to 23, the OVP announced the extension of operating hours for its free ride program in Metro Manila.
According to the OVP, an additional hour will be added to both the morning and evening schedules of the Libreng Sakay program.
The extended hours are expected to accommodate more passengers during peak commuting times and ease mobility challenges caused by the strike.
“Magdaragdag ng isang oras sa umaga at isang oras sa gabi upang mas mapalawak ang saklaw ng serbisyo at mas maraming pasahero ang matulungan—lalo na ang mga manggagawa, estudyante, at iba pang umaasa sa araw-araw na biyahe (An additional hour in the morning and another hour in the evening will be added to broaden the service coverage and assist more passengers—especially workers, students, and others who rely on daily commutes),” the OVP said.
The initiative forms part of the OVP’s continuing efforts to assist Filipinos affected by limited public transportation during major disruptions.
The OVP emphasized its commitment to providing immediate, practical support to ensure essential travel needs are met despite the temporary halt in transport services.
“Bahagi ito ng patuloy na pagsisikap ng OVP na masuportahan ang mga kababayang maaapektuhan ng kakulangan ng pampublikong transportasyon sa mga nasabing petsa (This is part of the OVP’s continuing efforts to support fellow citizens affected by the shortage of public transportation on the said dates),” the office said.
Transport groups have earlier announced the strike to protest ongoing issues in the public transportation sector, prompting government agencies and local offices to implement contingency measures.
Commuters are advised to monitor official announcements for specific routes and schedules of the “Libreng Sakay” program during the three days. 

Related Tags

OVP Libreng Sakay Libreng Sakay NCR Sara Duterte free ride program OVP transport assistance April 2026 transport strike Philippines
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.