Jewellery showrooms that book appointments on WhatsApp usually lose track at the door: the customer walks in, nobody connects them to the booking, and the salesperson who prepared is busy elsewhere. A tiny QR check-in fixes that, and it is a typical small piece of AI automation for jewellery retail India showrooms ask about first.
Flow
- Booking confirmed on WhatsApp; the message includes a QR code with a short signed token.
- At the showroom, the receptionist scans it on a tablet.
- The assigned salesperson gets a WhatsApp alert with the customer's noted preferences.
Signed tokens
import hmac, hashlib, base64, json, time
SECRET = b"rotate-me" # keep in env, never in code
def make_token(booking_id):
payload = json.dumps({"b": booking_id, "t": int(time.time())}).encode()
sig = hmac.new(SECRET, payload, hashlib.sha256).digest()[:12]
return base64.urlsafe_b64encode(payload + sig).decode()
def read_token(tok, max_age_days=30):
raw = base64.urlsafe_b64decode(tok.encode())
payload, sig = raw[:-12], raw[-12:]
if not hmac.compare_digest(sig, hmac.new(SECRET, payload, hashlib.sha256).digest()[:12]):
return None
data = json.loads(payload)
if time.time() - data["t"] > max_age_days * 86400:
return None
return data["b"]
Generate the image with any QR library (for example qrcode) from the token.
Keep personal data out of the QR
The token carries a booking id only. Preferences are looked up on scan, inside your system.
Handle no-shows politely
If nobody scans within the slot, send the salesperson a prompt to follow up personally. Do not auto-send "you missed your appointment".
Walk-ins without a QR
The receptionist searches by phone number. The QR is a convenience, not a gate.
Before you build anything like this, map the current visit flow first, so the QR step solves a real gap.
Disclosure: I co-founded NxFlowAI, a Mumbai-based AI automation agency.
Top comments (0)