Coupons for Dummies


Coupons for Dummies


The coupon system exists of three items:

1.      Maintenance page in admin site

2.      Newsletters maintenance in admin site

3.      Service provider payment page


Coupon Maintenance

The maintenance page for coupons is not likely to be used very often. One could use it to create a series of coupons with a set of properties automatically and then export the created coupons to excel for use in external email applications, or “flyering”, but that is a bit involving (not the creating part, but using them). One thing that might be used a bit more frequently is to change the expiration date of coupons or making them invalid for use.

A coupon has a pretty extended set of properties, most of which are optional:

·        Code. Required. It can be entered manually or the admin can have the system create one or more coupons with an automatically generated code. Code must be unique, because it is used by the provider when applying a coupon on the payments page.

·        Description. Required. It doesn’t show anywhere but on the list of coupons though.

·        Type. Required. Can be any of these four:

o   Percentage. A percentage of the total will be discounted.

o   Absolute. An absolute amount will be discounted from the total.

o   Number of months. X free months.

o   Number of appointments. X free appointments.

·        Value. This field only shows when the type is either Percentage or Absolute. For percentage it specifies the percentage to be discounted and for absolute it specified the amount to be discounted. It is a required field when shown.

·        Quantity. This field only shows when the type is either Number of months or Number of appointments. It specifies the number of months/appointments that will be free. It is a required field when shown.

·        Max. months. This field only shows when the type is Percentage. It can be used to prevent the discounted amount from getting too high (e.g. 10% off of a maximum of 3 months paid ahead). It defaults to 12, meaning no maximum specified (because one can only pay 12 months ahead anyway).

·        Usage. Optional: You can specify the number of times a coupon can be used here. If the coupon uses reaches that number, it will show a message like “Coupon has no uses left”. Note that you cannot specify both Usage as well as Usage per provider; only one of the two is allowed (you can leave them both empty though).

·        Usage per provider. Optional: You can specify the number of times a service provider can use this coupon (which will usually be once). Can be used when “flyering” or mass mailing; the coupon can be used unlimited times, but it can only be once by each provider. Note that you cannot specify both Usage as well as Usage per provider; only one of the two is allowed (you can leave them both empty though).

·        Expiration date. Optional: coupon won’t work after this date anymore.

·        Valid. Defaults to true. When false, the coupon cannot be used by anyone anymore, regardless of expiration date, usage etc.

·        Provider. Optional. You can limit the use of the coupon to one specific provider this way.

·        Notes. Optional: only show on the details page of the coupon.

When letting the system generate a set of coupons automatically, there are three fields that can be specified:

·        Prefix. Optional: prefixes the automatically generated code with what one specifies here.

·        Suffix. Optional: suffixes the automatically generated code with what one specifies here.

·        Number of codes to generate. Required; maximum 1000.

The rest of the fields must be specified the same as when creating a single new coupon; all coupons created will have the exact same properties, except for the coupon code.

Newsletter Maintenance

To do


Service provider payments

Whenever it is time for a service provider to pay his monthly fee, or pay for the appointments that were confirmed over the past payment period, a coupon code can be applied. A coupon will never make the amount to be paid a negative amount; the maximum value of a coupon is never higher than the amount that is required to pay. For instance, if the amount to be paid is $45.00 and a coupon with an absolute value of $100.00 is applied, the amount to be paid will be $0.00 and the remaining $55.00 of the coupon will be lost. Same for coupons that offer free months of service or free confirmed appointments; if less appointments/months are being paid for than the coupon discounts, the amount to be paid will be $0.00 and the remaining quantity of the coupon is lost.

Note that a coupon of type Number of months cannot be used by a provider with a subscription type of confirmed appointments and a coupon of Number of appointments cannot be used by a provider with a monthly subscription type.

signup form for providers has a coupon field now. Note that the coupon that you can enter there depends on the type of subscription being signed up for in combination with the type of coupon; you cannot enter a “free appointments” coupon there when signing up for a monthly description or a “free months” coupon when singing up for paying per appointment. Starting a free trial without a subscription type accepts both, but those types of coupons can cause a problem later, when the trial is being converted into a subscription, since there can be a type mismatch there too.

·         You can also pass the coupon in the url, meaning that you could enter a link in the newsletter that people can click and then they’d end up on the signup form with the coupon already prefilled; that’s probably the easiest and most attractive way for new providers. If the coupon is of type “free months” or “free appointments”, you should make certain that the signup link is to the correct subscription type though.

·         The service provider payment page accepts coupons now. Since a coupon could lead to an amount to be paid of zero, that payment screen as changed a little now; whenever the amount is “0”, the paypal and cc options disappear and only a “Complete Transaction” button appears. The payment will be send out as a zero payment (the invoice) and it will be recorded in the payments table as a “Coupon” payment type.

·         News letters can now be sent to certain categories of providers; selecting none will send it to all providers (same as before); selecting one or more categories will filter the list of providers to be sent an email to.

·         Coupon is stored in the service provider’s record when signing up. When it is time to pay (and the coupon is (still) valid), it will be applied automatically on the payment page; discount will be visible immediately. If the coupon is for a certain amount of months then the suggested period to pay will be that amount of months. After paying with a coupon that has the same ID as recorded in the service provider’s record, that coupon will be wiped from his record, so next time it won’t be applied automatically again.

·         This same mechanism can later be used for the social media shares; whenever someone shares something nice about DayClips on his preferred social media platform, a coupon can be generated and stored in the service provider’s record; next paydate it would be automatically applied. Of course, that’s the future; no social media share exists yet.



I suggest, if you’re sending out newsletters with signup links that contain coupon codes in them, to use a coupon that can be used once per service provider. That way your entire target audience can use it, but only once.

Example signup links with coupon codes in them:

Trial start (no selection of subscription type yet):


Subscription type per month:


Subscription type per confirmed appointment: