Hi does anyone have any good suggestions on how to do this.

I'm selling pet food and shipping it by UPS however if you are local to the area than you can have free hand delivery.

Currently I'm using two different categories to do this. One that is a "regular shipping" category and then in the "local delivery" section I'm basically copying the product but then placing a required text attribute with the following code to make sure they are in the correct zip code for hand delivery.

Code:
// text required validation
    if (ereg('^txt_', $option)) {
      $check_attributes = $db->Execute("select attributes_display_only, attributes_required from " . TABLE_PRODUCTS_ATTRIBUTES . " where products_id='" . (int)$product_id . "' and options_id='" . (int)ereg_replace('txt_', '', $option) . "' and options_values_id='0'");
// text cannot be blank
      if ($check_attributes->fields['attributes_required'] == '1' and empty($value)) {
        $check_valid = false;
      }
	  if (($value == 46260)) {
$check_valid = true;
	  }
	  else {
	  $check_valid = false;
	  }
    }

    return $check_valid;
  }
This works fine .. except the glaring problem that this would be much better if they were a linked product so I didn't have to re-enter the product info twice.

So my question is: Can I set up a checkbox attribute that the user would check if they want free delivery and then the required text box would show and if their zip code passes the product will be added to the cart with free shipping.

I know I could use weight and make the attribute take away all the weight of the product to basically make it free shipping...however each product will have variable weight depending on other attributes so that won't work.

I've also tried using other shipping modules that make the entire cart local delivery but this won't work, because I want the buyer to be able to have a mixed cart.

Any help would be greatly appreciated!

Thanks!