Add assertion and exception-throwing consistency checks within each class, to guard against inappropriate use. For instance, ensure that a Passenger is never created with pickup and destination locations that are the same; ensure that a taxi is never requested to go to a pickup when it already has a target location; etc.
We need at least 10 more requests to produce the solution.
0 / 10 have requested this problem solution
The more requests, the faster the answer.