- Sep 22: Queue drafts now suggest a real job photo (Dropbox After/Before, GPS stripped); no picture, no publish.
- Sep 22: Stairs drafts use real Stairs photos only, never a Floors job photo.
- Sep 22: Facebook posts go out as real photo posts, not text with a link.
- Coming: the Marketing home becomes a one-click design page (templates, photo already in place, polish in Canva) — date once you say go on the preview.
- Sep 22: every draft below shows a picture or a "no picture yet" warning; click a thumbnail in the strip to choose a different one.
- Sep 22: Stairs cards pull from the real photos on functionalstairs.com; Stairs prices from that site are now allowed in the copy, nothing else.
- Sep 21: Constant Contact is off the health checks; the campaign list below can now include people who asked but never booked.
- Sep 22: real per-platform pages for Facebook, Instagram, Google Business Profile, YouTube and Nextdoor - what is scheduled, what is posted, and how it did, with any gap in what a platform can report stated plainly instead of hidden.
Retail partners. A shopper scans a QR in the flooring aisle, pays at the register, and the order lands here.
Each product also carries its own history — click its name in the catalog. This is the whole list, newest first. Staged means saved here but not yet sent out.
| When | Product | What | Was | Became | Who | Why |
|---|---|---|---|---|---|---|
| Nothing yet. | ||||||
A cost is only useful next to the unit it was quoted in — $3.42 a square foot and $3.42 a case are different facts, and treating them as one is what made every margin here wrong until now. So a cost is saved with its unit or it is not saved. Type them straight into the catalog with the cost box ticked, or paste a distributor list below.
One product a line, in whatever the distributor sent: tabs or commas, the cost being the last number on the line, and the unit anywhere on it if it is there (MSI Aaron Blonde, 3.42, sf). A SKU is matched exactly; a name is matched the same way platform listings are, and anything it is unsure of is shown as unsure. Nothing is saved until you press the button.
Markup turns cost into the sell price, so one distributor change can be applied down a whole line consistently. Advertised price marks brands like CALI and Viking that require their price to be shown publicly — we may sell below it, we just cannot advertise below it, so the storefront sitting higher is correct and is not reported as a mistake.
| Brand | Products | Markup % | Advertised price | Note |
|---|---|---|---|---|
| Loading… | ||||
None of the three share a product code — Ninja has no SKUs at all, and most Floor Store listings have none either. So the Hub gives every product its own permanent number and matches the others to it by brand and name. Matches are suggestions until someone confirms them; only a confirmed match will ever be allowed to change a price.
Creates the product in the Hub’s catalog — Walkthru can quote it immediately and it joins the price master. It does not create the listing on Clover, the Floor Store site or Ninja yet: make those where you always have, and the Hub will import them and offer the match under “Check the matches”.
Two of our own products that look like the same thing — usually several Clover listings that each seeded a product. Tick the two that are the same and press review: it shows every reason to hesitate (different price, different coverage, both still live) before anything merges. The kept product keeps its history; nothing is deleted.
The Hub guessed which listing in each system is the same product as ours. A guess cannot change a price — someone has to say it is right first. Matches within a brand are usually right or wrong together, so one look normally settles a whole group.
Floor Store listings are named for the color alone, so several products share a name. The collection and width underneath each one are what tell them apart — they line up with the collection and width in our own name. Open page shows the listing itself if a pair still looks ambiguous.
Usually product a system carries that the others never did.
| Listing | Brand | Category | Price |
|---|---|---|---|
| Pick a system and press Show. | |||
What the team agrees at the quarterly offsite, and what everything else here is measured against. Filled in before the meeting, printed for the room, and sent to the implementer. Chris and Beth can edit; everyone at the L10 can read it.
Photos a crew texts land here with a guess at the job, from that crew’s calendar for the day. Nothing reaches a customer’s card until you confirm it or choose a different client. The photos also stay in the crew’s texts.
Every seat, who sits in it and what it is accountable for. Click a box to change the seat, move it, or add one under it. Every change is kept, so anything can be put back from Earlier versions.
Check the list below first — if it is already there, back it instead of adding it again. Ten people backing one request tells us far more than ten separate requests.
Each day: the top three done, the top three next, and everything else that shipped. Emailed to Chris at 6 PM; Fridays carry the week.
Insightly's own records, copied nightly. Click a name for every field on it.
Connections
The Hub's heartbeat
Forward attribution — real source from CallRail
Estimate scaffolding
Recent runs
| When | Customer | Estimator | What happened |
|---|
Mailing list
Upcoming estimates
| When | Customer | Town | Estimator |
|---|
Estimator → calendar
| Estimator | Calendar |
|---|
The week on the phones
Jobs
Up for grabs
Customers
Activity
Your Hub
Your phone
Users
Team directory
Internal only — these numbers never reach a customer. Tap a number to call, or use text.