How to implement an Expiry Date on Gift Cards or Account Transactions

Continuing the discussion from Expiry Dates and Gift Cards or Loyalty Points:

Hello @emre and All

I have brought this up a few times (since 'Aug 2015) and there has been no resolution as yet.

Value has been created onto an Entity (Account) which will has an EXPIRY DATE. Once this Date has passed the Value becomes ZERO.

Initially “Gift Cards” were considered and still may be an option?

The more complicated issue we are faced with “What if Value is created on an Entity Account by way of Account Transaction” which has an Expiry Date?". These Account Transactions may be only worth $2-$5 dollars and occur each week so each Transaction may have its own Expiry Date.

If the Gift Cards concept was used it would create a Single Customer with in some cases 200 Gift Cards? Would that be useable especially when you may have 1,000 regular customers receiving “dated value”.

Welcome your thoughts here as Expiry Dates have come up a few times and in my opinion never been resolved…

I think you will find that using GQL for this type of work will be much easier to implement than the actual use of samba unless there is a way to do this using triggers and applying that trigger on a newly created gift cards.
Like a countdown timer.
But this is just me thinking on top of my head. I might take a look at what actions and rules are available that could help do this.

Yes id like to know this too, I’ve requested before :slight_smile:

1 Like

Hey Matt
I can think of a way using Entities and Custom Data but it will involve having to issue new Entities and Accounts for every single Credit Value that is issued - if EACH CREDIT has a expiry date from issue. You could only use an old Entity (Gift Card) if the original value has been used or expired.

I really want to hear from @emre to see if he can confirm there are no alternatives or what alternatives he would use?

I guess we wait…

I think this is a mixture of Samba Card and Gift Certificate implementations. If it works like loyalty card you’ll need accounting but if it expires that much more sound like a gift certificate and if it is the case you can track expiration date by using custom fields however I didn’t understand the reason of having accounting for that. Will you partly credit gift certificate?

@emre great to hear from you!

Let say John Smith is our “Customer” Entity. John has his Customer Account.

  1. John is granted by the Club (using Samba POS) a Credit for $5.00 which will EXPIRE in 30 Days if he does not use it at the Club.
  2. John wins a major prize at the Club and 7 days later is granted a $100 Credit which will EXPIRE in 90 days (because it is larger value).
  3. John may continue to perform really well at the Club and further earns Credits on Tuesday, Thursday and Saturday for $5, $2 and $2 respectively all EXPIRE exactly 30 days from the day they were issued.

The Club wishes to hold the Credits against Customer John so he can spend them freely at the Club by purchasing Drinks or Food or maybe clothes.

A: John comes into the Club on Sunday and wants to know how much Credit he has in Total?
B: The Club Manager wishes to print a Report to calculate how much Credit is owed to ALL the Members of the Club.
C: The Clubs wishs to automatically WIPE any Credits that are unused at the end of every day.

Emre I have used “linking Entities” concept to allow a Customer to look like they have 3 Sub Accounts - Wallets. My theory was to post these $5 & $2 etc transactions to a Prize Wallet then then monitor these credits to wipe them as they Expire.

Does that help?


Look forward to hearing from you.

is there a way of adding in a rule that if {ENTITYDATA:Date Created} is greater than 12 months

change entity data (ENTITY DATA:VIP} to 0 or something

This is completely rough off top of my head probs wrong but im looking at the flow

Look at the database… does it track date created? Probably not.

no but cant we make that as a part of an entity data?

From what I remember Matt of your “Cards” I think Custom Data using an Expiry Date would work. The real tricky bit is the Date Logic you will need to build in JSCRIPT.

Once the Date has passed you could constrain the Rules to go either way - Card Expired OR Card Honoured. Cards can be renewed using Update Entity Data Action.

Unfortunately mine is more complex as I trying to avoid issued Entities (Girft Cards whatever) for Every Single Credit. Also how does a Customer or POS operator work out how much Value in Cards the Customer if there has been 20-30 issued Credits…

Hey @QMcKay sorry to “call” but before this thread gets too long did you have any ideas how I could Expire an Account Transaction Value OR on the whole implement this concept? Pretty sure you might put the SQL out there.

Just your thoughts would be perfect…

How are you planning to expire it? Debit/Transfer to an expried credit account?

From previous integrations I have done I coded a journal exactly as that @JTRTech (and good to see you). Emre but does not seem to run the “Dreaded System Totals” so I could just Zero the Remaining Value.

Thinking further partly used Credits can occur so to represent a proper statement we would need to have an opposing journal. Your always going to get that Customer who says “Hey I did not use all my Credit surely, can I see a history”…

So are you wanting to ‘tag’ transaction with a reference to link them?

Yer been busy with the new property so not been very active on samba front but got some new ideas lined up now we have two properties, also expecting to finally implement tablets at both properties this year just holding off to see how the apps/PMPOS progress as they are a bit above my skills.

No I am sure the way Emre does the REPORT TOTAL commands they are always an accumulation on the Entity Account so no matching is required although putting something in the description would be wise.

Ok then so senario for you.
If you had month expiary…

I top up £20 January
Spend £10 January
Topup £10 Feburary
Spend £5 Febuary
March comes, would you say that £5 expires right?
How do you calculate that?

1 Like

So you need separate entity & account for each gift certificate you issue. You need to zero each account balance individually with automated account transactions and determine the total balance of prize account from the total account balance of all certificates assigned to the entity. Besides that - when used for payment - it should deduct each non expired individual account balance by following an algorithm like FIFO. This does not seem possible with current features we have.

1 Like

I can do this.

If this possible now?

So I guess this is the real problem:

So @emre had thought about using this but think it may be too hard to Run a REPORT TOTAL of a FIFO concept using the original Account Document Transaction ?