We are looking into the possibility of discounting our Beluga Name raffle tickets. The concept is that we would distribute a number of codes to local restaurants (0001-0500, 0501 - 1000, etc.). The restaurant would sell certain drinks, and each drink would come with one code. Each code would discount one beluga ticket, and only one- after each code is used, it can't be used again. How could this be done?
My first thought was to pair up source codes and pricing rules, limiting each pricing rule to 1 ticket redeemed. This would require an enormous amount of building, as each source code and pricing rule would need to be created, and paired, manually.
My second thought would be to use allocations/modes of sale, but the problem of bulk building remains- we can't be building 1,000 to 2,000 modes of sale for a promotion.
My third thought was performances of 1, but that doesn't solve the bulk build problem either.
How do we limit each code to one use only, in a manner that scales?