-
c3e520aabb
Rate-limit public bookings per contact; add direct owner contact endpoint
main
mivanchenko
2026-09-12 04:47:06 +02:00
-
bcb2672d9f
Add Paris Barber Shop logo to nav, footer, and favicon
mivanchenko
2026-09-12 03:53:29 +02:00
-
68430a5c0c
Owner settings: add a real delete for Mitarbeiter (barbers)
mivanchenko
2026-09-12 03:13:14 +02:00
-
d66511156a
Track paris-barbershop client stack + mailcow-admin playbook in git
mivanchenko
2026-09-12 03:11:10 +02:00
-
2515c8835b
Fix: public booking page mixed both Filialen's barbers before any was picked
mivanchenko
2026-09-12 03:07:11 +02:00
-
456ca3872f
Add locations (Filialen) as a grouping layer above resources
mivanchenko
2026-09-12 03:02:56 +02:00
-
a56a238e81
Fix: exclude cancelled bookings from the no-overlap constraint
mivanchenko
2026-09-12 02:42:06 +02:00
-
9fe495a363
Owner agenda: hide cancelled bookings by default, with a toggle
mivanchenko
2026-09-12 02:33:18 +02:00
-
b99a3806cf
Owner agenda: per-Filiale show/hide toggle
mivanchenko
2026-09-12 00:24:40 +02:00
-
9b2ef47f69
Remove temporary debug-headers route
mivanchenko
2026-09-12 00:17:54 +02:00
-
4eed7fb204
Fix crash: correct Waitress param name (clear_untrusted_proxy_headers)
mivanchenko
2026-09-12 00:15:41 +02:00
-
3ab3a6a4f4
Trust Caddy as a proxy in Waitress so forwarded headers reach Flask
mivanchenko
2026-09-12 00:12:04 +02:00
-
55bb2ce65f
Temp: re-add debug headers route to re-check header_up fix
mivanchenko
2026-09-12 00:09:04 +02:00
-
2862835599
Remove temporary debug-headers route
mivanchenko
2026-09-12 00:06:45 +02:00
-
6ec16b0afa
Temp: add debug headers route to diagnose ProxyFix scheme detection
mivanchenko
2026-09-12 00:03:20 +02:00
-
4ad87ffaaf
Trust Caddy's X-Forwarded-Proto so external links use https
mivanchenko
2026-09-11 23:58:57 +02:00
-
1b8f8c1391
Upsert keyed entities on POST /api/<entity> (#1)
mivanchenko
2026-08-04 13:42:00 +02:00
-
aabd1d56c4
New-client onboarding: provision resources/services/owner login, drop EA (#24)
mivanchenko
2026-08-04 13:11:38 +02:00
-
a27ee59125
Owner notification webhook: Telegram re-point (#23)
mivanchenko
2026-08-04 12:09:39 +02:00
-
24d9aca812
Per-client ICS calendar feed, replacing the shared ICS_TOKEN (#22)
mivanchenko
2026-08-04 11:55:35 +02:00
-
319218ce21
Remove Google Sheets mirror entirely (#13)
mivanchenko
2026-08-04 11:29:57 +02:00
-
16500c4392
Owner settings: services, hours/buffer, auto-confirm, notify channel (#21)
mivanchenko
2026-08-04 09:00:38 +02:00
-
3a20cb5d2b
CI: run backoffice test suite on push/PR, document local test setup
mivanchenko
2026-08-03 17:34:43 +02:00
-
528a13ca7c
Owner calendar view + manual booking + owner cancel/reschedule (#20)
mivanchenko
2026-08-03 17:16:19 +02:00
-
59c35ce39f
Owner accounts: auth, password reset, CRM dashboard visibility (#19)
mivanchenko
2026-08-03 17:00:37 +02:00
-
644c99ee30
Booking confirmation email + customer self-service cancel/reschedule (#18)
mivanchenko
2026-07-23 15:40:45 +02:00
-
b895663c3a
Public booking page + iframe embed (#17)
mivanchenko
2026-07-23 15:15:29 +02:00
-
2f6e0c1459
Availability engine + booking API: create/cancel/reschedule (#16)
mivanchenko
2026-07-23 14:52:33 +02:00
-
b5c0fc8a5a
Booking schema + tenancy-safe data-access module (#15)
mivanchenko
2026-07-23 14:28:06 +02:00
-
b70fd06e7d
Add agent-skills config for Gitea + triage
mivanchenko
2026-07-23 10:31:59 +02:00
-
098b6dfd39
TODO: resolve conflict, map backlog to Gitea issues
mivanchenko
2026-07-16 10:42:15 +02:00
-
0c2e4450f2
Fix deploy pipeline: strip refs/heads/ prefix from dispatch ref input
mivanchenko
2026-07-15 18:28:00 +02:00
-
6b7d47fa4c
Fix deploy pipeline checkout: no Node on host runner, repo is private
mivanchenko
2026-07-15 18:18:44 +02:00
-
8733175f64
Add Gitea Actions deploy pipeline for the backoffice
mivanchenko
2026-07-15 15:27:55 +02:00
-
94ae2d578d
Add credentials store to the CRM, docs cleanup, deploy pipeline TODO
mivanchenko
2026-07-15 14:13:34 +02:00
-
8eba724428
update readme
mivanchenko
2026-07-15 12:31:15 +02:00
-
156166b4e5
Add booking stack, client deploys, and back-office updates
mivanchenko
2026-07-14 16:10:15 +02:00
-
4257bd3e55
Dashboard: add link to the onboarding form
mivanchenko
2026-06-25 09:43:03 +02:00
-
b84a5d4c6f
Dashboard: full-width tables, no horizontal scrollbar
mivanchenko
2026-06-25 09:41:21 +02:00
-
10fea59e05
Fix dashboard 404: derive API base from page path
mivanchenko
2026-06-25 09:39:34 +02:00
-
d5a304ebe9
n8n ingest swap: lead-intake & onboarding write to the DB
mivanchenko
2026-06-25 09:33:53 +02:00
-
e59996a385
Back office: one-way DB -> Sheets mirror
mivanchenko
2026-06-25 09:26:42 +02:00
-
9f42e46d6c
Back office: add / edit / delete for Leads & Clients
mivanchenko
2026-06-25 09:18:28 +02:00
-
18e346d67b
Back office: Postgres source-of-truth + read dashboard
mivanchenko
2026-06-25 09:12:39 +02:00
-
a04ad82e73
Neutralise demo pages: stack-agnostic copy, non-stale dates
mivanchenko
2026-06-25 08:47:22 +02:00
-
cde0cb0fa8
Add pizzeria demo w/ online ordering; fix gcal dots; reword chooser
mivanchenko
2026-06-25 08:32:01 +02:00
-
e151bbd734
Add Rückruf (callback) lead popup to chooser + both demos
mivanchenko
2026-06-25 08:11:09 +02:00
-
f1577bcefa
Phase 5: add internal operator onboarding page
mivanchenko
2026-06-25 08:00:36 +02:00
-
a59a22b38b
Phase 3: add onboarding workflow
mivanchenko
2026-06-24 15:13:12 +02:00
-
a6eb8a415c
Phase 4/5: host demos via Apache container behind Caddy
mivanchenko
2026-06-24 15:03:25 +02:00
-
2bd6499ae5
Phase 4: harden Sheets writes with retry-on-fail
mivanchenko
2026-06-24 14:53:17 +02:00
-
4b7e201b91
Phase 4: wire demo lead forms to live n8n webhook
mivanchenko
2026-06-24 14:48:56 +02:00
-
1e6c46e9f0
Phase 3: add renewal-reminder workflow
mivanchenko
2026-06-24 14:42:29 +02:00
-
339fb1a1a7
Phase 3: add Telegram lead notification to lead-intake
mivanchenko
2026-06-24 14:36:46 +02:00
-
0009a138a9
Phase 3: export working lead-intake workflow; gitignore .secrets
mivanchenko
2026-06-24 14:15:07 +02:00
-
5668bfad3f
Phase 1: tier demo landing pages, CRM schema, playbooks
mivanchenko
2026-06-23 10:14:15 +02:00