Cityflo
Seat Selection: 64% Fewer Seat-Related Support Tickets
Whether a loyal Cityflo subscriber got a comfortable seat came down to which stop they happened to board at, by the time the bus reached the later stops, every good seat was already gone.
Context & the problem
Seat selection didn't exist before this, there was no prior flow to redesign. Users booked a bus and sat wherever was open when they boarded, first come first served. Riders who boarded early, at stops like Arcadia Circle, got their pick. Riders boarding later, at stops like Mulund MHADA, were left with whatever nobody else wanted, usually the non-window seats toward the back. Two front seats were already reserved by policy for female passengers, senior citizens, pregnant riders, or anyone with physical discomfort.
This created four compounding problems:
- Riders boarding at later stops consistently got the worst seats โ including regular, paying subscribers, a complaint that came up often.
- COVID-era social distancing rules introduced reserved double-seating, but with no formal seat assignment, riders started shifting seats mid-route to claim two for themselves, creating confusion.
- Drivers had to personally monitor who sat where, sometimes stopping the bus mid-route to check passes and correct seating โ a direct cause of delays.
- All of this fed a broader customer experience problem Cityflo wanted to fix regardless of the operational fallout.
What we heard
Most support calls and tickets came from riders boarding at later stops. Real feedback included:
"I had to sit at the end of the bus as there were no front seats available."
"If there's a senior citizen and a pregnant lady on the bus, they occupy the reserved seats and someone boarding at the later stops has to settle for the less comfortable ones."
One two-star review put it directly: a regular rider from a late-boarding stop said their genuine problem, always getting stuck with the worst seats because of when they happened to book, was going unheard, and that it was pushing riders from that stop away from Cityflo entirely.
A separate complaint came from a pregnant rider who said there were no visible priority-seating placards, and she regularly ended up in the bumpiest seats at the back despite needing to sit toward the front.
The problem, you ask?
Not having allocated seats leads to various issues on the bus which leads to a poor customer experience. Some of the major problems we know -
- Passengers who get on from the last few pick-ups stops always get uncomfortable seats, even if they were regular travellers/subscription users, feedback we've heard often
- With the new seating arrangement & reserved double-seats due to Covid regulations, and there being no allocated seats, we were seeing passengers shift seats leading to confusion & a bad user experience
- The driver has to be more vigilant about the seating arrangement and often has to stop the bus in the middle of the road to check the pass and make sure our passengers sit on the right seats. This often leads to delays.
- Another important reason of doing this was to improve the customer experience
What we were trying to solve
- Let riders who board late in the route select a seat in advance, instead of being guaranteed the worst option every time
- Give every rider the same ability to choose a seat, regardless of what stop they board at or how much they're payingBuses are good, bus drivers are professional. I am giving 2 stars as my genuine problem is unheard by competent authority of Cityflo. I commute from Nerul to BKC. The bus starts from Kharghar. The person who books ride at last minute at Kharghar have choice to seat on front seat and the person at Nerul who had booked ride before him or a pass holder have to seat on last seats. That's why people from CBD Belapur avoid Cityflo. Cityflo should allow us to book our choice seat.
- Let regular riders keep the same seat trip after trip, if they wanted to
- Let riders select two seats for themselves, to maintain distance from other passengers
- Let riders with specific needs, like reduced turbulence toward the front of the bus, choose accordinglyCustomer is pregnant and has complained several times that there are no placards of priority seating and for pregnant ladies and hence has to sit on the last seat which is bumpy.
Design decisions
Orient the seat map the way riders actually experience the bus. We tested two orientations internally: driver icon at the top of the screen, or at the bottom. Driver-at-bottom took colleagues a few seconds to parse when shown internally, the layout read as odd and would have needed extra visual cues (explicitly marking the front and back of the bus) to make sense on its own. Driver-at-top needed none of that: it matched what riders already experience for the length of every trip, seated facing the driver. If the map matched their lived orientation, no one had to be taught how to read it.
Label seats alpha-numerically, not sequentially. A seat labeled "4B" tells a user their row and position in one glance โ a flat number like "12" doesn't, and still requires figuring out where that seat physically is. We also set the reading direction of the seat grid to match how riders actually move through the bus: reading left to right while facing the back, the direction they'd be walking as they searched for their seat.
Carry the existing reserved-seat policy into the digital map. The two front seats already reserved for female passengers, senior citizens, and pregnant riders were marked directly on the seat grid as a distinct category, not left as an unmarked in-bus rule riders had to already know about.
Solve double-seating commercially, not structurally. This was a COVID-era call: a rider wanting an empty adjacent seat for distancing simply paid for both. Since Cityflo was compensated for both seats regardless of who sat in them, there wasn't a separate design problem to solve here, the business model already covered it.
The user flow-
How it'll look for Ajinkya now that he goes and selects a seat for himself. Here's the prototype that was tested internally, to play along.
Outcomes
- Seat-related support tickets dropped 64%. This one has a direct mechanism behind it: seats stopped being contested, so there was simply less to complain about.
- Subscription users started booking weeks in advance just to guarantee their favourite seat, an unprompted sign the feature was genuinely valued, not just tolerated.
- Drivers got an unplanned benefit. The feature was designed for riders, but it also relieved drivers of a job that was never really theirs, constantly looking back to track who'd boarded and resolving seating disputes on the spot. With that gone, drivers could just drive.
Sai Shinde