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)
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
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.
| Status | Settings | Meaning |
|---|---|---|
| Covered | 47 | Has a screen at the right level (customer or PropFlow Admin) |
| No screen | 39 | Changes Clara's behavior but is only settable by a script |
| Wrong level | 6 | Editable per building or per person where the ruling says company |
| Screen broken | 8 | A control that saves nowhere, always fails, or shows to the wrong people |
| Asked, not built | 4 | Fede asked for it in a session; nothing exists yet |
| Internal, fine | 20 | Plumbing 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
What is actually stored for Western Slope today, and whether anyone can see or change it on a screen.
| Setting | Western Slope value | On a screen? |
|---|---|---|
| Clara live | On (Sep 20) | Admin |
| Review Clara's emails before they go | Off (Sep 26) | Admin |
| Clara writes the first email to new guest cards | On (Sep 26, Fede relayed) | No invisible, uneditable |
| Sync showings to AppFolio | On (Sep 22) | Admin |
| Staff can text Clara to book | On (Sep 27) | Admin |
| Centralized or on-site team | Centralized | Admin |
| Products turned on | Leasing prospects only | Admin |
| Lease & Billing on the phone | Off (Sep 23) | No |
| Who gets escalations | The leasing@ inbox | No |
| Tour hours | Mon–Fri 9–6, Sat–Sun 10–3 | No and contradicts the knowledge text |
| Weekend booking cutoff | "Before the weekend" | No |
| Tour length / gap between tours | 30 min / 30 min | Yes |
| Who gives tours | One person | Yes |
| Video tour link | Zoom | Yes PropFlow edits |
| Application link | AppFolio's own link | Yes |
| Staff copied on Clara's email | On | Yes |
| PropFlow copied on Clara's email | On, hello@ | No |
| Email signature | Phone, website, leasing@ | No |
| Where leads come from / who owns the record | AppFolio guest cards / AppFolio | No |
| Listings feed | AppFolio listings page + neighborhood info | No |
| Transfer to a person | Kat, then Beverly, 20 s ring (Sep 21) | Read-only for the customer; PropFlow edits |
| Office hours | Mon–Fri 9–5, weekends closed | No (company level) |
| Maintenance calls | Sent to their call center (+1 970 ●●● ●●●●) | No |
| "Something else" catch-all, emergency route | Not set | No and not asked at go-live |
| Buildings Clara never offers | 2 buildings | Admin |
| Clara saves guest cards from calls | On, company + 69 of 70 buildings | Partly building half only |
| One conversation across homes | On (Sep 25) | Internal |
| Per-building leasing stage, handoff mode, missed-transfer text, team email after a call, AppFolio messaging sync | Set on most buildings | No |
| Company knowledge (17 sections) | Filled | Yes |
| Old per-company SMS / email / vendor switches | All off | Dead nothing reads them; delete |
| Setting | What it does | Set today | Should live | Recommendation | Detail |
|---|---|---|---|---|---|
| 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 goes | Scripts | Company › Calls & messages | One routing page; PropFlow edits, customer reads | keys.ts office_hours, catch_all, maintenance.intake_route, lease_billing.module, ring_list |
| Tour hours, weekend cutoff, minimum notice, tour days, booking horizon | When Clara can book a tour | Scripts | Company › Leasing & tours | Build next to tour length | settings.tourHours, weekendBookingCutoff; settings-reads allowlist misses weekendBookingCutoff (eslint-rules/settings-reads.mjs:14-20) |
| First-email engine, handoff mode, leasing stage per building | How much Clara does on her own | Scripts | Company › Leasing (one stage) | Decision 2 | guestCardFirstEmailEngineEnabled, handoffMode, capabilityStage |
| Escalation CC, digest, lapse digest, PM reminders (company), owner report period, renewal contact, PM notice mode | Who hears about what | Scripts / Admin only | Company › Notifications | One notifications page | settings.* notification keys |
| Lead source, record owner, availability source, listings feed | Where Clara reads leads and units | Scripts | Admin › Connections | Read-only for customer | leadSource, prospectRecordOwner, listingsFeed |
| Email signature, PropFlow BCC | How Clara's email looks and who is copied | Scripts | Company › Email | Signature customer-editable; BCC admin | emailSignature, observerBcc |
| Clara's AppFolio seat, messaging sync/delivery | Which AppFolio user Clara acts as | Scripts | Admin › Connections | Show it; PropFlow edits | pms-credential.ts:461,694; Property.pmsMessagingSync |
| Missed-transfer text, team email after a call, tour-request text, call leg recording, routing v2 | Call follow-ups | Per building, scripts | Company › Calls | Company setting, default off | transferMissedOutreachEnabled, teamTourEmailAfterCallEnabled |
| Guest cards from calls (company half), assigned-to-Clara trigger, cross-sell, vendor calendar capture | Smaller behavior switches | Config rows | Company › Leasing / Maintenance | Fold into topic pages | CONFIG/GUEST_CARD_WRITE_FROM_CALLS#<org> |
| Wrong level | |||||
| Escalation owner | Who owns an escalation | Company + every building | Company only | Remove building value; drop the go-live row | keys.ts ~168 writableAt org/group/property; go-live-checklist-dto.ts:369; escalation-owner-chain.ts |
| Tour length | Minutes per tour | Company + building override | Company only | Remove override | PropertySettingsShell.tsx:942-945 |
| Follow-up schedules and contact limit | Clara's follow-up texts | Edited on a building page, saved for the whole company | Company › Policies | Move the editor | api/automations/cadences/route.ts:64-101 |
| Hidden AppFolio buildings | Which buildings sync | Per person | Company | Store per company | api/settings/ignored-properties/route.ts:235-240,300-302 |
| Office phone used as forward line | Transfer destination | Per building | Company | Fold into routing page | Fede, Sep 12 |
| PM reminders | Nudges to property managers | Per building | You › Notifications | Move | pmActionReminders |
| Asked, not built | |||||
| Phone greeting | What Clara says when she answers | Code | Company › Calls | Build as a setting | Fede, Sep 22 |
| Go-live checklist: phone rows | Blocks go-live until routing is asked | Only inbox, calendar, billing | Company › Go-live | Add emergency, office hours, leasing forward, catch-all | go-live-checklist-dto.ts:201,218,227; Fede Sep 22 |
| Ring list from staff profiles | Pick people, not typed numbers | Typed name + number | Company › Calls | Pick from team | HumanHandoffEditor.tsx:140; Fede Sep 20 |
| One autonomy switch | See Decision 2 | 4 switches | Company › Leasing | Decision 2 | |
| Control | What goes wrong | Fix | Where |
|---|---|---|---|
| Tour window matching (Admin › Arms) | Saves to the building record; Clara reads the leasing record. The toggle does nothing. | Write where it is read | api/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 code | Wire it or remove it | PropertySettingsShell.tsx:991-993; settings-resolver.ts:258; apply-tour-intent.ts:71 |
| AppFolio Connect button | Shown to everyone; the server accepts PropFlow staff only, so company admins always get an error | Hide for customers (ruling: "Only us") | OrganizationSettingsShell.tsx:1548-1550; api/integrations/pms/appfolio/route.ts:243-245 |
| Building settings for viewers and leasing agents | Controls look editable; every save fails | Read-only view for those roles | PropertySettings.tsx:1038; require-entity-edit.ts:5-9 |
| Billing checkout | Any signed-in member can start checkout; the Stripe customer is found by the viewer's email, not the company | Admin-only; key by company | api/billing/checkout/route.ts:27,43 |
| Repair rating card | Shows even when Maintenance is off (Western Slope) | Hide by module | settings/notifications/client-page.tsx:30 |
| Pages hidden by module | Their save routes still accept writes | Check module on save | api/settings/tour-duration/route.ts:232-236; leasing-settings/route.ts:227; maintenance-settings:84 |
| Company name | Card shows to admins only; server lets any member save (on purpose) | Decision 4 | api/settings/company-name/route.ts:24-28,75 (ADR-0135) |
| Products switch (low) | Voice renewals check ignores building overrides | Read the resolved value | escalation/renewals-module-route.ts:93 |
Rule (Fede, Sep 17): no engineering feature flags. Risky behavior becomes a company or building setting, default off, or is deleted.
| Kind | Count | Recommendation | Examples |
|---|---|---|---|
| Product on/off switches in server config | 28 (15 already listed on Admin › Arms) | Convert the ones still in use to company settings; delete the rest | TURNOVER_WORKFLOW_ENABLED, PMS_CANCEL_ENABLED, APPFOLIO_ENABLED, EMAIL_NTV_FIRM_ROUTING_ENABLED, TOUR_DECIDER_MODE, VOICE_COMPANY_HEAD_HOMES (delete) |
| Ops switches | 10 | Keep (alarms, meters, kill switches) | PMS_OUTAGE_ALARM, TRAFFIC_ORG_SCOPE_METER, PROPFLOW_ROSTER_GATE |
| Platform config rows | 25 kinds | Keep; delete the orphan feature row | CONFIG/FEATURES is read by nothing and disagrees with CONFIG/SETTINGS |
| Hard-coded lists of buildings, companies, numbers | 19 | Customer ones become settings; test ones move to one test registry | TEST_PROPERTY_IDS, DARK_FEATURE_BENCH_IDS, flipped-dispatch-orgs, PHONE_TO_PROPERTY_MAP, LISTINGS_CONFIG, KNOWN_PROPERTIES, NEVER_DISPOSABLE_ORG_IDS |
| Per-building "arms" | ~21 | Per the cleanup page: fold into per-area off / drafts / live, delete the rest | Admin › Arms |
| Dead settings to delete | 8 | Delete | keypress accept mode, call_recording, caller-number passthrough, follow-up channel, brand color, logo, CONFIG/FEATURES, old per-company SMS/email/vendor flags |
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".
Replaces Clara live, review emails, first-email engine and handoff mode; matches the cleanup page's per-area stage.
Fede, Sep 24: "nothing should be set at the property level".
| Source | Size |
|---|---|
| Settings screens (customer and Admin) | Every page and card |
| Settings defined in code | 431 entries, deduplicated to 124 |
| Database, real customers (Western Slope first) | ~180 keys |
| Pull requests | ~70 |
| Fede's sessions, last 30 days | 24 asks |
| Docs pages | Settings 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.
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):
| Row | Change | Why |
|---|---|---|
sr-building-policies | Deferred "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-line | Built 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-topics | Deferred "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-scope | Cut. 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-trim | Moved 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-method | Sign 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-topics | The 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 rows | Every 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).
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).
Settings › Example Co. › Policies
Company policies
The rules Clara follows at every building. Lock a rule to keep buildings from changing it.
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.
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.
Settings › Example Co. › Settings › Leasing & tours
Leasing & tours
Defaults for every building. Buildings can override anything marked "Buildings can change this".
"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.
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.
| Topic | Decision | Who · when |
|---|---|---|
| Go-ahead | Redesign 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 |
| Shape | One 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 |
| Levels | You (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 |
| Admin | Only PropFlow staff see it. Higher-privilege and internal switches live here, not in anyone's profile. | Gera + Fede · Sep 7, Sep 14 |
| Grouping | Fede 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 book | The 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 |
| Defaults | Good 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 edit | Everyone 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 base | It 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 |
| Connections | The 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 |
| Calendar | A 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 Settings | Onboarding 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 out | Settings 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 |
| Search | Find 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 method | The 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 |
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.
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.
PageBody narrow, cards stacked). This fits the Sep 8 screen rules: they forbid tabs that are really filters, and a menu that moves between topics isn't a filter.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
| Setting | Who sets it | Today | Change |
|---|---|---|---|
| How many reminders | personal | on screen | moves here |
| How often reminders repeat | personal | on screen | moves here |
| Remind me about pending approvals and signatures | personal | on screen | moves here |
| Which emails I get (opt in per notification) | personal | coming soon | new screen |
| Setting | Who sets it | Today | Change |
|---|---|---|---|
| Email (read-only, from sign-in) | personal | on screen | stays |
| Name | personal | on screen | stays |
| Phone (so we recognise you when you call) | personal | on screen | stays |
| Profile photo | personal | on screen | stays |
| Show times in each building's time zone | personal | on screen | stays |
| Your role (read-only) | personal | on screen | stays |
| Company connections status on Profile | personal | on screen | remove? |
| Dashboard layout and card time windows | personal | on screen | remove? |
| Setting | Who sets it | Today | Change |
|---|---|---|---|
| Two-step sign-in method | personal | on screen | moves here |
| Setting | Who sets it | Today | Change |
|---|---|---|---|
| My calendar (Google/Microsoft) | personal | on screen | stays |
| My calendar (shown on the company page for non-admins) | personal | on screen | remove? |
| Setting | Who sets it | Today | Change |
|---|---|---|---|
| Policies & knowledge (free-text sections) | buildings can change | on screen | moves here |
| Structured facts Clara quotes (hours, fees, utilities, pets…) | buildings can change | coming soon | new screen |
| Setting | Who sets it | Today | Change |
|---|---|---|---|
| Admin fee | buildings can change | on screen | moves here |
| Application fee | buildings can change | on screen | moves here |
| Card / ACH payment fees | buildings can change | on screen | moves here |
| Early termination (× rent) | buildings can change | on screen | moves here |
| Fees (one per fee type) | buildings can change | on screen | moves here |
| Holding deposit | buildings can change | on screen | moves here |
| Key fob deposit | buildings can change | on screen | moves here |
| Month-to-month fee | buildings can change | on screen | moves here |
| Other fees | buildings can change | on screen | moves here |
| Pet deposit (refundable) | buildings can change | on screen | moves here |
| Pet fee (one-time, nonrefundable) | buildings can change | on screen | moves here |
| Pet policy (breeds, weight, how many) | buildings can change | stored, no screen | new screen |
| Pet rent (monthly) | buildings can change | on screen | moves here |
| Renters insurance (min liability, admin fee, provider) | buildings can change | on screen | moves here |
| Returned payment (NSF) fee | buildings can change | on screen | moves here |
| Screening criteria | buildings can change | coming soon | new screen |
| Security deposit | buildings can change | on screen | moves here |
| Unauthorized pet fee | buildings can change | on screen | moves here |
| Unit transfer fee | buildings can change | on screen | moves here |
| Utility setup fee | buildings can change | on screen | moves here |
| Setting | Who sets it | Today | Change |
|---|---|---|---|
| Fair housing statement | company only | coming soon | new screen |
| How long records are kept | company only | coming soon | new screen |
| Who may approve what Clara sends | company only | coming soon | new screen |
| Setting | Who sets it | Today | Change |
|---|---|---|---|
| Follow-up schedule | buildings can change | coming soon | new screen |
| Follow-ups: inquiry never replied | company only | on screen | moves here |
| Follow-ups: replied, then went dark | company only | on screen | moves here |
| Follow-ups: tour proposed, never confirmed | company only | on screen | moves here |
| Follow-ups: toured, never applied | company only | on screen | moves here |
| Only suggest other buildings with the same owner | company only | coming soon | new screen |
| Protected classes | PropFlow only | on screen | new screen |
| Setting | Who sets it | Today | Change |
|---|---|---|---|
| Follow-ups: vendor never acknowledged a dispatch | company only | on screen | moves here |
| Follow-ups: vendor never answered a quote request | company only | on screen | moves here |
| Setting | Who sets it | Today | Change |
|---|---|---|---|
| Follow-ups: past-due balance | company only | on screen | moves here |
| Late fee (% or flat) and grace period | buildings can change | on screen | moves here |
| State notice periods | PropFlow only | coming soon | new screen |
| Setting | Who sets it | Today | Change |
|---|---|---|---|
| Contact limit per follow-up sequence | company only | on screen | moves here |
| Legal contact hours (8am–9pm) | PropFlow only | on screen | new screen |
| Overall contact limit (max messages per person) | company only | on screen | moves here |
| Texting consent rules | company only | coming soon | new screen |
| Setting | Who sets it | Today | Change |
|---|---|---|---|
| Fixed reminders shown read-only (tour reminders, renewal no-response, maintenance, owner report…) | PropFlow only | on screen | stays |
| Setting | Who sets it | Today | Change |
|---|---|---|---|
| Brand color | company only | coming soon | new screen |
| Brand name Clara uses | buildings can change | coming soon | new screen |
| Centralized or on-site team | buildings can change | stored, no screen | new screen |
| Company name (the name Clara's emails go out under) | company only | on screen | stays |
| Company state/jurisdiction (when building unknown) | company only | stored, no screen | new screen |
| Company time zone (for calls not tied to a building) | company only | stored, no screen | new screen |
| Holiday closures | buildings can change | coming soon | new screen |
| Logo | company only | coming soon | new screen |
| Office hours (when the front desk is staffed) | buildings can change | on screen | moves here |
| Wording per building type | buildings can change | coming soon | new screen |
| Setting | Who sets it | Today | Change |
|---|---|---|---|
| Application link: same link for everyone or one per prospect | company only | on screen | stays |
| Areas (groups of buildings) | company only | coming soon | new screen |
| Buffer between tours | company only | on screen | stays |
| Confirm tours when no calendar is connected | buildings can change | coming soon | new screen |
| Drive time between areas | company only | coming soon | new screen |
| How far ahead tours can be booked | buildings can change | coming soon | new screen |
| Listings feed | buildings can change | stored, no screen | new screen |
| Minimum notice before a tour | buildings can change | stored, no screen | new screen |
| Reply to all guest cards or only automatic ones | company only | stored, no screen | new screen |
| Suggest other buildings to prospects | company only | stored, no screen | new screen |
| Tour hours (when tours can be booked) | buildings can change | stored, no screen | new screen |
| Tour length | buildings can change | on screen | stays |
| Travel time between tours at different buildings | buildings can change | coming soon | new screen |
| Where new leads come from (email or AppFolio guest cards) | company only | stored, no screen | new screen |
| Which days tours are offered | buildings can change | stored, no screen | new screen |
| Who shows tours (rotation, primary first) | company only | on screen | stays |
| Setting | Who sets it | Today | Change |
|---|---|---|---|
| Emergency on-call list — commercial | buildings can change | on screen | stays |
| Emergency on-call list — residential | buildings can change | on screen | stays |
| Emergency phone number | buildings can change | on screen | moves here |
| Only accept maintenance requests from verified residents | buildings can change | coming soon | new screen |
| Preferred vendors by trade (ranked) | buildings can change | on screen | stays |
| Put vendor appointments on the calendar | PropFlow only | stored, no screen | new screen |
| Try the next preferred vendor when one does not answer | company only | stored, no screen | new screen |
| Who takes maintenance calls (Clara or an outside call centre) | buildings can change | stored, no screen | new screen |
| Setting | Who sets it | Today | Change |
|---|---|---|---|
| Email signature | company only | stored, no screen | new screen |
| How callers pick a building on the company line | buildings can change | coming soon | new screen |
| Keep call recordings | company only | stored, no screen | new screen |
| Office phone (where Clara transfers calls) | buildings can change | on screen | moves here |
| Phone greeting | buildings can change | coming soon | new screen |
| Quiet hours (no outbound texts/calls) | buildings can change | stored, no screen | new screen |
| Staff must press 1 to accept a transferred call | company only | stored, no screen | new screen |
| Talk to a person (ring a list or take a message) | buildings can change | on screen | stays |
| Text reply when a job is handled outside Clara | buildings can change | coming soon | new screen |
| Text the staff member while their phone rings | buildings can change | stored, no screen | new screen |
| Transfer number per role | buildings can change | coming soon | new screen |
| Where to send 'everything else' calls | company only | stored, no screen | new screen |
| Who handles each kind of call (Clara or outside) | buildings can change | coming soon | new screen |
| Who to ring for everything else | buildings can change | stored, no screen | new screen |
| Who to ring for leasing calls | buildings can change | stored, no screen | new screen |
| Who to ring for maintenance calls | buildings can change | stored, no screen | new screen |
| Setting | Who sets it | Today | Change |
|---|---|---|---|
| Extra addresses copied on staff notices | buildings can change | stored, no screen | new screen |
| Share staff notices with PropFlow | company only | on screen | stays |
| Reminder emails on for this company (+ which address) | PropFlow only | stored, no screen | remove? |
| Setting | Who sets it | Today | Change |
|---|---|---|---|
| AppFolio connection (database, client ID, secret; disconnect) | PropFlow only | on screen | stays |
| Building mailbox (Outlook) | PropFlow only | on screen | moves here |
| Buildings hidden from AppFolio sync | company only | on screen | stays |
| Clara replies from your mailbox or a PropFlow-hosted one | PropFlow only | stored, no screen | new screen |
| Leasing email (shared inbox connection) | PropFlow only | on screen | stays |
| One inbox for the company or one per building | PropFlow only | stored, no screen | new screen |
| Who owns the prospect record and whether PropFlow writes back to AppFolio | company only | stored, no screen | new screen |
| How changes are written back to AppFolio | company only | coming soon | remove? |
| Setting | Who sets it | Today | Change |
|---|---|---|---|
| Change a teammate's role | company only | on screen | stays |
| Invite a teammate (name, email, role, which buildings) | company only | on screen | stays |
| Remove a teammate | company only | on screen | stays |
| Who is copied on escalations | buildings can change | stored, no screen | new screen |
| Who is responsible when Clara escalates a building | buildings can change | stored, no screen | new screen |
| Setting | Who sets it | Today | Change |
|---|---|---|---|
| Invoices | company only | on screen | stays |
| Plan, units, monthly price, renewal, manage subscription | company only | on screen | stays |
| Setting | Who sets it | Today | Change |
|---|---|---|---|
| Before Clara goes live (checklist) | company only | on screen | stays |
| Clara live for this company | PropFlow only | on screen | moves here |
| Email: Clara live or watching only | PropFlow only | coming soon | new screen |
| Resident Services (lease billing) on or off | PropFlow only | stored, no screen | new screen |
| Texts: Clara live or watching only | PropFlow only | coming soon | new screen |
| What Clara is live for, per job (live / observe) | PropFlow only | coming soon | new screen |
| Which modules are on (Leasing, Maintenance, …) | PropFlow only | on screen | moves here |
| Setting | Who sets it | Today | Change |
|---|---|---|---|
| Amenities (community and unit) | building only | on screen | moves here |
| Neighborhood (dining, transit, parks…) | building only | on screen | moves here |
| Upload a document for Clara to learn from | building only | on screen | moves here |
| Utilities and in-unit laundry | building only | on screen | moves here |
| Setting | Who sets it | Today | Change |
|---|---|---|---|
| Parking price range and notes | building only | on screen | stays |
| Specials / concessions | building only | on screen | moves here |
| Storage unit $/mo | building only | on screen | stays |
| Which month a 'month free' special applies to | building only | stored, no screen | new screen |
| Setting | Who sets it | Today | Change |
|---|---|---|---|
| Trades added to every turnover | building only | on screen | moves here |
| Turnover timing (inspect after move-out, unit ready after) | building only | on screen | moves here |
| Turnover vendor per trade (this building only) | building only | on screen | moves here |
| Setting | Who sets it | Today | Change |
|---|---|---|---|
| Also call the tenant with the offer | building only | on screen | moves here |
| Days after the 1st before a payment counts as late | building only | on screen | moves here |
| Max late payments to be eligible | building only | on screen | moves here |
| Max unpaid rent to be eligible | building only | on screen | moves here |
| Minimum renewal increase | building only | on screen | moves here |
| Month-to-month premium | building only | on screen | moves here |
| Renewal rent strategy (match market / minimum increase) | building only | on screen | moves here |
| Renewal term options (6, 12, month-to-month) | building only | on screen | moves here |
| Send renewals without my approval (autonomy) | building only | stored, no screen | remove? |
| Setting | Who sets it | Today | Change |
|---|---|---|---|
| Building address | building only | stored, no screen | new screen |
| Building phone (public) | building only | on screen | moves here |
| Building state/jurisdiction | building only | stored, no screen | new screen |
| Building status (active/onboarding/sold) | building only | stored, no screen | new screen |
| Building time zone | building only | on screen | stays |
| Building type (residential/commercial) | building only | stored, no screen | new screen |
| Building website | building only | on screen | moves here |
| Work-order ID prefix | building only | stored, no screen | new screen |
| Setting | Who sets it | Today | Change |
|---|---|---|---|
| After-tour follow-up channel | building only | stored, no screen | new screen |
| Application link (the URL) | building only | on screen | stays |
| New lease template | building only | coming soon | new screen |
| Start Clara on AppFolio leads assigned to her | building only | stored, no screen | new screen |
| Wait before the after-tour follow-up | building only | on screen | stays |
| Write the guest card in AppFolio when a call ends | building only | on screen | moves here |
| Setting | Who sets it | Today | Change |
|---|---|---|---|
| Auto-approve outside vendor quotes under $ | building only | on screen | stays |
| In-house handyman for this building | building only | stored, no screen | new screen |
| Maintenance tech phone | building only | on screen | stays |
| Vendors get a work-order number or a PO number | building only | on screen | moves here |
| Setting | Who sets it | Today | Change |
|---|---|---|---|
| Open renewals this many days before lease end | building only | on screen | stays |
| Renewal contact email/phone | building only | stored, no screen | new screen |
| Setting | Who sets it | Today | Change |
|---|---|---|---|
| Building's email address Clara sends from | PropFlow only | stored, no screen | new screen |
| Caller ID name | building only | coming soon | new screen |
| Email sending domain | PropFlow only | coming soon | new screen |
| Record the transferred part of maintenance calls | building only | stored, no screen | new screen |
| Setting | Who sets it | Today | Change |
|---|---|---|---|
| Owner report period (weekly/monthly) | building only | stored, no screen | new screen |
| Renewal lapse digest email | building only | stored, no screen | new screen |
| Slack channel/mention for leasing activity | PropFlow only | stored, no screen | new screen |
| Weekly owner report recipients | building only | on screen | stays |
| Which events notify the team (all / outcomes only) | building only | stored, no screen | new screen |
| Who is emailed when a lease is signed | building only | on screen | stays |
| Setting | Who sets it | Today | Change |
|---|---|---|---|
| Building calendar (for tours) | building only | on screen | stays |
| AppFolio sync status on the building page | building only | on screen | remove? |
| Company mailbox status line on the building page | building only | on screen | remove? |
| Prospect record owner (per building) | building only | stored, no screen | remove? |
| Setting | Who sets it | Today | Change |
|---|---|---|---|
| Email sending (global kill switch) | PropFlow only | stored, no screen | new screen |
| SMS messaging (global kill switch) | PropFlow only | on screen | stays |
| Vendor dispatch emails (global) | PropFlow only | on screen | stays |
| Vendor quote emails (global) | PropFlow only | on screen | stays |
| Feature modules pointer card | PropFlow only | on screen | remove? |
| Old /admin/settings URL | PropFlow only | on screen | remove? |
| Setting | Who sets it | Today | Change |
|---|---|---|---|
| Building's ID in AppFolio | PropFlow only | stored, no screen | moves here |
| Forward to outside call centre through PropFlow's bridge | PropFlow only | stored, no screen | moves here |
| Hold Clara's emails for PropFlow review | PropFlow only | stored, no screen | new screen |
| New call routing (proof of concept) | company only | stored, no screen | moves here |
| One conversation per person across buildings | company only | stored, no screen | moves here |
| Sync tours to AppFolio showings | PropFlow only | stored, no screen | new screen |
| Test company marker | PropFlow only | stored, no screen | new screen |
| Where availability is read from (per building) | PropFlow only | stored, no screen | new screen |
| Where unit availability is read from | PropFlow only | stored, no screen | new screen |
| Which tools Clara may use per job | PropFlow only | coming soon | moves here |
| aiAutoApproveThreshold (leasing copy) | PropFlow only | stored, no screen | remove? |
| applicationLeasePolicy | PropFlow only | stored, no screen | remove? |
| renewalOutreachInitialDays | PropFlow only | stored, no screen | remove? |
| tickerSelfHealEnabled | PropFlow only | stored, no screen | remove? |
| tourChannelMatchEnabled | PropFlow only | stored, no screen | remove? |
| tourInviteV2Enabled | PropFlow only | stored, no screen | remove? |
| tourPipelineV2Enabled | PropFlow only | stored, no screen | remove? |
| tourTemplateDeferralEnabled | PropFlow only | stored, no screen | remove? |
| tourWindowMatchingEnabled | PropFlow only | stored, no screen | remove? |
| turnIntegrityTypedToolResults / SingleWriter / ReviewGate / OutputGate | PropFlow only | stored, no screen | remove? |
Most questions were settled by the decider (below). One goes to 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.
| Question | Ruling | Why |
|---|---|---|
| Is Admin a fourth level inside this menu or a separate back-office page? | Inside the menu, visible only to PropFlow staff | It 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 redesign | The 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 group | It 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 customer | Newest 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 up | Fede, 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 building | Company default, buildings can change it | Gera 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 account | Company › Policies › Follow-ups, buildings can change them | The drawer's own wording, plus the Sep 8 end-state design. |
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.
| # | Row | What ships | Phase |
|---|---|---|---|
| 0 ✓ | sr-adr merged #11824 | Record the Sep 24 go-ahead and this layout in ADR-0136 (amendment), so the old "place, don't redesign" limit is formally lifted. | tier |
| 1 | sr-menu | The 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 |
| 2 | sr-company-knowledge | Company › 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 |
| 3 | sr-building-knowledge | Building › Knowledge: the building knowledge card moves off the building page into Settings, and the building page links to it. | organize |
| 4 | sr-source-line | The "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 |
| 5 | sr-company-policies | Company › Policies with the "Buildings can change this" switch. Pets first (pet fee, pet rent, restrictions), then quiet hours, renewals, turnovers, follow-ups. | organize |
| 6 | sr-building-policies | Building › 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 |
| 7 | sr-company-topics | Split 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 |
| 8 | sr-building-topics | The same topic pages for a building, plus "Buildings that differ" on each company page. | organize |
| 9 | sr-trim | Hide settings for modules the customer hasn't bought; move internal-only switches to Admin; remove the dead ones on the list. | organize |
| 1b | sr-signin-method | Sign in with an app or email code (overseas staff can't receive texts). First from the "You" row. | organize |
| 10 | sr-you | You: Profile, Sign-in & security (app or email code), My calendar, My notifications (opt-in). | organize |
| 11 | sr-polish | The visual pass: Vercel/Stripe-grade spacing and type, proper pickers instead of browser drop-downs, empty and loading states. | pretty |
| 12 | sr-search-settings | Search finds any setting by name or alias and lands on the exact row, highlighted. | search |
| 13 | sr-search-scope | The page-aware search tag (@settings on Settings, @tenants on Tenants), removable to widen the search. | search |
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: