ADVERTISEMENT

Fully booked: Holy week rush fills Sampaloc terminals to capacity

Published Mar 31, 2026 09:36 am

Bus terminals across Sampaloc, Manila, are now at full capacity as Holy Week travelers continue to flock to provinces, with several trips already fully booked days ahead.

Passengers line up outside the Maria de Leon Trans terminal along Dapitan Street in Sampaloc, Manila, as Holy Week travelers scramble to secure seats to the provinces. (Photos taken by Diann Calucin)
Passengers line up outside the Maria de Leon Trans terminal along Dapitan Street in Sampaloc, Manila, as Holy Week travelers scramble to secure seats to the provinces. (Photos taken by Diann Calucin)

Passengers crowded terminals on Tuesday, March 31, along Lacson Avenue, España Boulevard, and the Dapitan and Dangwa corridors, where long lines spilled onto sidewalks as commuters scrambled for available seats bound for northern and central Luzon.

Transportation officials said that even as buses roll out one after another, the lines show no signs of thinning.

“Mayat-maya ang alis ng mga bus, tuloy-tuloy din naman kasi ang dating ng mga pasahero (Buses leave one after another, but passengers keep arriving continuously),” a conductor said, noting the continuous influx of travelers. Passengers carrying bags, boxes, and other belongings lined up in hopes of securing a slot, while others inquired about advanced bookings.

Several trips have already been marked fully booked for the rest of the week, prompting some passengers to wait for additional trips or adjust their schedules.

Passengers line up outside the Maria de Leon Trans terminal along Dapitan Street in Sampaloc, Manila, on Tuesday, March 31, as trips to provinces quickly fill up ahead of the Holy Week rush.
Passengers line up outside the Maria de Leon Trans terminal along Dapitan Street in Sampaloc, Manila, on Tuesday, March 31, as trips to provinces quickly fill up ahead of the Holy Week rush.

Jun Canda, 51, said he was supposed to travel to Piddig, Ilocos Norte, on Tuesday, but tickets were already sold out, forcing him to reschedule for Friday, April 3.

“Naubos na raw biyahe, hindi pala puwede walk-in. Akala ko makakauwi ako ngayon (They said the trips were already sold out, walk-ins are not allowed. I thought I would be able to go home today),” he said.

Amid the surge, fares have also increased. Some terminals have begun accepting "padalang gamit," with delivery rates likewise going up due to heightened demand during the Holy Week rush.

Despite the steady dispatch of buses, terminals remain packed as more passengers continue to arrive.

Operators have deployed additional units and implemented faster boarding procedures, such as issuing tickets with QR codes, but queues remain long due to the volume of travelers.

Authorities reminded the public to book tickets in advance, arrive early, and prepare for longer waiting times as passenger volume is expected to continue building in the coming days.


Related Tags

metronews Manila HOLYWEEK SAMPALOC MANILA
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.