Allow User to add a Gift Card to their shopping cart, and checkout.
A purchased Gift Card should be emailed with the redeemable code, separate from the order invoice.
Gift Card should maintain the current balance and historical transactions.
This balance is not tied to a User account, but a user should be able to view purchased gift cards. This will allow someone to give a gift card to another person.
Local laws regarding Gift Card balance will need to be investigated.
After Gift Card has been loaded with value:
Allow User to apply multiple Gift Cards to their shopping cart, prior to checkout.
Allow User to apply multiple Gift Cards on the checkout page.
If the balance of all Gift Cards is greater or equal to the order total, no credit card payment is required.
After payment, reduce the Gift Card balance (via debit transactions) by the order amount.
Multiple Gift Cards should be applied in ascending order. Gift Cards with the smallest remaining balances are applied first.
Admin Panel
An Admin User should be able to see the total balance of all active Gift Cards.
An Admin User should be able to view individual Gift Card transactions and history.
User Account
Allow User to view list of purchased gift cards.
Allow User to view individual Gift Card transactions and history.
Anonymous User view Gift Card balance
Allow anonymous user to view Gift Card remaining balance by entering the code.
Do not expose transaction history or initial balance.
Gift Card purchase
After Gift Card has been loaded with value:
Admin Panel
User Account
Anonymous User view Gift Card balance