We have a business need to implement gift cards, and after a little searching about and realizing the relative large scope, I thought we'd just post here to see the community's thoughts on this problem.
The Gift Card module we intend is to provide consumers downloadable/emailable as well as the option of a physical product instead for a conventional gift card giving experience.
Here's what we think it needs:
- gift card product type (downloadable/emailable or physical), preset gift card amounts set in product
- gift card table (GCID (int), GC_CODE (varchar(20)), PID (commerce product, gives us price), GC_ISSUEDATE)
- gift card recipient table (RID, GCID, UID (recipient), GC_REDEMPTIONDATE)
- gift card redemption table (RID, redemption_date, AMT_USED)
Also would need:
- generate gift card codes (like uc_coupon)
- bulk upload gift card codes (like uc_coupon)
- commerce_giftcard_payment (custom commerce payment method, using the gift card tables and writing to redemption table on success of whole transaction)
- support for prioritization in multiple payment methods (uses GC money first, prompts for addl funds if necessary)
While alarming how many times one sees "like uc_coupon" above, the differences - primarily in maintaining and decrementing a balance and payment - make this a slightly different beast.
Looking for suggestions and discussion about whether this is the right approach - there's a whole lot implied by the above, but the goal could really help the Drupal Commerce ecosystem!