Before you do all that work, and to actually argue against myself here, technically the above is a solution for chaining stops 1,2,3,4 .... in sequence. Meaning that however you ordered your contacts would be the same sequence, which may not return the 'best' route to go when you look at several stops. If you're looking at 'optimal route' planning, you'll need to get more complex and revert back to Option A which requires some coding in my experience.
The Google API Guide details some of the possibilities for setting waypoints and optimizing the route as one solution. You'll find details about that in the 'Optional Parameters'.
https://developers.google.com/maps/documentation/directions/intro