move request geocoding to JS, fix schedule view/logic