The first thing to do is to look carefully at your courier's rate card, and to determine exactly HOW they calculate their rates.
In general, shippers charge on FIVE BASIC PARAMETERS.
- The WEIGHT (or sometimes VOLUMETRIC WEIGHT) of the consignment.
- The SIZE of the consignment (sometimes factored into Volumentric weight)
- The DISTANCE it has to be carried.
- The TIME-FRAME it is required to be delivered in (eg:24h, 3-5days)
- The VALUE and NATURE of the goods (maybe INSURANCE is required, or a HANDLING FEE with hazardous materials).
You say that your carrier charges based on the number of states they travel through...
To get them to explain just how they calculate it, send them a list of all 48 contiguous states, and ask them to put prices against each state, for each of the weight bands they use. (I take it you will not send to Hawaii or Alaska? If you do, these states will be treated differently - and your carrier should give you their rates for these states too.
When they give that list back to you, you can start configuring your shipping.
Before you choose a shipping MODULE, you will set up ZONE DEFINITIONS, and in each ZONE DEFINITION you will add relevant states.
What do I mean by this?
It could be that your carrier's rates are the same for:
New York
New Jersey
Massachusetts
Rhode Island
Vermont
... and that there is a SECOND group sharing the same rates:-
Virginia
Delaware
Pennsylvania
... and that there is a THIRD group sharing the same rates:-
West Virginia
Ohio
Michigan
AND SO ON...
Lets say that your courier has TEN such groups...
You will need to configure TEN ZONE DEFINITIONS in your zencart store.
You can NAME them any name you wish:
Zone One
Zone Two
Zone Three
...etc
And... using zencart's ZONE DEFINITION FEATURE, you will ADD APPROPRIATE STATES to each zone.
Now that you have all your ZONES, you need to select a SHIPPING MODULE that can handle this. The "ZONES" module sounds like just the ticket!
BUT... the STANDARD ZONES MODULE can only handle THREE ZONES :shocking:
... You have TEN ZONES (or however many are configured)
SO... before you can use the ZONES MODULE, you need to make a small edit to the /includes/modules/shipping/zones.php file.
Open that file for editing: and find the line:
// CUSTOMIZE THIS SETTING FOR THE NUMBER OF ZONES NEEDED
$this->num_zones = 3;
Change the 3 to however many zones you have set up in you zones definitions... I am using TEN in my example:
// CUSTOMIZE THIS SETTING FOR THE NUMBER OF ZONES NEEDED
$this->num_zones = 10;
SAVE the file to its current location. (there is no over-ride for this module file)
NOW... when you open ADMIN >>>MODULES>>>SHIPPING, select the ZONES module to INSTALL.
It will install, and give you TEN ZONE AREAS.
Now... look at your courier's rate card.
You will apply their rates, using the formatting shown in the advisory text in the little grey editing box, for EACH of the ten zones. Each option will provide a DROP DOWN for selecting a zone... and inf you named yours:
Zone One
Zone Two
Zone Three
...etc
that is what will appear in the dropdown.
Continue until you have configured ALL zones with their appropriate rates.