You could customize the ups.php shipping module with something like:
Code:
for ($i=0; $i<$qsize; $i++) {
list($type, $cost) = each($upsQuote[$i]);
// BOF: UPS USPS
if ($type=='STD') {
if ($std_rcd) continue;
else $std_rcd = true;
}
if (!in_array($type, $allowed_methods)) continue;
// EOF: UPS USPS
// Show UPS Ground only for California
if (($order->delivery['country']['id'] == 223 && $order->delivery['zone_id'] == 12)) {
$show_ground= true;
} else {
$show_ground= false;
}
if ($type == 'GND' && !$show_ground) {
// show nothing
} else {
$methods[] = array('id' => $type,
'title' => $this->types[$type],
'cost' => (($cost + MODULE_SHIPPING_UPS_HANDLING) * $shipping_num_boxes) + $inspection_fee);
}
}