New-client onboarding: provision resources/services/owner login, drop EA (#24)
Test backoffice (smb-crm) / test (push) Has been cancelled
Test backoffice (smb-crm) / test (push) Has been cancelled
n8n/onboarding.json now provisions a default resource (with Mon-Sat 09:00-18:00 hours so the public booking page has slots immediately), a starter service, and an owner-login user for every new client, recording the temp password via the existing credentials CRM entity -- gated behind an If check so a failed user creation can't leave a stale credentials row. The EA-provisioning chain (service/provider creation against Easy!Appointments) is removed entirely. Adds POST /api/resources, /api/services, /api/owner_users to the backoffice API for n8n to call, backed by booking_db.py's existing tenancy-safe create_* helpers. Also adds "slug" to db.py's clients column list -- it was already a DB column (#17) but the generic /api/clients POST silently dropped it, so onboarding could never actually set a client's public-facing slug. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -20,7 +20,7 @@ TABLES = {
|
||||
"cols": ["client_id", "business_name", "owner_name", "email", "phone",
|
||||
"niche", "tier", "status", "domain", "stack_notes", "vault_ref",
|
||||
"services", "billing_cycle", "monthly_fee_eur", "start_date",
|
||||
"renewal_date", "created_at", "notes", "notify_channel"],
|
||||
"renewal_date", "created_at", "notes", "notify_channel", "slug"],
|
||||
"dates": ["start_date", "renewal_date"],
|
||||
"timestamps": ["created_at"],
|
||||
"numbers": ["monthly_fee_eur"],
|
||||
|
||||
Reference in New Issue
Block a user