A WhatsApp QR code opens a chat with your number, optionally with a message already typed. The number has to be in digits only — no plus, no spaces — which is the rule that quietly breaks most hand-made versions of this code.
The payload is https://wa.me/ followed by the number in digits, with the message as a text parameter. Being an ordinary https link means it works from any scanner and opens WhatsApp on a phone that has it, or WhatsApp Web on a computer.
Digits only, and this is not cosmetic. The plus and any spacing are stripped here automatically. Pasted by hand into a URL they produce a link that looks right and resolves to an error page, which is the most common failure of this type in the wild.
Nothing is sent until they tap send. The chat opens with the message in the box. That is what makes a prefilled message safe to print in a public place.
A code per table with the table number prefilled, so the first message already says where to bring the order.
A poster or a card that starts a chat with the product reference in it, instead of "hi" and three clarifying questions.
A code beside the machine, prefilled with the asset id, which is the thing nobody ever types correctly.
Both sides need WhatsApp. No app, no chat. Unlike SMS, which needs nothing but a phone.
The number must be a registered WhatsApp account. Otherwise the link resolves to an error, and the person scanning has no way to know the number is the problem.
Your number is published. A printed code is decodable in bulk. Use a business account rather than a personal number.
The prefilled message costs density. Measured with this site’s encoder, a 40-character address is 29 modules across and a 98-character one is 41 at the same error correction — a long opening line puts you in the second group.
No signal, no chat. The link has to load before the app takes over.