Offering Shipping Discounts within ZBS

Permalink Browser Info Environment
First, C5 eCommerce discount modules work differently to shipping modules. ZBS is a shipping module, so has limitations when it comes to doing discounts by itself. Nevertheless, you can do a lot within ZBS, but it could be less convenient to set up than with a discount module.

Type: Discussion
Status: In Progress
JohntheFish
View Replies:
JohntheFish replied on at Permalink Reply
JohntheFish
Example, "Free Shipping on any UK order over £10".

For free shipping for a particular zone and/or cart value, you simply create ZBS rules that match that zone/cart value and set the shipping price to 0 with an appropriate ZBS delivery message.

Shipping cost rule:
Zone United Kingdom - ..weight rules etc.. - Cart value over £10 - Cost 0 - "Free shipping on UK orders over £10"
JohntheFish replied on at Permalink Reply
JohntheFish
Example, "Free shipping on UK orders this week".

ZBS doesn't know about dates and times. So you can do it, but only by modifying the rules at the start of the week and changing them back again at the end of the week.
JohntheFish replied on at Permalink Reply
JohntheFish
Example, "Free Shipping by Product".

Note: The 'Free Shipping by Product' addon is actually built as a shipping method (rather than a discount module), so it is unlikely you will be able to use the 'Free Shipping by Product' addon on the same cart as ZBS.

Free shipping by product within ZBS requires some lateral thinking. Here are some ideas for different ways to achieve it.

The difficult part is mixed carts, with some free shipping products and some priced shipping products. If you ship all products separately, then ZBS can calculate shipping by product or item instead of by cart (so the following ideas are simpler to create rules for)

(a) If shipping by weight, set the product weight to zero or use a shipping modifier (xM) of 0.00001 to set the modified weight to zero and have a ZBS rule that says zero shipping cost for cart weight below 0.01.

(b) Using the custom 'zone_shipping_measure' product attribute, set it to a value for the products that do not have free shipping and to 0 for free shipping products. Then use that attribute in the ZBS rules to effectively cut the shipping cost if the 'zone_shipping_measure' is below 1.
rc255 replied on at Permalink Reply 1 Attachment
rc255
Hi John, I'm trying to 'free shipping' for orders over £30 (UK only), but I can't quite get my head 'round it...

Basically, each item has a cost of £1.49 for UK and £3 per item for overseas. There is no discount for overseas, but I want to do free delivery for UK orders over £30.

With the current configuration I have (see screenshot) the postage only calculates the free postage after £29.99, but still charges £1.49 for each item up to that amount.

I want the postage to be £0 for any orders over £30... where am I going wrong?

Cheers mate




Oh, and here is the rules export if that helps:

{"SHIPPING_TYPE_ZONEBASED_APPLY_MULTIPLIER":[],"SHIPPING_TYPE_ZONEBASED_COST_BASIS":["items","value"],"SHIPPING_TYPE_ZONEBASED_DELIVERY_OPTIONS":["Royal Mail UK","Europe (Royal Mail International)","United States (Royal Mail International)","Parcelforce International (Delivery Aim 5-8 Days)","Canada (Royal Mail International)","Australia (Royal Mail International)","Rest of the World (Royal Mail International)"],"SHIPPING_TYPE_ZONEBASED_EXPLAIN_COST":[],"SHIPPING_TYPE_ZONEBASED_UNITS":{"weight_units":"g","dimension_units":"cm","sum_dimensions_units":"cm","volume_units":"cm3","cost_units":"Item"},"SHIPPING_TYPE_ZONEBASED_UNKNOWN_COST_MSG":"UNKNOWN SHIPPING COST{{null}}","SHIPPING_TYPE_ZONEBASED_SPLIT_CART_MSG":"","SHIPPING_TYPE_ZONEBASED_ENABLE_EXCESS_COST":"enable-excess-cost","SHIPPING_TYPE_ZONEBASED_EXCESS_ROUNDUP":"excess-roundup","SHIPPING_TYPE_ZONEBASED_VALUES":[{"zone":"UK Mainland","delivery_option":"Royal Mail UK","items":"100","value":"29.99","cost":"1.49","message":"{{delivery}} to {{shipping-zone}}"},{"zone":"UK Mainland","delivery_option":"Royal Mail UK","items":"10000","value":"10000","message":"FREE SHIPPING"},{"zone":"Europe","delivery_option":"Europe (Royal Mail International)","items":"10000","value":"10000","cost":"3.00","message":"{{delivery}} to {{shipping-zone}}"},{"zone":"North America","delivery_option":"United States (Royal Mail International)","items":"10000","value":"10000","cost":"3.00","message":"{{delivery}} to {{shipping-zone}}"},{"zone":"Canada","delivery_option":"Canada (Royal Mail International)","items":"10000","value":"10000","cost":"3.00","message":"{{delivery}} to {{shipping-zone}}"},{"zone":"Australia","delivery_option":"Australia (Royal Mail International)","items":"10000","value":"10000","cost":"3.00","message":"{{delivery}} to {{shipping-zone}}"},{"zone":"Rest of the World","delivery_option":"Rest of the World (Royal Mail International)","items":"10000","value":"10000","cost":"3.00","message":"{{delivery}} to {{shipping-zone}}"}],"SHIPPING_TYPE_ZONEBASED_EXCESS":[{"zone":"UK Mainland","delivery_option":"Royal Mail UK","items":"","value":"","message":"{{delivery}} to zone {{shipping-zone}}"}],"SHIPPING_TYPE_ZONEBASED_ZONE_RULES":[{"addr_field":"Country","match_type":"equal to","match_text":"United Kingdom|England|Great Britain|UK|GB|Northern Ireland","assign_zone":"UK Mainland"},{"addr_field":"Country","match_type":"contains","match_text":"FR|France|Germany|Italy|Iceland|Switzerland|Greece|Croatia|Austria|Poland|Ukraine|Belgium|Malta|Sweden|Norway|Denmark|Cyprus|Bulgaria|Hungary|Republic of Ireland|Albania|Romania|Montenegro|Czech Republic|Montenegro|Monaco|Finland|Slovania|Gibraltar|Slovakia|Luxembourg|Serbia|Kosovo|Estonia|Lithuania|Belarus|Latvia|Macedonia|Moldova|Andorra|Faroe Islands|Liechtenstein|Isle of Man|San Marino|Jersey|Netherlands|Vatican City","assign_zone":"Europe"},{"addr_field":"Country","match_type":"equal to","match_text":"United States","assign_zone":"North America"},{"addr_field":"Country","match_type":"equal to","match_text":"Canada","assign_zone":"Canada"},{"addr_field":"Country","match_type":"equal to","match_text":"Australia|New Zealand","assign_zone":"Australia"},{"addr_field":"Country","match_type":"equal to","match_text":"Afghanistan|Algeria|American Samoa|Angola|Anguilla|Antarctica|Antigua and Barbuda|Argentina|Armenia|Aruba|Azerbaijan|Bahamas|Bahrain|Bangladesh|Barbados|Belarus|Belize|Benin|Bermuda|Bhutan|Bosnia and Herzegovina|Botswana|Bouvet Island|Brazil|British Antarctic Territory|British Indian Ocean Territory|British Virgin Islands|Brunei|Burkina Faso|Burundi|Cambodia|Cameroon|Cape Verde|Caymen Islands|Central African Republic|Chad|Chile|China|Christmas Island|Columbia|Comoros|Cook Islands|Costa Rica|Cuba|Djibouti|Dominica|Dominican Republic|Dronning Maud Land","assign_zone":"Rest of the World"},{"addr_field":"Country","match_type":"equal to","match_text":"Ecuador|Egypt|El Salvador|Equatorial Guinea|Eritrea|Ethiopia|Falkland Islands|Fiji|French Guiana|French Polnesia|French Southern Territories|French Southern and Antarctic Territories|Gabon|Gambia|Georgia|Ghana|Greenland|Grenada|Guadeloupe|Guam|Guatemala|Guinea|Guinea-Bissau|Guyana|Haiti|Heard Island and McDonald Islands|Honduras|Hong Kong SAR China","assign_zone":"Rest of the World"},{"addr_field":"Country","match_type":"equal to","match_text":"India|Indonesia|Iran|Iraq|Israel|Jamaica|Japan|Johnston Island|Jordan|Kazakstan|Kenya|Kiribati|Kuwait|Kyrgyzstan|Laos|Latvia|Lebanon|Lesotho|Liberia|Libya|Liechtenstein","assign_zone":"Rest of the World"},{"addr_field":"Country","match_type":"equal to","match_text":"Macau SAR China|Macedonia|Madagascar|Malawi|Malaysia|Maldives|Mali|Marshall Islands|Martinique|Mauritania|Mauritius|Mayotte|Mexico|Micronesia|Midway Islands|Moldova|Montserrat|Morocco|Mozambique|Namibia|Naura|Nepal|New Caledonia|Nicaragua|Niger|Nigeria|Niue|Norfolk Island|North Korea|Northern Mariana Islands|Oman|Pakistan|Palau|Palestinian Territories|Panama|Papua New Guinea|Paraguay|Peru|Philippines|Pitcairn Islands|Puerto Rico","assign_zone":"Rest of the World"},{"addr_field":"Country","match_type":"equal to","match_text":"Quatar|Russia|Rwanda|Saint Helena|Saint Kitts and Nevis|Saint Lucia|Saint Martin|Saint Pierre and Miquelon|Saint Vincent and the Grenadines|Samoa|Saudi Arabia|Senegal|Seychelles|Sierra Leone|Singapore|Solomon Islands|Somalia|South Georgia and the South Sandwich Islands|South Korea|Sri Lanka|Sudan|Suriname|Svalbard and Jan Mayen|Swaziland|Syria","assign_zone":"Rest of the World"},{"addr_field":"Country","match_type":"equal to","match_text":"Taiwan|Tajikistan|Tanzania|Thailand|Timor-Leste|Togo|Tokelau|Tonga|Trinidad and Tobego|Tunisia|Turkey|Turkmenistan|Turks and Caicos Islands|Tuvalu|U.S. Minor Outlying Islands|U.S. Virgin Islands|Uganda|United Arab Emirates|Uzbekistan|Vanuata|Venezuela|Vietnam|Wake Island|Wallis and Futuna|Western Sahara|Yemen|Zambia|Zimbabwe","assign_zone":"Rest of the World"}],"SHIPPING_TYPE_ZONEBASED_ZONES":["UK Mainland","Europe","North America","Canada","Australia","Rest of the World"]}
JohntheFish replied on at Permalink Reply
JohntheFish
Can you re-post this as a new support request please. There are better ways to do it than the above with ZBS v2.0+.

You caught me about to go out. When you re-post, I would hope to get back and answer on that thread later tomorrow or on Monday.

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.