[ic] Preference for Pricing Scheme?
Fri, 1 Dec 2000 08:29:14 -0500
Quoting Nigel Hathaway (firstname.lastname@example.org):
> Quit beating about the bush: here's how I think Interchange could be
> 1. Create a new table called 'options' with columns as follows:
> name (indexed) - values e.g. one of size, colour, hard drive, memory
> attribute - values e.g. one of red, green, large, small, or NULL if no value
> widget - radio, check box, pull-down etc. - must be the same for all
> attributes under a name
> sku (indexed) - product code or NULL if general and not product specific
> weight - additional weight to the associated option
> price - price code for looking up in a modified pricing table (see below)
> Expect many instances of the same 'name', but one per sku/attribute
> combination. In the same way, expect many instances of sku and attribute.
> 2. Remove columns like 'colour' and 'size' from the products table and
> create a new field called 'options'. This contains either:
> (a) *, in which case the SQL query in the options returns all records for
> the matching sku, or
> (b) a comma-separated list of names, in which case the SQL matches the
> 'name' column and NULL sku. (could do: name1=[opt1,opt2], name2=[optx,
> opty]... - this may be considered syntactically complex)
> 3. In the products table, remove 'wholesale', and make 'price' mean price
> code and not actual price.
> 4. Scrap the existing pricing table (used for quantity discounts), and
> replace it with and new pricing table, with columns as follows:
> code (indexed) - the price code in the products or options table
> quantity - the maximum number of items for which the price applies
> wholesale - boolean (if both combinations are not present, then price
> applied to both)
> price - unit price for that code and quantity
> I don't find it's helpful having the same discount structure for all
> products, by having q2, q4, etc. columns.
> Product pricing is normally grouped like this - go into any shop and see how
> many different price values there are.
> 5. The orderline table needs a bit of tidying up. Remove 'colour' and
> 'size', and use the options field with comma list: name1=opt1, name2=optx...
Bingo. Part of what you have almost exactly described some of what is in
4.7.x. IT isn't really ready to be released yet, but interested parties
can email me and get the sooper-sekrit decoder ring to get it via CVS.
Akopia, Inc., 131 Willow Lane, Floor 2, Oxford, OH 45056
phone +1.513.523.7621 fax 7501 <email@example.com>
For a successful technology, reality must take precedence over public
relations, for Nature cannot be fooled. -- Dick Feynman