Zen Cart Logo
Forums / Built-in Shipping and Payment Modules / Best way to setup my shipping?

Best way to setup my shipping?

Views: 1,728

Results 1 to 15 of 15
10 Jul 2013, 9:44 PM
#1
gxlinx01 avatar

gxlinx01

New Zenner

Join Date:
Mar 2011
Posts:
24
Plugin Contributions:
0

Best way to setup my shipping?

We sell multiple items and each item has a different set shipping price for example item A is $20 and Item B is $40 shipping
We do shipping based on 3 Zones
United States
Canada
International(Rest of the world)

United States shipping is the base shipping for that item so Item A is $20 shipping and item B is $40 shipping
Canada shipping is the item's United states shipping price plus extra to compensate sending to Canada so Item A would be $20 +70 and Item B would be $40 + $70
International Shipping is the United states shipping price plus extra to compensate sending worldwide so item A is $20 + $120 and Item be is $40 + $120

I was thinking using the shipping module "perweightunit" module but wasn't sure how I would add in the extra cost of the shipping to Canada and International. Also is it possible on certain items if you are in Canada or International to ask you to call for pricing?

10 Jul 2013, 9:52 PM
#2
frank18 avatar

frank18

Deceased

Join Date:
Nov 2007
Location:
Sunny Coast, Australia
Posts:
3,427
Plugin Contributions:
2

Re: Best way to setup my shipping?

gxlinx01:

I was thinking using the shipping module "perweightunit" module but wasn't sure how I would add in the extra cost of the shipping to Canada and International. Also is it possible on certain items if you are in Canada or International to ask you to call for pricing?

Should work fine, tutorial here: http://www.zen-cart.com/content.php?215-would-like-to-set-up-individual-shipping-charges-per-item-that-is-item-a-will-cost-2500-per-item-to-ship-and-item-b-would-cost-3000-per-item-to-ship-how-can-this-be-done

Then add extra cost for shipping to say canada as a handling charge.

10 Jul 2013, 9:58 PM
#3
gxlinx01 avatar

gxlinx01

New Zenner

Join Date:
Mar 2011
Posts:
24
Plugin Contributions:
0

Re: Best way to setup my shipping?

I have this turned on and it picks up the shipping correctly, do I need to clone this module and set it to the Canada/international zone?

10 Jul 2013, 10:33 PM
#4
gxlinx01 avatar

gxlinx01

New Zenner

Join Date:
Mar 2011
Posts:
24
Plugin Contributions:
0

Re: Best way to setup my shipping?

Ok, so this is what I did. I setup the module like Frank18 said.

I created US, Canada, and International Zones

I cloned the original "perweightunit" module 3 three times.

one for the base US prices
One for Canada pricing (Added $70 Handling)
One for International Priceing ( Added $120 Handling)

Is it possible to prevent only people from Canada and the International Community from purchasing a certain item but asking them to call for pricing?

10 Jul 2013, 10:37 PM
#5
ajeh avatar

ajeh

Oba-san

Join Date:
Sep 2003
Location:
Ohio
Posts:
62,757
Plugin Contributions:
1

Re: Best way to setup my shipping?

How can you identify the Products that should be Call for Price for Canada and International?

Are they all in the same Category using the same master_categories_id?

Do they all have the same manufacturers_id?

Is their something similar in the products_model?

Is there a specific gang of products_id? :lookaroun

11 Jul 2013, 1:41 PM
#6
gxlinx01 avatar

gxlinx01

New Zenner

Join Date:
Mar 2011
Posts:
24
Plugin Contributions:
0

Re: Best way to setup my shipping?

The products are under categories just not under the same one nor do they share a master category.

They don't have a manufacturer applied to them.

They don't have a product_model applied to them either.

The list will keep growing so I don't think it would work to specify specific product_ids.

Basically what is going on is we have quite a few products that don't get shipping internationally that often. So maybe 9 different categories that need to be a call/email to order type of deal when shipping outside the US. Is this feasible?

If all else fails I might be able to use the products_model or Manufacturers_id.

11 Jul 2013, 1:58 PM
#7
ajeh avatar

ajeh

Oba-san

Join Date:
Sep 2003
Location:
Ohio
Posts:
62,757
Plugin Contributions:
1

Re: Best way to setup my shipping?

In the 9 Categories ... are ALL of these Products not to be for international, so that 9 master_categories_id are in common?

When you say not to be SHIPPED internationally, does this mean that Grandma in the UK can ship the Product to Tiny Tim in the US?

Or, that Grandma in the UK cannot ORDER the Product, regardless of where it is shipped?

11 Jul 2013, 3:07 PM
#8
gxlinx01 avatar

gxlinx01

New Zenner

Join Date:
Mar 2011
Posts:
24
Plugin Contributions:
0

Re: Best way to setup my shipping?

Just saying Grandma in the UK can't order the product, she will need to call/email to get more info.

Yes, everything in those 9 Category IDs are strictly call/email for anyone that is outside the US.

11 Jul 2013, 3:55 PM
#9
ajeh avatar

ajeh

Oba-san

Join Date:
Sep 2003
Location:
Ohio
Posts:
62,757
Plugin Contributions:
1

Re: Best way to setup my shipping?

Is your definition of the US ALL 50 States, DC and ALL Territories and Islands?

Do customers have to login to buy products?

11 Jul 2013, 4:14 PM
#10
gxlinx01 avatar

gxlinx01

New Zenner

Join Date:
Mar 2011
Posts:
24
Plugin Contributions:
0

Re: Best way to setup my shipping?

All 50 states + DC.

Yes, they are required to login to buy the products.

11 Jul 2013, 10:24 PM
#11
ajeh avatar

ajeh

Oba-san

Join Date:
Sep 2003
Location:
Ohio
Posts:
62,757
Plugin Contributions:
1

Re: Best way to setup my shipping?

You could try this ...

Edit the file:
/includes/modules/pages/login/header_php.php

and add the code in RED:

        $_SESSION['customer_zone_id'] = $check_country->fields['entry_zone_id'];
[B]
// bof: check customer zone for valid zone to order some products
        $valid_zone_id = 37; // enter value of valid zone
        $valid_zone = true;
        $check_flag = false;
        $check = $db->Execute("select zone_id from " . TABLE_ZONES_TO_GEO_ZONES . " where geo_zone_id = '" . $valid_zone_id . "' and zone_country_id = '" . $check_country->fields['entry_country_id'] . "' order by zone_id");
        while (!$check->EOF) {
          if ($check->fields['zone_id'] < 1) {
            $check_flag = true;
            break;
          } elseif ($check->fields['zone_id'] == $check_country->fields['entry_zone_id']) {
            $check_flag = true;
            break;
          }
          $check->MoveNext();
        }

        if ($check_flag == false) {
          $valid_zone = $check_flag;
        }
        $_SESSION['ship_to_customer_valid_zone'] = $valid_zone;
// eof: check customer zone for valid zone to order some products
[/B]

Change the setting for the:
$valid_zone_id =37;

to the zone id for you Zone Definition for the 37...

Edit the file:
/includes/functions/functions_general.php

and find the:
function zen_get_buy_now_button

then add the code in RED:

    $button_check = $db->Execute("select product_is_call, products_quantity from " . TABLE_PRODUCTS . " where products_id = '" . (int)$product_id . "'");

[B]// check Product for valid zone
define('TEXT_CALL_FOR_PRICE2', 'Call for Price shipping');
define('TEXT_LOGIN_TO_SHOP_BUTTON_REPLACE2', 'Login for validation');
// master_categories_id are delimited in $chk_products_us_only
$chk_products_us_only = in_array(zen_get_products_category_id($product_id), explode(",", '10, 12'));
echo '$products_id: ' . $product_id . ' $master: ' . zen_get_products_category_id($product_id) . ' $chk_products_us_only: ' . $chk_products_us_only . ' good: ' . $_SESSION['ship_to_customer_valid_zone'] . '<br>';
[/B]    switch (true) {

change the master_categories_id from 10, 12 to be the master_categories_id that you need on:
$chk_products_us_only = in_array(zen_get_products_category_id($product_id), explode(",", '10, 12'));

    case (zen_get_products_allow_add_to_cart($product_id) == 'N'):
      return $additional_link;
      break;
[B]// check Product for valid zone
    case ((!$_SESSION['ship_to_customer_valid_zone'] && $chk_products_us_only)):
      if ($_SESSION['customer_id'] > 0) {
        $return_button = '<a href="' . zen_href_link(FILENAME_CONTACT_US) . '">' . TEXT_CALL_FOR_PRICE2 . '</a>';
      } else {
        $return_button = '<a href="' . zen_href_link(FILENAME_LOGIN, '', 'SSL') . '">' .  TEXT_LOGIN_TO_SHOP_BUTTON_REPLACE2 . '</a>';
      }
      break;
[/B]    case ($button_check->fields['product_is_call'] == '1'):
      $return_button = '<a href="' . zen_href_link(FILENAME_CONTACT_US) . '">' . TEXT_CALL_FOR_PRICE . '</a>';
      break;
12 Jul 2013, 6:48 PM
#12
gxlinx01 avatar

gxlinx01

New Zenner

Join Date:
Mar 2011
Posts:
24
Plugin Contributions:
0

Re: Best way to setup my shipping?

$valid_zone_id needs to be the id for the zone definition I made for the united states?

Right now it just shows "Please call for Price Shipping" for every country including the US.

It is marking the categories as call to ship though

12 Jul 2013, 7:03 PM
#13
ajeh avatar

ajeh

Oba-san

Join Date:
Sep 2003
Location:
Ohio
Posts:
62,757
Plugin Contributions:
1

Re: Best way to setup my shipping?

Go to your Admin and go to the Locations / Taxes ... Zones Definitions ... and click on your Zone Definition for the US and click on DETAILS ...

What do you have set on the DETAILS for this Zone Definition? If you want 50 States plus DC you should see 51 zones added to it ...

In the URL, what is the zID= showing? That is what you should be setting the $valid_zone_id to be ...

15 Jul 2013, 4:50 PM
#14
gxlinx01 avatar

gxlinx01

New Zenner

Join Date:
Mar 2011
Posts:
24
Plugin Contributions:
0

Re: Best way to setup my shipping?

Sorry for the hiatus.
It is working! I typed the wrong ID in. :oops:

Thank you very much!

One more question if you don't mind answering.

I am using the perweightunit shipping module with handling, like said earlier in this thread. One thing I realized though is that not all products need an extra $70 tacked on for orders to canada. Some orders are and extra $10 or $52 or $83. Is it possible to have this kind of pricing per product? An example of shipping,
Item A:
USA - $40, Canada - $70
Item B:
USA - $70, Canada - $70
Item C:
USA - $24, Canada - $52
Item D:
USA - $30, Canada - $83

18 Jul 2013, 12:40 AM
#15
ajeh avatar

ajeh

Oba-san

Join Date:
Sep 2003
Location:
Ohio
Posts:
62,757
Plugin Contributions:
1

Re: Best way to setup my shipping?

How are you identifying which shipping module gets which of the 3 charges? Or, is there a different charge for each Product or Category or what? :lookaroun