We need 3 customizations to Zen Cart:
#1 Discounting - our biggest discounting issue is on thread. We will structure all of our thread products in this form: ABCD-1234. What we need is when specific combinations of ABCD and specific quantity limits are met, the price changes to a discounted amount. For instance, if you buy one to 15 of product ABBB-****, the price is $3.80 each. If you buy 16 to 30 of product ABBB-****, the price is $3.65 each and if you buy 31 or more of product ABBB-****, the price is $3.55 each. We probably have 30 or 40 different product combinations and each product combination has a different discounting structure. So, if you buy 10 of product CAZY-****, the price is $2.25 each. If you buy 11 to 18 of product CAZY-****, the price is $2.10 each and if you buy 19 or more of product CAZY-****, the price is $2.00 each. Discountable products will be in the same parent category (but there may be subcategories under that parent). A parent category will have several different product combinations (eg. a parent category may have ABCD-**** and ABCE-****).
#2 We need model numbers available on attributes, but it does not seem to be available. I know it will be available in the next release of Zen Cart (2.0). There is a posted solution on the Zen Cart website called attributes modelnumbers. It doesn't work, but could be fixed fairly easily. See Zen Cart User Forum search on NewWay to save Attributes Modelnumbers for more info. Attributes modelnumbers need to be on appropriate order line items for export to other applications. Most of the discounting will need to be done on model numbers associated with attributes. When a product has multiple attributes, we only need model number on one of them.
#3 Shipping and Insurance
Here are our shipping rules:
If country = United States and Zone Code <>
AK, AS, AF, AA, AC, AE, AM, AP, FM, GU, HI, MH, MP, PR, VI, then shipping is free
If country = United States and Zone Code = any one of the following:
AK, AS, AF, AA, AC, AE, AM, AP, FM, GU, HI, MH, MP, PR, VI, then first 1 pound is free and > 1 pound is actual USPS cost of shipping + handling fee (configurable handling fee) If it is easier, we can have a variable that is the cost to ship 1 pound via USPS which we can change as postal rates change.
If country = Canada, then first 1 pound is free and > 1 pound is actual USPS + handling fee
If country <> United States or Canada, shipping is actual USPS + handling fee
For domestic orders, we pay shipping as per the above rules. We ship either USPS or UPS depending on which is less expensive If someone wants to upgrade their shipping to overnight or next day or simply want to move it from USPS to UPS, they pay the difference between what our free shipping would be and the cost of the upgrade plus a handling fee (which may be different from the handling fee above).
For insurance, we charge $2 insurance per $100 in order total. If the order total is $125, the insurance is $4. We want insurance to show up automatically with amounts filled in and included in the order total line. A customer will be able to adjust the insurance amount they would buy, so if their order total was $424 and they decided they wanted to insure it only for $200, they could make that change before they check out. They should also have the option of choosing not to insure their order, but there needs to be a warning or a statement they click to accept that tells them that products are sold FOB shipping point which means that they own the product when we deliver it to the carrier. If the product is lost in shipping, they understand and agree that the problem is theirs. Obviously, we'd need to be able to change that verbiage. On international orders, the insured amount will equal the customs amount. If the package is going via UPS, they get $100 in insurance free.