Many grocery stores participate in a sort of rewards give-back program called Power Up Rewards. The company appears to mainly have a presence on the web to serve customers: https://www.poweruppoints.com.
At the participating store, maybe depending on what is purchased, Power Up coupons are obtained at the time of purchase. The user is then expected to log into the site, and input the pin codes on the coupons. This redeems the points that the pin codes are good for. The points can then be redeemed for a variety of other products. In my experience, one pin code seems to be good for 1,000 Power Up points. And a pin code is redeemed after a certain amount of participating products bas been purchased. In my experience, this is $30 worth of participating products.
One of these participating stores is Kroger. Here is a description of their participation in Power Up found here.
Get your game on, at Kroger family of stores! Start earning points today when you spend $30 on participating POWER UP products and receive rewards! Rewards Pin Codes will be delivered via printout at checkout during your next in-store visit. You’ll need an account to get started, so be sure to sign in or create one today.
Recently at Kroger, I received power up coupons, but sadly, I was unable to redeem the codes because the store neglected to refill the ink cartridge on the coupon printer. So I am left with a number of characters missing. The store itself is unable to reproduce the coupons and Power Up customer service does not seem to be available or interested in helping in this situation.
While this is not my favorite solution, it certainly may get the job done. Here I provide a script that accepts the coupon code, or as much of it as is available legibly, and produces a number of possible codes. The app then attempts to redeem the Power Up points using the partial code.
- Understanding the coupon code format
It seems to be consistent. I have 4 sample codes at my disposal. More would be nice though.
- Narrowing the search space This would also be nice, but is not necessary. I will assume all alpha-numeric characters to start with.
- Proving validity of the code
This cannot be done without also reedeming the points. Thus, it will be necessary for the app to:
- Have a means by which to submit codes to Power Up
- A means by which to interpret the response as success or failure
- A means of authorization to a valid Power Up account that points would be applied to in the event of a successful code entry.
Provided these problems are solvable, a solution to this problem seems plausible.
Here are some example (used) pin codes:
d1nr-qtc-5zni3
d0dr-k6j-90dtx
cw7z-hel-j5bsz
74ti-0b5-d2bnp
7de0-hsm-dfsl3
iojw-jm3-641hq
iojt-lhw-dg01l
dkai-49x-du354
dkak-54h-cmeph
bjgt-6gp-908a9
qwxi-b37-mpjpp
4nab-6mt-ormvw
zj2d-pco-3nw6e
zicx-wql-z34gl
zj2e-lds-x77qm
tl4t-h6x-zkdsg
(did not enter this one in time. Expired 2022-10-07)0nr1-not-qrzuk
(Printed in uppercase! First time I've seen that. Was printed on October 1, 2022)drkj-90i-uh5zc
uppercase again, but when entering the code into the website, even trying to input an uppercase petter results in it being changed to lowercase. Letter case does not appear to matter at all, and seems to be only a cosmetic change to the tickets that are being printed when issuing the pin codes. Which is strange to me, because the0
ando
are now more difficult to distinguish from one another. 🤷♂️zc8t-1r3-f3ra1
uppercasep4vq-wct-b1srw
uppercaseozov-zxy-j1ay8
uppercaseaamb-eix-hbns6
uppercaseaamb-mea-atzlj
uppercaseaamc-r6j-jd8o4
uppercase1lib-42j-nk832
uppercasekjho-88y-aaq3c
uppercase
Break in season. All points have been reset.
CXOP-NOE-J6YAA
V05R-3Z8-T8TFM
- Originally was
V05R-3Z8-*8TFM
, but through trial and error, I found the missing character to beT
- Originally was
YEQ0-YZ1-H0FDR
YEQ1-THV-VO5CY
It appears that the pin codes abide by the following regular expression:
[0-9a-z]{4}-[0-9a-z]{3}-[0-9a-z]{5}
After October 2022, this is the regular expression being used by the generator, however the input on the web application seems to be case insensitive.
[0-9A-Z]{4}-[0-9A-Z]{3}-[0-9A-Z]{5}