I'm working on a drop shipper module and wanted to brainstorm it in here. Hopefully other drop shipping merchants will jump in.

The problem:

Zen Cart 1.3.7 and below use the store's zip code when calculating cost of shipping.

A merchant that stocks product and dropships product as well often has to choose either to dropship everything, or run the risk that the customer will order items in stock, and items fro the dropshipper.

In my case I carry items that sell frequently and are able to ship in USPS boxes. If a customer orders an item I have in stock at my store zip code, and an item located at the dorpshipper zip code, then I'm more likely to dropship everything.

However if the customer orders only items I have in stock then I ship it from my store zip code.

Unfortunately we often find that the customer is charged less, than they need to pay. So with having to pay a portion of the shipping, plus incur the drop ship fee I've lost a good chunk of profit.

So now let's brainstorm this.

I want any shipping module to reference the product_Zip_Code instead of the store's zip code.

I need the following fields to be associated with each product, and/or attribute for the db.

Product_Zip_Code: Zip Code of product location.

Default_Zip_Code: This is the zip code of the main drop shipper who has every product I sell.

If the customer orders multiple items associated with the drop shippers zip code, then the default_zip_code will be used to determine the shipping cost and time.

Questions:

Would the fields be better as a separate table, with a relation to the products, or would it be best to add them to the products table?

Now I have to figure out how to have the shipping modules check the product zip code instead of the store zip code, and the if/then statement that would direct the shipping module to the Default_Zip_Code.

The flow:

If a single product is ordered, then use the product_zip_code to calculate shipping.

If the multiple products are ordered, then use the default_zip_code

I understand that it may be necessary to alter core files, but if there is any way to avoid altering core files I would rather use that method.

JP