A familiar freshman experience in NUS is having to get used to not producing your travel card to tap onto a reader as you board the ISB. Feels great to not pay for your ride, eh?

And then when you leave campus and board a public bus you have to get used to taking out your card again.

But there is actually an element of card-tapping in our ISB system, and in fact it’s crucial to the scheduling of the buses. Our bus drivers refer to this in Chinese as 打卡 (da3ka3).

Starting a Trip

Before each driver starts a trip, he has to register his trip. Previously, the driver had to tap a card onto a reader at the bus terminal. We have three terminals that serve as start and end points: Kent Ridge Bus Terminal, PGP and Carpark 11. In the interest of confidentiality, I won’t share what the reader looks like, but there was one inside each terminal.

As of 2020, this process has been digitised and bus drivers now “tap their cards” virtually with a phone app. However, as a matter of jargon, they still refer to the process as “card-tapping” even though a better description would probably be registering their trip.

“Tapping the card” tells the bus system that a trip on that route was started at that particular time. It also activates the GPS tracker on the bus that aids in locating the bus, which is integrated into the destination signage, next-stop announcements and the NextBus app.

This serves a multitude of purposes that are all interconnected. For a bus driver’s trip to be counted and logged in the system for him to be paid, the following must happen:

  • “Card tapped” at the appropriate departure time (based on the system)
  • After “card tapped”, bus passed through all stops along its route in the appropriate sequence (based on GPS)
ece0a-D22Bschedule

The diagram above shows a sample schedule for a D2 bus. It’s purely imaginary, and assumes that the driver has 25 minutes in between trip-start timings.

The first trip will start at 11am — the driver will tap his card around that timing, and the GPS in the bus will be activated. Then, he drives out towards PGP to start the route. Each bus stop is a checkpoint that the bus must pass through, although the bus does not need to stop at it if there is nobody boarding and alighting.

Each bus stop, represented by a blue cell in the diagram, is only a waypoint. No timing is measured, so each bus stop can be reached any time between 1100 and 1125. They must be approached in sequence, though.

This also means that the driver can finish his route by checking in to the final bus stop at any time, but of course he has to be at his layover point before 1125, so that he can start his next trip.

Can we time-check each stop?

Some people have asked me — would it not be better to give each checkpoint a time and make the drivers adhere to it? This (or something similar) is done on public buses, with drivers asked to drive slowly or wait at bus stops if they are ahead of schedule, and speed up if they are behind.

However, it is utterly infeasible to ask buses to drive slowly or wait within NUS as our single lane roads are just too narrow. If a bus has to dawdle or stop because he is too early to arrive at a certain bus stop, he will cause congestion and hold up vehicles behind — including other ISBs who are perfectly on schedule.

Public buses are able to do this because the roads they ply are wider and the routes are longer. Other buses and vehicles can overtake them on wide roads if they need to crawl; narrow roads usually do not last the entire bus route so a bus can go catch up on its crawling after exiting the narrow section.

The exception for ISB is BTC1 and BTC2. BTC1 buses reach Bukit Timah Campus and switch over to BTC2 to return (yes, it’s a single trip), but if they arrive earlier than the stated BTC2 departure time, they will wait in front of Oei Tiong Ham Building until it is time to leave. It’s a matter of driver discipline, as we have no way to check that they are doing so.

This is possible because the OTH driveway is not heavily trafficked (other cars don’t use it as a main road) and there is more than enough space for other vehicles to pass a waiting bus. It is done to ensure that BTC students do not need to worry about BTC2 departing too early for them.

Schedules and Rosters

Schedules are prepared beforehand by our schedulers from the bus company, who issue a list of trip-start timings for each bus driver daily. They write the schedules according to frequency guidelines from NUS. Each bus sticks to its route group throughout the day, with a handful of exceptions (buses who do A in the daytime and B after dinner).

Bus drivers in NUS either have a fixed bus or don’t. Drivers who have a fixed, allocated bus (“perm”, short for permanent) will stick to their bus and route throughout the day except for their meal break and fuel trip, so their list of start timings will reflect an hour-long gap for their meal time.

Drivers who have no fixed bus take on the role of covering “perm” drivers during their meal breaks. As such, these drivers will drive many different buses and possibly many different routes each day. Of course, they have their own meal breaks as well, just at different timings. Since they start their day later at lunchtime, they are also our night-shift drivers.

Currently, all our bus drivers hailing from China happen to have no fixed bus. They work hard every day, remembering the directions for all the routes despite their limited proficiency in English.

This rotation of bus drivers is a reason why NUSSU and OCA need as much information about the bus as possible for reporting of issues, if the bus driver is of concern. The plate number and route is not enough as we also need the time to determine who was behind the wheel.

Trip Intervals

The interval between all consecutive start-trip timings for each service logically determine the expected frequency of the bus service. However, this naturally assumes that each driver drives at the same speed, which is not the case. Thus, frequency of the bus will be more erratic at stops nearer the end of the route.

As you can see, the end timing of bus trips is not governed by the system or schedule. Only the start of the trip is. This is why it is difficult for me to request certain things, like coordinating the end of A1 at PGP with the start of the next A1 departing PGP.

Some people have requested that, to reduce the waiting time at PGP. But fact is, nothing much is stopping the first A1 driver from finishing his route early or late, so I cannot quite ensure that his passengers will alight just in time to board the second, departing A1.

Also, the interval between start-trip timings for each bus thus determines how long the bus driver has got to complete his route and have a break.

This is why, in the past, our bus drivers were often tempted to drive and finish their route quickly so they had more rest time at the terminal before tapping their card for the next trip.

The GreenRoad devices now mitigate this tendency, while careful scheduling ensures that drivers still have adequate rest time for toilet breaks.

The GPS System

Finally, as I have mentioned, students should take note that the GPS system activated by card-tapping is also the system used to generate NUSNextBus app timings. In the event that timings disappear for a route, it does not always mean the route is not running.

It could be a glitch with the card-tapping system for the day. The same goes for “ghost” buses that do not appear on the app but suddenly show themselves in front of you.

Since the GPS system is capable of telling which stops the bus has passed through, it is also responsible for the next-stop announcement and the electronic signage facing the outside of the bus. It is integrated with them.

Drivers do not actually manually change the D1 sign from “BIZ>UTown” to “UTown>BIZ”, or from BTC1 to BTC2. This is automatically handled by the GPS system.

7 thoughts on “ISB1101: Bus Scheduling

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s