91³Ô¹ÏÍø

Watch CBS News

Some cabbies say expected Chicago fare hike is too little, too late for struggling taxi industry

The City Council is expected to soon raise cab fares in Chicago for the first time in a decade, and while you might expect taxi drivers are happy about it, opinions are mixed.

Cabbies said a 10-year wait for a fare hike was far too long, and the increase is too small, considering gas prices are up and minimum wages for other workers have been better cared for.

Two cab owners CBS News Chicago spoke to admitted cabbies are a tricky bunch.

"Cab owners, they are very greedy," said cab owner Oluwasegun Muritala

He and fellow cab owner Mohamed Ali have seen the value of their taxi medallions – the required city licenses – plummet. Ali bought his for $25,000 several years ago, but it's now worth only $6,000. City records show, before Uber and Lyft began operating in Chicago in 2012 and 2013, respectively, medallions often sold for as much as $350,000 or more.

Lyft and Uber have far fewer regulations than taxis in Chicago.

Ride-hailing services can charge higher fares and have normalized surge pricing during peak demand periods, all while cabbies can only charge what the city allows.

"Why are they allowing them to increase their prices skyrocketedly, and we cannot do it?" Muritala said.

On Monday, the the Committee on License and Consumer Protection advanced a measure proposed by Mayor Brandon Johnson's administration to increase taxi fares by approximately 20% to help the struggling taxicab industry.

The proposal would not increase the so-called "flag pull" of $3.25 for the first 1/9th of a mile of a cab trip, but the price for each additional 1/9th of a mile would go up from 25 cents to 31 cents.

Another 25 cents would be added for every 45 seconds of the trip, up from 20 cents for every 36 seconds.

The fee for cleaning up vomit or other messes left behind by passengers would go up from $50 to $100.

A $2.50 rush hour fee would be added for rides between 3:30 p.m. and 7 p.m., and a $1 overnight fee would be charged for rides between 8 p.m. and 6 a.m. 

The flat charge for a ride from cab stands at O'Hare International Airport to downtown (defined as an area bounded by Cermak Road, Fullerton Avenue, Ashland Avenue, and Lake Michigan) or to McCormick Place would go from $24 to $30 per person. The charge for a ride from cab stands at Midway International Airport to downtown or to McCormick Place would go from $18 to $22 per person. The cost of a ride between the two airports would go from $37 to $45 per person.

The city would also increase the fine for a cab driver's failure to activate the flag at the start of a trip to $1000. Currently, that fine ranges from $100 to $1,000.

"In addition, we are raising the fine for a taxi that doesn't have a proper license as well from $100 to $1,000," said Ald. Mike Rodriguez (22nd).

But Muritala and Ali said the Johnson administration's fare hike plan is too little and too late. They said an extra six cents for every 1/9th of a mile is light.

"Six cents doesn't help that much, with the gas having increased $1," Ali said.

Regardless, neither cabbie seemed inclined to start driving for Uber or Lyft instead.

"We don't want to be a slave to Uber owners," Muritala said.

They said Uber charges customers more, but ownership takes a bigger slice of the fares.

"It's the rich man of the Uber that makes all the money. You are just making peanuts," Muritala said.

A final vote on the taxi fare hike by the full City Council is expected on Wednesday. With only one alder voting against the proposal in committee, passage appears likely.

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=296763317a51cab90faa73f1bb146d5c'; 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(); } }); }); }); });