ORCA Card | Seminar


User Submitted Questions

Does the card carry account balance information or is the accounting done on a computer and the card only identifies the rider?

From what we know, the card itself contains a unique identifier, a record of the last 10 trips with each travel agency, including the route number, a timestamp of card swipe, and the reader device identifier.

Each trip entry also has a location field that can be filled in by automatic vehicle location data (like GPS), but no buses in the system currently support this. Even without automatic vehicle location data, where a card swipe took place can be deduced from just the route number and timestamp.

When a card is touched to a reader on the bus, the bus stores the card's trip data locally. Once buses arrive at base, they exchange their data via Wi-Fi with the central database. We believe the buses send information like trip data and current card value. The buses also receive updates like purchased credits. The next time the card is swiped, it can then receive these updates.

Where is the accounting done? On the card or in a central database? Wouldn't it be easier to make the card "dumb" and have all the accounting done centrally?

We believe that most of the accounting will occur on the card itself, or more correctly when the card is swiped while getting on a bus or during some other transaction. We don't know the exact reasoning for this decision, but it seems likely that it was chosen to avoid the need for constant connectivity.

Checking card balances against a central database would require a constant, two-way, high-bandwidth network connection between the buses and the central database. This may be possible in the future, but for now, the infrastructure isn't in place to query a central database every time a card is swiped and return a result quickly. You could imagine using the cellular networks to do this, but it would be rather expensive, and the cellular networks tend to have long delays -- swiping your card would probably take a second, as opposed to tens of milliseconds.

Instead, buses and other places your card is swiped will push information from the central database out to the cards and pull information from the cards back into the database. Since the buses sync up fairly often, users shouldn't notice a difference if their top offs are processed in real-time or not.

Modified on March 23, 2008, at 10:09 AM