Situs Group tours: current state and new state

How Situs Group gives tours today, who can give them on PropFlow, how Spanish and English tours should be routed, and what changes in tour assignment and reassignment. One page for Fede to review.

2026-10-19 · Proposed — pending review · read-only, nothing turned on at Situs · proposal into Gera's lane; the Situs hub links here

On this page
  1. The short version
  2. 1. What the customer told us
  3. 2. The people
  4. 3. Spanish vs English tours
  5. 4. Assignment: current state and new state
  6. 5. Reassigning a booked tour
  7. 6. Lead sources and language
  8. 7. How tours are scheduled today, from the data
  9. 8. Decision 5: drive time between homes
  10. 9. A year of Situs tours vs the new rule
  11. 10. Who gives the tour: nearer host vs the drive
  12. Decisions for Fede
  13. Sources and caveats
  14. Related: staff moving, cancelling or handing off a tour

The short version

Today Clara can only book Situs tours onto Courtney, a virtual assistant in the Philippines who does not give tours (none booked yet; Clara is not yet replying to Situs Zillow leads: the company live switch is off, 48 leads declined as "not live" since Oct 9, and the supervised turn-on waits on Fede's yes). She is the only leasing agent with a connected calendar. Lee, Deiby and Miriam, the three people who actually show homes, have not signed in. The customer's rule, in Eileen's words: Spanish speakers get only Miriam or Deiby, and Miriam only when needed. The product has no idea of language today, and nobody can tell Clara "someone else is showing it."

0 of 3
tour givers bookable today
the only bookable person is an assistant
15%
of prospects write in Spanish
113 of 742 cards with text
47% / 1%
Spanish share: referrals vs Zillow
language tracks the source
15 min
typical gap between a person's tours
7 in 10 are at different properties
79%
of tours booked by someone else
the assistants book, the agents drive

1. What the customer told us

From the raw transcripts of the Sep 1 whiteboard session, the Oct 13 follow-up and the Oct 16 onboarding call with Miriam and the team. Every line is the speaker's own words; Oct 13 speakers are inferred because that transcript only says "Them" and "Me".

Lead arrivesZillow, referral, walk-in… Assistant answersCourtney / Lovely, Philippines Showing created in PMSassigned "by mood", ~15 min apart Agent's Google Calendarone way only; reminder 2 h before Agents swap tours midday; the PMS is never updated. Lea showed up late to a tour still assigned to Davey. Miriam: a showing in Denver, then 15 minutes later one in Lakewood
How a Situs tour gets booked today. The assistants book and assign; the agents drive. Nothing checks language, distance or who is actually going.
TopicWhat they saidWho, when
Who gives tours"the first question is, do they speak English or do they speak Spanish? … if they speak Spanish, only Miriam and Davey can do the tour."Eileen, Oct 16
Load"They should have equal amount of showings between the two of them. The person that we should be only calling in when necessary is Miriam, because Miriam admittedly has like 4 jobs."Eileen, Oct 16
English toursGera summed up "Lee's primary." Eileen objected only "Even if they speak Spanish? I would not." Inference: Lee primary for English stood.Oct 16
Rule today"there's no Rhyme or Reason" (Sep 1). "Honestly, it like fluctuates" (Oct 13).Eileen; Oct 13 inferred
Driving"they schedule a showing for somebody in Denver, and then 15 minutes later, they schedule a showing for something in Lakewood. Would Clara kind of help us with that?"Miriam, Oct 16
Swaps"somehow they trade midday and they don't reassign it … That's another opportunity for us to lose the person."Eileen, Sep 1
CalendarsMiriam's and Davey's calendars are full of reminder blocks; Hugo asked them to mark those "free". Lee and Davey connect calendars at the Tuesday leasing meeting.Hugo, Eileen, Oct 16
Shared calendar"is there a way that we can create like a general email or we can use leasing instead?" (so a tour is not pinned to one person)Miriam, Oct 16
Self-guidedIgloo lockboxes at about 3 buildings; Clara books first, then sends access instructions.Miriam, Eileen, Oct 13/16

Not said by the customer: tour length, buffer or tour hours. The only numbers in transcripts are Eileen's "15 minute break" and Fede's own "15… 30, maybe 45". Our settings for Situs hold 30-minute tours with a 30-minute buffer.

Raw transcript check, Nov 4 (every Situs meeting in #transcripts, Aug 17 to Oct 28, per speaker)

Claim on this page or in recapsWhat the raw transcript says
"Lee's primary" (attributed to Hugo in one of our sessions)Hugo never says it in any reachable transcript. Gera, Oct 16: "how I'm hearing it right now is lease primary." Eileen did not agree; her answer was the Spanish objection. Hugo, Oct 13: "I don't… care about the booking tours," his priorities are weekends, nights and the after-hours line.
English tours: "Lee primary stood"Eileen, Oct 16: "It needs to be more like split between the two of them. They should have equal amount of showings between the two of them." And: "I would rather Lee and Davey do all of the first showings."
"Miriam last resort"Not in the raw. Eileen, Oct 16: "The person that we should be only calling in when necessary is Miriam, because Miriam admittedly has like 4 jobs." "Last resort" is her Nov 4 email.
Spanish: "only Miriam and Davey"Eileen, Oct 16, said it; a moment later: "Miriam and Lee have to take so much traffic from just the Spanish-speaking tours," which contradicts it. Not settled in the transcript. Gera's promise, Oct 16: "we'll play the language as like the decider for scheduling."
Hugo asked them to mark reminder blocks "free"Hugo said the reminders "maybe need to change a little bit." The "free" instruction came from Fede (Oct 16) and Gera (Oct 20).
Tour hours, weekendsNobody at Situs named tour hours, length or buffer. Eileen, Oct 13: "we just want to start doing remote showings on the weekends"; three properties need showings "every hour of the day if possible." Sep 1: a split shift idea, "eight to two" and "two to six."
How they assign todayEileen, Sep 1: "there's no Rhyme or Reason"; trades midday without reassigning. Miriam, Oct 16: the VAs sometimes schedule "just Davey and I… instead of adding Lee."

Sources: #transcripts threads Aug 17, Aug 25, Sep 18, Oct 13, Oct 16, Oct 20, Oct 28; the Sep 1 raw is Slack canvas F0BU63PCQ5T with AI-reconstructed speaker labels. Oct 13 and Oct 20 speakers are inferred from context. Net: the customer asked for Lee and Deiby sharing equally, Miriam only when necessary, Spanish to a Spanish speaker. Today's two-person list (Lee, Deiby) gives Lee every day and Deiby only her empty days, so it is not yet the split they asked for.

2. The people

PersonDoes at SitusPropFlow roleSigned inCalendarCan get tours today
Lee McKibbinTour giver; English; proposed primaryLeasing agentYes (calendar connected Nov 4, 2:00 PM MT)Google (Nov 4)Yes, since Nov 4
Deiby (Davey) MaganaTour giver; Spanish; 44% of 2026 toursLeasing agentNo, invitedNoneNo, no calendar
Miriam GallegosSpanish backup, last resort; "4 jobs"Property managerNo, invitedNoneNo, and the role blocks her (see below)
Courtney TolentinoVirtual assistant: listings, guest cards, bookingLeasing agentYes, Oct 16Google, Oct 16Yes, the only one
Eileen O'MalleyVP Ops, champion; 44 tours, mostly DU housesCompany adminYes, Oct 16NoneNo
Hugo WeinbergerOwner, decides staffingCompany adminYes (account Sep 29, Google sign-in linked Oct 6)NoneNo
BerylMaintenance assistantMaintenanceYes, Oct 19NoneNo
Lovely SalvadorVirtual assistant, books showingsMaintenanceNo, invitedNoneNo
Michelle PanReplies to prospects, half in Spanish; books toursNot on PropFlow at all

Is Miriam's property-manager role a problem? Yes, in today's mode. With no explicit tour list, only people with the leasing-agent role are picked. The moment a company tour list is set, any staff role can be on it, property manager included, as long as she has a calendar connected. Recommendation: set the list to Lee, Deiby, Miriam once their calendars are connected, and take Courtney off it. What looks like a leftover test account ("tester") also sits on the Situs team and should be removed.

3. Spanish vs English tours

We classified every message on 1,563 Situs guest cards (Jan 2025 to Sep 2026) by language with a word-count rule, no paid model. Spanish prospects already write in Spanish on the card, so the conversation language can decide who gets the tour (inferred from the data), re-checked after the first real message. Asking is the fallback, not the default.

Who replies to Spanish prospects todayFirst reply on Spanish cardsin SpanishSpanish free-text messages, all cards
Miriam Gallegos3425160
Deiby Magana241791
Michelle Pan (not on PropFlow)1713157
Courtney Tolentino9—25
Lee McKibbin8110
Of 113 Spanish-side cards: 84 answered in Spanish, 12 answered only in English, 17 never answered by a person. Situs already keeps Spanish templates (the "application received" one went out 127 times).
Plan (recommended)
  • Signal: the language the prospect writes or speaks, once past "Hola" or "Ok". Not the lead source or website language.
  • Rule: Spanish or mixed → Deiby, then Miriam, then the normal order. Otherwise → Lee, Deiby, Miriam.
  • Fallback: no Spanish speaker free that day → the English primary goes and Miriam joins by phone, Miriam's own exception.
  • Ask only when there are no words yet (a one-word text, a call with no speech).

4. Assignment: current state and new state

Verified in the code at today's main, not from the design pages. The design pages describe fairness ranking, drive time and automatic re-hosting; none of that exists.

CURRENT STATE 1. Company tour listone ordered list, or every agent 2. Serves this buildingeveryone is company-wide 3. Has a calendarSitus: Courtney only 4. Primary owns the daybackup only if primary has no slot 5. Book and text the hostprospect never told who NEW STATE 1. Company tour listeach person tagged en / es 2. Reorder by languagematching speakers first 3. Has a calendarLee, Deiby, Miriam 4. Primary owns the dayunchanged, over the new order 5. Book, text host, PMS note+ change host by text Example, Spanish prospect: list [Lee en, Deiby es, Miriam es] → reordered [Deiby, Miriam, Lee] → Deiby owns the day if she has any free slot → booked on Deiby. Example, English prospect: order stays [Lee, Deiby, Miriam] → Lee owns the day → booked on Lee. Miriam is reached only when both have no free slot. Reschedule appears to keep the same person today (not traced end to end); the new state re-runs step 4 if she is busy at the new time.
Who gets the tour. One new step (reorder by language) on the one shared read that feeds both the offered times and the booking, so they cannot drift. Everything after it is today's code.
FactCurrent stateNew state
Tour-giver listOne ordered list per company; first is primary, rest are backups, any number. Not set at Situs. Not per building, not on the settings resolver.Same list, each entry tagged with languages. Later, move it onto the resolver so a building can override (Gera's model).
CalendarsAttached to the person. Then the building calendar, else the company calendar.Unchanged. Miriam's ask for "a general email or … leasing instead" maps to the company calendar, already supported; recommend not using it as the first stop, since it hides who is going.
LanguageProspect language is stored (en/es). Staff have no language field. Nothing reads language.Staff language on the list entry; reorder step reads the prospect's firm language.
DistanceNot considered.Not in this proposal. Buffer stays the lever (decision 5).
Rollout—Language routing is a new capability; decision 1 picks whether the language tags themselves are the switch or a company setting sits on top. Nothing else here needs a switch.

5. Reassigning a booked tour

Today

Clara: no. None of her staff tools by text or voice can change who gives a tour, and email uses the same tools (inferred). A manager has a "Change tour host" button on the prospect page. It checks the new person is free and moves the invite, but it refuses leads synced from AppFolio, likely most Situs prospects (inferred), notifies nobody and writes nothing to the PMS.

Missing

  • A Clara staff tool "change tour host" on text, email and voice, reusing the existing move.
  • Allow it on synced leads.
  • Text the old and the new giver.
  • A PMS note through the adapter.
  • Tell the prospect only if we ever name the giver.

Proposed cut: two small PRs, the tool plus the synced-lead lift, then the notices and the PMS note.

Superseded by the full design: When staff move, cancel or hand off a tour (Nov 1), which covers reassigning, moving with the prospect's yes, and cancelling.

6. Lead sources and language

Share of cards where the prospect wrote in Spanish or mixed, among cards with any prospect text. Spanish arrives by word of mouth, Facebook ads and walk-ins. The listing sites are almost entirely English.

Lead sourceCardsWith textEnglishSpanish + mixedSpanish share
Referral (tenant, resident, other)15975193547%
Shared application link931811633%
Facebook ad13685412732%
Drive-by / walk-in13279381924%
Website1548351911%
Rent.com62181216%
TurboTenant106413112%
Zillow (all)31216611021%
Affordable Housing, Zumper, Realtor.com201715400%

Rows do not sum to the 742 cards with text; the remainder is "unknown" (one-word replies) or minor sources. By building: Lampliter and Cottonwoods 30% Spanish, Barcelona 23%, the DU houses 0%. Spanish share fell from 22% of 2025 cards to 10% of 2026 cards. Source is a hint, not a rule: use the conversation language.

7. How tours are scheduled today, from the data

From the AppFolio property calendar and Showings report we captured on Sep 1 (held showings, cancellations removed), plus guest-card activity for who booked and when.

373 / 418
held showings 2025 / 2026 to Sep 4
7.5 → 11.9 a week
15 min
scheduled length, 788 of 791
all on a 15-minute grid
2.4 mi
median hop between consecutive tours at different properties
straight line, not drive time
30 h
median booking lead time
30% inside 24 h; 16% same day
22%
cancelled in 2026
up from 15% in 2025
GAP BETWEEN ONE PERSON'S CONSECUTIVE TOURS (328 pairs) overlap 6 0 min · 69 1–15 min · 94 (all exactly 15) 16–30 min · 20 31–45 min · 35 46–60 min · 4 1–2 h · 33 over 2 h · 67 TOURS BY HOUR OF DAY (791) 9 10 11 12 1 2 3 4 5 6 7 157
Packing and timing. Peak 3–5 PM; 15% start at 5 PM or later; weekends 12%, nearly all Saturdays, never Lee. The typical buffer is exactly 15 minutes. At the same building they go back to back. Seven in ten consecutive pairs are at different properties, and 34 of those have 3 km or more to cover in 15 minutes or less. Six times one person was booked at two properties at once.
#Tour giverTours 2025 + 20262026 onlyPropertiesWeekendNote
1Miriam Gallegos290841859Share falling in 2026; 5 of the 6 double-bookings
2Lee McKibbin238103180No weekend tours ever
3Deiby Magana1841841333Started Jan 31, 2026; 44% of 2026 tours
4Eileen O'Malley4433110Mostly the DU houses
5Lorraine Jimenez291033Aspen Leaf, Olde Town
6+Ryan Seaton, Matt Miller, unassigned64

Carr Street Flats (182), Barcelona (113) and Lampliter (88) are 48% of all tours; Carr Street sits under 1 km from Barcelona, Mckenzie and Zephyr, which is where most of the under-1-km hops are. Who books: Miriam 256, Courtney 223, Michelle 139, a shared "Assistant Lead" login 124, Deiby 98, Lee 66. Since late March, 79% of bookings were made by someone other than the giver. The AppFolio on-call calendar is the maintenance rota, not a leasing calendar; no tour giver is on it.

8. Decision 5: drive time between homes

Results, night of Oct 21–22

Live everywhere since the 12:22 AM deploy (Mountain time), no switch; it acts only when a host's neighbouring tour is at another property. At today's 30-minute buffer it moved nothing in either customer's replay; the change comes with the settings switch.

Drive-time map: measuring since 12:01 AM, 100 drives per company every 15 minutes, no failures. At 1:31 AM: Situs 700 of 1,122 (full near 2:45 AM), Western Slope 700 of 6,162 (near 3:15 PM); unmeasured pairs use the area's longest drive.

CaseWhat happenedResultRecord ids (test tours, all cancelled after)
Times offered at a second home, by text (many-homes test line)Host has tours at 118 Quillwood Lane Friday at 10:00 and 4:00. For 905 Elmgrove Terrace (25 min away, 27 at rush) Clara offered 9:00, 11:00–3:00, 5:00 and 5:30, leaving out 9:30, 10:30, 3:30 and 4:30, as expectedPassconversation 5b32ac3a; setup tours 58921e59, 22ec6382
Asked for a time the drive rules out, by text10:30 → “10:30 isn't open, closest I've got is 11:00 AM or 11:30 AM”Pass—
Booked, by text5:00 PM booked with a calendar event; text “Tour confirmed · 484 Tracy Drive” (the test home's name; its street address is 905 Elmgrove Terrace)Passtour 5fbabfdd; event …YAAAYt39oAAA=
Home next door (0 min)At 146 Quillwood Lane only the two tour times were blocked, no drive gapPass—
Time taken in betweenAfter Elmgrove 2:30 was booked, a second prospect asked for 118 Quillwood at 2:00: “2:00 PM on Friday is already taken, but I've got 1:30 PM or 1:00 PM”Passtour 64412215; conversation 03eb9b60
By phone (robot caller; test listings moved onto each home's own property for the run, then restored)With a tour at 118 Quillwood at 10:00, a call asking for Elmgrove Friday 10:30 heard “Ten-thirty isn't open on Friday, I've got nine a.m. or eleven-fifteen”. It took 9:00, booked on Elmgrove with a calendar eventPasssetup tour 7ba919b9; tour 8c611170; event …YvX5ZAAA=; call conv_1601m5h8havzf2c82j5wam32j9q6
The Willows and three test neighbours, live calendar (engine check, not a Clara conversation)All 12 drives measured by 12:16 AM. Three tours booked first by real texts (Friday 1:00 and 3:30, Saturday 3:30). Friday: 12:30, 1:30, 3:00 and 4:00 refused at two neighbours by the drive; the farthest also refuses 2:30, because leaving at 3:00 is rush hour. Saturday it offers 2:30. The Willows itself unchanged; Clara's offers there matchedMatchtours f899e59f, b9f2d03b, 508e3f0b; conversation 6536d5f4
Rush hour changing the answer in a Clara conversationThe test line's homes and 30-minute time steps cannot show it; the only evidence is the engine check aboveNot run—

Unchanged where it does not act: Western Slope's 6,948 offered times, byte-identical before and after (read-only, real calendars). Situs's check could not read its calendars locally (production clean 48 h); it reruns when its map is full.

For the morning

  1. Switch both companies to 15-minute tours with flat buffer 0 (V2, section 9) rather than 15 (V1)? 16 more Situs tours fit; 34 fewer on-time refusals. In the code, a flat buffer of 0 makes the gap between homes the drive rounded up to 5 minutes, with no 15-minute floor (the floor is not a setting); on a quarter-hour grid that gives the same answers as V2, except two homes stored 0 minutes apart get no gap, which is also how Situs books next door today (7 of 9 back-to-back pairs a minute or less apart had none). Yes / hold. Pages: V2, V1.
  2. Suspicion: a single-building line books its own building when the prospect names another home, and confirms the wrong one (conversation 560d07f1).
  3. Suspicion: on a test call Clara said a just-cancelled tour was still on.
  4. Suspicion: after refusing 10:30, the phone offered 11:15; text offers 11:00.
  5. Fact: a call asking for a second stop went to the after-hours team note; nothing booked (conv_7801m5h8pf5zev1rjhzx9yx2c0f6).
  6. Test bench: listings sit on one umbrella property; two test-call numbers are saved test tenants.

Code: #21703, #21716, #21721 merged; #21729 merged (commit a5d0c8301, 2026-10-23 00:24Z). Follow-ups from review: #21948 (guest-card replay still reads the old listing field), #21949 (count offered homes with no property id). Fixes from the Oct 23 break-it replay, in flight as plain fixes with no switch: #22002 (company-wide line checks the named home's own hours and drive, issue #21995) and #22003 (staff calendar blocks that name a home get the drive gap, issue #21971). The settings switch at Western Slope waits for both.

Proposed — pending review Decided by Fede: 15-minute tours, drive-aware gap between homes ("both should be 15 with buffers for drive"; Fede, Oct 21, in session). Open for the morning: flat buffer 15 (V1) or 0 (V2), section 9. Live only after the drive check is proven. Also open: two choices below.

How the drive check worksOnce, when a property is enabledMeasure the drive between the customer'senabled properties with Google: two numbersper pair, no traffic and rush hourA drive-time map between thecompany's properties, kept asone record per directionBooking, no Google callsProspect asksfor timesClara checks each slot against thehost's other tours that day: samehome, the flat buffer; differenthome, the larger of the flat bufferand the drive rounded up to 5, usingthe rush number for weekdaydepartures 3 to 6 PMOffer the times thatfit; check the chosenone again at confirmBooked, or"that time was justtaken, next is X"
What is new: the second (rush-hour) number per pair, and the check at offer and at confirm. Booking still never calls Google.
11
real Situs pairs short of the drive by over 5 min
of 328 back-to-back pairs, 20 months
11 of 11
refused with the drive check
staff practice lets 5 through
0
Google calls when booking
Clara reads the stored drive-time map
$24
to measure all three companies once
about 7,400 drives; 5,000 a month are free

In this section: What they do today · The 11 short pairs · The rule · Replay · Offer or confirm · Build and prove · Willows run · Measuring · Sources

What each customer does today, measured

Situs (AppFolio calendar, Jan 2025 – Sep 2026)Western Slope (AppFolio showings, Sep 2025 – Sep 2026)
What they told usNo length, gap or drive rule in 87 quotes from 7 meetings. The complaint: tours across town 15 minutes apartNo answer on file to the intake question about travel time between towns
Staff tour length15 min on 788 of 791 showings15 min (both showings in the one captured calendar week; the report has start times only)
Next tour, same homeRight after on 35 of 97 pairs, 15 min later on 34Start to start: 30 min on 22 of 42 pairs, 15 min on 2
Next tour, different home15 min later on 60 of 231; right after on 34 (21 of them one prospect seeing two homes); same time on 6Start to start: never under 30 min; 45 or more on 75 of 79, an hour or more on 68
Our settings today30-min tours, 30 between, typed by PropFlow admins Oct 12–13, not asked for by Situs30-min tours, 30 between, set by us during the September onboarding (no author stamp stored; the go-live tracker records Fede's go, Sep 17 and 18); no record of Western Slope asking for them
Tours Clara bookedNone yet37 since Sep 19, all 30 min

"they schedule a showing for somebody in Denver, and then 15 minutes later, they schedule a showing for something in Lakewood. Would Clara kind of help us with that?"

Miriam, Situs, Slack, Oct 16

Staff practice is the baseline to beat, not the target. On how tours get booked: "there's no Rhyme or Reason this" (Sep 1 meeting transcript, canvas F0BU63PCQ5T, paragraph 536; the speaker label, Eileen, is the transcript tool's inference).

The 11 pairs every rule must refuse

Two different prospects, one host, two homes, and less time between the tours than the drive by over 5 minutes. 8 leave in the weekday rush (22–38 min drives), 5 of them with exactly Miriam's 15-minute gap. 3 are next-door homes booked at the same time.

The 11 short pairsThe 11 pairs short by more than 5 minutes: time between tours vs the driveBar = minutes between the first tour's end and the second's start (below 0: both booked at once).Hollow dot = drive without traffic. Filled dot = the stored rush number (weekday 3-6 PM).Left label = what refuses it under buffer = drive: the same-time check, the no-traffic drive, or only the rush number.refused byday, second tour-1501530no-traffic drive2025-10-02 16:30gap 0 min1148 N. Willow St. -> 5100 W. 8th Ave: 23.5 min without traffic1148 N. Willow St. -> 5100 W. 8th Ave: 34.5 min at rush (measured)no-traffic drive2026-04-23 16:30gap 15 min1965 S. High St. -> 1375 Everett Court: 15.6 min without traffic1965 S. High St. -> 1375 Everett Court: 32.4 min at rush (measured)no-traffic drive2025-07-25 16:00gap 15 min4720 E 8th Ave -> 1391 Carr St.: 20.0 min without traffic4720 E 8th Ave -> 1391 Carr St.: 26.8 min at rush (measured)no-traffic drive2026-04-30 15:30gap 15 min8193 W. 9th Ave. -> 6090 Olde Wadsworth Blvd.: 15.4 min without traffic8193 W. 9th Ave. -> 6090 Olde Wadsworth Blvd.: 22.2 min at rush (measured)no-traffic drive2026-06-17 16:30gap 15 min8141 W. 9th Ave. -> 6090 Olde Wadsworth Blvd.: 15.4 min without traffic8141 W. 9th Ave. -> 6090 Olde Wadsworth Blvd.: 22.2 min at rush (measured)rush number2026-07-07 16:00gap 15 min1391 Carr St. -> 1854 S. Williams St.: 14.2 min without traffic1391 Carr St. -> 1854 S. Williams St.: 22.6 min at rush (measured)same time2025-08-25 16:45gap -15 min1330 Zephyr St. -> 1111 N. Xanthia St.: 26.4 min without traffic1330 Zephyr St. -> 1111 N. Xanthia St.: 37.5 min at rush (measured)same time2025-10-02 16:30gap -15 min5100 W. 8th Ave -> 1136 N. Willow St.: 23.5 min without traffic5100 W. 8th Ave -> 1136 N. Willow St.: 34.5 min at rush (measured)same time2025-07-15 11:00gap -15 min1391 Carr St. -> 8195 W. 9th Ave.: 2.9 min without traffic1391 Carr St. -> 8195 W. 9th Ave.: 3.1 min at rush (measured)same time2026-06-03 14:00gap -15 min1375 Everett Court -> 1391 Carr St.: 1.7 min without traffic1375 Everett Court -> 1391 Carr St.: 1.8 min at rush (measured)same time2026-03-28 11:30gap -15 min1375 Everett Court -> 1391 Carr St.: 1.7 min without traffic1375 Everett Court -> 1391 Carr St.: 1.8 min at rush (measured)minutes
Each row is a real Situs pair. Refused by the overlap: 5; by the no-traffic drive: 5; only by the rush number: 1. One prospect seeing two homes in one visit (21 of the 34 right-after pairs) passes every rule here.

The rule, and two open choices

Same home: the flat buffer. Different homes: the larger of the flat buffer and the drive, rounded up to 5 minutes; weekday departures from 3 to 6 PM use the rush number, fixed in code. Checked at offer and at confirm. Leaving from the office is out of scope: a slot is checked only against the host's tours before and after it that day, so the first tour of the day has no drive constraint.

"is it 15 minutes without traffic or 30 with traffic? And then adjust it that way."

Fede to Situs, Oct 20. Two stored numbers per pair, picked by the time of day, do this; it is not live traffic.
#Open choiceRecommendAlternativeWhat the replay saysWhy
aNo stored drive for a pairThe longest stored drive in the property's area: Situs 45; Western Slope's Grand Junction area 25A straight-line estimate; or refuseEarlier rule: the longest drive pushes 4 Western Slope pairs, 0 Situs; refusing pushes 64 and 8. A straight line runs over 5 min low on 7 of 94 measured pairsNever late; rare once every enabled property is measured
bMeeting on the host's calendar with no homeAn unknown place: row a's number on each sideThe flat buffer on each sideNo meetings in either export; cost only. Start times lost on each side of a meeting: Situs 3, Western Slope 2; flat buffer 1One rule for "we don't know where the host is"

Shortening first is not an option. 15-minute tours with a flat 15 and no drive check let 5 of the 11 through. Length and gap change only after the check is proven.

Replay: every real tour under each rule

"Pushed later" counts real two-people pairs, besides the 11, that a rule moves to a later quarter hour. Situs rows replay staff tours (Clara has booked none there); today's 30/30 refuses the 11 only by pushing 137 others.

Rules compared on real toursWhich rule refuses the 11 pairs short by over 5 minutes, and what it movesBars: real two-people back-to-back tours a rule would have moved to a later quarter hour.Situs: 20 months of the AppFolio calendar. Western Slope: 12 months of the Showings report, replayed at 15 minutes.SitusWestern Slopeshort pairs refusedToday: 30-min tours,flat 30 between any twoToday: 30-min tours, flat 30 between any two, Situs: 137 real pairs moved later137Today: 30-min tours, flat 30 between any two, Western Slope: 36 real pairs moved later3611 of 11Flat 15 between any two,15-min toursFlat 15 between any two, 15-min tours, Situs: 46 real pairs moved later46Flat 15 between any two, 15-min tours, Western Slope: 2 real pairs moved later26 of 11Staff practice: 0 same home,15 between homes, no drive checkStaff practice: 0 same home, 15 between homes, no drive check, Situs: 12 real pairs moved later12Staff practice: 0 same home, 15 between homes, no drive check, Western Slope: 0 real pairs moved later06 of 11Staff practiceplus the drive checkStaff practice plus the drive check, Situs: 13 real pairs moved later13Staff practice plus the drive check, Western Slope: 4 real pairs moved later411 of 11Earlier rule: 15-min tours,buffer = the driveEarlier rule: 15-min tours, buffer = the drive, Situs: 1 real pairs moved later1Earlier rule: 15-min tours, buffer = the drive, Western Slope: 4 real pairs moved later411 of 11Fede's rule: 15-min tours,flat 15, the drive when longerFede's rule: 15-min tours, flat 15, the drive when longer, Situs: 47 real pairs moved later47Fede's rule: 15-min tours, flat 15, the drive when longer, Western Slope: 6 real pairs moved later611 of 11Today's 137 at Situs includes 46 back-to-backs that only overlap because 15-minute tours are counted as 30.Western Slope's 4 in both drive rules: no stored drive, so the area's longest drive (25 min) applies.Every row lets one prospect see two homes in one visit.
Bars: other real pairs pushed later. Right: the 11 short pairs refused. Situs 328 pairs; Western Slope staff 121 pairs, replayed at 15 minutes.
RuleSitus pushed laterWestern Slope staffWestern Slope ClaraShort pairs refused
Today: 30-min tours, flat 30137*36211 of 11
Today plus the drive check (ships first, as a fix)13936211 of 11
Flat 15, 15-min tours46206 of 11
Staff practice: no gap at the same home, 15 between homes12006 of 11
Staff practice plus the drive check134011 of 11
Earlier rule: 15-min tours, buffer = the drive, none at the same home or next door14011 of 11
Fede's rule: 15-min tours, flat 15, the drive when longer476011 of 11

* 46 of these 137 overlap only because today's settings count Situs's 15-minute tours as 30.

Fede's rule pushes 47 Situs pairs, each by one quarter hour: 34 at the same home, which now keeps a flat 15, and 13 between homes, 12 of them hops that left the host up to 5 minutes late. Western Slope staff: 6 (2 at the same home, 4 with no stored drive). Section 9 replays a year of Situs tours under it.

Offer or confirm: times go stale

Clara offers times; the prospect answers minutes or a day later, and meanwhile another tour can land next to the chosen time.

Where the check runsWhere the drive check runs, Situs, 20 monthsBookings refused for drive time under buffer = drive, by how long the prospect takes to reply.Booking times SIMULATED (no export has them): median of 20 runs, whisker = range.Confirm only: extra repliesOffer only: wrong bookingsOffer + confirm: extra replies0246810Confirm only: extra replies, reply after 15 min: median 7.5, range 6-97.5Offer only: wrong bookings, reply after 15 min: median 0.0, range 0-00Offer + confirm: extra replies, reply after 15 min: median 0.0, range 0-00reply after 15 minConfirm only: extra replies, reply after 2 h: median 7.5, range 6-97.5Offer only: wrong bookings, reply after 2 h: median 0.0, range 0-20Offer + confirm: extra replies, reply after 2 h: median 0.0, range 0-20reply after 2 hConfirm only: extra replies, reply after 24 h: median 7.5, range 6-97.5Offer only: wrong bookings, reply after 24 h: median 3.5, range 0-63.5Offer + confirm: extra replies, reply after 24 h: median 3.5, range 0-63.5reply after 24 hWestern Slope, 28 Clara-era tours with REAL booking times: 0 drive refusals at any delay.
Situs booking times are simulated (no export has them): drawn from Western Slope's real lead times, 20 runs.
Situs, 20 monthsReply after 15 minAfter 2 hAfter 24 h
Check at confirm only: extra replies7.5 simulated7.5 simulated7.5 simulated
Check when offering only: wrong bookings0 simulated0 simulated3.5 simulated
Both: extra replies (wrong bookings: 0 simulated)0 simulated0 simulated3.5 simulated

Earlier rule. Medians of 20 runs; ranges 6–9 (confirm only), 0–2 (2 h), 0–6 (24 h). Western Slope staff, 24 h: 2 extra replies with both checks, simulated.

Build, then prove it end to end

Build notes. The drive check ships as a fix with no switch: it changes nothing where no drive numbers are stored, and staff bookings skip it, as they skip the buffer today. One drive-time engine in one place: the two-homes-in-one-visit path uses it and loses its own drive code. The cases the code must pass before the replay: 15 real Situs pairs, the 11 short ones among them. The "that time was just taken" reply already works on all six booking paths (product pull request #21729 corrects the old code comment); step 3 of the Willows run checks it.

Proof, in order:

  1. Read-only replay of both customers' real tours on the built code at 15-minute tours with a flat 15: all 11 short pairs refused, and the same pairs pushed as in the replay above (47 at Situs, 6 at Western Slope).
  2. One end-to-end run at Willows, below.
  3. On Fede's go, Situs and Western Slope switch together from 30/30 to 15-minute tours with a flat buffer of 15 (V1) or 0 (V2), whichever he picks.

The end-to-end run at Willows

Willows at 15-minute tours with a flat 15, with test properties already measured into the drive-time map. From property A: B is over 15 minutes away, C is next door, and D's rush number flips the answer at a 4:30 PM departure. The host has tours at A ending 1:30 and 4:30 PM on a weekday. Clara must offer (example numbers):

Times atHost leaves AStored driveGapFirst offeredNever offered
B4:30 PM18 min, 24 in the rush255:004:30, 4:45
C, next door4:30 PM3 min154:454:30
D4:30 PM12 min, 22 in the rush255:004:30, 4:45
D1:30 PM12 min, outside the rush151:451:30
  1. Ask. A prospect asks Clara for times at B, once by text and once by a call, then at C and D. Pass: the times offered match the table, in the text thread and in the call transcript, and no Google call is made.
  2. Book. The prospect confirms 5:00 at B. Pass: the tour row, the host's calendar event and the confirmation message exist. Evidence: their record ids and the message text.
  3. Taken at confirm. Clara offers 5:00 at B; before the prospect answers, another booking puts the host at A at 5:15. Pass: when the prospect confirms, Clara says that time was just taken and offers the next clear one; nothing is booked at 5:00.

Measuring: once per enabled property

CompanyPropertiesOne-way drivesFill time
Situs341,122~3 h
Western Slope796,162~16 h
Test company (Willows)11110~30 min

About $24 once for all three: one Google traffic call per one-way drive, about 7,400 in all; 5,000 a month are free, then $10 per 1,000 (price pages read Oct 19 and Oct 21). A new property adds two drives per other enabled property. This pass made 0 Google calls.

Later, not now: offering times next to a host's other tours. Clara would offer first the open times closest by drive to the host's tours before and after, so a host's day bunches by area. It needs the same stored numbers, a ranking step in the offer list and its own replay; Fede, Oct 21, in session: for later, not part of decision 5.

30-day replay before the settings switch (Oct 23)

Every tour in our records from Sep 23 to Oct 22, re-offered through the live booking engine at the moment it was booked, at today's 30/30 and at 15/0. Read-only.

Western Slope30/3015/0
Tours (replayable)35 (27)35 (27)
Clara-booked2727
Same host, different home, same day88, all with room for the drive
Booked time refused75
Worse answers—0
Errors00

Verdict: 15/0 is safe at Western Slope: nothing gets worse, two back-to-back staff bookings now fit, and nearly three times as many times are offered, mostly from the finer 15-minute grid. The 5 still refused: three staff picks inside the 60-minute lead time, one staff pick over a calendar block, one Saturday booked after the weekend cutoff.

Situs30/3015/0
Tours / Clara-booked / cross-home pairs0 / 0 / 00 / 0 / 0
Refused / worse / errorsn/an/a

Verdict: no replay possible: we hold no Situs tours. At 15/0, staff showings get no gap until Clara books there.

Staff and live run: 7 of 7 staff bookings and moves still book at 15/0. Live on the test line at 15/0: two homes back to back, two tours 15 minutes apart at one home, and a tour 5 minutes after a manual calendar block: all booked. Sloppy staff texts got a question, never a booking. Two prospects racing for one slot: no double booking.

Broke: the company-wide line checks times against its catch-all property, not the home: the test company booked 8:15 AM at a home whose tours start at 9:00 (#21995). At Western Slope hours match, but main-line calls get the longest-drive padding. Offers abut Kat's calendar blocks at 15/0 (60 of 71, #21971). The gap after a two-home visit is measured from the first home (#21974; none at Western Slope).

Verdict: safe; the switch itself broke nothing. Flip after #21971 (it removes the pad around staff blocks). #21995 is live now at either setting.

Files: research/…/drive-policy-v2/replay-30d/. The planted 5-minute pair was refused, the far one offered.

Sources and caveats

SourceGaveLimits
research/situs-tours-2026-10-19/drive-policy-v2/: every file below; inputs/README.md says how each input was pulled, read-onlyAll numbers in this sectionResearch folders are not served on this site
inputs/situs/Situs showings from the AppFolio calendar, Jan 2025 – Sep 2026; event types in that calendarNo booking times, so Situs timing is simulated. No host's own calendar, so no meetings: open choice b is cost only
inputs/ws-audit/Western Slope showings report, one calendar week, Clara tours"Confirmation Time" is AppFolio's automatic confirmation about 2 hours before the showing, not the booking time, so staff booking times are simulated. The 15-minute length rests on that one week (2 showings). The Clara tours file holds 37 prospect names (private repo)
inputs/code-audit/Listing records, where today's code stores drive minutes; the replay reads themWestern Slope: 20 records, 8 listed today. Most homes staff showed have none, so no stored drive; open choice a's 25 minutes covers them (the 4 pushed pairs)
inputs/settings/Today's 30/30 at both companies; who typed Situs's (PropFlow admins, Oct 12–13, from the settings log)Western Slope's record stores no author or date, and the settings log starts Sep 23, after its 30/30 was set; the go-live tracker is the only record of who. History stamps record who and when, never the value
inputs/code-audit/drive_graph_counts.json: the drive-time map builder's read-only production read, Oct 21 (product pull request #21703, open)Enabled properties and one-way drives per company: Situs 34 and 1,122, Western Slope 79 and 6,162, test company 11 and 110; up to 50 pairs per company per runCounts move as properties are enabled or archived. The test company went from 8 to 11 when three Willows test properties were added for the end-to-end run
../drive-policy/google-minutes.json (first pass)Situs drive minutes for 55 building pairs; 38 rush samples (one Wednesday, 4:30 PM)The rush file behind the earlier "25 pairs, Tue Oct 27" numbers was lost with a temporary folder. Other pairs use fixed factors, labelled factor-based. Western Slope has no rush samples
pass2_ground_truth.py → pass2_ground_truth.jsonWhat each customer does today—
pass2_rule.py, pass2_harness.py → pass2_harness-output.txtThe rule prototype behind the replayA prototype, not product code, and not proof
pass2_replay.py → pass2_replay.json and the three figuresReplay of the six rules, Fede's among them, plus today's 30/30 with the drive check in its own block (rollout_step1); open choices, offer or confirmWestern Slope Clara: 12 pairs, Sep 19 – Oct 21; today's row replays them at their real 30 minutes, the other rows at 15. Its 2 pairs pushed by today's rule both include a staff booking, and all four bookings predate the Oct 4 fix that made a named-time booking read a lone host's calendar; cause per booking not confirmed
../G-customer-meetings-scheduling.mdCustomer quotes, word for word—
Product code at main, Oct 21: tour-buffer.ts, check-availability.ts, listing-drive-time.ts, org-home-booking.tsToday: a flat buffer at offer and at confirm; one no-traffic number per pair; drive read only for two homes in one visit—
Product code at main, Oct 21 (4362cd313d): src/lib/domain/leasing/tour/apply-tour-intent.ts, the comment at lines 1017–1031The six booking paths the comment names: one each in tools-leasing.ts and the voice post-transfer.ts, four in process-tour.ts (the text and email pipeline). The comment said they answer a taken time with a generic failure; it was stale: all six catch itLine numbers move as the file changes. Product pull request #21729 corrects the comment, naming each path
This section's earlier versionReplaced by this oneIt judged our own 30/30 settings and stretched 15-minute tours to 30; this version replays real lengths

9. A year of Situs tours vs the new rule

Held Situs showings, Jan 2025 to Sep 4 2026 (20 months, all used), as booked vs re-booked under tonight's rule, same order (simulated). Customer page for Situs: Clara update (their tours, what we built, the same tours booked the new way; V2 numbers, same home no gap).

Time left after the drive, as booked vs under the ruleHow much time was left after the driveBack-to-back tours by one person at two homes, for two different prospects: 189 pairs.Arrives late23 pairsAs booked020401 pairs: -55 to -50 min short of the drive1 pairs: -50 to -45 min short of the drive1 pairs: -35 to -30 min short of the drive4 pairs: -20 to -15 min short of the drive1 pairs: -15 to -10 min short of the drive3 pairs: -10 to -5 min short of the drive12 pairs: -5 to 0 min short of the drive6 pairs: 0 to 5 min spare after the drive12 pairs: 5 to 10 min spare after the drive27 pairs: 10 to 15 min spare after the drive8 pairs: 15 to 20 min spare after the drive6 pairs: 20 to 25 min spare after the drive7 pairs: 25 to 30 min spare after the drive1 pairs: 30 to 35 min spare after the drive7 pairs: 35 to 40 min spare after the drive8 pairs: 40 to 45 min spare after the drive4 pairs: 50 to 55 min spare after the drive2 pairs: 55 to 60 min spare after the drive78 pairs: 60 to 65 min spare after the drive-50-30-150+15+30+4560+Arrives late0 pairsSame tours under the new rule (simulated)020406 pairs: 0 to 5 min spare after the drive16 pairs: 5 to 10 min spare after the drive45 pairs: 10 to 15 min spare after the drive9 pairs: 15 to 20 min spare after the drive6 pairs: 20 to 25 min spare after the drive7 pairs: 25 to 30 min spare after the drive1 pairs: 30 to 35 min spare after the drive8 pairs: 35 to 40 min spare after the drive8 pairs: 40 to 45 min spare after the drive4 pairs: 50 to 55 min spare after the drive2 pairs: 55 to 60 min spare after the drive77 pairs: 60 to 65 min spare after the drive-50-30-150+15+30+4560+minutes between arriving and the next tour (negative = late)
23 late hops become 0. 189 two-prospect hops between homes.
MetricTheir practice (measured)The rule (simulated)Verdict
1. Late hops (gap shorter than the drive)23 of 189 (12%), 264 min short; 11 by more than 5 min; 13 rush, 10 off-peak.0; all 23 refusedBetter
2. Rush exposure (leave weekdays 3–6 PM)51 hops; 31 with a gap of 15 or less; 13 shorter than the rush driveRush number used; 0 shortBetter
3. Idle gaps (2 h or less, drive + 30 or more)62 gaps, 4,380 minRoom for 92 more toursSame: demand, not the rule
4. Capacity, 184 days with 2+ tours512 tours held476 fit in the same hours; 34 days end later (median 15 min, max 120)Worse, −7%
5. Refused though on timeHeld fine35 (34 same-home back-to-back, 1 hop), +525 min;plus 12 hops late by 5 min or lessWorse

Where the lost tours come from (simulated). Same home / hop gap: V1 15 / max(15, drive); V2 0 / max(15, drive); V3 0 / max(5, drive).

V1 (decided Oct 21, under review)V2V3
Late hops after re-booking (practice: 23)000
Rush short000
Tours that fit, of 512 on 184 busy days476 (−36)492 (−20)492 (−20)
Days ending later341919
Refused though on time3511
Minutes added, whole re-booking1,425660660
Back vs V1: tours / on-time pairs0 / 016 / 3416 / 34

The same-home 15 costs 16 of the 36 lost tours and 34 of the 35 on-time refusals; the other 20 are the price of fixing the 23 late hops. V3 equals V2: tours start on quarter hours, so the 12 hops late by 5 min or less still move to the next quarter hour. No late hop returns; mutation control red in all three.

What they said (verbatim)In the data
Miriam, Oct 16 (ts 1792178129.483969): "somebody in Denver, and then 15 minutes later ... Lakewood"54 Denver–Lakewood hops; 7 at 15 min or less; 4 could not be driven. All refused.
Eileen, Sep 1 (canvas ¶536): "I would stack them"255 of 767 tours (33%) alone in their day. The rule does not stack; it spaces 46 of 116 tight pairs.
Eileen, Sep 1 (¶518): "your time and your gas"3 out-and-back trips over 10 min. Unchanged.
Eileen, Oct 13 (ts 1791908611.045179): "Honestly, it like fluctuates"Of 189 hops: 23 late, 45 with 0–15 min spare, 21 with 15–30, 100 with 30+.
Eileen, Sep 1 (¶512): "two back to back with a 15 minute break"Most common gap: 15 (46 hops).

Verdict: safer, a little slower. The rule removes all 23 late hops (13 at rush), but refuses 35 on-time pairs, mostly same-home back-to-back, and fits 476 of 512 tours in the same hours.

By host: Miriam 10, Deiby 5, Eileen 4, Lee 4. Caveats: their order kept; 6 rush numbers and 8 pairs estimated; no work orders or admin in the export; midday trades not measurable. Files: year-report/.

10. Who gives the tour: how Situs assigns today, and whether a nearer host beats the drive

Proposed — pending review No, not at Situs. On 87 of 139 tour days in Feb–Sep 2026 only one person went out, so rarely was anyone else nearby. A nearer host was free for 3 of 189 hops between homes (8 counting any earlier tour that day): about 1 hour saved of 40 driven in 20 months, 1 of 23 late hops fixed (4 at most). Recommendation: keep one person's day plus the language order (section 4) and drive gap (section 8).

How they assign today, reverse-engineered

Deiby Lee Miriam Eileen Lorraine total West: Carr St, Barcelona… 129 53 47 · · 229 DU houses 27 21 4 29 · 81 Arvada: Aspen Leaf, Olde Town 13 7 3 · 8 31 East Denver: Lowry, Mayor… 11 5 9 · · 25 Southwest Denver: Arizona · 1 4 · · 5
Nobody owns an area. Tours per host, Feb–Sep 2026 (371). Deiby covers every area.
Candidate ruleMatches who wentNote
Always Deiby (baseline)49%
Area owner50%Lee and Miriam take 44% of the West
Weekday rota50%Only fixed fact: Lee never Saturdays
Home owner59%Fitted to the same data, a ceiling
Spanish → Miriam or Deiby75% of 2867% if language did nothing; 5 went to Lee
Whoever is already out that day66%
Nearest host already out77% of 17181% vs 50% when two were out (16)

No owner by home, area or day: it is "whoever is already out", with Spanish as a soft first cut. Eileen: "Honestly, it like fluctuates" (Oct 13). Her stated rule (Oct 16, raw transcript): "if they speak Spanish, only Miriam and Davey can do the tour"; English split evenly between Lee and Deiby.

What PropFlow does today

As in section 4: the first person on the list with a free slot owns the day. Nothing reads language or location to pick who. The drive map (all 34 Situs homes measured) sets only the gap between one person's tours.

Would a nearer host have beaten the drive?

other host's last tour ended within the hour any time that day Hops between homes 189 Another host had a tour that day 73 …speaks the prospect's language 66 …no Saturday or new-home rule broken 59 …no tour of their own at that time 46 …already out within the hour (any time) 9 (26) …on time there and for their next 7 (23) …nearer than the host who drove 5 (11) …and both days drive less in total 3 (8)
Nearness is the last filter. 116 of 189 hops had no other host out that day.
Nearer host free and on time20 months2026
Hops between homes189104
Found: within the hour (any time)3 (8)2 (6)
Minutes saved, of driven58 (92) of 2,41233 (66) of 1,249
Late hops fixed1 (4) of 230 (2) of 13
Denver–Lakewood fixed2 (4) of 541 (3) of 32

Production drive map (24 late hops on it, 23 on earlier numbers). "Free" = no AppFolio showing; their own calendars and midday trades are not in the export, so upper bounds. Work orders carry no staff name. Mutation control: 5 planted nearer hosts found, 5 busy twins rejected.

Options

OptionFor Situs staffEngineRiskProve first
A. One person's day + language order + drive gap (recommended)Predictable owner per daySection 4 and decision 5; nothing newA far hop stays with the owner, made on time by the gapSection 8's Willows run, plus a Spanish prospect
B. Nearest free host per tourTours jump between peopleReverses Fede's primary-first rule (Sep 18, Oct 5)The midday swaps Eileen blames for lost leads; uneven load; about 1 hour gainedNo
C. Area ownersLee West, Deiby EastArea tag per list entryNot how they work (50%); breaks Spanish routingNo
D. A backup already out owns the dayFewer people on the roadOne tie-break; changes Fede's ruleNot measuredReplay, only if A leaves long hops

Gera's model: company-level calendars, an explicit rotation per function (Fede, Sep 18). Every option is an order on that one list. Scripts and outputs sit in this page's research folder.

11. Nov 4 check: weekend hours, the Saturday 9:30, Lee's calendar

QuestionAnswer (production, Nov 4)
Tour hours set for Situs?Set Nov 4 at 5:35 PM MT (Fede: "set a reasonable policy from historical data"), company level, read back on two buildings: Mon–Fri 9:00–6:30 PM, Saturday 9:00–4:00 PM, Sunday closed. From 791 AppFolio showings Jan 2025–Sep 2026: weekday starts 9:00 to 6:30 (95th percentile 5:30–6:00 PM, latest 7:00 PM); Saturday 83 showings, starts 9:00 to 5:00, 95th percentile 3:00 PM, latest in 2026 4:00 PM; Sunday 13 in 20 months, 3 in 2026, none since March. Before this write nothing was set and Clara offered 9–5 seven days. Fede, Nov 4 evening: 6:30 PM "seems very late for the winter," but go with history (winter months show as late as summer: Feb 2026 had 13 of 30 weekday showings at or after 5 PM, latest 7 PM). To confirm with Situs at their Tuesday meeting: weekday close (6:30 PM from history, or earlier in winter) and Saturday 9–4.
Company office hours?Set Oct 13: Mon–Fri 9–5, Saturday and Sunday closed. The hours sentence in texts and calls reads it; the tour offer and booking paths never do. So Clara says "closed Saturday" and offers Saturday tours in the same conversation.
The 9:30 we bookedSaturday Nov 7, 9:30–9:45 AM, Barcelona Apartments, host Deiby, booked by text Nov 4 at 2:13 PM MT after Clara offered "anytime between 9:00 AM and 4:45 PM" (tour 7febedf5…, conversation dce69fe6…).
Out of policy?No stated policy exists. Inside the default; outside the office hours row; consistent with Situs practice (every weekend showing since May is Deiby's). Recommendation: keep it. Fix the cause by setting tour hours (section 62.9 on the leasing engine page, decision 3).
Lee's calendarGoogle, connected Nov 4 at 2:00 PM MT. Lee is bookable from today.
Tour listOct 29: Deiby, Miriam, Lee. Nov 4, 5:08 PM MT: Lee, Deiby, Miriam (Fede: "put her as a primary tour giver"). Nov 4, 5:33 PM MT: Lee, Deiby, Miriam removed on Fede's word after Eileen's email. Two listed means Lee owns every day she has open time and Deiby covers her empty days; Miriam is never booked by Clara. Caveat: Lee has no Saturday tours in 238, so a Saturday ask goes to Lee unless her calendar blocks Saturdays. Both writes stamped (source names session 002, Nov 4).
Spanish routingNot built: no language on staff, no language step in the host pick. Design: one rule with attributes, leasing engine page section 62.9.
Eileen's email (read Nov 4, 5:20 PM MT)Nov 4, 1:09 PM MT, forwarding Clara's Nov 3 note to Miriam about the Lampliter 9:45 tour: "I love how well Clara is doing with these showings, but I don't want her scheduling Miriam. Miriam should be a last resort. Lee and Deiby are hired to do all the showings… I want to make sure we correct this next week." Fede replied: "most of the tours will be split between Deiby and Lee, with spanish going to Deiby." Eileen, 2:05 PM: "We just got Lee set up." Nothing about weekends or hours. Today's code cannot express "Lee and Deiby share, Miriam last resort": three listed makes Miriam a full host; two listed makes Lee own every day with Deiby only on her empty days. The tiered model (leasing engine page 62.9) is exactly this ask.
Sandbox run (Fairhaven)Blocked, no booking proven. The list write path was exercised (add, read back, remove: all pass). Live messages never got an answer: (1) any email from the corporate test tenant is marked staff because it shares a domain with the Fairhaven mailbox (process-inbound-message.ts:1562, the "same email domain" proxy the Nov 3 sender rule forbids); (2) every prospect-capable test number is marked "no robot text" by Gera (Nov 2); (3) the Fairhaven line hit a model rate limit (429) from 4:16 PM MT, three attempts failed. One staff test text may still retry until 5:55 PM MT and could create a Fairhaven tour for "Rowan Testerly"; harmless, on the company calendar.

Decisions for Fede

Pick one per row. The recommendation is first.

#DecisionOptions
1Route tours by conversation language? A new capability; whether it needs its own setting is part of the choice.A. Tag each person on the tour list with languages, matching speakers first; the tags are the switch (empty tags = today's behavior, no second setting; staff adding a tag turns routing on without a Fede press, which is the trade-off). A2. Same, plus a company setting default off that you turn on. B. A separate Spanish list tried first. C. Language as a skill on the building assignment (most Gera-shaped, most work).
2Exception to "primary owns the day": a free Spanish speaker takes a Spanish prospect even when Lee is free.Yes (it is what Eileen asked for) / No.
3English order.Lee, Deiby, Miriam (Lee primary is Gera's summary, which Eileen let stand; the order after Lee is inferred) / split Lee and Deiby evenly, as Eileen also said / confirm at their Tuesday leasing meeting.
4Clara changes the tour giver by text, email or voice, synced leads included, with texts to both people and a PMS note.Build it (the engine exists) / manager button only.
5Drive time between homes (section 8). Decided by Fede: 15-minute tours at both companies, drive-aware gap between homes, read from a drive-time map between the company's properties (one record per direction, measured once). Live only after the drive check is proven.Open for the morning: flat buffer 15 (V1) or 0 (V2), section 9. Two more choices, as recommended: no stored drive, or a meeting with no home, counts as the area's longest drive / change either. Then Situs and Western Slope move together from 30/30 to 15-minute tours with the chosen buffer: yes, after the read-only replay of both customers' tours and the end-to-end run at Willows / hold.
6Set the Situs tour list to Lee, Deiby, Miriam and drop Courtney, so no tour lands on an assistant. Needs their calendars (Tuesday).Do it as soon as they connect / wait for Hugo.

Sources and caveats

SourceWhat it gaveCaveat
#transcripts, raw threadsSep 1 whiteboard, Oct 13 follow-up, Oct 16 Miriam and team onboardingSep 1 speaker labels reconstructed by AI; Oct 13 says only "Them"/"Me", speakers inferred. The local copy of Sep 1 is a summary only.
Production tables, read-onlySitus company, 53 go-live buildings, sign-in storeNo stored last sign-in; sessions expire in 7 days, so dates are lower bounds. Courtney's Google permission for free/busy not checked.
Guest cards, Sep 1 robot dumps1,563 cards, leasing window only, language by word-count rule2% unknown on messages over 40 characters; 12 hand checks passed. Records who booked, not who gave the tour.
AppFolio property calendar + Showings report791 held showings, Jan 2025 to Sep 4 2026, assignee on allDistances are straight-line, one point per property. 2026 is partial. Per-agent showing-availability windows were not captured.
Code at today's mainPool, availability, booking, change host, staff toolsDesign pages disagree with the code: fairness ranking, drive time and holds, per-building giver lists, automatic re-hosting and "trade a tour by text" are described but do not exist; "booking never reads a person's calendar" is out of date. Details in the working notes.

PMS-in-adapters check: the decision path names no PMS. The tour's calendar-event field is named after Outlook even for Google; debt, not a blocker. Working notes: the five research reports and scripts are in the docs repo under research/situs-tours-2026-10-19/.

PropFlow Docs