steveintoronto
Superstar
Or do what many other progressive transit systems do now and have done for years (this is the norm in the SW US)Billing by backend (rather than the card reader) makes this issue pretty trivial. Both transit control and the bus operator know they're short turning. Someone needs to tell the billing system that bus 123 with readers A/B/C has short-turned. Since the line manager sends the order, the line manager is ultimately responsible for this. The backend biller would adjust the price of the continuation tap on the new route.
You buy *time* on the system. Doesn't matter if you do get on and off that same route for two hours, or which direction. You bought *time*.
It will save a whole lot of grief when the system inevitably glitches or gets gamed doing it any other way.