ADVERTISEMENT

Hundreds of flights axed as German airport staff strike

Published Feb 17, 2023 08:11 pm

FRANKFURT, Germany - Tens of thousands of travellers faced flight delays and cancellations Friday as workers at eight airports in Germany went on strike for better pay.

Flight passengers walk in a hall during a strike at Frankfurt Airport in Frankfurt am Main, western Germany, on February 17, 2023. Tens of thousands of travellers faced flight delays and cancellations as workers at eight airports in Germany went on strike to demand better pay. (ANDRE PAIN / AFP)

The full-day walkout, called by the Verdi trade union, prompted Germany's biggest carrier Lufthansa to cancel more than 1,300 flights alone at its busiest hubs, Frankfurt and Munich.

"The strike is expected to have a strong impact, especially on domestic air traffic, ranging from delays to cancellations and even a partial shutdown of air traffic," Verdi said in a statement.

German airport association ADV called the strike action "completely unacceptable", saying it would affect around 295,000 passengers and more than 2,300 flights in total.

"Solutions must be found at the negotiating table and not at the expense of passengers," ADV chief Ralph Beisel said in a statement.

Airports in the cities of Bremen, Dortmund, Hamburg, Hanover, Leipzig and Stuttgart were also affected.

Verdi is currently leading negotiations for public sector workers, airport ground crew and aviation security staff, demanding better pay at a time when workers are seeing their incomes eroded by high inflation.

The next round of talks with employers is scheduled for February 22-23.

Verdi is seeking a 10.5-percent salary hike or at least 500 euros ($530) a month more for public sector workers, and higher bonus payments for airport staff working evenings and holidays.

Employers have rejected the demands.

Verdi chief Frank Werneke said its members were ready to ramp up the pressure with more strike action "if necessary."

"The willingness to take action is large," he told the Frankfurter Allgemeine Sonntagszeitung.

Germany has been hit by several strikes in recent weeks.

Industrial action at Berlin Brandenburg airport last month led to around 300 flights being scrapped or rescheduled.

Postal workers, public transport employees and nursery staff have also staged walkouts as they grapple with a cost-of-living squeeze in the wake of Russia's war in Ukraine.

- IT outage -

Frankfurt and Hamburg airports urged passengers not to visit them at all on Friday. Those travelling within Germany were advised to switch to train journeys.

Munich airport scrapped more than 700 planned landings and departures.

Verdi said the nationwide strike would not impact flights delivering aid to earthquake-hit Syria and Turkey, or planes carrying leaders attending the annual Munich Security Conference.

At Frankfurt airport, just 12 flights remained on the board out of the 1,000 initially scheduled.

"It's very quiet, there are hardly any travellers in the terminals," a spokesman for airport operator Fraport told AFP.

The strike caps a chaotic week for air travel in Germany.

Lufthansa was forced to cancel or delay flights on Wednesday because of a major IT outage caused by construction work in Frankfurt.

The next day, several German airports saw their websites disrupted by a suspected cyber attack.

German news outlet Der Spiegel said a group of Russian hackers had claimed responsibility for the attack.

Related Tags

Germany
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.