Transport police in the Colombian capital, Bogotá, punished a group of fare dodgers with cleaning duties.

A group of 50 people caught trying to get onto the Transmilenio bus system without paying were made to mop the floors at one of the main terminals in the city.

Transmilenio tweeted photos of the punishment under the hashtag #NoMoreDodgers.

Many residents welcomed the measure but some questioned its effectiveness.

Fare dodging is a huge problem in Bogotá with people jumping barriers, pushing in behind paying customers and climbing over fences, sometimes risking life and limb.

Tens of thousands of people are fined every year for fare dodging in Bogotá. Many more are never caught.

It is estimated that 70,000 people out of the 2.6 million who use Transmilenio every day do not pay.

Educational campaigns and the installation of bollards and walls have so far failed to significantly reduce the scourge.

The tweet showing the fare dodgers cleaning the floor of the 20 de Julio terminal was liked more than 2,000 times.

Transport Police Commander María Elena Gómez Méndez said the idea behind the move was to both deter and be educational to teach fare dodgers that "this is not the way to use public transport".

Many on social media applauded the measure saying that it was about time those who did not respect the rules were punished.

The comments ranged from "marvellous" and "that's how it's done" to "simple and effective".

But others said that the bus service, which suffers from chronic overcrowding, high levels of groping and pickpocketing, was not worth the fare and money should be spent on improving it rather than on catching fare dodgers.

A standard fare in the city costs $0.75 (£0.57). The fine for fare dodging is at least $42.

Many also questioned whether the move was a "one-off for show" and asked if police would continue staffing the stations to catch those not paying.