Here is a small snippet on how to set a minimum amount for for delivery per zip code
Just copy and paste the following code snippet your functions.php on your child theme.
add_action( 'woocommerce_checkout_process', 'woofood_custom_hook_minimum_per_zipcode', 9999999 );
function woofood_custom_hook_minimum_per_zipcode() {
global $woocommerce;
$minimum = array();
//add postal code to array with value the minimum amount without spances//
$minimum["45565"] = 15;
$minimum["56654"] = 20;
$billing_postcode = isset($_POST["billing_postcode"]) ? str_replace(" ", "", $_POST["billing_postcode"]) : "";
if ( (isset($_POST["woofood_order_type"]) && ($_POST["woofood_order_type"] == "delivery") )) {
if (array_key_exists($billing_postcode, $minimum) && ( WC()->cart->subtotal < $minimum[$billing_postcode]) )
{
wc_add_notice(
sprintf( __( 'You must have an order with a minimum of %s to place your order, your current order total is %s.', 'woofood-plugin' ) ,
wc_price( $minimum[$billing_postcode] ),
wc_price( WC()->cart->subtotal )
), 'error'
);
}
else if(!array_key_exists($billing_postcode, $minimum))
{
wc_add_notice(
sprintf( __( 'Sorry, but we are not deliving to postal code %s.', 'woofood-plugin' ) ,
$billing_postcode
), 'error'
);
}
}
}