Zen Cart Logo
Forums / Features Wish List / customer groups, attributes or tags

customer groups, attributes or tags

Locked

Views: 1,166

Results 1 to 1 of 1
This thread is locked. New replies are disabled.
07 Nov 2007, 07:44
#1
rriehle avatar

rriehle

New Zenner

Join Date:
Aug 2007
Posts:
36
Plugin Contributions:
1

customer groups, attributes or tags

Greetings Zentelligentsia,

In the course of making my shop suitable for both retail and wholesale customers I have run into limitations. In short, I need to be able to make shipping and payment modules conditional based on type or status of customer.

For example, we deliver to some customers, but not others. It would be nice to be able to check a customer record for its membership in a “delivery” group and then make the appropriate shipping modules available.

Likewise, we offer credit terms to some customers (but not others) and we invoice these customers at the end of billing cycles. It would be nice to be able to check a customer record for its membership in a “terms” or “invoice approved” group and then make the appropriate payment modules available.

Some of our customers are approved for both deliveries and for credit terms, some are approved for only one or the other, the rest are approved for neither. And of course there could be other attributes of customers that might influence whether or not a shipping or payment module should be made available—wholesale account, retail account, distributor, educational customer, other non-profit, large account, small account, the customer's account rep is Ann, the customer's account rep is Bill....

Most of the shipping and payment modules perform impressive calculations, and Zen Cart's object orientation makes producing new modules relatively easy, but there is no facility for conditionally and dynamically enabling or disabling shipping and payment modules based on attributes of customers.

Imagine customer groups, defined via the administrative console. A customer could be a member of zero or more groups; hence there would be a many-to-many relationship between customers and customer groups. This approach would likely involve a new table in the database, namely a “customer groups” table.

Alternatively a tagging or attribute scheme could be used. In this case a single field in a customer record, let's call it “tags,” could be read into a PHP array, which would then be searchable by shipping and payment modules. And I'm sure there are yet more ways to go about all of this.

There are several threads within the Features Wish List forum that reference tags, keywords or additional customer fields. I do not think that any of them are referring to the specific situation or goal that I have discussed, yet I wonder if they might be served, at least in part, by the same or similar mechanisms. These mechanisms would also be useful to offer special sale pricing to some customers, but not others. Indeed, I can imagine how many aspects of the Zen Cart system might benefit from the existence of customer groups or tags.

Okay, that's enough for tonight.

Thanks for reading.

-- Rick