A booking happens in a short window of attention. A customer clicks your link, sees a time slot that works for them, and in that moment they’ve decided. Every extra step you put in their way is a chance for them to reconsider — or simply for something else to grab their attention first. That’s the most common explanation for a situation almost everyone recognizes: plenty of people look at the booking page, but few bookings come out the other end.
So in micali.online we took the booking process apart from the beginning and removed the step that cost us the most. And because some people will always drop off, we added a second thing that had been missing entirely: a list of bookings that someone started and never finished — with the option to finish them on the visitor's behalf.
Where it went wrong: a verification code in the middle of the booking
Until now, a visitor booking with you for the first time entered their email — and the booking stopped right there. They had to switch to their inbox, find a six-digit code, and type it back into the form, and only then did the system show them the rest of the booking.
It's the most expensive possible place to put a delay. You interrupt someone who has already made up their mind, over verifying an address you didn't actually need for anything yet. Anyone who reads something else in their inbox in the meantime, whose code lands in spam, or who is booking one-handed on their phone on the bus, might just never come back.
And worse: when they didn't come back, nothing was left behind. No name, no contact details, no record of which time slot they were interested in. You had no way of even knowing it had happened.
How booking works now
We didn't remove verification — we moved it to the end, where it costs nothing. A visitor who isn't signed in now goes through this:
- picks a time slot,
- fills in their email, first name, last name and phone number on a single Your details screen — no code,
- chooses the number of seats and fills in the form, if the event has one,
- sees the "One more step — check your email" screen.
The email contains a single link. Opening it does everything at once: it verifies the address, creates the booking, and keeps the visitor signed in for 14 days — so the next time they book with you, there's nothing left to confirm. Anyone who signs in before booking follows the same flow as before, and at the end we simply tell them there's nothing else to do.
It works the same way in all three cases: booking an event, ordering a service, or buying a prepaid plan.
And if the email doesn't arrive fast enough for someone, they don't have to wait for it: the same screen has a link to sign in to the app, where a Waiting for your confirmation card is waiting for them, with a Confirm button.
Why we still verify the address
Verification serves two purposes, and both are practical. An unverified address means a booking you can't actually reach — reminders, changes and cancellations go nowhere. And without verification, anyone can book under someone else's name, which is unpleasant both for you and for the person whose name got borrowed.
The link in the email does exactly that job, just at a point where it no longer costs the customer anything. It's valid for 24 hours, or until the booked time slot starts — whichever comes first.
An unfinished booking doesn't hold a place
Until it's confirmed, a booking doesn't hold any place at all. Capacity is only counted at confirmation. That's deliberate: if unfinished bookings held onto places, a handful of made-up email addresses would be enough to make your event "full" without a single real customer.
There's one logical price to pay for that. If two people fill in the form for the last available place, whoever confirms first gets it. We don't hide that from the other person — the confirmation page tells them the last place was taken in the meantime, and that we've added them to the waiting list.
New: you can now see the ones nobody finished
The moment someone submits a booking, you'll know about it — the bell gets a new notification: "Booking awaiting the visitor’s confirmation". And in the left-hand menu, under Visitors, there's a new page called Awaiting confirmation, where these bookings live.
Every row shows you who booked (name, email, phone), what they booked, when they submitted it, and whether their link is still valid. Above the list are four numbers:
- Waiting for confirmation — the link is still valid; they can still open it.
- Never confirmed — the link expired unused. This is exactly the number you had no way of seeing before.
- Confirmed — these became real bookings.
- Confirmation rate — calculated only from links that have already run their course, so bookings still in progress from the last few hours don't artificially drag it down.
On top of that, there are filters by status and type, and search by name, email, phone, and the name of whatever was booked. An address that already belongs to one of your visitors is marked Already your visitor — a regular customer who just wasn't signed in is a different case from a complete stranger.

And best of all: you can do something about it
A list on its own would just be sad reading. That's why there are two things you can do from it.
Call them. You have both an email and a phone number, so you can ask the simplest possible question: "Did our confirmation email reach you? Is that time slot still available?" For a booking someone genuinely wants, that one phone call is often the whole difference — and it's a decent excuse to reach out to a new customer, too.
Or confirm it for them. Every unconfirmed row has a Confirm for them button. The booking is created exactly as if the customer had opened their own link: every rule for the event still applies — capacity, the signup deadline, membership restrictions — and the usual booking email goes out. If it can't be booked, you'll find out why (the signup deadline has passed, or it's full and the person has gone to the waiting list), and the row stays untouched — so once you raise the capacity or push back the deadline, you just press the button again.
A few details we had to work out along the way:
- An expired link doesn't lose the button. The confirmation deadline belongs to the customer, not to you — and rows with an expired link are exactly the ones that most often need a hand.
- A prepaid plan doesn't get used up. We won't decide for the customer which plan they spend. You can attach a plan to the booking afterwards.
- You can see who did it. Every booking confirmed this way records the name of the team member who confirmed it.
- Admins only. The page and the button are only available to admins and root-admins — same as the Visitors section.

What's worth knowing
- The details on this page aren't verified yet. Anyone can type someone else's address into the form — and that's exactly what the email link stops from becoming a real booking. When you confirm on someone's behalf, it's worth knowing who you're confirming for: either a customer you recognize, or someone you've actually spoken to.
- It's a sliding window, not an archive. Unconfirmed rows disappear a week after their link expires, confirmed ones a month after they're used. We don't keep a name, phone number or form answers for a booking that never actually happened. So a low number on this list doesn't mean nothing is going on — it means you're looking at the last few days.
Where to find it
In your account, in the left-hand menu, under Visitors → Awaiting confirmation. There's nothing to switch on or configure, and like everything else in micali.online, it comes at no extra charge. The page fills itself in the moment someone books with you without signing in.
And if the Never confirmed number surprises you, don't let it worry you. Those people were always there — you just had nowhere to see them.