Login
Register

VirtueMart

WooCommerce

Others

Docs

Support

Blog

About

Shipping by Rules for VirtueMart

IMPORTANT ANNOUNCEMENT: Plugin development ceased, all plugins made available freely (GPL)

With great sadness we have to announce that we are ceasing development of all our VirtueMart, WooCommerce and Joomla plugins. Effective immediately, all our plugins -- even those that were paid downloads -- are made available for free from our homepage (GPL license still applies), but we cannot and will not provide any support anymore.

It has been a great pleasure to be part of the thriving development communities of VirtueMart as well as WooCommerce. However, during the last year it became painstakingly clear that in addition to a full-time job, a young family and several other time-consuming hobbies at professional level (like being a professional singer) the plugin development and the support that it requires is not sustainable and is taking its toll. It has been an honor, but it is now time to say good bye!

×

Notice

The forum is in read only mode.
Welcome, Guest
Username: Password: Remember me
  • Page:
  • 1

TOPIC:

Wrong formules 21 Nov 2014 10:55 #1

  • Webdesign
  • Webdesign's Avatar Topic Author
Hi Reinhold,

Please can you tell me what is wrong with these formules?

Name=Gratis boven € 75,00;75<=Amount;Shipping=0
Name=TNT Post; 0<=weight<20; MaxLength<38; MaxWidth<26; MaxHeight<3; Shipping=0.64
Name=TNT Post; 20<=weight<50; MaxLength<38; MaxWidth<; MaxHeight<3; Shipping=1.28
Name=TNT Post; 50<=weight<100; MaxLength<38; MaxWidth<26; MaxHeight<3; Shipping=1.92
Name=TNT Post; 100<=weight<250; MaxLength<38; MaxWidth<26; MaxHeight<3; Shipping=2.56
Name=TNT Post; 250<=weight<2000; MaxLength<38; MaxWidth<26; MaxHeight<3; Shipping=3.84
Name=TNT Pakket; 2000<=weight<10000; 38<=MaxLength<100; 26<=MaxWidth<50; 3<=MaxHeight<50; Shipping=6.95
Name=TNT Pakket; 10000<=weight<30000; 50<=MaxLength<175; 50<=MaxWidth<78; 50<=MaxHeight<58; Shipping=13.25

Length/Width/Height are given in centimeters / Weight in kilograms
This means also by adding the products

Weight is working perfect, but it seems that the length/width/height are not responding. The formule i have put in one rules box

Wrong formules 22 Nov 2014 16:49 #2

The rules look correct (except that in the second rule you missed a 26), and the Max* variables should work. Notice, however, that ALL conditions have to be fulfilled. In particular, if you have an order of the following articles:

1x Product A: Weight 1kg, l/w/h: 50/10/10cm
1x Product B: Weight 1kg, l/w/h: 10/10/10cm

Then Weight=2kg, MaxLength=50cm, MaxWidth=10cm, MaxHeight=10cm
Since MaxLength>38, It will not match any of the "TNT Post" rules. However, the Pakket rules only match for weights of 2tons and above. Also, the pakket rules will only match if MaxLength>=38 AND MaxWidht>=26 AND MaxHeight>=3.

Can you explain in words your exact shipment cost structure?

Best regards,
Reinhold

Wrong formules 18 Dec 2014 09:48 #3

  • Webdesign
  • Webdesign's Avatar Topic Author
Hi Reinhold,

Thanks for your reply.
In the webshop are a lot of products of all different sizes and weights. The costs are like the following:

Post
max.format 380 x x265 x 32 mm
weight < 20 gr
price € 0,64

weight 20 - 50 gr
price € 1,28

weight 50-100 gr
price € 1,92

weight 100 - 250 gr
price € 2,56

weight 250 gr - 2 kg
price € 3,84


Packages

max.format 175 x 78 x 58 cm
weight < 10 kg
price € 6,95

weight 10 - 30 kg
price € 13,25

So thats is my problem , to create the right formules.

Best regards,
Marlies

Wrong formules 28 Dec 2014 22:20 #4

Dear Marlies,
The main problem is how to package the ordered products into envelopes and/or boxes. VM (and thus also my plugin) is no help here (and mathematically, this is even quite a hard optimization problem).

The weight conditions are easy, the hard part is how to decide whether an order fits into 380x265x32mm.

Using MaxLength/MaxHeight/MaxWidth as you do works with one article in the order, but with many articles it will break (e.g. if a customer orders three items that are 300x200x30mm, then those three will not fit into an small package, but the MaxHeight/MaxLength/MaxWidth conditions will be fulfilled). On the other hand, if you use TotalHeight/TotalWidth/TotalLength, then you will overestimate the extents of your shipping box (in the example in the previous sentince, TotalLength==900, TotalWidth==600 and TotalHeight=90).

In this example, you might know that you will alway stack the items one above the other, so in this case the extents would be 300x200x90mm. But that is maybe your personal choice and you could also stack them next to each other, resulting in a box that needs to be at least 300x600x30mm.

So in short, a computer can not easily automatically determine how you can stack the order items into a box. At least my plugin does not have anything like that implemented.

As explained above, using MaxLength/Width/Height will underestimate the actual extents of the required box, while using TotalLength/Width/Height will severely overestimate the actual extents of the box. Those two are the lower and upper bounds for the required box. The actual size of the box between those two bounds depends on how you stack the items. The logic for this is not available in the plugin and I doubt that it can be done programmatically.

One idea that can help is to also check the volume of the order. In particular, if the total volume of the order is larger than 380*265*32mm = 3222400 mm^3 = 3222,4 cm^3, then the order will definitely not fall into the "Post" category, even if MaxLength/Width/Height is below 380/265/32mm.

But that is not the perfect solution, either, as even orders with MaxLength/Width/Height and the volume below those thresholds might not fit into an "envelope" for the Post category. An easy example would be an order with the following two articles:
1x article A, l/w/h=350/ 250 / 20 mm
1x article B, l/w/h=20 / 20 / 20 mm

There is no way to put those two articles into a 380x265x32mm box. Deciding this automatically is not easy, though, and is NOT implemented in VM or my plugin.

Sorry that I can't be of greater help.
Best regards,
Reinhold
  • Page:
  • 1