this is a tricky one because of the free shipping for the two towns in Ontario, that is going to need to be done using a discount
the shipping and discount rules will need to use the following session variables in the triggers:
eCartCheckoutForm_shipping_Country
eCartCheckoutForm_shipping_State
eCartCheckoutForm_shipping_city
configure the first rule, "$12 for all of Canada except Newfoundland" as:
Triggers:
Session Variable Exists:
Session Variable "eCartCheckoutForm_shipping_Country" Exists
AND
Session Variable Exists:
Session Variable "eCartCheckoutForm_shipping_State" Exists
AND
Based on session Variable Value:
If the Session Variable "eCartCheckoutForm_shipping_Country" is "=" a value of "CA"
AND
Based on session Variable Value:
If the Session Variable "eCartCheckoutForm_shipping_State" is "!=" a value of "NL"
Calcualtion:
Flat Rate "12"
configure the second rule "Newfoundland $15" as:
Triggers:
Session Variable Exists:
Session Variable "eCartCheckoutForm_shipping_Country" Exists
AND
Session Variable Exists:
Session Variable "eCartCheckoutForm_shipping_State" Exists
AND
Based on session Variable Value:
If the Session Variable "eCartCheckoutForm_shipping_Country" is "=" a value of "CA"
AND
Based on session Variable Value:
If the Session Variable "eCartCheckoutForm_shipping_State" is "=" a value of "NL"
Calcualtion:
Flat Rate "15"
then configure a discount for each of the towns that will get free shipping an example of the first one is:
Triggers:
Session Variable Exists:
Session Variable "eCartCheckoutForm_shipping_Country" Exists
AND
Session Variable Exists:
Session Variable "eCartCheckoutForm_shipping_State" Exists
AND
Session Variable Exists:
Session Variable "eCartCheckoutForm_shipping_city" Exists
AND
Based on session Variable Value:
If the Session Variable "eCartCheckoutForm_shipping_Country" is "=" a value of "CA"
AND
Based on session Variable Value:
If the Session Variable "eCartCheckoutForm_shipping_State" is "=" a value of "ON"
AND
Based on session Variable Value:
If the Session Variable "eCartCheckoutForm_shipping_city" is "=" a value of "Town A"
Calcualtion:
Flat Rate "this->GetShipping()"
the second discount will be very similar, just change the last trigger:
If the Session Variable "eCartCheckoutForm_shipping_city" is "=" a value of "Town A"
to:
If the Session Variable "eCartCheckoutForm_shipping_city" is "=" a value of "Town B"