if I have a voucher, what are the two "states" of the voucher. Like is it "free" or "unused" when I haven't used it yet and "used" or "redeemed" when I used it?

Example sentence:

"Susi doesn't have her tickets yet, but she has an unused (?) voucher."

"Susi got her tickets with the voucher, the voucher is now redeemed (?)."

It's actually hard to put it in an example sentence, as I need a voucher object in software development. Maybe it's more clear this way:

Voucher.State = Used;  
Voucher.State = Free;

Thanks for your help.


3 Answers 3


To describe a voucher that has been used, "redeemed" is the perfect word for the job. "Used" would also work but that is a little less precise and a more everyday word.

To describe a voucher that has not been used, I don't believe there is one single word that fits perfectly. "Unused" works, but like "used" above it is not the most elegant or precise term. "Valid" could also work - and this would certainly describe that it was possible to use the voucher - but again it is not perfectly precise. The third possibility I'd suggest is "unredeemed"; this is slightly clumsy but it does perfectly reflect the status of the voucher.

Definitely avoid the use of "free". This indicates more that the voucher is available for no cost.

  • We must have been writing at the same time. +1, you beat me to it.
    – Chris H
    Mar 24, 2016 at 8:19
  • Thanks, then I will keep "Valid" and "Redeemed" right now, unless someone comes with a better word for the "valid" state.
    – Core_F
    Mar 24, 2016 at 8:21

How about valid paired with used or redeemed? This would allow ready expansion to things like invalid (for an erroneous code) and expired (if you use time-limited vouchers).

Your free is problematic in that it could mean free-of-charge (AKA gratis) or available, and it's more likely to suggest the former in the context of vouchers.

Your unused works as well.


As you're describing something with only two "states" i.e., in programming jargon a Boolean, the general naming convention is to use a affirmative phase (see example here). In this case Voucher.Redeemed works well.

NB. Sometimes prefixes are used Boolean fields e.g., Voucher.IsRedeemed but I don't think that's necessary here as Voucher.Redeemed = TRUE reads better.

  • I simplified things as I didn't expect everyone to be a developer here. In this case I didn't use a field with a boolean value, but an enum as there are other values, too.
    – Core_F
    May 17, 2016 at 6:22

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.