Technical

Generate QR Codes for Your Business


QR codes let walk-in customers scan and book instantly from their phone. Each QR code is tracked in the database with scan counts, labels, and active/inactive status.


How QR codes work in Addagio


Each QR code is a record in the adagio_qr_codes table with these fields:


FieldWhat it stores
labelA name you give it (e.g., "Counter", "Business Card", "Menu")
targetUrlYour booking page URL: https://addagio.io/book/your-slug
shortCodeA unique short code for tracking
scanCountHow many times this code has been scanned
isActiveWhether the code is currently active
createdAtWhen the code was created

Creating a QR code


  • Go to Dashboard → QR Codes
  • Your booking URL is shown at the top
  • Click "Create QR Code" to generate a new tracked code
  • Enter a label (e.g., "Counter", "Business Card") to help you track where each code is placed
  • Download as PNG or SVG

  • The dashboard shows two stat cards: Active codes (how many are currently enabled) and Total scans (sum across all codes).


    Where to place QR codes


  • At the counter — customers scan while paying to book their next visit
  • On mirrors (salons/barbershops) — "Like your cut? Scan to rebook"
  • Business cards — more useful than just a phone number
  • Menus and table tents (restaurants) — "Reserve your next table"
  • Property welcome packs (rentals) — "Book again for next year"
  • Print materials — flyers, posters, receipts, stickers

  • Tracking


    Each QR code tracks:

  • Total scan count
  • Whether it is active or inactive
  • When it was created

  • You can deactivate codes that are no longer in use without deleting them. Deactivated codes still exist in the system but no longer redirect.


    Tips


  • Print at least 150 DPI for clear scanning
  • Add text next to the code: "Scan to book" or "Book your next visit"
  • Test the code with your phone before printing
  • Create separate codes for different locations so you can see which placement gets the most scans
  • qrcodescanprintcountercard