I implemented a hook_menu with callback that adds specific product variation from the arguments to the cart and then redirects the user to cart. With same logic you could toss in all the products you wish. Mayby just additionally check that that cart is initially empty.
function x_menu(){
$items['tickets'] = array(
'page callback' => 'x_tickets_callback',
'access arguments' => array('access content'),
);
return $items;
}
function x_tickets_callback(){
global $user;
// mayby check that cart is empty here
// you should get these really from some variable
for($i = 1, $i<7,$i++){
$commerce_product = commerce_product_load($i);
// create line item from product
$line_item = commerce_product_line_item_new($commerce_product);
commerce_cart_product_add($user->uid, $line_item);
}
// prevent notification
$messages = drupal_get_messages();
drupal_goto('cart');
}