I believe I've figured it out. Never could get stuff to properly append at the third level, but I can achieve the same final product by creating the arrays separating, the stacking them one at a time, like so:
<?php
$levelone = array();
$leveltwo = array(array( 'name' => $stop_location, 'time1' => $next_arrival, 'direction1' => $bus_direction, 'time2' => $second_arrival, 'direction2' => $bus_return, 'weekendservice' => $weekend_service ));
$leveltwo[] = array( 'name' => $stop_location, 'time1' => $next_arrival, 'direction1' => $bus_direction, 'time2' => $second_arrival, 'direction2' => $bus_return, 'weekendservice' => $weekend_service );
##print_r($leveltwo);
$levelone['Departure Locations'] = $leveltwo;
print_r($levelone);
?>
Which outputs:
Array ( [Departure Locations] => Array ( [0] => Array ( [name] => [time1] => [direction1] => [time2] => [direction2] => [weekendservice] => ) [1] => Array ( [name] => [time1] => [direction1] => [time2] => [direction2] => [weekendservice] => ) ) )
Which is what I want. Cool.