Skip to content

1of three

You Said It Was Confirmed. One of the Three People Had Not Replied.

The appointment was booked. It was booked by one of the three people whose agreement it needed, and that one was you. What a scheduling system can actually do when the calendars it needs belong to other people, why the standards already have a word for an appointment nobody has agreed to, and why moving the time throws every yes away.

Levan Tsiklauri20 min readUpdated

The showing was for eleven on Saturday and it was not your listing. Three people had to be willing for it to happen at all: you, the agent who holds the listing, and whoever has to be out of the house that morning. Two of the three do not work for you and had not been asked yet.

You sent the request on Thursday afternoon. On Thursday evening you told the buyer that Saturday at eleven was confirmed, and you were not being careless when you said it. You had proposed a time, nobody had objected to it, and there it was in bold on your own calendar looking exactly like every appointment that has ever happened.

At twenty past nine on Saturday morning the listing agent replied. The property is tenant occupied and the tenant is entitled to notice.

So you rang a buyer who was already in the car, and you were the person who had told them it was settled. Nothing in that story is a booking failure. The appointment was booked. It was booked by one of the three people whose agreement it needed, and that one was you.

In short

  • A scheduling assistant that ran for five months at Microsoft Research handled 39% of its requests inside its structured workflow and needed a trained person for the other 61%. The three commonest reasons for calling that person in were all the same reason: an attendee replied in a way the system did not expect, an attendee could not take any of the offered times, or an attendee never replied at all.
  • The calendar standards already have a word for an appointment nobody has agreed to. It is the value every invitation starts life in, and the only thing that moves it is a reply arriving. Not time passing, and not the absence of an objection.
  • And moving the time is not free. The standard that governs how calendar servers do scheduling requires that when the start time changes, every attendee's answer is thrown away and set back to unanswered. A reschedule does not carry the agreement with it. It asks for it again.

What a scheduling problem is, once the calendar is not yours

There is a version of this business where scheduling really is a calendar problem. You hold the listing, you meet people at your own office, and the only two diaries that have to agree are yours and theirs. For that version, software solved this years ago, and this article has nothing to tell you that a booking link would not.

Then there is the other version, and it is the one this article is about. A buyer wants to see a house that belongs to somebody else's client. An inspector needs two hours inside a property that is occupied. A closing needs an attorney, a lender and a title company in the same hour. In every one of those, the appointment does not exist until people you have never met agree to it, and not one of them has given you access to their calendar.

That difference is not a matter of degree. It changes what the software is actually doing. When the only calendar involved is yours, a scheduling system reads a fact and writes a fact: you are free at two, so two is now taken. When other people are involved, the same system can read one fact and then has to send a message and wait, which is a completely different kind of operation with a completely different failure mode. Reading a calendar cannot fail halfway. Asking somebody a question can fail in a great many ways, and from your side they are indistinguishable, because every one of them looks like nothing happening.

So the unit of this article is not the appointment. It is the agreement you do not have yet, and the whole argument is that a business which does not track those separately from the ones it does have will eventually tell a client something that is not true.

Three things this is not

The hard part is not the booking.

Not whether they turn up

Getting somebody from an inquiry into a time they have written down, and getting them to be there on the day, is a real problem with real evidence behind it, and it is written up on its own. That question has two people in it and only one calendar that has to be true. This one starts at the point where a time is agreed and asks a different question: agreed by whom.

Not the chain of steps

Wiring your systems so that finishing one thing starts the next is a different product again. Every step in that chain is yours. Here the important steps happen in an office that is not yours, on a calendar you cannot read, run by somebody who owes you nothing and has a full week of their own.

Not the phone being answered

Answering fast matters and it is the smallest part of this. A reply inside ten seconds that proposes eleven on Saturday has not scheduled anything. It has made an offer on behalf of three people, two of whom have not been asked yet, and the speed of it is what makes the offer sound like a fact.

The part nobody automates is the part that is other people

There is one study of a real scheduling assistant, running for real people, that published what actually went wrong. It is the most useful document in this whole subject and it is not from a vendor.

Between April and August 2016, a team at Microsoft Research ran a system called Calendar.help as an open deployment. Subscribers copied an email assistant into their scheduling threads and the assistant took over: it proposed times from the subscriber's calendar, negotiated with the invitees, and put the meeting in. Their paper reports 178 participants, 1,981 invitees, 1,626 meetings and 15,659 emails, and it publishes the reasons the machine had to give up and hand a request to a trained human being, which is the part of this subject nothing else we could find puts a number on.

The three commonest reasons are, in order, that an attendee replied in a way the system did not expect, that none of the offered times worked for everybody, and that an attendee never replied at all. Those are 32, 27 and 26 percent of the escalations. They are not three findings. They are one finding written three ways, and the finding is that the difficulty lives on the other side of the conversation.

The evidence

Why a scheduling agent had to hand the meeting to a person

Why a scheduling agent had to hand the meeting to a personAn attendee replied in a way it did not expect: 32%. No offered time worked for everybody: 27%. An attendee never replied at all: 26%. It could not read the organiser's own calendar: 7%. Four of the eight reasons recorded when a request escalated from the automated workflow to a trained human, across a five month deployment in which 178 people scheduled 1,626 meetings by email. The first three are things an attendee did. The fourth is the only row on the published table that is about the organiser's own systems. A request can carry more than one reason at once, so the eight rows sum to more than a hundred.An attendee replied in a way it did not expect32%No offered time worked for everybody27%An attendee never replied at all26%It could not read the organiser's own calendar7%

Four of the eight reasons recorded when a request escalated from the automated workflow to a trained human, across a five month deployment in which 178 people scheduled 1,626 meetings by email. The first three are things an attendee did. The fourth is the only row on the published table that is about the organiser's own systems. A request can carry more than one reason at once, so the eight rows sum to more than a hundred. Source: Cranshaw, Elwany, Newman, Kocielnik, Yu, Soni, Teevan and Monroy-Hernandez, Calendar.help: Designing a Workflow-Based Scheduling Agent with Humans in the Loop, CHI 2017, Table 3.

These are meetings between information workers, not showings, and the assistant worked by email rather than by text. What carries is the shape, and the shape is uncomfortable for anybody selling this category. The failures cluster almost entirely on the side of the table the vendor does not control, and the failure the demonstrations are about, reading the organiser's calendar, is the smallest bar on the chart. Four other rows are not drawn: one is an uninstrumented bucket at 14%, and three at 8%, 7% and 2% are the system escalating internally rather than anything a party to the meeting did. One thing the table cannot tell you is how many of those requests were recoverable. An escalation means a trained person picked it up, not that the meeting failed, and the paper is about how much skilled attention a scheduling agent consumes rather than about how many appointments it loses.

The reason to sit with that chart rather than nod at it is the population underneath it. In the same study, 84 percent of the requests were meetings between two people, and only 15 percent had three or more attendees, with eleven as the largest. That is the easy version of this problem, and the table above is what the easy version looks like. A Saturday showing on somebody else's occupied listing is a three or four party appointment before anybody has thought about it.

The evidence

How 1,626 real scheduling requests actually finished

How 1,626 real scheduling requests actually finishedFinished without the expert ever being called in: 39%. Needed a trained person at some point: 61%. Shares of the 1,626 meetings scheduled during the five month deployment. The first bar is the share handled entirely inside the system's structured workflow, which the authors are careful to say includes small pieces of work done by non-expert people as well as fully automated steps. The second is the share that reached a trained scheduling worker at some point in its life.Finished without the expert ever being called in39%Needed a trained person at some point61%

Shares of the 1,626 meetings scheduled during the five month deployment. The first bar is the share handled entirely inside the system's structured workflow, which the authors are careful to say includes small pieces of work done by non-expert people as well as fully automated steps. The second is the share that reached a trained scheduling worker at some point in its life. Source: Cranshaw et al., Calendar.help, CHI 2017, System Efficiency: 39% of requests completed entirely within the microtasking workflows, the remaining 61% requiring some intervention.

Two things stop this being a verdict on automation in general. The first is that it is a snapshot of one system at one point in its life rather than a ceiling: the same paper reports that the earliest version of the service ran entirely on skilled humans, so this 39% is a position on a curve the authors were deliberately pushing, and they say plainly that getting there took continual observation of how people actually replied. The second is that nobody has run anything like this on property appointments, so the split above is evidence about the shape of the problem and not a forecast for your Saturdays.

Read that chart carefully, because there is an honest reading and a flattering one and the difference matters. The 39 percent is not the share that no human touched. The authors describe their system in tiers, where the first tier is software and the second is a person doing one small, tightly defined task, and the 39 percent covers both. What it measures is the share of requests that never needed the expensive, skilled scheduler. That is a genuinely good result and it is a long way from nobody being involved.

Who has to say yes before a showing is real

How hard an appointment is to arrange tracks the number of separate permissions it needs, and that number is the thing least likely to be written down anywhere at the moment somebody agrees to it. It is worth counting them deliberately, because they are not all people and they do not all fail the same way. Three of the four below can say no to you. The fourth cannot say anything at all, and being silent is precisely how it stays off the list.

Before eleven on Saturday is real

Four permissions, and you hold one of them.

The person you are meeting

The only one everybody thinks about, and the only one whose calendar the conversation can actually negotiate with, because they are in the conversation. If this were the whole problem then a booking link would have solved it years ago, and for a listing appointment at your own office it very nearly is.

Whoever controls the property

On your own listing that is you, which is why your own listings feel easy and other people's do not. On somebody else's it is an agent with a full week, and behind that agent a seller who has to leave the house, or a tenant who has rights about being given notice. None of those three is in your conversation and none of them owes you a reply this afternoon.

The way in

A code, a key, a box, an alarm, a doorman, a gate. This one is not a person, which is why it is the one left off the list, and it silently carries a time window of its own: a code that works between ten and four is a constraint on the appointment exactly as much as a seller who works from home is.

The professionals, on a closing

A closing is the same problem with the volume turned up. An attorney, a lender, a title company and both sides of the deal have to be in one room or on one call, and every one of them is running the same week you are. This is the appointment where the cost of a wrong assumption is not an empty morning.

A long rank of tall painted signal levers in a railway signal box, receding away from the camera, most of them red with white, yellow, blue and black-and-white chequered levers standing among them, each with a curved catch handle at the top and a small numbered oval plate on its shaft, a row of brass instruments and dials mounted on the frame above them, a black lever bed and a plank floor below, and windows along the right showing track outside
A mechanical interlocking is the oldest working answer to this problem. Every lever in the frame is physically prevented from moving until the levers it conflicts with are set correctly, so a signalman cannot offer two trains the same piece of track even by accident. The bars are cut so that a wrong combination is impossible rather than discouraged, which is a higher standard than any calendar has ever been held to. Photograph by Steve Knight, CC BY 2.0.

The standard already has a word for an appointment nobody agreed to

Everything your calendar does when it sends an invitation is defined in a published internet standard, and the standard is unusually blunt about the thing this article is about.

The protocol is called iTIP, and it is RFC 5546. It divides everybody into an organiser, who owns the event, and attendees, who do not. An attendee cannot change the master copy of the appointment. What an attendee can do is reply, and the reply carries a single value that says where they stand, which the specification calls PARTSTAT, short for participation status.

The sentence worth knowing is this one, from section 2.1.1: when an organiser issues the initial object, attendee status is typically unknown, and the organiser specifies this by setting the participation status to NEEDS-ACTION. Each attendee then changes their own status to something else as part of a reply sent back to the organiser.

In other words, the protocol written so that different calendaring systems can schedule with each other starts every single invitation in a state that means nobody has answered, and the only thing that moves it out of that state is a message coming back. Not time passing. Not the absence of an objection. Not the appointment being written in bold. A reply, from that person, arriving.

The four answers

Every invitation is one of these, and one of them is silence.

Nobody has answered

The state every invitation is born in, and the standard names it out loud: when the organiser sends the thing out, the answer is set to needs action, because nothing has come back. This is not a failure state and it is not an error. It is the honest description of a proposal, and it is where a great many appointments are sitting at the moment somebody is told they are confirmed.

They said yes

Somebody on the other end took a deliberate action and a reply came back to the organiser saying so. The important part is not the word yes, it is that it arrived as a message rather than as an absence. A reply is a thing that happened. Silence is a thing that did not happen, and the two are only the same if you decide they are.

They said no

The cheapest outcome on this list, and the one everybody dreads. A no on Thursday costs a message. The same no at twenty past nine on Saturday costs a morning, a drive, and the part of a client's confidence that comes from believing you when you tell them something is settled.

They said maybe

The standard carries a state for tentative, kept distinct from yes and from no, and a system that can hold a maybe there without rounding it up is telling you something true about your Saturday. A build with nowhere to put an answer that is not a decision will file it as one of the other two, and it will not be the cautious one.

There is one more method in the same specification that is worth knowing by name, because it describes what the listing agent in the opening story was actually doing. The standard calls it COUNTER, and its own table describes it as used by an attendee to negotiate a change, giving the request to change a proposed event time as the example. A counter is not a rejection and it is not an acceptance. It is a third thing, and a system that has no place to put it will file it as one of the other two.

Moving the time throws away every yes you had

This is the least obvious thing in either specification, and it is the strongest practical argument on this page.

There is a second specification, RFC 6638, which defines how a calendar server does scheduling automatically on your behalf. Section 3.2.8 sets out what a server has to do when the appointment moves, and it is not a suggestion.

Servers MUST reset the PARTSTAT property parameter value of all ATTENDEE properties, except the one that corresponds to the Organizer, to NEEDS-ACTION for each calendar component change that causes any instance to be rescheduled.

Read that in plain language. If the start time, the end time or the duration of an appointment changes, every attendee's answer is deleted and set back to unanswered, on every affected occurrence, and it applies to everybody except the organiser. The standard treats a rescheduled appointment as a new question, because that is what it is. Nobody agreed to Saturday at two. They agreed to Saturday at eleven, and Saturday at eleven no longer exists.

That has a consequence for how you run a week, and it holds whether or not any software is involved. Every time you move an appointment involving other people, you are spending all of their agreements at once and you have to buy them back. A build that moves an appointment and does not re-ask is not saving anybody a message. It is carrying forward a set of confirmations that the standard, and common sense, both say are void.

Your own system knows whether the message arrived

Here is a small thing that turns out to be worth a great deal, and it is not on anybody's feature list.

The same CalDAV specification defines a delivery status that gets attached to each attendee on the appointment, saying what happened to the message the server sent them. There are eight published codes, and the reason there are eight rather than two is that the standard takes seriously how many different ways a message can fail to reach a calendar. They collapse into three states a person can act on.

What your own system knows

Eight answers to did it arrive, and only one of them is yes.

It has not gone yet

One of the eight published codes means the server is still trying. That is a perfectly ordinary state to be in for a few seconds and a very bad one to be in for a day, and the only way anybody finds out which it was is by looking. Nothing about a pending message looks different, from your side, from a message that landed.

It went, and nobody knows if it arrived

Two codes cover sent. One says delivered. The other says sent, and then says in as many words that the server has no explicit information about whether it was delivered, which is the ordinary case whenever the invitation travelled by email. That distinction is written into an internet standard because it is real, and it is the difference between a confirmation and a hope.

It failed, in one of five ways

The other five codes are all failures, and they are separated because the right response differs: the address was not a calendar user at all, you did not have permission, the delivery could not be completed this time, no route existed, or scheduling with that recipient is not allowed. Two of the five are worth retrying and three are not, and a system that treats them the same will quietly keep sending into a wall.

None of those eight, including the good one, tells you that the person is coming. Delivered is a fact about a server. Accepted is a fact about a person. They are two different columns and a great deal of the trouble in this subject comes from reading the first one and feeling reassured about the second.

What a scheduling layer can honestly do across calendars it does not own

Strip away everything a demonstration shows you and there are four things worth paying for here, and only one of them involves reading your calendar.

It can propose without promising. That sounds like a small distinction and it is the whole article: the message that goes to your buyer when a request is raised either says a time or it says a request has gone in, and those two messages produce completely different Saturdays.

It can hold your own side properly. Your calendar is the one thing in this whole exchange that your software genuinely controls, so the moment a proposal is live it should be blocked, and the moment it dies it should be released. Getting the first half right and the second half wrong is how a diary fills up with appointments that never happened.

It can chase, and then stop. An unanswered request needs a second message and then it needs a decision from a person, and the decision is a real product feature rather than an admission of defeat.

And it can re-ask when the time moves, for the reason the specification gives above.

There is one more thing worth knowing about, because a major vendor already returns it and you will not see it in a demonstration. Microsoft's Graph API has a call named findMeetingTimes which suggests times based on organiser and attendee availability, and every suggestion it returns comes with a number attached. The documentation for that field describes it as a percentage that represents the likelhood of all the attendees attending, spelled exactly like that on the page. There is a matching input, minimumAttendeePercentage, described as the minimum required confidence for a time slot to be returned at all.

So one of the two calendar platforms this product connects to will hand a scheduling system a confidence figure for every time it proposes. Whatever is built on top of that is free to throw the number away and print the time on its own, which is what has happened any time you are shown a list of times with nothing attached to them. The findMeetingTimes page carries a caveat worth quoting too, which is that the suggestion algorithm undergoes fine-tuning from time to time and that identical inputs may produce different results over time. That is a vendor telling you, in its own reference documentation, that this is a judgement rather than a lookup.

The mechanic

Thursday, half past four.

A staged illustration, not a real exchange. No address, name or number appears in it because none of them would be real. The sequence is the one the service page describes.

The exchange

  1. Buyer would like to view your listing. Saturday 11am or Saturday 2pm both work our side. Either possible?

    The assistant / 4:31 pm

  2. not 11, tenant needs 24h notice. 2 is probably ok, checking with them

    The listing side / 6:02 pm

  3. Understood. Holding 2pm Saturday as unconfirmed on our side and not offering it elsewhere. Tell us either way by Friday 6pm and we will confirm to the buyer then.

    The assistant / 6:02 pm

  4. tenant is fine with 2. code is on the sheet

    The listing side / Fri 11:14 am

  5. Confirmed. Saturday 2pm. Sending an invitation to this number so it lands on your calendar too.

    The assistant / 11:14 am

What happened on your side

  1. Two times proposed, nothing promised

    The buyer is told a request has gone in and is not told a time. Nobody has agreed to anything yet, and the message the buyer receives says exactly that.

    4:31 pm
  2. The counter is recorded as a counter

    Not as a rejection and not as a booking. One of the two proposals is dead, the other is alive and unanswered, and the difference is written down rather than remembered.

    6:02 pm
  3. Your own side is held

    The 2pm is blocked on your calendar the moment it becomes the live proposal, so nothing else can be offered into it while you wait. This is the only calendar in the whole exchange your software can actually control.

    6:02 pm
  4. The buyer is told, once

    Nineteen hours after the request went in, and it is the first time the buyer has been given a time. That delay is the honest cost of not having promised anything on Thursday.

    Fri 11:14 am

The system

From somebody asking to everybody agreeing.

Six hops, and the products in this category are sold on the first and the last. The middle four are the ones that decide whether a Saturday happens, and every one of them is a question about people who do not work for you. Note where the hold sits, and note that it is the only step in the chain your software can carry out with any authority.

The path from a request to view a property through the access constraints, a proposal of two times, the replies from the other side, a hold on your own calendar, and one confirmation: The ask, The constraints, The proposal, The replies, The hold, The confirmationThe askSomebody wants inThe constraintsAccess hours, noticeThe proposalTwo times, no promiseThe repliesYes, no, or nothingThe holdYour side onlyThe confirmationOnce, and to everyone

Scroll to follow the chain

  1. The ask: Somebody wants in
  2. The constraints: Access hours, notice
  3. The proposal: Two times, no promise
  4. The replies: Yes, no, or nothing
  5. The hold: Your side only
  6. The confirmation: Once, and to everyone

Why offering a slot you cannot hold is worse than offering nothing

The instinct when a scheduling system feels slow is to make it more decisive, and the instinct is wrong, because the two failures are not symmetrical.

An appointment you did not offer costs a message. The buyer waits until Friday morning and then hears a time, and the only thing they have lost is a day of not knowing. That is a real cost and it is small, and it is entirely recoverable by saying, on Thursday, that you are waiting on the listing side.

An appointment you offered and then withdrew costs something you cannot get back with a message. The buyer arranged their Saturday around it. They may have told somebody else they were busy. And the specific thing they learn is not that the listing agent was slow, because they were not there for that part. What they learn is that when you say a thing is confirmed, it may or may not be.

So the truthful build is sometimes slower than the untruthful one, and a demonstration flatters the untruthful one. Answering in four seconds with a time looks better on a screen recording than answering in four seconds with a request. The first is measurably quicker and the second is accurate, and no amount of footage will ever make that difference visible to somebody watching a demo.

In your numbers

How many agreements are you carrying that nobody actually gave you?

Everything you have to set up with somebody outside your own office: showings on other people's listings, inspections, appraisals, walkthroughs, closings.

20

People who have to agree, other than you

Count the ones who can stop it happening. The person you are meeting is one. The listing side is another. An occupant with a notice period is a third, and on a closing it is more than that.

Be honest rather than aspirational. A voice message you did not keep, a nod at an open house and a thread that just went quiet all count as no reply.

40%

The message, the second message, the call, and the two minutes afterwards working out what you are now going to tell the client.

4

Agreements a year that were never actually given

192unconfirmed

Appointments a monthyour 20
20a month
Over a year12 months
240appointments
Agreements they need from other people2 other parties
480yeses
Where no yes ever came backyour 40%
192unconfirmed
At your chasing timeyour 4
768minutes
In hours60 minutes in an hour
13hours a year

The headline is the fourth row rather than the hours, and the hours row underneath it is doing deliberate work. At the settings this opens with, the chasing comes to a number of hours that any owner would shrug at, and that is the trap: the cost of this is not the time, it is that a share of those unconfirmed agreements are being described to a client as confirmed. Shares produce fractions, and two thirds of an agreement is not a thing, so read anything with a decimal in it as a rough count. Four things this deliberately refuses. There is no no-show rate anywhere in it, because whether somebody turns up is a different article on this site with real evidence behind it and this one has nothing to add to it. There is no figure for how often a listing side declines a request, and that gap was looked for rather than assumed: the largest showing scheduling platform in the country sits on exactly this data and publishes a monthly index off it, and its own page describes that index as a leading indicator of demand trends. It counts showings that happened. What share of requests were refused, and how long the rest took to be answered, is not in it, and we could not find it published anywhere else. There is no money row, because the value of a Saturday morning depends on what was in it. And there is no second column showing what this becomes with a scheduling layer switched on, because we have not measured that on your appointments and the study on this page was run on office meetings between two people.

How to test one before you buy it

Four questions, and none of them needs anything technical.

Ask them to show you what the person on the other end receives before anybody has agreed. Not after. If the message that goes out when a request is raised contains a time and no qualification, that is the product, and no setting later in the flow will undo it.

Ask what happens to your own calendar while a proposal is outstanding, and then ask what happens to it when the proposal dies. Both halves. A system that blocks and never releases will look immaculate for a fortnight and then start telling people you are busy on days you are free.

Ask what it does with a counter. Somebody has replied that eleven is impossible but two might work, in a text message, in lower case, with no punctuation. That reply is neither a yes nor a no, and the chart on this page says some version of it was the single biggest reason a real scheduling agent had to call in a person. Watch where it lands.

Ask how you find out that an invitation was never delivered. There is a real answer to this and it is in the standard, so a vendor who has built on a calendar server will recognise the question.

The honest read

Tell us how a showing on somebody else's listing gets set up in your office today, from the message arriving to the buyer being told a time. We will send back where the unconfirmed gap is in your version of it, and which single message is the one that turns a proposal into a promise.

Send us your version

It is a short reply from a person, it costs nothing, we do not need access to your calendar to answer it, and the answer is useful whether you buy anything or not.

A row of six blue framed electronic departure screens mounted under a station roof, four of them headed Departures in white on blue with a yellow departure time and destination beneath, Wick, Edinburgh, Aberdeen and Kyle of Lochalsh, each of those four listing its calling points in small yellow type and carrying the operator name First ScotRail along the bottom, a fifth headed Subsequent Departures showing Dingwall and Aberdeen and carrying no operator name, a sixth cut off at the right edge headed Informat, and the words On time set beside every time on the board
Every time on this board was decided by somebody who is not standing in front of it, and the board's whole job is to say which ones are still true. On time is a claim being made now about a plan made months ago, and it is republished the moment it stops being true. That is the standard a scheduling system should be held to, and almost none of them are: they tell you a time once and then go quiet. Photograph by David Jones, CC BY 2.0.

What it costs, and how long it takes

The software is the smaller line here and it is not the thing that moves the number. What moves it is how many different kinds of counterparty you have to reach and how each of them prefers to be reached. One brokerage sets up showings with the same handful of offices, by text, and every one of them replies the same day. Another deals with a rotating cast of listing agents, a property manager who only reads email, a management company with a portal and two sellers who like to be telephoned. Those are different projects, and the difference is in the reaching rather than in the calendar.

The recurring cost that scales is messaging, and this topic generates more of it than you would guess. A single appointment can produce a request out, a chase, a counter coming back, a confirmation to the other office and a note to your own client, and every one of those is metered separately. Ask about that line per message rather than per month, because it is the one that grows as the business does.

Setup is short and the decisions are not. The four that take the time are which appointment types you actually run, what access constraint each of them carries, how long you are willing to keep your own calendar blocked waiting for an answer that has not come, and what should happen when that time runs out. None of the four is a configuration screen. They are policies, you are already applying them informally today, and writing them down has value whether or not any software ever arrives.

The line that never appears on a quote is the habit change underneath all of it. Anything can only report who has confirmed if somebody put the confirmation into it, so the first month is mostly people learning to forward the text message instead of remembering it. That part is unglamorous and free, and a brokerage that does it will get a useful answer out of whatever it buys afterwards.

What it does not do, and should not pretend to

It does not make anybody reply. That is the whole of the chart earlier on this page in one sentence. The three largest reasons a real scheduling agent had to hand a meeting to a person were all somebody else not answering, or answering awkwardly, and no amount of software on your side changes what happens on theirs.

It does not read a calendar it has not been given. The only availability it can see is yours. Everybody else's is a message, and every product that talks about live availability across parties is talking about your side of it.

It does not decide which appointments are worth having. A system that sets up appointments faster will set up more of them, and if nothing sits between the request and the calendar, that is a fuller week rather than a better one.

It does not know that the tenant has a notice period unless somebody has told it. Access constraints are not published anywhere a machine can read them, and a build that offers times without them will keep proposing eleven on Saturday until a person types the rule in.

And it inherits whatever your own diary already gets wrong. Availability that exists only in somebody's head is invisible to it, so a calendar that gets overridden regularly will produce proposals that have to be withdrawn, and they will now be withdrawn in front of another office rather than quietly between the two of you.

Three ways a working build produces nothing

None of them are the calendar.

A proposal is presented as a booking

The single most expensive thing in this whole category is not a setting. It is the wording of one automatic message. If the note that goes out when a request is raised says confirmed, then every unanswered request in your system is a promise, and you will only find out which ones were real on the morning.

The hold is never released

Blocking your own calendar while you wait for somebody else is correct, and a hold that nothing ever clears is a calendar that fills up with appointments that did not happen. Within a month the machine is reading a diary that is busier than your life, and offering nothing, politely.

The chase has no end

A request that has been sitting unanswered for two days needs a decision from a person, not a fourth reminder to somebody who has already ignored three. If nothing in the build ever says this one is not going to happen, the queue grows and the client who is waiting hears nothing at all, which is the one outcome worse than a no.

Common questions, answered honestly

What is AI scheduling, in plain terms?

It is software that takes a request for an appointment, works out what has to be true for it to happen, proposes times to the people whose agreement it needs, keeps track of who has actually replied, blocks your own calendar while it waits, and tells everybody once when it is settled. The intelligent part is narrow: understanding a request that arrives as three lines of lower case text, and keeping one negotiation straight across several threads at once. Everything underneath that is unremarkable record keeping, which is what you want it to be, because record keeping behaves the same on a bad Saturday as on a quiet Tuesday.

How is this different from AI appointment booking?

Booking is about getting one person from interested to a time they have written down, and about whether they turn up. That has real evidence behind it and it is written up separately on this site. Scheduling, as used here, starts at the point where a time has been proposed and asks who has agreed to it. The two overlap in the easy case, where the only two people involved are you and them. They come apart the moment an appointment needs a permission from somebody who is not in the conversation, which covers every showing on a listing somebody else holds.

Can it stop a double booking?

It can stop one kind and not the other. It can stop your own calendar being offered twice, because your calendar is the one it can read and write, and holding a slot the instant a proposal goes live is what makes that reliable. It cannot stop the listing side promising the same two o'clock to somebody else, because it has no visibility of their diary and no authority over it. Any product that says double booking cannot happen is describing the first kind and letting you hear the second.

What happens when somebody replies "maybe"?

That is the interesting question and it is worth asking a vendor before you buy. There is a standard answer available: the calendar specifications carry a tentative state alongside yes and no, and a system can hold a proposal there without rounding it up. What you are checking is whether the product has anywhere to put an answer that is not a decision, because that answer is going to arrive constantly.

Does moving an appointment need everybody to confirm again?

Yes, and this is not our opinion. The specification that governs how calendar servers do scheduling requires that any change to the start time, end time or duration resets every attendee's participation status to needs action. The agreement was to a specific time. Change the time and there is no agreement, only the appearance of one, and a build that carries the old confirmations forward is carrying forward something the standard says has been cleared.

How does it know when I am free?

It reads your calendar, which is the ordinary part. Two things are worth checking beyond that. The first is what level of access it is asking for, and this site answers that question in detail on the appointment booking article rather than repeating it here. The second is whether it has permission to write as well as read, because reading alone cannot reserve anything, and a proposal that has not been reserved is still available to whoever asks next.

What if the other agent never answers at all?

Then at some point a person has to decide, and the useful question is when and who. A reasonable build sends the request, sends one chase, and then puts it in front of somebody with the whole history attached and a client who is still waiting. What you do not want is a system that chases indefinitely, because the queue grows quietly and the person actually waiting is your buyer, who is hearing nothing.

Is any of this different for a closing?

It is the same problem with more parties and a much higher cost of being wrong, and it is not scheduled by whoever asks first. Nothing in this article suggests automating it. What does transfer is the discipline: know which of the people involved have actually confirmed, in writing, and treat a moved date as a new question rather than an amendment.

What to do about it

Do this tonight and it takes about fifteen minutes.

Open the next two weeks of your calendar and pick out every appointment that needs somebody outside your own office. For each one, write down how many people had to agree, and then write down how many of those agreements you could actually produce if somebody asked you to. Not remember. Produce, as a message with a time on it.

The distance between those two columns is your exposure, written in your own hand, and it doubles as the list of calls worth making tomorrow morning. A brokerage with no distance between them is already doing the expensive part manually and has nothing to buy from anybody. A brokerage with a distance has just located the Saturday that is going to go wrong, with a week still left in which to stop it.

Open your calendar and find the next appointment that needs somebody outside your office. Then answer one question about it out loud: which of the people it depends on has actually replied, in writing, and where is that reply. If the answer is that you are fairly sure, you have found the thing this whole article is about, and you have found it while there is still time to send a message.

There is no price here because two things move it and neither is the calendar connection: how many parties a typical appointment of yours needs, and whether the people on the other side can be reached the same way every time or whether half of them are a phone call. The AI audit is an hour, done with you, and for this topic it starts by walking one real showing backwards from the confirmation to the first message.

Know somebody who would argue with this? Send it to them.

  • August 25, 2026

    You Booked the Showing for Nine Days Out. Nobody Came.

  • August 25, 2026

    The Empty Fields Got Filled. So Did the Ones That Were Already Right.

  • August 25, 2026

    It Read the Date Correctly. The Date Was Not the Deadline.