Free shipping

Permalink Browser Info Environment
hey,
i tried to add a rule for free shipping for carts over 69€ but it´s not working!
please take a look to the screenshot and tell me what is wrong with it.

1 Attachment

Type: Discussion
Status: New
RII
View Replies:
JohntheFish replied on at Permalink Reply
JohntheFish
Currently,

Customers in Zone A will get a shipping price based on weight for any order of value <=69, and refuse to ship if >69.

Customers in Zone B will probably not ship at all, because the empty value will be treated as 0.

Which row is supposed to be the free shipping rule? Without that info, I can't tell you what changes to make.
RII replied on at Permalink Reply
RII
thanks,
i guess i misundestood the rules!
no this the sceneario:
Zone A: customers who buy for over 69euro will get free shipping all others have to pay the normal shipping price depending on weight!
All other zones have to pay the shipping depending on weight (no free shipping even if over 69)
JohntheFish replied on at Permalink Reply
JohntheFish
OK, now I see what you are aiming for.

In the top row (the one you have blank)

Zone
Zone A

weight
1000000
(or any other arbitrarily large value)

value
1000000
(or any other arbitrarily large value)

cost
0

message
Free Shipping
(etc.)

This will actually get auto-sorted by ZBS to be the last row of Zone A because it sorts ascending by criteria from left to right.

Whenever you have difficulty with rules, you can always use the ZBS diagnostic settings and watch the trace in the log.

Also, it is often easier for me if you attach a text file with an export of the rules to any request for help. That way I can import it to my development system and get a better idea what is going on.
ideasponge replied on at Permalink Reply
ideasponge
Hello John the Fish.

I followed this setup and I'm getting an undesired result. If a Cart total is $49.99 or less then it should charge $10, if over $50 it is free shipping. When the cart total is $50 or more I get only the free shipping option auto applied, but when the cart total is under $50 it gives the user the option of the $10 shipping or the Free shipping. How can I force the $10?

I also want to make it deny all shipments outside of the continental US.

I've attached my config below.

{"SHIPPING_TYPE_ZONEBASED_APPLY_MULTIPLIER":[],"SHIPPING_TYPE_ZONEBASED_COST_BASIS":["value"],"SHIPPING_TYPE_ZONEBASED_DELIVERY_OPTIONS":["Delivery","Free Shipping"],"SHIPPING_TYPE_ZONEBASED_EXPLAIN_COST":[],"SHIPPING_TYPE_ZONEBASED_UNITS":{"weight_units":"g","dimension_units":"mm","sum_dimensions_units":"mm","volume_units":"mm3","cost_units":"Cart"},"SHIPPING_TYPE_ZONEBASED_UNKNOWN_COST_MSG":"UNKNOWN SHIPPING COST[%null%]","SHIPPING_TYPE_ZONEBASED_ENABLE_EXCESS_COST":"","SHIPPING_TYPE_ZONEBASED_EXCESS_ROUNDUP":"","SHIPPING_TYPE_ZONEBASED_VALUES":[{"zone":"United States","delivery_option":"Delivery","value":"49.99","cost":"10","message":"Under $50 Total Flat Rate"},{"zone":"United States","delivery_option":"Free Shipping","value":"100000","message":"Free Shipping for totals $50 and over"}],"SHIPPING_TYPE_ZONEBASED_EXCESS":[],"SHIPPING_TYPE_ZONEBASED_ZONE_RULES":[{"addr_field":"Country","match_type":"equal to","match_text":"United States","assign_zone":"United States"}],"SHIPPING_TYPE_ZONEBASED_ZONES":["United States"]}
JohntheFish replied on at Permalink Reply
JohntheFish
The problem arises from a confusion between delivery method and shipping cost/message. You only need one delivery method (I have left it called delivery), then for orders $50+, that delivery method returns a zero shipping cost (with the appropriate message).

{"SHIPPING_TYPE_ZONEBASED_APPLY_MULTIPLIER":[],"SHIPPING_TYPE_ZONEBASED_COST_BASIS":["value"],"SHIPPING_TYPE_ZONEBASED_DELIVERY_OPTIONS":["Delivery"],"SHIPPING_TYPE_ZONEBASED_EXPLAIN_COST":[],"SHIPPING_TYPE_ZONEBASED_UNITS":{"weight_units":"g","dimension_units":"mm","sum_dimensions_units":"mm","volume_units":"mm3","cost_units":"Cart"},"SHIPPING_TYPE_ZONEBASED_UNKNOWN_COST_MSG":"UNKNOWN SHIPPING COST[%null%]","SHIPPING_TYPE_ZONEBASED_ENABLE_EXCESS_COST":"","SHIPPING_TYPE_ZONEBASED_EXCESS_ROUNDUP":"","SHIPPING_TYPE_ZONEBASED_VALUES":[{"zone":"United States","delivery_option":"Delivery","value":"49.99","cost":"10","message":"Under $50 Total Flat Rate"},{"zone":"United States","delivery_option":"Delivery","value":"100000","message":"Free Shipping for totals $50 and over"},{"zone":"Other Countries","delivery_option":"Delivery","value":"100000","cost":"1000000","message":"[%null%] Shipping unavailable outside the United States"}],"SHIPPING_TYPE_ZONEBASED_EXCESS":[],"SHIPPING_TYPE_ZONEBASED_ZONE_RULES":[{"addr_field":"Country","match_type":"equal to","match_text":"United States","assign_zone":"United States"},{"addr_field":"Country","match_type":"default","match_text":"Other Countries","assign_zone":"United States"}],"SHIPPING_TYPE_ZONEBASED_ZONES":["United States","Other Countries"]}


I have also added a catch all default rule for other countries. Note the [%null%] in the delivery message. eCommerce should simply show its own 'Shipping not available' when null is returned. However, a null return only actually works fully with eCommerce when there is another shipping alternative, hence the v.big shipping cost on that line. To ensure that eCommerce does not get as far as showing that v.big cost you should also use the country select in the eCommerce shipping method enable page to only select the United States.
ideasponge replied on at Permalink Reply
ideasponge
Awesome thank you, that works perfectly.

concrete5 Environment Information

Browser User-Agent String

Hide Post Content

This will replace the post content with the message: "Content has been removed by an Administrator"

Hide Content

Request Refund

You have not specified a license for this support ticket. You must have a valid license assigned to a support ticket to request a refund.