Files
smb-online/TODO.md
T
mivanchenko a04ad82e73 Neutralise demo pages: stack-agnostic copy, non-stale dates
- Demo bars now read "Beispielseite · So könnte Ihr Online-Auftritt aussehen"
  (was "Tier A (Google-Stack)" / "Tier B (Self-Hosted)" / "für Gäste").
- Booking widgets relabelled generic: "Online-Terminbuchung" / "Sichere Buchung"
  (dropped Google Kalender + branded dots, Cal.com, self-hosted).
- Removed Tier/Google/Cal.com refs from rendered copy AND HTML comments.
- Demo booking dates now render on the current week via JS (no stale dates).
- TODO.md: tick off completed items; add onboard back-office (Leads/Clients CRUD).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-25 08:47:22 +02:00

52 lines
3.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# TODO / Backlog
## Rethink the tier model — decouple tier from business type
**Goal:** tiers should NOT be tied to a kind of business. Which "tier" (and whether a
client's site is self-hosted or runs on Google's free services) is a decision made
**between me and the client**, case by case — not something baked into a demo.
Implications to work through:
- [x] **Demos are stack-agnostic starters.** ~~Drop tier/stack labels and jargon (self-hosted,
Cal.com, Google-Stack, "≈ 0 €") from the public-facing demos & chooser.~~ DONE 2026-06-25:
chooser reworded; all three demo pages neutralised — demo bars now read "Beispielseite · So
könnte Ihr Online-Auftritt aussehen", booking widgets relabelled to generic
"Online-Terminbuchung"/"Sichere Buchung", Google-Kalender/Cal.com/self-hosted/Tier labels
removed from rendered copy *and* HTML comments, demo booking dates now render on the current
week via JS so nothing looks stale.
- [ ] After a client signs, **I decide hosting**: self-host the page on the homelab, or stand it
up on the client's free Google account. The CRM already has `tier` + `stack_notes` columns
to record that decision per client.
- [ ] Revisit the `Clients.tier` field semantics: keep A/B as an internal effort/price band, or
replace with something hosting-agnostic (e.g. `hosting = google | selfhosted`, `plan = …`).
- [ ] Onboarding form + workflow currently ask for Tier A/B — realign once the model is settled.
## Onboard dashboard → manage Leads & Clients (CRUD)
The operator onboarding page (https://onboard.mivanchenko.de) currently only **creates** records.
Extend it into a small back-office where I can **read, edit, delete and add** both Leads and
Clients directly:
- [ ] **Read:** pull and list the current `Leads` and `Clients` rows (via n8n webhook → Sheets
`values.get`, or Sheets API) in a clean table on the onboard page.
- [ ] **Add:** new Lead / new Client manually (Clients add already exists via the onboarding form;
add a lighter "new lead" form too).
- [ ] **Edit:** update a row in place (e.g. change a lead's status, fix a client's fee/renewal).
- [ ] **Delete:** cleanly remove a row (Sheets `deleteDimension`), so test/junk rows don't pile up
— replaces the current scratchpad `del_rows.py`/`del_lead.py` manual cleanup.
- [ ] Stays behind the existing Caddy basic-auth (operator-only; these are billable/CRM records).
- [ ] Needs new n8n webhooks (list/update/delete) keyed by `lead_id` / `client_id`.
## Other
- [ ] Harden n8n auth: compose still has deprecated `N8N_BASIC_AUTH_*` with password `password`
(legacy/ignored by modern n8n owner-login). Confirm the owner account is strong; remove the
dead env.
- [ ] Orders: the pizzeria demo posts orders into the `Leads` tab via the lead-intake webhook as a
stop-gap. Build a proper **Orders** flow + sheet tab (items, total, mode, status) when the
order-management product is real.
- [ ] Booking-sync workflow (Tier-B Cal.com webhook + Tier-A Google Calendar poll).
## Done
- [x] 2026-06-25 — Latency fix (n8n executions 14 min → ~6 s; DNS + PostHog telemetry).
- [x] 2026-06-25 — Chooser reworded to client-friendly, jargon-free copy.
- [x] 2026-06-25 — Pizzeria demo with online ordering added.
- [x] 2026-06-25 — Barbershop "Google Kalender" dot-overlap styling fixed.
- [x] 2026-06-25 — All three demo pages neutralised (stack-agnostic, non-stale dates).