Each business record stores the following:
| Field | Description |
|---|---|
| Business Name | Displayed on the public booking page header |
| Slug | URL identifier — the booking page is at /{slug} |
| Owner | The linked user account (must have tenant_owner role) |
| Subscription Plan | Which plan this tenant is on |
| Status | Active or Suspended |
| Currency | Used for display on the booking page |
| Timezone | Business-specific timezone for scheduling |
| Logo | Appears on the public booking page and in emails |
{warning.fa-link} The slug must be unique platform-wide. Changing it after launch breaks all existing client bookmarks and shared links.
From the Admin → Businesses list, each row provides these actions:
| Action | Description |
|---|---|
| Edit | Update business details, owner, or subscription plan |
| View Booking Page | Opens their public /{slug} page in a new tab |
| Impersonate Owner | Log in as the tenant owner to debug their Business Panel |
| Suspend | Disables the tenant — booking page shows an "unavailable" message |
| Reactivate | Re-enables a suspended tenant |
| Delete | Permanently removes the tenant and all their data |
{danger.fa-ban} Delete is irreversible. It permanently removes all services, providers, bookings, and client records for that tenant. Always confirm with the business owner before deleting.
When a new business registers via /register:
checkout.session.completed webhooknew_registration preference is enabled)Register → Stripe Checkout → Webhook → Tenant Provisioned → Business Panel
{warning.fa-exclamation-triangle} If a paid-plan tenant is not provisioned after payment, check Admin → Activity Logs for webhook errors. Verify your Stripe Webhook Signing Secret matches in both Stripe Dashboard and Admin → Settings → Payments.
Suspending a tenant:
Reactivating restores everything immediately — no re-provisioning needed.
{primary.fa-pause-circle} Use suspension instead of deletion for late payments or temporary closures. Data is preserved and the tenant can be reactivated instantly.