Key Pickup: from a misrouted call to a booked appointment

2026-08-12 · Camellia Apartments · incident from Aug 11, fixes shipped and verified live the same week

Fixes shipped & live Decisions 1 & 2 — Decided (Fede, 2026-08-13) and shipped · Decision 3 still open

A new resident called the day before his move-in to ask how to get his keys. Clara answered every question he asked, correctly — and then let him hang up with nothing on the calendar and nobody at the property expecting him. The ability to book that appointment already existed. The call simply never reached the part of Clara that has it. This page explains what happened, why, what we changed, and the three choices we'd like Fede to make.

1 · What happened

Aug 11 — Jacob Warren's call

Jacob Warren is an approved applicant moving in on Aug 12. He called to ask how to pick up his keys. Clara handled the conversation politely and accurately: she confirmed his move-in date, told him where the leasing office is, and told him who to ask for.

What she never did:

The frustrating part: the ability to schedule a key pickup had shipped on Aug 7, four days earlier. It worked. Jacob's call was handed to the wrong specialist — the one that doesn't have it.

In plain terms

Clara has several specialists behind one phone number, like departments in an office. The department that can book key-pickup appointments never got the call. The department that did get it gave good directions and then said goodbye. Jacob showed up the next day on faith.

2 · Why it happened — three layers, each enough on its own

Layer 1 — The phone system thought he was a shopper, not a resident

When a call comes in, Clara looks up the number and asks one question: is this an active tenant? Jacob's lease hadn't started yet, so his record was still marked pending. The answer came back "no", and he was handed to the call as a returning prospect — someone shopping for an apartment.

Layer 2 — The routing rules send prospects who say "move-in" to Leasing

Clara's triage step (the receptionist that decides which specialist takes the call) has a rule: a prospect talking about moving in goes to the Leasing specialist. Leasing is the one specialist with no booking tools at all — it can talk about the property, but it cannot put anything on a calendar.

Layer 3 — Even routed correctly, the booking check would have refused him

The rule that decides "is this person allowed to book a key pickup?" only accepted active tenants. So even if the call had reached the right specialist, a person who hasn't moved in yet — the only kind of person who ever needs a key pickup — would have been turned away.

Also found while digging: two different "move-in" dates

Jacob's lease paperwork is dated Sept 1 — the office writes leases to line up with the start of a month. The move-in date field on his record says Aug 12, which is the real day he gets keys. We confirmed the rule: the move-in date field in the property management system is the authoritative one. The "desired move-in" date a person types on their application is preliminary and can drift; the lease term start date is an accounting boundary, not a day anyone shows up with boxes.

In plain terms

Three separate things all had to be true for this call to fail, and all three were. The system asked the wrong question about who he was, sent him to the one department that can't book anything, and had a rule that would have refused him anyway. Fixing only one of them would not have saved the call.

3 · What shipped today

All three changes are merged and running in production.

Key-pickup appointments are now 15 minutes

They were being blocked out as 30-minute slots. Handing over keys and signing the last page doesn't take half an hour, and the longer block was eating the on-site manager's day. (PR #5713)

A person with a lease on file is now an "incoming resident"

Four related fixes, shipped together: (PR #5714)

A dry run for putting move-ins on the manager's calendar

Groundwork for the next step: every move-in appearing on the property manager's calendar as an all-day teal event, so the on-site team can see at a glance who is arriving this week. What shipped is the planner plus a read-only rehearsal — it works out exactly which events it would create and prints them, and writes nothing. Writing went live the following night under Decision 2: events are now created and kept up to date automatically, and the back-catalogue was filled in under Decision 1. Verified against the live calendar — all three current Camellia movers have their events, and a re-run has nothing left to do. (PRs #5717, #5725)

4 · Proof — tested against the live system after deploy

Not a lab result. These are simulated callers driven against the phone agents actually answering the Camellia line, after the fixes were deployed.

What we testedResult
A person moving in calls the main line — does the receptionist send them to the right department? 5 out of 5 to Resident Services. Never Leasing.
Does Resident Services actually book the appointment, end to end? 2 out of 2 clean runs. It checks real open slots first, offers only times that came back as available, books one, and confirms only after the booking succeeded — never the other order.

Two things had to be built into the test rig before those results were even measurable, and both are permanent additions:

In plain terms

We had been checking that the receptionist transferred the call. We had never checked which desk she transferred it to. Now every future change gets checked on that, automatically, forever.

5 · Decisions — three choices for Fede

Pick one option per question. Answers save automatically and everyone on the page sees them.

Decision 1 — Move-ins whose date has already passed

DECIDED (Fede, 2026-08-13): Option B — create them all. The calendar doubles as a record: past move-ins get their events written retroactively, and every future move-in gets one automatically. Shipped and verified — the Aug 7, Aug 10 and Aug 12 movers all have their events on the manager's calendar.

Decision 2 — Green-light real calendar writes

DECIDED (Fede, 2026-08-13): Proceed. The writer is live: move-in events appear on the manager's calendar in their own teal colour and refresh automatically whenever the property-system sync runs. Each event carries a stamp so repeat runs update the existing entry — a re-run creates nothing new. Zero production errors in the hour after go-live.

Decision 3 — What happens when a keys call ends with nothing booked

Even with today's fixes, a call about moving in or keys can end without an appointment — the caller is in a hurry, the line drops, an edge case we haven't seen. Who gets told?

In plain terms

If Clara talks to someone about keys and no appointment gets made, somebody at the property should find out. This is about where that heads-up shows up.

6 · What we learned

The capability existed four days before the call that needed it. Nothing was missing except the path to it — which is the kind of gap that only shows up when you test the whole journey, not the pieces.
PropFlow Docs