Share
Explore

icon picker
Zingbus Marshal App

🎯 Objective

The objective of this whole exercise is to help the marshals with their daily activities and facilitate a better experience for our end users (passengers)

👥 Target Customer Segment

🔍 Identification

As stated, our main users for the app are the bus marshals who are managing the bus operated by Zingbus. These people generally would be employed with the bus operator directly similar to our drivers. These would generally be men in the age of 30-55 earning around 0.3 LPA, putting them and their family in BPL. But the penetration of smartphones in India is pretty huge. So it will be a fair assumption that the app will accessible to our target customers

🥅 Goals

There primary goal is trip management but we can bucket tasks into the following set -
Ticket checking of onboarding passengers
Informing passengers for incoming deboarding stops
Marking onboarding & deboarding passenger - Ensure all the onboarded passengers have been dropped off to their respective stops
Luggage Management - To deposit left off luggage at collection center near the last stop
Maintaining hygiene protocols - Setup covid related hygiene protocols and martial makes sure that everyone follows them
Ensuring no one is left behind at rest stops
Informing passengers of incoming rest stops - Intercity buses take rest stops. Preparing passengers 10 mins before will save time
Chaos Reduction - This can be regarding ticket confusion or just disagreement among passengers
Bus Navigation - This has become obsolete with google maps and in app navigation for drivers

📱Familiar Apps

Here we list down apps that our customers will be most familiar with. This helps us understand what interactions are part of their daily life and when included in app would not lead to a huge learning curve. So here are some examples → Whatsapp - Chats, Paytm - QR based payment apps, Candy Crush - Simple tile games, Youtube - Video streaming platform

➡️ User Flow vs Feature Set

Here we can divide the whole user flow into 3 major chunks along the line of a Bus trip-

🛫 Departure from Origin City

This involves the part of the trip from the start of the trip to the very last onboarding stop on route in this city. Here is the flow
Marshal_flow.png
This flow continues till we reach the last onboarding stop. Now here is the feature set for each of the step involved in the following flow
Phone Number based Login + Trip start - Similar to uber login enter number to get OTP and login → the screen shows you your incoming trip as a card with some general info - Bus registry number, Driver name, Trip Timing, origin & destination→ tap on card a dialogue box appears asking if the trip has started → punch in yes and wait for the driver to punch yes to move onto the next screen
Bus Layout Screen - Similar to the select seat layout currently present in the app without price filters but with the upper birth lower birth filter. The color schema that the layout will follow is -
Gray ⚪ - Seats that are not booked
Blue 🔵 - Seats that are booked but passengers are not onboarded
Green 🟢 - Seats that have onboarded passengers travelling
Red 🔴 - Passengers that had to be dropped off due to unfortunate reasons
Yellow 🟡 - Passengers that have completed their journey
Onboarding stop notification - We have the current location data of marshal’s phone from which we notify them when the next onboarding stop is arriving in next 5 minutes. The notification will have the bus bell ‘Ting’ sound. This is also present with the timeline of the trip as a seperate tab parallel to seat layout
Checking Ticket - Marshal manually checks the ticket → taps the seat on layout → dialogue box appears with following info - passenger’s name, drop & pick up points and 2 options onboard or dismiss(in case of unfortunate events). The marshal after verifying all these details can onboard the user
QR code scan - Rather than manually checking each ticket we can attach a QR code with the ticket that when scanned by martial this opens a dialogue box with a tick mark, all the info of passenger, the seat number and same 2 options onboard/dismiss. If same QR code is scanned twice this time the dialogue box gives a red cross stating fault in play. If by any chance the QR scanning is not working we will have the old manual way of updating the onboarded passenger

🚏Mid Trip Stop

In this case the flow can be seen as two different instances that can result in mid trip stops - need for rest/unrest in passengers. Here is the flow
zingbus_marshall_flow2.png
So the feature sets with respect to given set of flows are -
Rest stop notification - As stated app notifies martial and even passengers that rest stop is arriving. But, this is possible only if the location is pre-fed or the location is picked up by historical data. By whatever case the rest stop appears in the timeline tab
Rest ending callouts - Once the rest period ends just 5 mins before restart of trip, an in-app button that is present just beside the rest stop dot in the timeline tab can be pressed that recalls
Individual Dismissal - As explained there can be multiple reasons for dismissal. With regards to dismissal flow. It can be easily done from the bus seat layout. Just tap on the seat → dialogue comes up with passenger details & 2 options(dismiss/deboard) → Choose dismiss → Questionare to choose the reason for dismissal

🛬 Arrival to Destination City

Now finally once you arrive in the destination city the following flow takes place -
zingbus_marshal_flow3.png
Deboarding stop notification - Similar to the onboarding stop notification it helps save time by preparing everyone. In this case the notification opens up to the timeline tab with the coming stop at the center of it
Timeline tab - As mentioned earlier this needs to be built parallel to bus seat layout (eg status and chats tab in whatsapp). Now this is different from the timeline already in the app. Each stop has a section of it own with these info - bus stop name, arrival time, list of all seat tiles (similar to bus layout eg - U7, L5, L3) that are going to dropoff there, number of tiles & button deboard all. The upcoming stop is highlighted. Thus marshal deboard all individually via tiles or all together with button
Missing Luggage Tab - Built parallel to timeline and layout tabs, this is to finally check and report any missing luggage. There will be a form with following section - Type of luggage, seat number it was found at & photos. In this tab itself you can end the ride
🔦 Edge Cases
User Flows
Edge Cases
Login
Well the most obvious case is when you onboard a certain number of buses from a new operator the marshal wouldn’t be in the system and thus there would be training required for them
Checking Ticket
On ground booking (via app) of tickets can happen so the layout should be updated
Passengers can onboard from other locations but we’re not checking the stop it won’t be a problem
QR code scan
Ticket can be booked via third parties (red bus). So we’ve to ensure that the QR is attached to every kind of ticket out there
Rest Stop Notification
Rest stops are not always fixed but are dependent on the state of driver. In these cases this feature becomes ineffective
Rest stop callout
Since many of the tickets are booked via third parties not all would’ve installed the app leading to the callout not reaching to all
Individual Dismissal
In the heat of the moment marshal forgets to update the info as not completing this step won’t lead to any friction. But mostly at the end or at one of the dropping points one seat left will appear and that is when marshal will complete this step
Timeline Tab
If a passenger is dropped off/dismissed in the previous stop without accounting the count won’t add up in next stop leading to confusion
When a passenger asks to be dropped off to the next stop which results in marshall having to mark everyone individually and remember the passenger’s new boarding point to remind him/her of arrival & mark them than
Missing Bags
There is no system right now in place for claiming lost & found
There are too many positions - seats, overhead bins, storage unit, carriers
Various kinds of baggages in India how are we classifying(eg sack, rolled mattresses)

📊 Metrics to be Measured

Total Time Spent Onboarding per trip/Number of Passengers per trip - This relates to time wasted on checking user’s ticket s. This will now be done via QR scan and will lead to decrease in the time wasted
Total Rest Stop Time/ Number of trips - As we’re able to cut corners by preparing and calling users from rest stops this metric will also be reduced
Total Time Dropping of User per trip/Number of Passengers per trip - This relates to time wasted by unprepared passengers when their drop point comes
Total Number of Luggages Recovered/ Number of Trips - Using our tech we’re able to better facilitate lost & found thus increasing our NPS
Want to print your doc?
This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (
CtrlP
) instead.