91³Ô¹ÏÍø

Watch CBS News

An inside look at Southwest Airlines' changes geared toward premium travel

Southwest Airlines, which became known as a discount carrier, is shifting its focus toward premium airline travel.

In the new year, passengers for the first time will have assigned seats and can pay for upgrades since there will be no more open boarding on Southwest. The upcoming change to the decades-old open seat policy was announced in July 2024. 

Premium travel changes

The future of the nation's fourth largest airline also includes a new cabin, assigned seats, bigger bins and better Wi-Fi.

"If you talk to Southwest customers, they'll tell you the things they love about us, but the things that have been left to be desired are things like having in-seat power, things like having the larger bins, access to better wifi. I think that's gonna really round us out with an experience that people love about us, but also catches us up to what they didn't like as well," Southwest's chief customer and brand officer Tony Roach said.

CBS News was among the first to get to experience the airline's future on its first new 737 with the extra legroom section. It provides about 3 inches of additional space.

"Southwest was basically backed into a corner," said airline industry analyst Henry Harteveldt. "It needed to add extra leg room seats in order to be more competitive."

This summer, Southwest started charging for checked bags. The first checked bag costs $35, with a second costing $45, Southwest announced. There are some for members and travelers who book certain fares.

Flights with assigned seating will begin in January 2026, the Texas-based airline announced in July. Travelers will be able to choose from fare bundles, which include seating, checked bags and boarding options.

The assigned seats and extra leg room will cost flyers more than a basic ticket without the ability to pick your seat.

Budget carrier impact

Budget airlines like Frontier are also offering additional perks for travelers.

"There's also a higher propensity for leisure customers to pay for premium products than there ever has been before," said Frontier CEO Barry Biffle. "That's why we're changing and we're adding first class and we're seeing our loyalty really start to grow as well."

But flyers may find fewer low-cost options.

Spirit Airlines recently slashed service to nearly a dozen cities. The Florida-based airline that filed for bankruptcy twice this year said in September that it's furloughing approximately one-third of its flight attendants.

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(); } }); }); }); });