News:

Looking for documentation? Take a look on our wiki

Main Menu

Add sizes to the default shipping module?

Started by Cergorach, September 01, 2006, 17:20:01 PM

Previous topic - Next topic

Cergorach

Hi,

I'm comming across the fact that my shipping options are not only related to weight and location, but also to size. Certain tarifs are a lot cheaper if a package is smaller then a certain size with my current shipper (TPGpost). Now i'm pretty certain that it's relatively easy to add that to the standard shipping module by making a hack of it, i find that making a new module is a lot more work (as it duplicates a lot of functions that are integrated into VM).

I already made all the changes for 1.0.6, although i didn't test them extensively, but i just deleted the changes by accident before backing them up (got a bit to enthousiastic when i saw VM1.1 and uninstalled VM1.0.6, Doh!). I'll be doing the same for VM1.1 (while playing around with it).

Now i want to know if it's worth the time to make a seperate module of it, make a hack of it, or if the VM team would want to integrate size options to the standard shipping module for VM1.1.

Mr.C
The Helix - Datahaven
When cutting edge isn't sharp enough.
I will not accept that.
No regret.

mwmills

Yes, this is something that I also am interested in.  With FedEx, for example, it is considerably cheaper if you use a FedEx envelope instead of a FedEx pak - even if the weight is the same.

The shopping cart that I used to use - www.UltraCart.com - had support for packaging solutions.  Basically, you defined the dimensions of a bunch of different package types - and indicated if they were carrier-specific.  You also had to provide dimensions (L x W x H + weight) for all your products.  The cart would then figure out the best packaging solution.

VirtueMart already stores the product dimensions.  What I was thinking about doing is writing a module that provided a function - say "getPackagingSolution(order_id, shipping_method)" - which would use the order_id as the key to go into the order and pull out all the product dimensions.  The function would then figure out the best packaging solution (for the specified shipping_method) by looking at a database table or configuration file that contained all the configured package types.  Possibly another function should be provided - "getPackagingSolutions(order_Id)" - which would provide a _set_ containing the best packaging solutions for _any_ shipping method, and it would be up to the caller to figure out what to do.

The record - or record set - returned should probably look something like this:

unique_packaging_id, packaging_type [envelope, pak, box, tube, other], shipper_name [FedEx, UPS, etc, or "any"], code_name, description, internal_length, internal_width, internal_height, external_length, external_width, external_height, packaging_weight [i.e., the weight of the empty package itself], packing_tolerance [how close to "full" it can be packed, so that we don't cut it too close]

The internal vs external dimensions may be overkill, but I was trying to take into consideration all potential packaging solutions, including wooden crates.

Anyway, once the above is done, the next step would be to integrate it with a shipping module.  For myself, here in the U.S., I would like to integrate such a thing with the Intershipper module.  Intershipper can return rates for a number of different carriers, and it accepts the pacakging type (like "carrier envelope" or "customer-supplied packaging") and package dimensions as inputs.

Just my thoughts...

Mike Mills







Leukemams