Hi Jon,
No didnt find anything.
A custom solution is probably the only the answer, however there are very expensive solutions out there such as the one Boots has on its site.
I approached the developer of this for a price on the code, they refused (of course) but was worth an ask.