A design and clickable prototype for one Renewals screen that works for one building, a few, or the whole portfolio. For Fede's review before any build.
2026-10-02 · Leasing > Renewals · Proposed — pending review. Nothing built.
Gera's organization-and-property model, applied to Renewals. You see only your own company's buildings; the screen shows whichever buildings are ticked in the selector, one, a few or all. Counts add up; rates are weighted. The model.
With "All Properties" selected, Renewals shows no renewals, only "Pick a property" and a pill per building (about 90 at Western Slope). This blocks Western Slope renewals.
Try it: pick buildings in the selector, click a row, click a purple button. It copies the real app; all tenants are made up.
Everything else is today's screen. With one building ticked it is identical.
| Selector shows | What you see | Why |
|---|---|---|
| One building (JP&Co with only Camellia) | Today's season view, untouched: month cards, three tabs, no Property column. | The set is one building, so every number is already that building's. Nothing to add. |
| A few (Camellia and Yale 25 Station) | Same screen plus a Property column and a Property filter. Cards show summed counts and a weighted rate. | The set is two buildings. Counts add, rates are weighted, and each row names its building. |
| All Properties at a big company (Western Slope, 89) | Same screen as "a few". Most buildings have no renewals this season and simply add nothing. | Same rule, bigger set. A failing building is noted, not fatal. |
Renewals needs no rules of its own. Three places where today's code breaks the model:
For Gera: the model says never blend report-only buildings into live numbers. I found no report-only marker on renewals data; where would it come from?
Proof wanted before each merge: a replay on real Western Slope data, a timing for 89 buildings, and the existing guard test staying green.
Compare both with the Columns toggle above the prototype. Unit and building read together as an address; Property last keeps the tenant name beside the unit as today.
Weighted means summed renewed over summed decided, which matches a hand count. Keeping it means several buildings look exactly like one.
Real screens captured from production, headless, with the smoke account: Renewals with All Properties (the picker), Renewals for Camellia (season cards, all three tabs, the renewal page), the building selector open, Prospects and Tours with All Properties. The smoke account sees only two buildings (Camellia, Yale 25 Station). It cannot see Western Slope or the Willows test building, and I did not open the Review drawer, so the drawer and the 89-building case are my best reading of the code, not screenshots. Only the picker screenshot is embedded here; the others show real tenant names, so the prototype redraws them with made-up people. Colors come from the app's own design tokens; the app's Suisse font is licensed, so the prototype uses Inter.
Update Sat 10/3 — not building this. A look at every Western Slope renewal offer from July 3 to October 3 showed staff already send one document on every building: “AF Renewal Function: Renew (Simple)” (24 of 26 offers, every renewal since mid-July, Pomona Park included), with no extra addenda. The building defaults in AppFolio are leftover setup. Plan: ask Western Slope to confirm, then make that amendment the default on every building in AppFolio (we offered to do it for them). The robot already sends each building’s default, so no PropFlow setting is needed. Per-tenant cases (adding or removing a tenant) go to a person.
Proposed — pending review. Fede asked on 10/3 to see this with real data. A person picks the renewal document by name from the client’s AppFolio documents. We store its number behind the scenes and send it to the robot with every renewal offer. It is set per client, so each client can differ. Blank keeps today’s behavior: each building’s own AppFolio default.
Below is Western Slope with its real 49 AppFolio documents. Staff used the “Renew (Simple)” amendment on 26 of their last 30 offers. Click the field, search, pick another, or use the buttons to flip between open and closed.
Yes matches what staff actually send today. 10 Western Slope buildings default to one amendment, 10 have none, and staff pick another anyway.
New templates then show up without anyone remembering to refresh.
A per-building view of which document each building would send could help later. Not built, not asked for.