← Back to blog
Appointments

Online booking and the phone: two routes, one calendar

People who book online and people who call end up in the same calendar. Why that is not a detail, and what happens when two of them want the same Friday at ten.

By
Blina Desk
Published
min read
3
  • appointments
  • phone
  • smb
  • integrations

A business that gives out appointments rarely gives them out one way only. One customer books at eleven at night through the website, another calls because that is how they have always done it, a third sends a message. That is normal and it is not a problem. It becomes a problem the moment the second route brings a second calendar with it.

The second calendar is where the errors come from

Double-booked slots almost never happen because somebody was careless. They happen because two systems answer the same question separately: “is Friday at ten free?” As long as two lists exist, the answer is right twice and one time too many.

So the decision here went the other way: online booking and the phone assistant are two modules you can buy separately, but they write into the same appointment list. Not “they sync with each other”. It is the same table.

What is shared, and what is not

Online bookingPhone assistant
Public booking page with its own name and legal noticehas onedoes not have one
Appointment types, durations, opening hourssharedshared
Free slotssame calculationsame calculation
Booked appointmentsame listsame list

Whoever only wants the assistant, because their customers call, does not need the public page. Whoever only wants the page, because nobody answers the phone at night, does not need the assistant. Whoever has both still has one calendar.

The slot that gets given away twice

Free slots are not calculated twice. They are calculated by the same function, which originally sat inside the public booking page. It was moved out rather than written a second time next to it, precisely because two calculations of the same calendar drift apart eventually. The assistant would promise a slot that the database refuses a moment later, and the customer would already have heard “you are booked” on the phone.

The last line of defence is not in the interface anyway: the database itself will not hold two appointments that overlap. That is the difference between “we check first” and “it cannot happen”.

On the phone nobody has an email address

A booking page can ask for an email address, because it has to send a confirmation link. On the phone, “what is your email address?” is the moment a conversation falls apart: spelling it out, mishearing it, hanging up.

So an appointment may come into being without an email, as long as there is some way back. The condition is not “email”, it is “at least one way to reach you”: an address or a phone number. And the confirmation emails skip whoever has no address by themselves, instead of retrying the send every hour, forever.

What an unknown caller gets

An appointment is the one thing that someone the system does not know may also trigger. That is not an oversight, it is the intention: calls from unknown numbers are the calls new customers come from. Nothing is read out to them: no orders, no invoices, no past appointments. They get a slot in the calendar and the promise that somebody will get back to them.

Someone calling from their own number, the one held in the records, can have their appointments read out and cancel one of them. The cancelled slot is free again at that same moment, on both routes, because there is only one.

What is left afterwards

The appointment sits in the company’s calendar, not in a mailbox. It has a customer, a type, a duration and an origin: booked online or created on the phone. That origin is not statistics for the sake of it: after two months it answers the question of whether the route you paid for was worth it.

The pages: online booking and phone assistant.