[ic] Discount Specifications
Rick Bragg
lists at gmnet.net
Mon Nov 22 06:49:55 UTC 2010
On Wed, 2010-11-17 at 09:16 -0800, Marty Tennison wrote:
> Starting a new thread for discount specs....
>
> I just got done implementing this in our system so it's fresh in my mind. If
> this is something anyone is interested in I'll be happy to elaborate and/or
> collaborate on the spec and share my experiences.
>
> ================================================================
>
> Discounts have 3 major parts.
> 1) Discounts
> 2) Rules
> 3) Actions
>
>
> DISCOUNTS:
> Discounts have one or more rules.
> Discounts have one or more actions.
> Discounts can be active or inactive
>
>
> DISCOUNT_RULES:
> Rules evaluate conditions and return 1 or 0 (true or false)
> Rules have a type, operator, value.
> Rule types are actually modules (subs) that can be plugged in as new rules are
> needed
> Rule types: (ideas)
> 1) Subtotal including discounts
> 2) Subtotal excluding discounts
> 3) nitems in cart
> 4) date
> 5) Weight of all items in cart
> 6) username
> 7) sku
> 8) cart contains X of item Y
> 9) was discount code entered by user (make this a private coupon)
> Rule operators:
> 1) ==, !=, <=, >=, <, >, eq, ne, ge, le, gt, lt, <user defined input>
> Rule Values:
> 1)<user defined input> (this is what we test against)
> Rules chain unless the rule returns false
> If all rules return true then the discount actions are applied.
>
>
> DISCOUNT_ACTIONS:
> Actions have a type, operator and value
> Action types are actually modules (subs) that can be plugged in as new actions
> are needed
> Action types: (ideas)
> 1) Percentage of subtotal
> 2) Fixed amount
> 3) Free Shipping
> 4) Discount sku by fixed amount
> 5) Discount sku by percentage
> 6) Discount sku by (amt * qty)
> 7) Display message
> 8) Log something
> 9) Deactivate discount (make discount a single use coupon)
> Action Operator:
> 1) (only used to enter SKU if needed for item 4,5,6 above)
> Action Values:
> <user defined input> ie: .65, 5 etc...
>
>
> DISCOUNT_LOG:
> All redeemed discounts should be logged to a file for reporting.
> Logged fields should be
> 1) Discount ID
> 2) Username
> 3) Date
> 4) Amount
> 5) Order number
>
>
Nicely thought out. Also Discounts should be able to be linked to
campaigns or other promotions for further tracking.
Rick
More information about the interchange-users
mailing list