PSI use the concepts of vouchers to track referrals issued to clients for the purpose of tracking uptake of product and services
Voucher number characteristics
6 characters in length (letters and digits)
Letters are all capitals
The values are converted to [0~9, A~X] (34 digit), and after the convert, ‘I' & ‘O’ (capital o) are, then, converted to ‘Y’ & 'Z’.
First 5 characters are generated from time based - in order to provide uniqueness.
Last 1 character is a control character, calculated by Summing the first 5 characters, and then taking the remainder.
Typical voucher operations
every 24h cron job + node.js: fills the pool of draft ServiceResquest Ids to 10,000
an application ask for X of draft id, then they get marked as on-hold
A bot as for a voucher: draft → active
A voucher is redeem: active → completed