New VM3 ZIP code - Postcode shipping Module - UK, Canada, USA, France, Germany..

Started by GJC Web Design, July 27, 2012, 20:20:56 PM

Previous topic - Next topic

GJC Web Design

The VirtueMart 3.0 Postcode - ZIP code Shipping Plugin that fully integrates and allows a complete Postcode - ZIP code area solution with only one setup.

Now fully upgraded for Virtuemart 3 and Joomla 3.x

Installs as a native VirtueMart 3 Joomla 3.x Shipping Plugin.

This is particularly useful for alpha/numeric postcodes (UK, Canada etc) where the Native VM shipping module doesn't work.

Notice a few people asking for State Name matching etc - yes - this plugin can do this as well assuming there isn't conflicting State names!

This is a VirtueMart 3.0 Shipping Module/Plugin that allows a very simple configuration of all a countries Postcode - ZIP code areas in one method.
Lastest release is version 3.7.8 fully tested on J3.7.+ / VM3.2.+

You no longer need multiple shipping methods for every Postcode - ZIP code area PLUS it works perfectly with Alpha/Numeric codes as in the UK and Canada.

You can download the full instruction PDF here: http://www.gjcwebdesign.com/eximg/postcode_shipping/GJC_Postcode_Shipping_Virtuemart_3.pdf

Has been tested on:

    USA ZIP Codes
    UK Postcodes
    Canadian Postcodes
    French Postcodes
    German Postcodes (PLZ)
    Australian Postcodes

Will work on any known country Postcode - ZIP Code system.


Configuration is very simple - basically a comma separated list pasted in the text area to configure the method.
The format is:
Name,Postcode*Postcode*Postcode,BasePrice,PriceMultiplier,PriceTrigger,PriceFree
Each zone is on a new line.

A Canadian example would be:

Territories,X*Y,20,0.20,200.00,300.00
Canadian Provinces,A*B*C*E*G*H*J*P*R*S*T*V,15,0.15,150.00,300.00
Southern Ontario,K*L*M*N,10,0.10,100.00,150.00


Can be up to 4 digits as the postcode matching loops through 4 levels..

UK example for Central London Congestion Charge Area:(shortened but you get the idea)

CentralLondon,E16*E17*EC1A1*EC1A2*EC1A4*EC1A7*EC1A9*EC504*EC509*SE10*SE11*SE12*SE13*SE14*SE16*SE17*SE18WC2B5*
WC2B6*WC2E7*WC2E8*WC2E9*WC2H0,8.00,0.30,100,300,00


Each Postcode Area in each Zone should be separated by an asterisk.
The Postcode is checked in 4 steps to 4 digits so entries such as Y1A1 are valid.

    BasePrice: Fixed fee - can be used in conjunction with the 'Up To Weight' condition setting an upper limit
    PriceMultipier: can be a percentage or sum that is multiplied by the Sale price or Weight
    PriceTrigger: If set when the Sale price is above this figure the PriceMultipier will trigger
    PriceFree: If the Sale price is above this figure Shipping will be free

There is a default config section so that any postcode not found uses the default values.

Install the Joomla 3 Plugin by using the standard Joomla installer for the file vm3.0.postcode.shipping.zip.

The next step is to enable the VM Postcode shipping plugin in the Joomla 3 Extensions->Plug-in manager.

Then go to Virtuemart-->Shop->Shipment Methods and click 'New'.
Configure the various parameters. These are:

    Country.
    Lowest Weight.
    Highest Weight.
    Up To Weight - this is used in conjunction with the multiplier value to set a limit for the base value. When this passed the multiplier value is used. You can choose to add the base value to this value.
    Minimum number of products.
    Maximum number of products.
    Minimum order amount.
    Maximum order amount.
    Tax.
    Default Zone values - Base, Multiplier, Trigger and Free. These values will be used if the postcode is not found.
    Price Multiplier - choose to multiply by weight or Sales Price.
    Price Multiplier Type - choose if to add the base value to the multiplier value.
    Full debug on/off
    Minor debug on/off

Info here: http://www.gjcwebdesign.com/virtuemart-2-joomla-25-postcode-zip-code-shipping-plugin-released.html
Doenload here: http://www.gjcwebdesign.com/virtuemart-2.0-postcode-zip-code-shipping-plugin.html

See a working example at http://www.gjcwebdesign.com/wal , there is a lot more country specific info there.
User : testshopper
Pass : testshopper


GJC Web Design
VirtueMart and Joomla Developers - php developers https://www.gjcwebdesign.com
VM4 AusPost Shipping Plugin - e-go Shipping Plugin - VM4 Postcode Shipping Plugin - Radius Shipping Plugin - VM4 NZ Post Shipping Plugin - AusPost Estimator
Samport Payment Plugin - EcomMerchant Payment Plugin - ccBill payment Plugin
VM2 Product Lock Extension - VM2 Preconfig Adresses Extension - TaxCloud USA Taxes Plugin - Virtuemart  Product Review Component
https://extensions.joomla.org/profile/profile/details/67210
Contact for any VirtueMart or Joomla development & customisation

brendan

Updating to VM 2.0. Have purchased this and in the process of configuring and installing.
For Aus postcodes can I do a range? eg: 2000 - 2774 to encompass a single delivery zone? Instead of seperating all postcodes with an asterisk?

thanks,




GJC Web Design

Hi Brenden,

No sorry - but how fine grained are your areas?
Is it by States or are States further sub-divided?

if for example it was NSW and Capital Territory

New South Wales    NSW    
1000—1999 (LVRs and PO Boxes only)
2000—2599
2619—2898
2921—2999

Australian Capital Territory    
ACT    0200—0299 (LVRs and PO Boxes only)
2600—2618
2900—2920

NSW would be

1*20*21*22*23*24*25*2619*262*263*264*265*266*27*28*

ACT I personally would make the default because all the other States are "sensibly" broken up into 1000's

hmmm... I see this was a bad example - which twat decided to break up ACT into these silly ranges???? :-\

Let me know how your splitting your states and I will see what I can come up with

GJC Web Design
VirtueMart and Joomla Developers - php developers https://www.gjcwebdesign.com
VM4 AusPost Shipping Plugin - e-go Shipping Plugin - VM4 Postcode Shipping Plugin - Radius Shipping Plugin - VM4 NZ Post Shipping Plugin - AusPost Estimator
Samport Payment Plugin - EcomMerchant Payment Plugin - ccBill payment Plugin
VM2 Product Lock Extension - VM2 Preconfig Adresses Extension - TaxCloud USA Taxes Plugin - Virtuemart  Product Review Component
https://extensions.joomla.org/profile/profile/details/67210
Contact for any VirtueMart or Joomla development & customisation

brendan

Thanks for swift reply.

For freight charging purposes states are sub divided into regions of variable cost. This is a system I've used for the earlier version of VM I'm using.
I have broken down the entire postcodes into 19 zones with each having a range of postcodes.
So I have CSV files with a range of 1001 - 2774 that is all Sydney Metro and will come under the one base price plus multiplier (my site sells wine and the freight is worked out on base price + cost per bottle/weight).
And I have another base price plus multiplier formula for north queensland postcodes that 4806-4895.
And so on for the rest of the country.
This took a good deal of time to get right and i really don't want to have to recreate it from scratch.
Any tips?

GJC Web Design

hi,

but where are the break points of your areas?

- as explained my module will look for matches starting at 4 digits and working backwards  so for example your sydney metro (but hard to do an example cos I don't know where the adjoining region is - is 2775 somewhere else?)

1*21*22*23*24*25*26*271*272*273*274*275*276*2771*2772*2773*2774

if then the next zone was rest of NSW then

2775*2776*2777*2778*2779*28*29

similarly Nth Queensland

4806*4807*4808*4809*4810*4811*4812*4813*4814*4815*4816*4817*4818*4819*4820*4821*4822*4823*4824*4825*4826*4827*4828*4829*4830*4831*4832*4833*4834*4835*4836*4837*4838*4839*4840*4841*4842*4843*4844*4845*4846*4847*4848*4849*4850*4851*4852*4853*4854*4855*4856*4857*4858*4859*4860*4861*4862*4863*4864*4865*4866*4867*4868*4869*4870*4871*4872*4873*4874*4875*4876*4877*4878*4879*4880*4881*4882*4883*4884*4885*4886*4887*4888*4889*4890*4891*4892*4893*4894*4895

u can make these ranges in a few moments with excel and a text editor

the rest of Queensland would be covered by
41*42*43*44*45*46*47*4801*4802*4803*4804*4805*4896*4897*4898*4899

which shipping module are you using in VM1.1?
GJC Web Design
VirtueMart and Joomla Developers - php developers https://www.gjcwebdesign.com
VM4 AusPost Shipping Plugin - e-go Shipping Plugin - VM4 Postcode Shipping Plugin - Radius Shipping Plugin - VM4 NZ Post Shipping Plugin - AusPost Estimator
Samport Payment Plugin - EcomMerchant Payment Plugin - ccBill payment Plugin
VM2 Product Lock Extension - VM2 Preconfig Adresses Extension - TaxCloud USA Taxes Plugin - Virtuemart  Product Review Component
https://extensions.joomla.org/profile/profile/details/67210
Contact for any VirtueMart or Joomla development & customisation

brendan

I'm using this shipping module currently. http://www.epicdesign.com.au/virtuemart-a-joomla/62-virtuemart-postcode-shipping
Not without its quirks but mostly works.

Can you advise on best way to break them down easily with excel and a text editor? Wouldn't take much work if I could do that quickly.

My initial test on just a few sydney postcodes worked fine.

GJC Web Design

It's just basic Excel...

e.g for the sequence 4806*4807 etc on an Excel sheet put 4806, next line 4807 then select both cells.
Click, hold and drag the cross cursor down and it will automatically fill in the sequential amount.
Save as a csv,
Open the csv in a good text editor e.g. Notepad++ and replace the commas with asterisks - job done..
GJC Web Design
VirtueMart and Joomla Developers - php developers https://www.gjcwebdesign.com
VM4 AusPost Shipping Plugin - e-go Shipping Plugin - VM4 Postcode Shipping Plugin - Radius Shipping Plugin - VM4 NZ Post Shipping Plugin - AusPost Estimator
Samport Payment Plugin - EcomMerchant Payment Plugin - ccBill payment Plugin
VM2 Product Lock Extension - VM2 Preconfig Adresses Extension - TaxCloud USA Taxes Plugin - Virtuemart  Product Review Component
https://extensions.joomla.org/profile/profile/details/67210
Contact for any VirtueMart or Joomla development & customisation

brendan

thanks. Yes, or course, simple excel. Have that sorted.
Still trying to get the configuration.

Using this as an example:
SydneyMetro,2770*2773*2774,6,0.5,
In testing I get the shipping fee being the base rate of $6 but no multiplier. The multiplier is per kilogramme (or bottle, in my case).
Can't figure what isn't working. 

VMSHIPMENT_VM_POSTCODE_PRICEMULTIPIER is selected as WEIGHT
VMSHIPMENT_VM_POSTCODE_PRICEMULTIPIERT is selected as ADD

Product has weight as 1 kilogramme. Order is for 12 of the item.
Formula should give me a total $12 but is only giving me the base rate of $6.

Any tips on what I'm doing wrong?

thanks.
b

brendan

Ah, think I'd failed to pull the trigger...
Think I have it now.

thanks,

AH

For UK users, make sure that the customer inputs the Postal Code correctly i.e space in the correct place!
Regards
A

Joomla 4.4.5
php 8.1

peebee

Hi GJC Web Design,

Another Australian here with a complex shipping issue I'm trying to solve.  I'm hoping a combination of your Shipping by Postcode and Australia Post plugins might be able to do the job.  Could you please confirm or otherwise if your plugins will handle the following scenario.

We're selling surfboards and products associated with surfboard manufacture, such as fiberglass resin, fiberglass cloth, foam shaping tools, fins, legropes, etc.

Some products are small and are easily sent via Australia Post - so I imagine your Australia Post module will handle that easily.  Not such a problem.

Other products however are large (like a surfboard or a 20kg drum of resin for example) and require shipping via courier.  I imagine that your Postcode Shipping module will handle that?

Shipping prices on large items also vary for each State in Australia depending on if delivery is to the capital city (metropolitan areas) or to regional areas.  I see from your earlier comments in this post that we can specify postcode ranges within each State to sort that problem?

The major problem is; some products are considered dangerous goods (like the resin) and require a specific courier (so we can't use your e-go plugin).  Dangerous goods require a specific courier and cost more to ship than standard courier rates.

So, some examples:

Eg 1.  Customer buys 3 x surfboard fins - Australia Post is selected for shipping and your Aus Post plugin calculates postage.  OK - all good.
Eg 2.  Customer buys 1 x surfboard.  Shipping address is regional area of Queensland.  Goods are not dangerous so standard courier is OK.  Your Postcode Shipping plugin calculates total.  OK - all good.
Eg 3.  Customer buys 3 x fins and 1 x 20 kg drum of resin.  Shipping address is regional Queensland.  Goods ARE dangerous so our alternative courier is required - therefore greater shipping cost.

In example 3 above, is it somehow possible to differentiate between the products classified as dangerous and those that are not, so a greater charge is applied if the order includes dangerous goods?

I hope that makes sense.  Thanks for any suggestions you can offer.

Joomla 2.5.7 & Virtuemart 2.0.12f

raideruk

If I wanted to purchase this plugin, would I be able to use just the first two letters of a uk postcode

eg TN, BN, CW

Or does it have to be more specific as in

TN12, BN11, CW8.

This would make life very easy if I could use just 2 letters as I cant imagine the pain inputting all the uk postcodes that are applicable for a delivery surcharge.

GJC Web Design

Sorry for the late reply

Yes - for example if your only targeting London metro area you would use

EC*WC*N*NE*E*SE*S*SW*W*NW

although you would need an entry for e.g. Exeter (EX) on another line e.g. for South West England

The plug looks for matches starting with 4 figures then 3 figures and so on..
GJC Web Design
VirtueMart and Joomla Developers - php developers https://www.gjcwebdesign.com
VM4 AusPost Shipping Plugin - e-go Shipping Plugin - VM4 Postcode Shipping Plugin - Radius Shipping Plugin - VM4 NZ Post Shipping Plugin - AusPost Estimator
Samport Payment Plugin - EcomMerchant Payment Plugin - ccBill payment Plugin
VM2 Product Lock Extension - VM2 Preconfig Adresses Extension - TaxCloud USA Taxes Plugin - Virtuemart  Product Review Component
https://extensions.joomla.org/profile/profile/details/67210
Contact for any VirtueMart or Joomla development & customisation

sagaranvekar

Radius Based shipping
I was searching over internet for the extension that allows radius based shipping.
I was setting up Flower delivery shop located in Reims(France) and the requirement was
1. If distance of delivery location less than equal to 5kms then shipping chares €7
2. If distance of delivery location more than 5 kms but less than equal to 20kms then shipping charged €14
3. If distance of delivery location is greater than 20kms, then delivery is not possible.

After researching, i found that i can use this extension to sort out my issue. I collected all the zipcodes for Reims and its suburbans. Then i used google maps to calculate distance from the shop to particular zipcode and created a list of possible delivery locations in both ranges. Now my issue was how can i restrict buyers for the delivery outside 20 km. So, i changed zipcode field in database from "text" to "select" and renamed it to city which allowed me to add delivery locations manually. While adding city names, i added prefix TW-cityname and FV-cityname (TW=Twenty km and FV=Five kms) in fieldvalue. Then i added shipping rules:
20km,TW,14,0,0,0
5km,FV,7,0,0,0

And everything worked as i expected.

During this development, i contacted GJC Web Design and John helped a lot to get this sorted. He guided me how i can use it.
I also found that, this plugin works well with "One Page Virtuemart Checkout" component when we do not alter zip field from "text" to "select".

Thanks a million to GJC Web Design for such excellent plugin which saved my time and money.

GJC Web Design

We have upgraded our VirtueMart 2.0 Postcode - ZIP code Shipping Plugin to extend its shipping calculation possibilities.
This now gives a lot more alternative configurations for combinations of weight, price and trigger levels.

You can download it here - http://www.gjcwebdesign.com/joomla-downloads/virtuemart-20-postcode-zip-code-shipping-plugin.html


This is a VirtueMart 2.0 Shipping Module/Plugin that allows a very simple configuration of all a countries Postcode - ZIP code areas in one method.

You no longer need multiple shipping methods for every Postcode - ZIP code area PLUS it works perfectly with Alpha/Numeric codes as in the UK and Canada.

Below are some of the configuration possibilities:

Example One: Base price then fixed amount per dollar over the trigger.



Pasted code:

Name,Postcode*Postcode*Postcode,BasePrice,PriceMultiplier,Trigger,PriceFree

Northern Scotland,HS12*HS19*HS20*HS29*HS33*HS43*HS53*HS65,10,0.15,40,150.00

This will give $10 shipping up to $40 and add 15 cents for each $ over.

Over $150 shipping is free.

Example Two: Base price then fixed amount per kilo over the trigger.



Pasted code:

Name,Postcode*Postcode*Postcode,BasePrice,PriceMultiplier,Trigger,PriceFree

Northern Scotland,HS12*HS19*HS20*HS29*HS33*HS43*HS53*HS65,10,2,3,150.00

This will give $10 shipping up to 3kg and add $2 for each Kg over.

Over $150 shipping is free.



Example Three: Intial price then fixed amount per kilo over the trigger.



Pasted code:

Name,Postcode*Postcode*Postcode,BasePrice,PriceMultiplier,Trigger,PriceFree

Northern Scotland,HS12*HS19*HS20*HS29*HS33*HS43*HS53*HS65,10,4,2,150.00

This will give $10 intial shipping up to 2kg and $4 for each Kg over the 2kg trigger.

Over $150 shipping is free.



Example Four: Intial price then fixed amount per $ over the trigger.



Pasted code:

Name,Postcode*Postcode*Postcode,BasePrice,PriceMultiplier,Trigger,PriceFree

Northern Scotland,HS12*HS19*HS20*HS29*HS33*HS43*HS53*HS65,10,0.14,60,150.00

This will give $10 intial shipping up to $60 sale price and 14 cents for each $ over the $60 trigger.

Over $150 shipping is free.



Example Five: Simple price per $ value of sales - use 0 as trigger.



Pasted code:

Name,Postcode*Postcode*Postcode,BasePrice,PriceMultiplier,Trigger,PriceFree

Northern Scotland,HS12*HS19*HS20*HS29*HS33*HS43*HS53*HS65,,0.14,0,150.00

This will give 14 cents for every $ of sales price.

Over $150 shipping is free.

Price Multiplier Type setting is ignored.



Example Six: Simple price per Kg - use 0 as trigger.



Pasted code:

Name,Postcode*Postcode*Postcode,BasePrice,PriceMultiplier,Trigger,PriceFree

Northern Scotland,HS12*HS19*HS20*HS29*HS33*HS43*HS53*HS65,,2,0,150.00

This will give $2 shipping for every Kg.

Over $150 shipping is free.

Price Multiplier Type setting is ignored.



Example Seven: Simple base price - use x as trigger.



Pasted code:

Name,Postcode*Postcode*Postcode,BasePrice,PriceMultiplier,Trigger,PriceFree

Northern Scotland,HS12*HS19*HS20*HS29*HS33*HS43*HS53*HS65,10,,x,150.00

This will give a shipping price of $10 for this postcode match.

Over $150 shipping is free.

Price Multiplier Type & Price Multiplier setting is ignored.
GJC Web Design
VirtueMart and Joomla Developers - php developers https://www.gjcwebdesign.com
VM4 AusPost Shipping Plugin - e-go Shipping Plugin - VM4 Postcode Shipping Plugin - Radius Shipping Plugin - VM4 NZ Post Shipping Plugin - AusPost Estimator
Samport Payment Plugin - EcomMerchant Payment Plugin - ccBill payment Plugin
VM2 Product Lock Extension - VM2 Preconfig Adresses Extension - TaxCloud USA Taxes Plugin - Virtuemart  Product Review Component
https://extensions.joomla.org/profile/profile/details/67210
Contact for any VirtueMart or Joomla development & customisation