I like the idea of the token system. This is not unlike token signaling systems used on British railways on single track branches – if you have the token, you can enter the branch. The difference here (aside from it being cars, not trains) is that there is more than one token.
At first glance, I like the idea of limiting the number of cars in the congested area, rather than just charging a fee to anyone that comes in. The challenge, though, is that you’d need to know how many tokens is the “right” number; a non-trivial exercise. With a congestion charge, there isn’t a hard limit to the number of vehicles because you rely on prices to discourage vehicles from entering the zone. If you set the prices appropriately, and that has to include a rise in price as more vehicles enter the zone, then it should be OK. If you set the price too low, however, then more and more vehicles will enter the congestion zone. You’d have the same congestion and a bunch of revenue.
The thing I don’t like about this method is the idea that you can change the congested area on the fly. How does this work? If you’re in a zone that was just designated as “congested” by the controller, do you have the chance to move out of it? How would you even know?
This is not unlike the Star Trek: The Next Generation episode “Justice” (Season 1, Episode 8), where there are random “punishment zones”. Anyone caught in them is, of course, put to death (because Star Trek). Guess where Wesley Crusher ends up?
Though the penalty is less harsh here, I don’t see the “moving zone” working out very well. Different areas on different days? Sure. But no changes during the day.