8 replies [Last post]
TimK's picture
Offline
Joined: 08/18/2007
Juice: 147
Was this information Helpful?

Hi. I'm hoping this post will help out a bit with developing the concept for the ubercart discount system.

Here are a few questions we may consider:
1. Would it be possible (and wise) to have a single contrib module that could perform most of the basic discount functions needed, and thus replace all three of (uc_discount, uc_gift_certificate, and uc_coupon)?
2. Would it be possible and smart to have an additional basic api added to the uc core that would support these types of discount functions? Is there something that could be built into core that would be helpful for this, yet generic enough to allow for contrib module development?

Here is a summary of needed discounts:
1. Roll based discounts (coupons).
2. Paid for discounts (gift certs).
3. Granted discounts (gift certs, coupons).

Here is a summary of related functions:
1. Price display updates, at least in the checkout page.
2. Diminishing of discounts when a discount is used. E.g. a user is removed from a roll or forfeits a gift cert after making a purchase, or a coupon’s value diminished according to how much of it was used.
3. Display of discounts in user accounts and on the checkout page.
4. Users have the option to either apply their discount or not.

Notes:
1. Discounts are of two types. They are either earned or granted.
- They can be earned by making purchases (uc_rolls) or by making community contribution (userpoints).
- They can be granted by admins (coupons or gift certs) or granted by other users (gift certs).
- Gift certs are granted to single users, Coupons are granted to either single users or groups (via rolls). A coupon granted to a single user has the same function as a gift cert.

2. Discounts can be used up by making a single purchase regardless of the value, or they can be used up by deducting the purchase price from the value of the discount.

4. Discounts that apply to single users need unique id’s in order to allow the anonymous use of the store.

Please feel free to add to these thoughts...

torgosPizza's picture
Offline
Bug FinderEarly adopter... addicted to alphas.Getting busy with the Ubercode.
Joined: 08/14/2007
Juice: 4110
Re: Battle Plan for UC Discount System

What happened to #3 in the last section? Smiling

I do like the idea of one module being used as an overall Discount system, as long as you provide enough flexibility to accommodate different situations. Gift Certs and Coupons are pretty similar, in my opinion - in terms of functionality.

And with regard to allowing discounts to be used up, here's a situation I'm not sure you covered: a coupon that can be used by everyone (regardless of Role) but then they can no longer use it. Sort of a, "one discount per household" type of thing - which would mean tying it to a user's email, shipping address, etc. Case use for this would be sending out a promotional email with a "Get 10% off using this code" blurb on it, or something similar. You wouldn't want to restrict who gets to use it, but you'd want to make sure the discount didn't get abused.

Kudos for the list creation Smiling

--
Help directly fund development: Donate via PayPal!

zmove's picture
Offline
Bug FinderEarly adopter... addicted to alphas.Getting busy with the Ubercode.Internationalizationizer
Joined: 08/13/2007
Juice: 1192
Hi, For your first point

Hi,

For your first point about merging functionnalities of several discount system into one, I'm not sure to see what is the real advantage of that. With different modules, you can exactly choose what you want and installing a module is not a very difficult thing with drupal.

However, for more clarity, all discount system developper could concert them to apply a same norm in their module (for example the category in the module section, or the admin menu to find all discount systems in the same place).

But I think working on debuging and adding features is more important at the moment than trying to merge discount system, for example, see the uc_discount is near to the abandon and it's a priority to maintain it and make it work before thinking of a merge. In fact, I find that a kind of discount API is already provided by drupal, with the different available hook like hook_checkout_pane or hook_line_item.

TimK's picture
Offline
Joined: 08/18/2007
Juice: 147
Re: Hi, For your first point

Thanks for all of your input. Here is a bit of a recap. It seems that there is some good interest in keeping the discount and coupon modules separate and also in further developing 2 of the 3 existing modules (uc_coupon and uc_discount).

zmove plans to continue to maintain uc_coupon. He also plans to continue to develop uc_discount. You can read more about his intentions here: http://www.ubercart.org/comment/10135/Hi

We still have yet to hear from TCS, the developer of uc_gift_certificate.

We may be able to think of the difference between the two modules (coupon + discount) the way that detour put it:

So I do see a difference between uc_discounts, which operates on a store-wide level, and gift certificates or coupons, which seem more related to individual users.

Just to press the issue regarding the separation of the 2 modules a tiny bit more, coupons that operate on a store-wide level are no different than discounts. Is this correct? If so, there is quite a lot of overlap between the 2 modules.

Regarding 'gift cert' functionality and the coupon module, is it currently possible to purchase a coupon, like it would be with a gift cert? This may be the one thing the gift cert module can do that the coupon module can not.

One thing that none of the gift cert functions can do yet is to allow for the use of a personal and unique coupon/gift cert without an account. This may not be a bad thing in an account is automatically created when a gift cert is purchased.

TimK's picture
Offline
Joined: 08/18/2007
Juice: 147
Re: Re: Hi, For your first point

Here is an idea. Regarding the ability to purchase coupons/gift certs, if the uc_roles module allowed users to purchase roles for other users, we would have the equivalent of a gift cert.

E.g. you would set up a product called '$50 gift cert', then you would add the 'feature' called 'role assignment', and then 'roll assignment' would have an additional option to enable a form for users to add the email address of the person to whom they want to assign the purchased role. If the recipient does not have an account, an account and temporary password would be created for them.

frost's picture
Offline
Joined: 07/23/2008
Juice: 134
are you moving forward with this?

Hi TimK,
I was in discussion with pcambra and Ryan recently about developing a new discount module, and only just stumbled across your post here. Are you going to go ahead with developing this?

TimK's picture
Offline
Joined: 08/18/2007
Juice: 147
not me. Thnx.

not me. Smiling

Thnx.

torgosPizza's picture
Offline
Bug FinderEarly adopter... addicted to alphas.Getting busy with the Ubercode.
Joined: 08/14/2007
Juice: 4110
Re: not me. Thnx.

I'll just chime in since I hadn't seen this yet. TCS (Darren) might still be the maintainer, but I will notify him to check this thread. I think, personally, that gift certificates should continue being its own module and not get integrated. It does serve a separate and distinct purpose - gift certificates are purchased by a single customers, and used once; coupons are given away by stores, and can have many variations used by many people (one per person or household, on average).

Those are my thoughts. At the moment I cannot maintain the gift certs module, but I would like to contribute. There are some issues it has when integrated with other modules including uc_discount that should get resolved before it can be worked on any further.

--
Help directly fund development: Donate via PayPal!

detour's picture
Offline
Bug FinderGetting busy with the Ubercode.
Joined: 10/02/2007
Juice: 150
Ideas on discount systems

TimK, Thanks for starting this discussion.

I'm using uc_discounts for more than role-based discounts. Broadly, I see it as a flexible framework for a variety of price modifications -- and for both increasing and decreasing the price.

(An example of using uc_discounts to increase prices: a store might have an alternative URL/site for purchases that sponsor a given organization and increase the price of items accessed through the sponsorship site to generate proceeds to contribute to the organization.)

So I do see a difference between uc_discounts, which operates on a store-wide level, and gift certificates or coupons, which seem more related to individual users.