You have a couple issues
if( get_field('home_or_on_tour', 'option') == 'tour' ):
// do this before calling have_rows()
// calling get_field on a repeater after using have_rows()
// will screw up the loop
$count = count(get_field('locationsdates', 'option'));
if( have_rows('locationsdates', 'option') ):
// missing while
while ('locationsdates', 'option') ):
the_row();