91³Ô¹ÏÍø

Watch CBS News

Passenger complaints about airline travel surged in 2023

U.S. Transportation Department officials last year were up to their necks in complaints submitted by air travelers over everything from delays and cancellations to accommodations for disabled passengers.   

The agency  on Friday that it received nearly 97,000 submissions in 2023, 91% of which were complaints. That's up from about 86,000 total submissions, including complaints, inquiries and opinions in 2022. 

The department said there was such a high volume of consumer grievances filed against airlines and ticket agents last year that it took until this month to sort through the filing and compile final figures.  

The figure marks the largest number of air travel complaints by consumers since 2020, when airlines were slow to give customers refunds after the coronavirus pandemic shut down air travel. That year, the department received roughly 103,000 complaints, to PIRG.

The increase in complaints came even as airlines canceled far fewer U.S. flights — 116,700, or 1.2% of the total, last year, compared with about 210,500, or 2.3%, in 2022, according to FlightAware data. However, delays remained stubbornly high last year, at around 21% of all flights.

Biden administration cracks down on airline “junk fees” 02:29

So far this year, cancellations remain relatively low — about 1.3% of all flights — but delays are still running around 21%.

More than two-thirds, or 67,661, of submissions last year dealt with U.S. airlines, but a quarter, or 24,991, covered foreign airlines. Travel agents and tour operators were the reason for 3,162 complaints.

Disability-related grievances rose by more than a quarter compared with 2022, with some incidents making headlines, including a paraplegic Delta Air Lines passenger in December 2023 who he was forced to crawl to his Delta Air Lines seat after no one was available to help him board. Earlier that year in November, a video went viral of American Airlines crew members mishandling a passenger's wheelchair, sparking some people with disabilities to speak out about their negative travel experiences. 

Though they would like to travel by plane, many disabled Americans forego air travel out of fear of not being sufficiently accommodated by airlines, according to an April  from the Century Foundation. 

Complaints of discrimination, while small in number, also rose sharply. Most were about race or national origin.Airlines receive many more complaints from travelers who don't know how or don't bother to complain to the government, but carriers don't release those numbers. 

The Transportation Department said it is modernizing its complaint-taking system, which the agency says will help it do a better job overseeing the airline industry. However, the department now releases complaint numbers many months late. It did not issue figures for the second half of 2023 until Friday.

— The Associated Press contributed to this report.

View CBS News In
CBS News App Open
Chrome Safari Continue
const link = doc.createElement('link'); link.rel = 'stylesheet'; link.href = '/fly/fly/bundles/cbsnewscontent/css/cmp-banner.min.css?v=50747257b890e014813016b79ece0fb2'; doc.head.appendChild(link); doc.body.innerHTML = CONSENT_MESSAGE; } else { el.insertAdjacentHTML('afterend', CONSENT_MESSAGE); } }); } function hidePrivacyMessage() { // Remove from the main document document.querySelectorAll(`.${CONSENT_MESSAGE_CLASS}`).forEach(el => el.remove()); // Remove from inside any iframes document.querySelectorAll('iframe').forEach(iframe => { const doc = iframe.contentDocument || iframe.contentWindow.document; doc.querySelectorAll(`.${CONSENT_MESSAGE_CLASS}`).forEach(el => el.remove()); }); } function activateGatedScripts() { // Handle both new format (cmp-gated-script) and old OneTrust/Ketch format (optanon-category-4) const gatedScripts = Array.from(document.querySelectorAll('script.cmp-gated-script, script.optanon-category-4')); // Activate scripts sequentially with a small delay to avoid timing issues let delay = 0; gatedScripts.forEach(function(placeholder, index) { setTimeout(function() { // Skip if already processed if (placeholder.hasAttribute('data-cmp-processed')) { return; } placeholder.setAttribute('data-cmp-processed', 'true'); const newScript = document.createElement('script'); newScript.type = 'text/javascript'; // Try new format first (data-cmp-src), then fall back to old format (data-src) const src = placeholder.getAttribute('data-cmp-src') || placeholder.getAttribute('data-src'); if (src) { newScript.src = src; } else if (placeholder.textContent) { // Inline script - just copy the content newScript.textContent = placeholder.textContent; } // Handle new format attributes (data-cmp-attrs) - for both inline and external scripts const attrs = placeholder.getAttribute('data-cmp-attrs'); if (attrs) { const tempDiv = document.createElement('div'); tempDiv.innerHTML = '
<\/div>'; const tempAttrs = tempDiv.firstChild.attributes; for (let i = 0; i < tempAttrs.length; i++) { // For external scripts, allow defer/async. For inline scripts, skip them (not valid) if (src || (tempAttrs[i].name !== 'async' && tempAttrs[i].name !== 'defer')) { newScript.setAttribute(tempAttrs[i].name, tempAttrs[i].value); } } } // Copy other attributes from old OneTrust format for (let i = 0; i < placeholder.attributes.length; i++) { const attr = placeholder.attributes[i]; // Skip attributes we've already handled or don't want to copy if (!['class', 'data-src', 'data-type', 'data-cmp-src', 'data-cmp-attrs', 'data-cmp-processed', 'type', 'async', 'defer', 'src'].includes(attr.name)) { newScript.setAttribute(attr.name, attr.value); } } placeholder.parentNode.replaceChild(newScript, placeholder); // If external script, manually trigger window.onload handlers after it loads // This handles widgets that use window.onload for initialization if (src) { newScript.addEventListener('load', function() { // If page already loaded and script set a new onload handler, trigger it if (document.readyState === 'complete' && window.onload) { const originalOnload = window.onload; window.onload = null; // Clear temporarily to prevent loops originalOnload(); // Execute the handler } }); } }, delay); delay += 500; // 500ms delay between each script to allow full loading }); } cbsoptanon.onScriptsReady(function(cmp) { cmp.ot.targetingAllowed(function(allowed) { if (!allowed) { showPrivacyMessage(); } else { activateGatedScripts(); } }); cmp.ot.awaitInitialConsent(function(consent_model) { cmp.ot.addOnConsentChangedHandler(function() { cmp.ot.targetingAllowed(function(allowed) { if (allowed) { hidePrivacyMessage(); activateGatedScripts(); } else { showPrivacyMessage(); } }); }); }); });