It would be nice if coupon.module had promo-codes, so that if someone saw an advert in a paper they could enter it to get 5% off or something. Unlike the normal coupon, it wouldn't get removed after it was used.

Comments

democritus-1’s picture

Version: 4.6.x-1.x-dev » 4.7.x-1.x-dev
Component: other » coupon
Assigned: Unassigned » democritus-1
Priority: Normal » Critical

I am tasked to work on this as part of my duties here, and I will be happy to share fixes with the community.

A. If anyone is already working on this, how do I find out?

B. I don't want to step on any toes.

C. If no one else has a grip on it, I'm willing to jump in with both feet, because I *need* this for core functionality of a major site.

Thank you!

Democritus

//we don't need no steenkin slashes.

sym’s picture

As far as I know there is no one working on this.

I don't think it would be all that hard to do actually - maybe in another module though.

gordon’s picture

This is not the purpose of the coupon module. What you want to do which is same as what is done by companies like Dell, IBM, and many others is to publish a path like http://example.com/promo-code

Then when the customer goes to this path it will set a session var which will give the desired discount, on the desired product.

Then using hook_product_specials() when ever a user goes to this product it will give them the required discount.

sym’s picture

For my origional request, I wanted to have the promo-code work in the same way as the coupon module does, rather than going to an URL to set the discount.

However, that would be a nice thing to have as well.

AlanT’s picture

Just to add my $.02 worth, what was described above - a coupon code that can be entered at checkout by a large number of people, seems to be the standard operational procedure in most shopping carts.

A single use coupon that is good for only 1 customer should be called something other than 'coupon' - gift certificate maybe, but even then, a gift certificate that has a value greater than the order total should be carried over to the next purchase.

I guess what I'm trying to say is that the coupon module should allow more multiple uses of the same coupon code, although this should be defined by the site owner. # of uses in total, and # of uses per customer should be definable fields, as well as percentage off or fixed amount off. In addition, dates between which the coupon is valid should also be definable to the site owner, as well as specific products (or product categories) for which the coupon may be used.

Gift certificates, on the other hand, are usually purchased by one customer for the benefit of another customer. These are valued at whatever amount the original customer paid for (in some stores these are set amounts, in other stores the amount may be chosen by the customer), and may be used for multiple purchases if the value is greater than the total of the current order.

IF the coupon module was not originally written with "real-world" commerce standards in mind, then it needs to be fixed, whatever the original intentions for the module may have been.

"Promo-codes" are a standard means of offering new customers a discount. We need them. And they need to be known as "coupons". Look in any newspaper and you'll find an example of what a coupon is. The exact same thing is printed in EVERY copy of that newspaper and MANY customers can use the same coupon to get the same discount.

And if you need an example of what the world expects from a shopping cart, look at Amazon. Promo codes for discount, but free shipping (over a certain purchase amount) does not require the customer to type in a coupon code.

Please develop the Ecommerce modules towards standard business practices. Thank you.

erlendstromsvik’s picture

I agree with AlanT.

When I first saw the coupon module, I was sure it was a module to generate coupon numbers, to use in magazines, newsletters etc. To be used as long as you set a time period for or until you "deactivate" whatever promotion you are running.
Having numbers which can only be used once, doesnt make much sense to me. Because you couldn't give the number to more than one person anyway, else it would be a race to be the first on the page. Which, from the point of view of running a store, just seems stupid (would just aggravate customers).
Gift certificates on the other hand, are normalle just used once, and mostly tied up to a specific customer / or will be tied up to a customer at the point when it's used.

mzabala’s picture

A client of mine is about to publish a coupon in a paper so I actually need this feature relatively soon. Is this close to being finished? Is there a bounty or reverse bounty which I can help toward?

gordon’s picture

Priority: Critical » Normal

ATM no one is working making this change.

There are 2 options to get a change like this to happen. You can pay someone to make the change or you can do it yourself.

erlendstromsvik’s picture

I did a small hack on the coupon module, which will let you generate codes to be used multiply times while that promo-code is active. The promotion can either be a %-rebate or a fixed sum.
You can see how much total rebate has been given.

What I haven't included, is a way to activate/deactivate (edit) each promotion. We just set the "active flag" directly in the database. Had to make it in a hurry ;)
There should also be a way to open each promotion, to see which transactions has been registered using that code.
You should be able to write in your own codes (easier to remember for customers).

I just have to learn a bit more about how to make "stuff" in Drupal :p

ryaker’s picture

So quaoar can you share your hack here with the rest of us. Marketing at my company is requesting this feature.

chueewowee’s picture

i would use this for my homemade products on my homemade site.

John

japerry’s picture

I'm starting work on this. From my view this is what needs to happen:

Coupons != Gift Certificates !!!! I think this is probably the fundamental flaw here. Gift Certs are used once, as if they were cash. Coupons are used multiple times by different people, and I suppose one person too if you want this functionality. So...
A) Separate Gift Certs and Coupons into their own modules
-or-
B) Make a wizard that has a tag indicating how many times the 'coupon' can be used. You could then have another table relate coupons to users.
so if (get_users_coupons($user,$coupon) > coupon_uses_per_person($coupon))
deny transaction
else
reduce cost by coupon value
and the get_users_coupons function would look like this:
count_rows("select * from coupons_user where uid='$user' and cid='$coupon')
and the coupon_uses_per_person would look like:
maxnumber = db_result("select max_uses from coupon where cid='$coupon')

this wouldn't let you customize coupons to specific customers however. You could add a column that related a certain coupon to a user (gift certificate, basically what is already coded). Then before the max_count is calculated you could throw in an if that would check to see if the user has access to the particular coupon.
This still doesn't let multiple users access one coupon with different users having different access amounts. I don't know however if this is practical or even needed. Actually, I take that back -- it is needed. Lets say you have a VIP group that always gets discounts. You would need to restrict it to that group. You could use user permission groups to do that though.

So there are some ideas jotted down. I'll start on this over the weekend, I have a client who'd like this before thanksgiving.
~Jakob (japerry@jademicrosystems.com)

budda’s picture

I too agree with AlanT.

I think coupon.module needs renaming to giftcertificate.module ASAP, and then a new coupon.module created to manage re-usable coupon codes for mass public use.

I can possibly put up some cash towards this, sadly not hundreds of GBP this time though.

snoble’s picture

Has any progress been made on this front or does anyone have any code they would like to release?

bluecobalt’s picture

Version: 4.7.x-1.x-dev » 5.x-3.0

Has there been any work done on this. I just found out that the ecommerce coupons are actually gift certificates.

I too need a discount promo code that can be given to multiple people.

peace,
blue

designerbrent’s picture

Status: Active » Closed (duplicate)

This seems to be a duplicate of http://drupal.org/node/93143 and I am marking it as such since that issue is being worked on.