Settings Redesign — the Design

One settings area with a clear home for everything you configure, whether it's yours, the company's or a building's. Built from what Gera and Fede already said over the last three weeks, with the newest word taking priority.

2026-09-24 · Settings redesign driver · proposal · replaces the "place, don't redesign" limit in ADR-0136 §4–5 (Gera, 2026-09-24)

The one thing

One Settings area with a left-hand menu, Vercel-style. Four levels: You, Company, Building, and PropFlow Admin (only visible to us). Company and Building each have the same three sections: Knowledge (facts about the place), Policies (rules Clara follows), Settings (switches and numbers, grouped by topic). The company sets the rule; a building changes it only where the company allows. Every value says where it came from.

One decision for Gera: should written rules (pet, renewal, follow-up policies) get their own "Policies" section? Recommended: yes. Answer it →

Open a section below for the sketches, the pet-fee answer, who can edit, search, the full list of 212 settings, and the 14-step build plan.

On this page: Settings coverage audit (Sep 27) · Engineering review · Open decisions

Settings coverage audit — 2026-09-27

Fede asked: "Audit the entire page, page by page and setting by setting, to make sure we've covered everything we built, and give me a report of gaps." Read-only pass over the Settings screens, the code on main (c37c1531c8), every database row for real customers, ~70 pull requests, 30 days of sessions and the docs. Every finding below was re-checked against the code; the file references are in the grey column.

TL;DR

StatusSettingsMeaning
Covered47Has a screen at the right level (customer or PropFlow Admin)
No screen39Changes Clara's behavior but is only settable by a script
Wrong level6Editable per building or per person where the ruling says company
Screen broken8A control that saves nowhere, always fails, or shows to the wrong people
Asked, not built4Fede asked for it in a session; nothing exists yet
Internal, fine20Plumbing that should stay off-screen; 8 of them are dead and should be deleted
124 deduplicated settings in total. Separately: 28 product on/off switches in server config, 10 ops switches, 25 platform config row types, 19 hard-coded lists and ~21 per-building "arms" (section 5).

Top 5 gaps

  1. Western Slope's phone routing has no screen. Office hours, the maintenance call-center route and Lease & Billing off were all set by script; the go-live checklist never asks for them.
  2. Western Slope's weekend tours disagree. Clara's knowledge says "Monday to Friday", but the booking hours still include Saturday and Sunday 10–3. Neither hours setting has a screen.
  3. No single "Clara runs leasing on her own" switch. It is spread over four switches; two of them (the first-email engine and handoff mode) have no screen at all.
  4. Five controls are broken. The tour-window toggle saves to the wrong place. "Follow-up delay" saves a value nothing reads. The AppFolio Connect button always fails for company admins. Viewers and leasing agents see building controls that always fail to save. Billing checkout has no role check.
  5. Escalation owner and tour length are still per building, against Fede's company-only ruling. The staff go-live checklist even demands an escalation owner per building.

1 · Western Slope, setting by setting

What is actually stored for Western Slope today, and whether anyone can see or change it on a screen.

SettingWestern Slope valueOn a screen?
Clara liveOn (Sep 20)Admin
Review Clara's emails before they goOff (Sep 26)Admin
Clara writes the first email to new guest cardsOn (Sep 26, Fede relayed)No invisible, uneditable
Sync showings to AppFolioOn (Sep 22)Admin
Staff can text Clara to bookOn (Sep 27)Admin
Centralized or on-site teamCentralizedAdmin
Products turned onLeasing prospects onlyAdmin
Lease & Billing on the phoneOff (Sep 23)No
Who gets escalationsThe leasing@ inboxNo
Tour hoursMon–Fri 9–6, Sat–Sun 10–3No and contradicts the knowledge text
Weekend booking cutoff"Before the weekend"No
Tour length / gap between tours30 min / 30 minYes
Who gives toursOne personYes
Video tour linkZoomYes PropFlow edits
Application linkAppFolio's own linkYes
Staff copied on Clara's emailOnYes
PropFlow copied on Clara's emailOn, hello@No
Email signaturePhone, website, leasing@No
Where leads come from / who owns the recordAppFolio guest cards / AppFolioNo
Listings feedAppFolio listings page + neighborhood infoNo
Transfer to a personKat, then Beverly, 20 s ring (Sep 21)Read-only for the customer; PropFlow edits
Office hoursMon–Fri 9–5, weekends closedNo (company level)
Maintenance callsSent to their call center (+1 970 ●●● ●●●●)No
"Something else" catch-all, emergency routeNot setNo and not asked at go-live
Buildings Clara never offers2 buildingsAdmin
Clara saves guest cards from callsOn, company + 69 of 70 buildingsPartly building half only
One conversation across homesOn (Sep 25)Internal
Per-building leasing stage, handoff mode, missed-transfer text, team email after a call, AppFolio messaging syncSet on most buildingsNo
Company knowledge (17 sections)FilledYes
Old per-company SMS / email / vendor switchesAll offDead nothing reads them; delete

2 · Gaps, by type and customer impact

SettingWhat it doesSet todayShould liveRecommendationDetail
No screen
Phone routing (office hours, catch-all, maintenance route, Lease & Billing on/off, per-role ring lists, text on ring, leasing desk phone)Where each kind of call goesScriptsCompany › Calls & messagesOne routing page; PropFlow edits, customer readskeys.ts office_hours, catch_all, maintenance.intake_route, lease_billing.module, ring_list
Tour hours, weekend cutoff, minimum notice, tour days, booking horizonWhen Clara can book a tourScriptsCompany › Leasing & toursBuild next to tour lengthsettings.tourHours, weekendBookingCutoff; settings-reads allowlist misses weekendBookingCutoff (eslint-rules/settings-reads.mjs:14-20)
First-email engine, handoff mode, leasing stage per buildingHow much Clara does on her ownScriptsCompany › Leasing (one stage)Decision 2guestCardFirstEmailEngineEnabled, handoffMode, capabilityStage
Escalation CC, digest, lapse digest, PM reminders (company), owner report period, renewal contact, PM notice modeWho hears about whatScripts / Admin onlyCompany › NotificationsOne notifications pagesettings.* notification keys
Lead source, record owner, availability source, listings feedWhere Clara reads leads and unitsScriptsAdmin › ConnectionsRead-only for customerleadSource, prospectRecordOwner, listingsFeed
Email signature, PropFlow BCCHow Clara's email looks and who is copiedScriptsCompany › EmailSignature customer-editable; BCC adminemailSignature, observerBcc
Clara's AppFolio seat, messaging sync/deliveryWhich AppFolio user Clara acts asScriptsAdmin › ConnectionsShow it; PropFlow editspms-credential.ts:461,694; Property.pmsMessagingSync
Missed-transfer text, team email after a call, tour-request text, call leg recording, routing v2Call follow-upsPer building, scriptsCompany › CallsCompany setting, default offtransferMissedOutreachEnabled, teamTourEmailAfterCallEnabled
Guest cards from calls (company half), assigned-to-Clara trigger, cross-sell, vendor calendar captureSmaller behavior switchesConfig rowsCompany › Leasing / MaintenanceFold into topic pagesCONFIG/GUEST_CARD_WRITE_FROM_CALLS#<org>
Wrong level
Escalation ownerWho owns an escalationCompany + every buildingCompany onlyRemove building value; drop the go-live rowkeys.ts ~168 writableAt org/group/property; go-live-checklist-dto.ts:369; escalation-owner-chain.ts
Tour lengthMinutes per tourCompany + building overrideCompany onlyRemove overridePropertySettingsShell.tsx:942-945
Follow-up schedules and contact limitClara's follow-up textsEdited on a building page, saved for the whole companyCompany › PoliciesMove the editorapi/automations/cadences/route.ts:64-101
Hidden AppFolio buildingsWhich buildings syncPer personCompanyStore per companyapi/settings/ignored-properties/route.ts:235-240,300-302
Office phone used as forward lineTransfer destinationPer buildingCompanyFold into routing pageFede, Sep 12
PM remindersNudges to property managersPer buildingYou › NotificationsMovepmActionReminders
Asked, not built
Phone greetingWhat Clara says when she answersCodeCompany › CallsBuild as a settingFede, Sep 22
Go-live checklist: phone rowsBlocks go-live until routing is askedOnly inbox, calendar, billingCompany › Go-liveAdd emergency, office hours, leasing forward, catch-allgo-live-checklist-dto.ts:201,218,227; Fede Sep 22
Ring list from staff profilesPick people, not typed numbersTyped name + numberCompany › CallsPick from teamHumanHandoffEditor.tsx:140; Fede Sep 20
One autonomy switchSee Decision 24 switchesCompany › LeasingDecision 2

3 · Broken or risky controls

ControlWhat goes wrongFixWhere
Tour window matching (Admin › Arms)Saves to the building record; Clara reads the leasing record. The toggle does nothing.Write where it is readapi/admin/arms/route.ts:187 vs tour/tour-window-flag.ts:79-80; arms-registry.ts:374
"Follow-up delay" (Building)Saved but never read; the real delay is a fixed 60 min in codeWire it or remove itPropertySettingsShell.tsx:991-993; settings-resolver.ts:258; apply-tour-intent.ts:71
AppFolio Connect buttonShown to everyone; the server accepts PropFlow staff only, so company admins always get an errorHide for customers (ruling: "Only us")OrganizationSettingsShell.tsx:1548-1550; api/integrations/pms/appfolio/route.ts:243-245
Building settings for viewers and leasing agentsControls look editable; every save failsRead-only view for those rolesPropertySettings.tsx:1038; require-entity-edit.ts:5-9
Billing checkoutAny signed-in member can start checkout; the Stripe customer is found by the viewer's email, not the companyAdmin-only; key by companyapi/billing/checkout/route.ts:27,43
Repair rating cardShows even when Maintenance is off (Western Slope)Hide by modulesettings/notifications/client-page.tsx:30
Pages hidden by moduleTheir save routes still accept writesCheck module on saveapi/settings/tour-duration/route.ts:232-236; leasing-settings/route.ts:227; maintenance-settings:84
Company nameCard shows to admins only; server lets any member save (on purpose)Decision 4api/settings/company-name/route.ts:24-28,75 (ADR-0135)
Products switch (low)Voice renewals check ignores building overridesRead the resolved valueescalation/renewals-module-route.ts:93

4 · Engineering switches and hard-coded lists

Rule (Fede, Sep 17): no engineering feature flags. Risky behavior becomes a company or building setting, default off, or is deleted.

KindCountRecommendationExamples
Product on/off switches in server config28 (15 already listed on Admin › Arms)Convert the ones still in use to company settings; delete the restTURNOVER_WORKFLOW_ENABLED, PMS_CANCEL_ENABLED, APPFOLIO_ENABLED, EMAIL_NTV_FIRM_ROUTING_ENABLED, TOUR_DECIDER_MODE, VOICE_COMPANY_HEAD_HOMES (delete)
Ops switches10Keep (alarms, meters, kill switches)PMS_OUTAGE_ALARM, TRAFFIC_ORG_SCOPE_METER, PROPFLOW_ROSTER_GATE
Platform config rows25 kindsKeep; delete the orphan feature rowCONFIG/FEATURES is read by nothing and disagrees with CONFIG/SETTINGS
Hard-coded lists of buildings, companies, numbers19Customer ones become settings; test ones move to one test registryTEST_PROPERTY_IDS, DARK_FEATURE_BENCH_IDS, flipped-dispatch-orgs, PHONE_TO_PROPERTY_MAP, LISTINGS_CONFIG, KNOWN_PROPERTIES, NEVER_DISPOSABLE_ORG_IDS
Per-building "arms"~21Per the cleanup page: fold into per-area off / drafts / live, delete the restAdmin › Arms
Dead settings to delete8Deletekeypress accept mode, call_recording, caller-number passthrough, follow-up channel, brand color, logo, CONFIG/FEATURES, old per-company SMS/email/vendor flags

5 · Decisions for Fede Proposed — pending review

1 · Phone routing screen

Every Western Slope routing change so far was a script; Fede's Sep 22 rule is "we should not go live until we ask them".

2 · How Clara's autonomy is set

Replaces Clara live, review emails, first-email engine and handoff mode; matches the cleanup page's per-area stage.

3 · Tour length and escalation owner

Fede, Sep 24: "nothing should be set at the property level".

4 · When the server and the screen disagree on who can edit

5 · Engineering switches and lists

6 · Method

SourceSize
Settings screens (customer and Admin)Every page and card
Settings defined in code431 entries, deduplicated to 124
Database, real customers (Western Slope first)~180 keys
Pull requests~70
Fede's sessions, last 30 days24 asks
Docs pagesSettings hub, cleanup, placement, onboarding

Not covered or unconfirmed: whether a live Western Slope booking actually offers weekend slots (the data says yes; not tested with a booking). Per-building counts for Western Slope's leasing stage, handoff mode and messaging sync come from the inventory, not a fresh query. Two claims from the brief did not hold: the AppFolio check is stricter on the server, not looser; and there are two live product stores plus building overrides and one orphan row, not three disagreeing stores. Saving leasing settings merges values; it does not wipe other fields. Other customers were checked only for the cold flags.

Engineering review: what changed (Trinity, Sep 24)

Gera asked the engineering bridge to check the plan for over-engineering (Fede's concern) without pausing work. Trinity's verdict: the shape is right and mostly already decided; the extra weight is in three places: a request flow, an audit line, and screens for settings nobody asked for. Changes applied the same day (thread):

RowChangeWhy
sr-building-policiesDeferred "Ask the company to change". A locked row is grey + "Locked by your company"; the lock stays.Everyone edits in v1, so a request inbox is redundant until roles start blocking. Returns then.
sr-source-lineBuilt on the source tags that already exist (merged #11766). The line shows only when a value is inherited, a PropFlow default, or unset. Deferred: the who/when/old→new audit line.One implementation, no second label set; the audit line needs a new log.
sr-building-topicsDeferred "Buildings that differ" until after the polish pass; no drill-down list until a customer asks.No live customer has enough buildings to need it yet.
sr-search-scopeCut. The @settings tag moves into sr-search-settings; tags for other pages (@tenants) are left for a future search project.A search program, not settings work.
sr-trimMoved up to right after the menu, with a new rule: a setting that is stored but has no screen gets one only if a customer asked for it or the onboarding checklist needs it.Fede, Sep 14/16: short list at launch, add settings as clients ask. The list had 86 new screens.
new sr-signin-methodSign in with an app or email code, pulled out of the "You" row and done first.A live Situs blocker: overseas staff can't receive text codes.
sr-company-topicsThe guest-card replies switch (#11806) goes to Leasing & tours, company-only. The catch-all transfer is company-only. All transfer numbers, including the emergency line, are set by PropFlow and read-only to customers. Go-live = the client's onboarding checklist, read-only.Fede's Sep 22 phone-routing rules; the emergency transfer is a life-safety slot (#11810) that needs a proof call, not a retype.
all policy rowsEvery new policy field becomes a registry key read through the resolver; no new loaders. Money facts are never given a default.#11790 makes resolver-only reads a lint rule; #11766 "defaults do not invent customer policy".
remove-candidates"Send renewals without my approval" and renewalOutreachInitialDays are not removed without the renewals owner's word. The tour *Enabled flags: delete the flag, keep the winning code path.Fede's rollout needs one per-building send switch; Sep 17: no engineering feature flags.

Unchanged and confirmed: the menu, the four levels, Knowledge / Policies / Settings, and the lock. One more question went to Gera: keep or drop the greyed "coming soon" rows (Open decisions).

What it looks like

Low-fidelity sketches with real field names. The left menu is the same on every page. The page itself stays one narrow column of cards, following our screen rules. Nothing below is a finished visual design: per Gera's order, polish comes last (tier → organize → pretty).

1 · Company › Policies — where the pet fee is set

Settings › Example Co. › Policies

Company policies

The rules Clara follows at every building. Lock a rule to keep buildings from changing it.

Pets
Pet feeSet by your company
$300 one-timeBuildings can change this
Monthly pet rentSet by your company
$35 / petBuildings can change this
Breed restrictionsNot provided: Clara says "not on file" and asks your team
Add
Quiet hours
No outreach betweenSet by your company
9 pm – 8 amLocked for all buildings

2 · Building › Policies: the same rules, seen from one building

Settings › Oak Street › Policies

Oak Street: building policies

Rules from your company show here. green = this building may change it · grey = locked by the company.

Pets
Pet feeSet here · company default $300
$400 one-timeUse company default
Monthly pet rentFrom your company
$35 / petChange for Oak Street
Quiet hours
No outreach betweenLocked by your company
9 pm – 8 amAsk the company to change

The locked row stays visible but can't be edited, and "Ask the company to change" sends a request instead of changing the value. That's Gera's Sept 9 memo ("grayed out… send a message to the firm") and the Sept 16 rule: asking is not changing.

3 · Company › Settings › Leasing & tours: switches and numbers

Settings › Example Co. › Settings › Leasing & tours

Leasing & tours

Defaults for every building. Buildings can override anything marked "Buildings can change this".

Tours
Tour lengthSet by your company
30 min
Weekend tours need a confirmationPropFlow default · your company hasn't set this
Off
Buildings that differ2 of 40 buildings override something here
Show
Applications
Application linkSet by your company · 2 buildings use their own
example.appfolio.com/apply

"Buildings that differ" answers Fede's Sept 14 question: with 100 buildings, show only the ones that are different. Unbuilt fields appear greyed with an ⓘ "coming soon" (Gera, Sept 8). Settings for modules the customer hasn't bought are hidden, not greyed (Fede, Sept 14/16).

All names and amounts in these sketches are made up. None are a customer's real settings.

Already decided: newest word wins

Everything below was said before, so nobody needs to say it again. Where an older statement was later changed, only the newer one is listed; the changes are in What changed.

TopicDecisionWho · when
Go-aheadRedesign Settings now: "a clear pretty home… clean and standard" per level, with the knowledge base included. This lifts ADR-0136's "place now, redesign later" limit.Gera · Sep 24
ShapeOne Settings area, a left-hand menu plus a body. Vercel is the model; Stripe for elegance. "A complex system presented in a simple manner." Not one giant page.Gera · Sep 7, Sep 14, Sep 16
LevelsYou (profile) · Company · Building · Admin. The word is "organization/company", never "portfolio". The page follows the building picker: no building picked shows Company, a building picked shows that building.Gera · Sep 7, Sep 8, Sep 15
AdminOnly PropFlow staff see it. Higher-privilege and internal switches live here, not in anyone's profile.Gera + Fede · Sep 7, Sep 14
GroupingFede handed it to Gera: "move everything to one place, and then you decide how to group it." Gera's sketch: Knowledge / Settings / Policies under both Company and Building, topics like leasing, maintenance, connections, billing, notifications.Sep 16
Company is the rule bookThe company sets quiet hours, pet fees and policies, and chooses which ones a building may change. A building sees a green mark where it may change something. A locked value shows greyed out with "ask the company". Every change is logged.Gera · Sep 9, Sep 10, Sep 15, Sep 16
Pet fee rule"If the org says the pet policy is locked, it's 10 bucks. The property policy can't override it… If it's unlocked… property can override it, but doesn't mean they have to." If nothing is set, Clara says it isn't on file. Never make up a fee.Gera · Sep 14, Sep 15
DefaultsGood PropFlow defaults for most things (follow-up schedules and the like), but no default for money facts such as pet fees. Everything that sends is off by default.Fede · Sep 2, Sep 16; Gera · Sep 14
Who can editEveryone in the company can edit for now, operators and property managers alike. Roles exist but block nothing. Exception: the property-system connection and sending email are set up by PropFlow only ("Only us").Gera · Sep 15, Sep 16, Sep 24; Fede · Sep 16
Knowledge baseIt belongs in Settings as its own section at Company and Building. Today it's buried on the building page, and company knowledge has no screen at all.Fede + Gera · Sep 16, Sep 24
ConnectionsThe property-system connection moves to Company, set up by PropFlow during onboarding and locked afterwards. The CRM choice happens in the back office. Integrations can be disconnected and reconnected by the customer.Fede · Sep 16, Sep 22; Gera · Sep 12
CalendarA calendar belongs to a person (You › My calendar). Calendar visibility lives on Leasing › Calendar, not in Settings.Gera · Sep 15, Sep 18; Fede · Sep 16
Onboarding vs SettingsOnboarding fills things in; Settings is where you change them. Billing and calendar are not onboarding steps. The go-live checklist sits in Settings.Gera · Sep 8, Sep 17, Sep 18
What to leave outSettings that only describe how things work internally. Toggles that exist only because of a bug fix. Settings for modules not bought. A long list at launch: add settings as clients ask.Fede · Sep 14, Sep 16; Gera · Sep 9
SearchFind a setting by searching ("pet fees" lands on the exact setting), using the existing search with an @settings tag that the current page adds automatically.Gera · Sep 8, Sep 24
Order of work"First phase, determine what goes in what tier. Second phase, organize… third phase, make it pretty… then… search."Gera · Sep 16
Security methodThe sign-in method lives on the personal page. Text-message codes don't reach overseas staff, so offer an app or email code.Gera · Sep 22; Situs · Sep 21–23

What changed (older → newer)

Where do the pet fees live? (Gera, Sep 24)

Today

  • Only on each building, one at a time: pet fee, pet deposit, pet rent and unauthorized-pet fee, edited under "Pet Fees" in the building's pricing.
  • No company-wide value exists. A company with 40 buildings types the same fee 40 times.
  • Breed, weight and max-pets rules are stored but have no screen at all.
  • The unauthorized-pet fee can be edited but is never shown.

After

  • Company › Policies › Pets: the company's pet fee, deposit, rent and rules, each with a "Buildings can change this" switch.
  • Building › Policies › Pets: shows the company value with "From your company". If it's unlocked, "Change for this building" sets a building value ("Set here · company default $300"). If it's locked, it's grey with "Ask the company to change".
  • Never invented: if neither level has a fee, Clara says it isn't on file and asks your team (Gera, Sep 15).
  • The same pattern covers every rule: quiet hours, application fees, late fees, renewal rules.

This is the general answer to "it's very overwhelming to throw it all on one page": a building page shows only what applies to that building and marks what it may change. A company page shows the default once, with a count of the buildings that differ.

Who can see and edit

  • Company and Building sections: everyone in the company can see and edit, including property managers. Roles exist (owner, admin, property manager, leasing, maintenance, view-only) but block nothing in version 1.
  • You: only you.
  • PropFlow Admin: PropFlow staff only.
  • Two exceptions, set up by PropFlow and shown read-only to the customer: the property-system connection (AppFolio and others) and the sending email address. Changing either can break the whole integration.
  • Every change is recorded: who, when, and the old and new value, shown as the "Set by … · date" line under each value.
  • Later, not now: role-based limits (e.g. only an operator changes company rules). The design leaves room for it: the lock switch and "ask the company" already separate who decides from who asks.

Search

There is one search box, not a second one inside Settings. When you open search from inside Settings, it starts with an @settings tag already added, so it only looks through settings. Remove the tag to search everything. The same works everywhere: open search on the Tenants page and it starts as @tenants. Searching "pet fee" lands on the exact row with that row highlighted, at the level you're on.

This comes last in the build order (Gera, Sep 16: search after "make it pretty"). Settings search can be built from the settings list that already exists in the code (82 named settings), so every setting is findable by its plain-English name and aliases.

Look and feel

What goes where: every setting

All 212 settings that exist today, each placed on its new page. On screen means it can be changed in the app today; stored, no screen means the value exists but only code can change it; coming soon shows greyed out until it is built. Remove? marks settings the conversations said to drop (internal switches, duplicates, dead values). Every row was traced to the code on main.

You 15 · Company 117 · Building 54 · PropFlow Admin 26 · on screen 109 · stored, no screen 69 · coming soon 34 · stays 41 · moves here 64 · new screen 86 · remove? 21

You · 15 settings

Notifications (4)

SettingWho sets itTodayChange
How many reminderspersonalon screenmoves here
How often reminders repeatpersonalon screenmoves here
Remind me about pending approvals and signaturespersonalon screenmoves here
Which emails I get (opt in per notification)personalcoming soonnew screen

Profile (8)

SettingWho sets itTodayChange
Email (read-only, from sign-in)personalon screenstays
Namepersonalon screenstays
Phone (so we recognise you when you call)personalon screenstays
Profile photopersonalon screenstays
Show times in each building's time zonepersonalon screenstays
Your role (read-only)personalon screenstays
Company connections status on Profilepersonalon screenremove?
Dashboard layout and card time windowspersonalon screenremove?

Sign-in & security (1)

SettingWho sets itTodayChange
Two-step sign-in methodpersonalon screenmoves here

My calendar (2)

SettingWho sets itTodayChange
My calendar (Google/Microsoft)personalon screenstays
My calendar (shown on the company page for non-admins)personalon screenremove?
Company · 117 settings

Knowledge · General topics (2)

SettingWho sets itTodayChange
Policies & knowledge (free-text sections)buildings can changeon screenmoves here
Structured facts Clara quotes (hours, fees, utilities, pets…)buildings can changecoming soonnew screen

Knowledge · Leasing & tours topics (20)

SettingWho sets itTodayChange
Admin feebuildings can changeon screenmoves here
Application feebuildings can changeon screenmoves here
Card / ACH payment feesbuildings can changeon screenmoves here
Early termination (× rent)buildings can changeon screenmoves here
Fees (one per fee type)buildings can changeon screenmoves here
Holding depositbuildings can changeon screenmoves here
Key fob depositbuildings can changeon screenmoves here
Month-to-month feebuildings can changeon screenmoves here
Other feesbuildings can changeon screenmoves here
Pet deposit (refundable)buildings can changeon screenmoves here
Pet fee (one-time, nonrefundable)buildings can changeon screenmoves here
Pet policy (breeds, weight, how many)buildings can changestored, no screennew screen
Pet rent (monthly)buildings can changeon screenmoves here
Renters insurance (min liability, admin fee, provider)buildings can changeon screenmoves here
Returned payment (NSF) feebuildings can changeon screenmoves here
Screening criteriabuildings can changecoming soonnew screen
Security depositbuildings can changeon screenmoves here
Unauthorized pet feebuildings can changeon screenmoves here
Unit transfer feebuildings can changeon screenmoves here
Utility setup feebuildings can changeon screenmoves here

Policies · General topics (3)

SettingWho sets itTodayChange
Fair housing statementcompany onlycoming soonnew screen
How long records are keptcompany onlycoming soonnew screen
Who may approve what Clara sendscompany onlycoming soonnew screen

Policies · Leasing & tours topics (7)

SettingWho sets itTodayChange
Follow-up schedulebuildings can changecoming soonnew screen
Follow-ups: inquiry never repliedcompany onlyon screenmoves here
Follow-ups: replied, then went darkcompany onlyon screenmoves here
Follow-ups: tour proposed, never confirmedcompany onlyon screenmoves here
Follow-ups: toured, never appliedcompany onlyon screenmoves here
Only suggest other buildings with the same ownercompany onlycoming soonnew screen
Protected classesPropFlow onlyon screennew screen

Policies · Maintenance topics (2)

SettingWho sets itTodayChange
Follow-ups: vendor never acknowledged a dispatchcompany onlyon screenmoves here
Follow-ups: vendor never answered a quote requestcompany onlyon screenmoves here

Policies · Renewals & collections topics (3)

SettingWho sets itTodayChange
Follow-ups: past-due balancecompany onlyon screenmoves here
Late fee (% or flat) and grace periodbuildings can changeon screenmoves here
State notice periodsPropFlow onlycoming soonnew screen

Policies · Calls & messages topics (4)

SettingWho sets itTodayChange
Contact limit per follow-up sequencecompany onlyon screenmoves here
Legal contact hours (8am–9pm)PropFlow onlyon screennew screen
Overall contact limit (max messages per person)company onlyon screenmoves here
Texting consent rulescompany onlycoming soonnew screen

Policies · Notifications topics (1)

SettingWho sets itTodayChange
Fixed reminders shown read-only (tour reminders, renewal no-response, maintenance, owner report…)PropFlow onlyon screenstays

Settings › General (10)

SettingWho sets itTodayChange
Brand colorcompany onlycoming soonnew screen
Brand name Clara usesbuildings can changecoming soonnew screen
Centralized or on-site teambuildings can changestored, no screennew screen
Company name (the name Clara's emails go out under)company onlyon screenstays
Company state/jurisdiction (when building unknown)company onlystored, no screennew screen
Company time zone (for calls not tied to a building)company onlystored, no screennew screen
Holiday closuresbuildings can changecoming soonnew screen
Logocompany onlycoming soonnew screen
Office hours (when the front desk is staffed)buildings can changeon screenmoves here
Wording per building typebuildings can changecoming soonnew screen

Settings › Leasing & tours (16)

SettingWho sets itTodayChange
Application link: same link for everyone or one per prospectcompany onlyon screenstays
Areas (groups of buildings)company onlycoming soonnew screen
Buffer between tourscompany onlyon screenstays
Confirm tours when no calendar is connectedbuildings can changecoming soonnew screen
Drive time between areascompany onlycoming soonnew screen
How far ahead tours can be bookedbuildings can changecoming soonnew screen
Listings feedbuildings can changestored, no screennew screen
Minimum notice before a tourbuildings can changestored, no screennew screen
Reply to all guest cards or only automatic onescompany onlystored, no screennew screen
Suggest other buildings to prospectscompany onlystored, no screennew screen
Tour hours (when tours can be booked)buildings can changestored, no screennew screen
Tour lengthbuildings can changeon screenstays
Travel time between tours at different buildingsbuildings can changecoming soonnew screen
Where new leads come from (email or AppFolio guest cards)company onlystored, no screennew screen
Which days tours are offeredbuildings can changestored, no screennew screen
Who shows tours (rotation, primary first)company onlyon screenstays

Settings › Maintenance (8)

SettingWho sets itTodayChange
Emergency on-call list — commercialbuildings can changeon screenstays
Emergency on-call list — residentialbuildings can changeon screenstays
Emergency phone numberbuildings can changeon screenmoves here
Only accept maintenance requests from verified residentsbuildings can changecoming soonnew screen
Preferred vendors by trade (ranked)buildings can changeon screenstays
Put vendor appointments on the calendarPropFlow onlystored, no screennew screen
Try the next preferred vendor when one does not answercompany onlystored, no screennew screen
Who takes maintenance calls (Clara or an outside call centre)buildings can changestored, no screennew screen

Settings › Calls & messages (16)

SettingWho sets itTodayChange
Email signaturecompany onlystored, no screennew screen
How callers pick a building on the company linebuildings can changecoming soonnew screen
Keep call recordingscompany onlystored, no screennew screen
Office phone (where Clara transfers calls)buildings can changeon screenmoves here
Phone greetingbuildings can changecoming soonnew screen
Quiet hours (no outbound texts/calls)buildings can changestored, no screennew screen
Staff must press 1 to accept a transferred callcompany onlystored, no screennew screen
Talk to a person (ring a list or take a message)buildings can changeon screenstays
Text reply when a job is handled outside Clarabuildings can changecoming soonnew screen
Text the staff member while their phone ringsbuildings can changestored, no screennew screen
Transfer number per rolebuildings can changecoming soonnew screen
Where to send 'everything else' callscompany onlystored, no screennew screen
Who handles each kind of call (Clara or outside)buildings can changecoming soonnew screen
Who to ring for everything elsebuildings can changestored, no screennew screen
Who to ring for leasing callsbuildings can changestored, no screennew screen
Who to ring for maintenance callsbuildings can changestored, no screennew screen

Settings › Notifications (3)

SettingWho sets itTodayChange
Extra addresses copied on staff noticesbuildings can changestored, no screennew screen
Share staff notices with PropFlowcompany onlyon screenstays
Reminder emails on for this company (+ which address)PropFlow onlystored, no screenremove?

Settings › Connections (8)

SettingWho sets itTodayChange
AppFolio connection (database, client ID, secret; disconnect)PropFlow onlyon screenstays
Building mailbox (Outlook)PropFlow onlyon screenmoves here
Buildings hidden from AppFolio synccompany onlyon screenstays
Clara replies from your mailbox or a PropFlow-hosted onePropFlow onlystored, no screennew screen
Leasing email (shared inbox connection)PropFlow onlyon screenstays
One inbox for the company or one per buildingPropFlow onlystored, no screennew screen
Who owns the prospect record and whether PropFlow writes back to AppFoliocompany onlystored, no screennew screen
How changes are written back to AppFoliocompany onlycoming soonremove?

Settings › Team (5)

SettingWho sets itTodayChange
Change a teammate's rolecompany onlyon screenstays
Invite a teammate (name, email, role, which buildings)company onlyon screenstays
Remove a teammatecompany onlyon screenstays
Who is copied on escalationsbuildings can changestored, no screennew screen
Who is responsible when Clara escalates a buildingbuildings can changestored, no screennew screen

Settings › Billing (2)

SettingWho sets itTodayChange
Invoicescompany onlyon screenstays
Plan, units, monthly price, renewal, manage subscriptioncompany onlyon screenstays

Settings › Go-live (7)

SettingWho sets itTodayChange
Before Clara goes live (checklist)company onlyon screenstays
Clara live for this companyPropFlow onlyon screenmoves here
Email: Clara live or watching onlyPropFlow onlycoming soonnew screen
Resident Services (lease billing) on or offPropFlow onlystored, no screennew screen
Texts: Clara live or watching onlyPropFlow onlycoming soonnew screen
What Clara is live for, per job (live / observe)PropFlow onlycoming soonnew screen
Which modules are on (Leasing, Maintenance, …)PropFlow onlyon screenmoves here
Building · 54 settings

Knowledge · General topics (4)

SettingWho sets itTodayChange
Amenities (community and unit)building onlyon screenmoves here
Neighborhood (dining, transit, parks…)building onlyon screenmoves here
Upload a document for Clara to learn frombuilding onlyon screenmoves here
Utilities and in-unit laundrybuilding onlyon screenmoves here

Knowledge · Leasing & tours topics (4)

SettingWho sets itTodayChange
Parking price range and notesbuilding onlyon screenstays
Specials / concessionsbuilding onlyon screenmoves here
Storage unit $/mobuilding onlyon screenstays
Which month a 'month free' special applies tobuilding onlystored, no screennew screen

Policies · Maintenance topics (3)

SettingWho sets itTodayChange
Trades added to every turnoverbuilding onlyon screenmoves here
Turnover timing (inspect after move-out, unit ready after)building onlyon screenmoves here
Turnover vendor per trade (this building only)building onlyon screenmoves here

Policies · Renewals & collections topics (9)

SettingWho sets itTodayChange
Also call the tenant with the offerbuilding onlyon screenmoves here
Days after the 1st before a payment counts as latebuilding onlyon screenmoves here
Max late payments to be eligiblebuilding onlyon screenmoves here
Max unpaid rent to be eligiblebuilding onlyon screenmoves here
Minimum renewal increasebuilding onlyon screenmoves here
Month-to-month premiumbuilding onlyon screenmoves here
Renewal rent strategy (match market / minimum increase)building onlyon screenmoves here
Renewal term options (6, 12, month-to-month)building onlyon screenmoves here
Send renewals without my approval (autonomy)building onlystored, no screenremove?

Settings › General (8)

SettingWho sets itTodayChange
Building addressbuilding onlystored, no screennew screen
Building phone (public)building onlyon screenmoves here
Building state/jurisdictionbuilding onlystored, no screennew screen
Building status (active/onboarding/sold)building onlystored, no screennew screen
Building time zonebuilding onlyon screenstays
Building type (residential/commercial)building onlystored, no screennew screen
Building websitebuilding onlyon screenmoves here
Work-order ID prefixbuilding onlystored, no screennew screen

Settings › Leasing & tours (6)

SettingWho sets itTodayChange
After-tour follow-up channelbuilding onlystored, no screennew screen
Application link (the URL)building onlyon screenstays
New lease templatebuilding onlycoming soonnew screen
Start Clara on AppFolio leads assigned to herbuilding onlystored, no screennew screen
Wait before the after-tour follow-upbuilding onlyon screenstays
Write the guest card in AppFolio when a call endsbuilding onlyon screenmoves here

Settings › Maintenance (4)

SettingWho sets itTodayChange
Auto-approve outside vendor quotes under $building onlyon screenstays
In-house handyman for this buildingbuilding onlystored, no screennew screen
Maintenance tech phonebuilding onlyon screenstays
Vendors get a work-order number or a PO numberbuilding onlyon screenmoves here

Settings › Renewals & collections (2)

SettingWho sets itTodayChange
Open renewals this many days before lease endbuilding onlyon screenstays
Renewal contact email/phonebuilding onlystored, no screennew screen

Settings › Calls & messages (4)

SettingWho sets itTodayChange
Building's email address Clara sends fromPropFlow onlystored, no screennew screen
Caller ID namebuilding onlycoming soonnew screen
Email sending domainPropFlow onlycoming soonnew screen
Record the transferred part of maintenance callsbuilding onlystored, no screennew screen

Settings › Notifications (6)

SettingWho sets itTodayChange
Owner report period (weekly/monthly)building onlystored, no screennew screen
Renewal lapse digest emailbuilding onlystored, no screennew screen
Slack channel/mention for leasing activityPropFlow onlystored, no screennew screen
Weekly owner report recipientsbuilding onlyon screenstays
Which events notify the team (all / outcomes only)building onlystored, no screennew screen
Who is emailed when a lease is signedbuilding onlyon screenstays

Settings › Connections (4)

SettingWho sets itTodayChange
Building calendar (for tours)building onlyon screenstays
AppFolio sync status on the building pagebuilding onlyon screenremove?
Company mailbox status line on the building pagebuilding onlyon screenremove?
Prospect record owner (per building)building onlystored, no screenremove?
PropFlow Admin · 26 settings

Platform (6)

SettingWho sets itTodayChange
Email sending (global kill switch)PropFlow onlystored, no screennew screen
SMS messaging (global kill switch)PropFlow onlyon screenstays
Vendor dispatch emails (global)PropFlow onlyon screenstays
Vendor quote emails (global)PropFlow onlyon screenstays
Feature modules pointer cardPropFlow onlyon screenremove?
Old /admin/settings URLPropFlow onlyon screenremove?

Per customer (20)

SettingWho sets itTodayChange
Building's ID in AppFolioPropFlow onlystored, no screenmoves here
Forward to outside call centre through PropFlow's bridgePropFlow onlystored, no screenmoves here
Hold Clara's emails for PropFlow reviewPropFlow onlystored, no screennew screen
New call routing (proof of concept)company onlystored, no screenmoves here
One conversation per person across buildingscompany onlystored, no screenmoves here
Sync tours to AppFolio showingsPropFlow onlystored, no screennew screen
Test company markerPropFlow onlystored, no screennew screen
Where availability is read from (per building)PropFlow onlystored, no screennew screen
Where unit availability is read fromPropFlow onlystored, no screennew screen
Which tools Clara may use per jobPropFlow onlycoming soonmoves here
aiAutoApproveThreshold (leasing copy)PropFlow onlystored, no screenremove?
applicationLeasePolicyPropFlow onlystored, no screenremove?
renewalOutreachInitialDaysPropFlow onlystored, no screenremove?
tickerSelfHealEnabledPropFlow onlystored, no screenremove?
tourChannelMatchEnabledPropFlow onlystored, no screenremove?
tourInviteV2EnabledPropFlow onlystored, no screenremove?
tourPipelineV2EnabledPropFlow onlystored, no screenremove?
tourTemplateDeferralEnabledPropFlow onlystored, no screenremove?
tourWindowMatchingEnabledPropFlow onlystored, no screenremove?
turnIntegrityTypedToolResults / SingleWriter / ReviewGate / OutputGatePropFlow onlystored, no screenremove?

Open decisions

Most questions were settled by the decider (below). One goes to Gera.

1 · Do written policies get their own section? for Gera

Should the written rules Clara follows (pet policy, renewal policy, follow-up rules) get their own "Policies" section next to "Knowledge" and "Settings", for the company and for each building?

Recommended. It matches Gera's Sep 16 sketch, Fede's Sep 9 ask, and the settings list Gera signed Sep 14 (it already treats policies as their own company-lockable kind). Both decider passes picked it; it came up for a human only because it mentions renewals. Answer it here →

The sketches above assume "Yes". If the answer is "No", only the menu changes; the pages and cards stay the same.

Settled by the driver (in plan, reversible)

QuestionRulingWhy
Is Admin a fourth level inside this menu or a separate back-office page?Inside the menu, visible only to PropFlow staffIt already lives at /settings/admin (merged Sep 16). Moving it again costs customers nothing and us a redirect.
Does the knowledge base keep its place on the building page?No. It moves to Building › Knowledge, and the building page links there.Gera Sep 24 and Fede Sep 16: knowledge is a settings section; "buried in a property" is the complaint.
A second search box in the menu?No. Use the one global search with the @settings tag.Gera Sep 24: "we already have the wide search… it has like maybe like an at symbol with settings as like a tag".
Groups of buildings (a level between company and building)?Not in this redesignThe inheritance engine owns it (building → group → company). Settings shows whatever that engine resolves, so a group level can be added later without redesigning.
What about the old "one entry, four sub-navs" board row?Folded into this groupIt said "not a wholesale redesign"; Gera's Sep 24 ask replaces that.
Billing: staff-only today (Fede, Sep 8: "hide billing for now") or on the company page (Gera, Sep 17)?Company › Settings › Billing, visible to the customerNewest word (Sep 17) wins. Row 7 ships it; flip back in one line if Fede still wants it hidden.
Customer admins can connect AppFolio and the leasing mailbox today. Should they?Read-only for customers; PropFlow sets it upFede, Sep 16: "Only us"; a wrong change breaks the integration. Customers still see the status and can ask for a reconnect.
Centralized vs on-site is stored once per company, but Sep 14 says it varies per buildingCompany default, buildings can change itGera and Fede, Sep 14: "it could be hybrid". This fits the same inherit-and-override pattern as everything else.
Follow-up schedules are edited per building, but the drawer says they apply to the whole accountCompany › Policies › Follow-ups, buildings can change themThe drawer's own wording, plus the Sep 8 end-state design.

The build plan

Each row below becomes one item on the board in its own group, Settings redesign. Each ships as small pull requests (≤300 lines, every one branched off main) and works on its own when it lands. Build order follows Gera's Sep 16 sequence: tier → organize → pretty → search.

#RowWhat shipsPhase
0 ✓sr-adr merged #11824Record the Sep 24 go-ahead and this layout in ADR-0136 (amendment), so the old "place, don't redesign" limit is formally lifted.tier
1sr-menuThe left menu (You / Company / Building / Admin, each with Knowledge · Policies · Settings) around today's pages. No cards move yet; every existing page is reachable from the menu.organize
2sr-company-knowledgeCompany › Knowledge: the first screen for company-wide knowledge (the data already exists and feeds Clara, but today only a script can write it). Part 1 lists it; part 2 edits it.organize
3sr-building-knowledgeBuilding › Knowledge: the building knowledge card moves off the building page into Settings, and the building page links to it.organize
4sr-source-lineThe "where this value came from" line on every setting ("Set by your company · Set here · PropFlow default · Not provided"), from the settings list and the inheritance engine that already exist. Tour length first, then the rest.organize
5sr-company-policiesCompany › Policies with the "Buildings can change this" switch. Pets first (pet fee, pet rent, restrictions), then quiet hours, renewals, turnovers, follow-ups.organize
6sr-building-policiesBuilding › Policies: inherited rules with the green/grey marks, "Change for this building", "Use company default", and "Ask the company to change" (a request, not an edit).organize
7sr-company-topicsSplit today's long Company page into topic pages (General, Leasing & tours, Maintenance, Renewals & collections, Calls & messages, Notifications, Connections, Team, Billing, Go-live), one topic per PR.organize
8sr-building-topicsThe same topic pages for a building, plus "Buildings that differ" on each company page.organize
9sr-trimHide settings for modules the customer hasn't bought; move internal-only switches to Admin; remove the dead ones on the list.organize
1bsr-signin-methodSign in with an app or email code (overseas staff can't receive texts). First from the "You" row.organize
10sr-youYou: Profile, Sign-in & security (app or email code), My calendar, My notifications (opt-in).organize
11sr-polishThe visual pass: Vercel/Stripe-grade spacing and type, proper pickers instead of browser drop-downs, empty and loading states.pretty
12sr-search-settingsSearch finds any setting by name or alias and lands on the exact row, highlighted.search
13sr-search-scopeThe page-aware search tag (@settings on Settings, @tenants on Tenants), removable to widen the search.search

Where this came from

Five searches on Sep 24, read-only: 40 recorded meetings and 57 days of the WhatsApp mirror in #transcripts; 6,697 Claude Code chats, where only words Gera typed himself count (54 quotes re-checked word for word); company Drive, Gmail and brand docs; every docs page on settings; and the code on main. Key moments:

PropFlow Docs