What this code actually contains
The code holds a complete iCalendar entry, the same format email invitations use. Scanning it offers to add the appointment to whatever calendar the phone uses, with your title, time, place and notes already filled in.
It contains three things a plain event code usually leaves out:
- A reminder alert, so the phone warns the client before the appointment rather than relying on them to check.
- A reschedule link, stored in the entry's URL field, so the way to move the appointment travels with it.
- A full calendar wrapper rather than a bare event block, which more apps accept cleanly.
Nothing is sent anywhere. The code is built in your browser, and once it is printed it keeps working with no service behind it.
Why the reminder is the point
A no show costs you the slot, and most no shows are not people changing their mind. They are people who forgot. Putting the appointment in the calendar helps. Putting an alert in the calendar is what actually reaches them.
The default here is one day before, which gives someone time to call and move it rather than simply not turning up. For a short appointment where travel is trivial, one hour before is usually better. For anything people need to prepare for, such as fasting before bloods or bringing documents, use one day and put the instruction in the notes so the reminder carries it.
Worth knowing: reminder support is not universal. Apple Calendar and most Android calendar apps honour the alert in a scanned entry, but some third party calendar apps ignore it and keep only the event. The appointment itself always survives, so the worst case is the client gets the entry without the alert, never a broken code.
The reschedule link, and why it belongs here
Most practices print a booking link on the card and hope it gets kept. The card goes in a pocket and then a bin. The calendar entry does not.
Putting your reschedule URL in the entry means that three weeks later, when the client opens the appointment to check the time, the link to move it is right there. That turns a potential no show into a rebooking, which is the difference between losing the slot and filling it.
Use a link that goes straight to your booking page rather than your homepage. Our test of how link length affects code size applies here too: a short URL keeps the code sparser, and an appointment code is already carrying a lot of text.
The timezone question
This tool writes the time without a timezone attached, which is deliberate and is what you want for an in person appointment.
A time with no timezone is treated as local time by the calendar app. If you write 2pm, the client sees 2pm, whatever their phone is set to. That is correct for someone walking into your clinic at 2pm.
It is the wrong choice for a remote appointment across timezones, such as a video consultation with a client in another country. In that case the safer route is a booking page that handles timezones properly, and a plain URL code pointing at it.
Where to put the code
- The appointment card you hand over at reception. This is the main one. Print it at 2 to 3 cm, next to the written date so there is a fallback if the scan fails.
- The confirmation email or text. Attach the PNG, because the calendar entry is more reliable than asking someone to add it manually.
- The back of a business card for a follow up appointment booked on the spot.
- A printed treatment plan where several future dates are listed, one small code per date.
Always keep the date in readable text beside the code. A code is a convenience, not a replacement for the information. If the scan fails, or the client has no phone to hand, the card still has to work.
Common questions
How is this different from your event code?
Our event generator makes a plain calendar entry, which is right for an open day, a wedding or a class where everyone gets the same code. This one adds the reminder alert and the reschedule link, which only make sense when the entry belongs to one person and you have a business interest in them turning up.
Can I put the client's name in it?
You can, in the title or notes, but think first. A printed code is readable by anyone who picks up the card, and a calendar entry saying a person's name alongside a clinic name is health information sitting on a piece of paper. For anything sensitive, keep the title generic and let the client's own calendar hold the detail.
Will it work if the client scans it weeks later?
Yes. The code holds the appointment, not a link to it, so it works offline and does not expire. It will still add the appointment after the date has passed, which is worth knowing if you reuse a card design.
Why did my code get so dense?
Long notes. Every character goes into the image, and a paragraph of instructions can double the module count, which means it has to be printed larger. Keep notes to one short line, or leave them out and put the instructions in printed text beside the code where they cost nothing. You can check the result with our stress test before printing.
Does the client need an app?
No. The camera app on both iPhone and Android reads the code and offers to add the appointment using the calendar the phone already has.
Related tools
For a public event rather than a personal appointment, use the event code generator. If you want people to book rather than confirming a booked slot, the booking code generator covers online, phone, text and WhatsApp bookings. Add a location code if your entrance is hard to find, and a vCard code so your number is saved before they need it.