Accounts are created by your admin. Contact your owner if you need access.
Operations · Dashboard
🎟 Groupon revenue
📊 Your live KPIs now live in the KPIs tab — full tiles, branch scorecard & charts, computed live from the Booking Calendar.
⚡ Today's Priorities
Overdue
Past due date · not done
0
📅
Due Today
Active items due today
0
👁
Pending Owner Review
Marked for owner approval
0
🚧
Blocked
Has a blocker recorded
0
📊
Department Completion
% done this week, by dept
🚀
Critical Priority
Active critical items
0
🚀 Active Projects
ProjectDeptOwnerAssigneeDueStatusProgress
✅ This Week's High-Priority
BranchDayTaskAssignee
📍 Branches at a Glance
Daily Tasks
Personal to-do list · Saved locally · Auto-sorted by status
Core Values
Brand Foundation · Team Standards · Broker Reference · Client Experience · v01 · 2026
"The standard didn't exist.
We built it."
Zelene® Head Spa · The American Head Spa Standard
📜 Part One — Brand Core Values
The foundation of everything Zelene builds, trains, and operates. Not aspirational — operational.
⏱ Team 2-Minute Drill
Run at the start of every shift. Under 2 minutes. No notes. Leader reads the value name; team member recites or paraphrases from memory.
💼 Broker 2-Minute Drill
For franchise brokers, investors, and discovery day conversations. Each value connects to a defensible business case.
✨ Part Four — Client-Facing Values
For the website, in-spa signage, service menus, and client communications. What every client experiences.
🔗 How It All Connects
The brand core values are the engine. The client-facing values are what the client feels when the engine runs correctly.
BRAND CORE VALUECLIENT EXPERIENCE
The brand core values are how Zelene operates. The client-facing values are what the client receives as a result.
People & Org
HQ / corporate directory & reporting structure
NameRoleDeptLocationContactNotes
Branch Staff
All location staff rosters
Job Descriptions
Roles, duties & KPIs
Peer Reviews
Anonymous peer ratings & feedback — separate from the data-driven KPI Scorecard
Coaching Criteria & Weights
📊 Coaching Leaderboard
Sorted by latest weighted score · Use this when promoting or hiring.
RankNameRole / BranchLatest ScoreQualityPunctualTeamworkSalesCustomerKnowledgeRatingsLast
📜 All Peer Reviews History
DateStaffScoreRated ByNotes
DISC Personality Test
Workplace DISC assessment · English / Tiếng Việt · 12 questions
Weekly Tasks
Mon–Sun planner across all branches
Projects
Cross-department initiatives
Approval History
Audit trail · Tasks & projects approved by Julie
🌟 Friday Executive Summary
Week snapshot · operations · approvals · upcoming priorities
📧 Auto-email: pending email setup
🎯 Manager KPI Review
Your location scorecard, goals & monthly payout — transparent and fair
Loading…
🎯 Performance KPI
Scorecards per role, per month · 4 weighted criteria · auto-compute + manual override
Standard Operating Procedures
Branch-level operational playbooks · Click any card to expand steps
🔍
Loading…
Loading…
Loading…
Loading…
Loading…
🚚 Fulfillment Requests
Reorder requests locations sent to the Warehouse — approve, ship & receive here. You're emailed the moment a new one comes in.
Loading…
📦 Stock by Location
LocationSKUsTotal UnitsLow StockLast Audit
⚠️ Top Items Low on Stock
SKUProductOn HandReorder PointStatus
📋 Stock Items
PhotoSKUItemCategoryOn HandReorderCostSellWhsl·FrWhsl·NonWhsl·StuValueStatus
Loading…
📍 Stock by location — per-site on-hand breakdown (optional)
Filter location: Class:
ItemSKUClassCategoryLocationOn HandReorderValueStatus
Loading…
🧾 Transaction History
Every stock movement is recorded here. Most recent 150 shown. + in / − out of the location.
DateItemTypeFromToQtyUnit CostRef
Loading…
VendorContactEmailPhoneTermsStatus
Loading…
PODateVendorShip-ToLinesTotalStatus
Loading…
TransferDateFromToLinesStatus
Loading…
CountDateLocationLinesStatus
Loading…
Link each service to the products it consumes. When an appointment is marked completed, these are auto-deducted from that location's stock.
IngredientSKUQtyUOMCost
Pick a service.
Cost of products consumed delivering services. Recipe COGS = times each service was performed × its recipe cost (auto). Manual usage = bulk consumables (shampoo, towels, etc.) the manager tallies at month-end. This is a costing report — it does not change stock (use “➖ Log usage” on Overview for that).
🧴 Recipe-based Service COGS
ServiceTimes performedCost / serviceRecipe COGS
Run the report.
✍️ Manual Month-End Usage (bulk items only — the catch-up for usage not already logged via 🍶 Opened a bottle)
Enter only the extra bulk usage the “Opened a bottle” taps missed — not the full amount. Recipe items (masks, etc.) are auto-costed per service and don’t appear here.
ItemSKUUnit costQty usedLine cost
Run the report.
OrderDateCustomerShip-FromLinesTotalStatus
Loading…
Location: Class:
ItemSKUClassLocationOn HandUnit CostValue
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
📋 Service Protocols
Loading…
🔗 Per-service operating hub · connect a service to its recipe, equipment, training & audit
Pick a service.
Loading…
NameContactHomePreferredTagsLast Visit
Loading…
Loading…
Loading…
Loading…
Loading…
⭐ Today's Turn Board
Loading…
Turn Badge Guide 0T No turn — consult / no-show 0.5T Add-on / short service 1T Standard service 1.5T Long combo / VIP ⟳ View Turn History
🎨 Status Color Key Confirmed Pending Completed Cancelled No-show ★ Requested therapist
Loading…
Loading…
DateClientTherapistServiceRatingCommentStatus
Loading…
ClientPlanPrice/moRenewsStatus
Loading…
Loading…
Loading…
DateStaffRoleShift
Loading…
Loading…
Loading…
RoomTypeCapacityStatus
Loading…
DateClientScalpConcernsRecommendations
Loading…
Loading…
🔬 Scalp analysis photos
From the team app — grouped by visit (before / after). Private to your company.
Loading…
📊 Channel Performance (Last 30 Days)
ChannelOrdersRevenueAOVvs. Prev 30dOwner
Loading CRM…

Meetings

Loading…
Loading Franchise CRM…
Loading…
Loading…
🎓 Active Courses
🏅 Certification Levels
LevelRequirementsValid
Franchise System
Discovery process & outreach roadmap
🔍 Discovery Day Process

📅 30-Day Lead Nurture Roadmap

🏢 Franchise Details
Franchise Leads
Active pipeline · Scoring · Stage tracking
Comm Templates
Email · SMS · Call scripts · Editable & searchable
🔍
Decision-rights matrix
ActionCEODirectorOpsCommerceAcademyAcctCross-check
Legend: ✅ approved authority · 📝 must consult / sign-off · ❌ no authority
Send Email / SMS
Compose and send via Zapier webhook
📤 Recent Sent
TimeTypeToSubject / PreviewStatus
Loading…
Loading…
📊 Tenant KPI dashboard
Pick a tenant, toggle the categories & sub-tabs they get on their Franchise KPI dashboard, then Save. Changes apply when the tenant reloads.
Select a company to edit its dashboard.
🧩 Tenant Modules
Pick a tenant, set its plan tier, and Apply preset to reset modules to that tier's defaults — then fine-tune individual modules and Save. Changes take effect when the tenant reloads.
Starter = core essentials + your industry pack. Growth adds KPIs, hiring, HR, documents & approvals. Enterprise adds the franchise pipeline.
Modules
Select a company…
📦 Plan → Tabs
Set exactly which modules a plan tier grants to new signups. A tier you configure here uses that explicit set; a tier left unconfigured falls back to automatic industry logic. Existing tenants are unaffected — adjust those under 🧩 Modules. Add-ons (booking, inventory, KPI) still layer on top automatically.
Select a tier…
➕ New Company
Module preset
A preset is the starting point — tick or untick anything below. Everything else lands under Advanced, and the owner can switch those on later.
Select an industry to preview…
After creating a company, add its first login in Supabase Auth, then set that user's company_id to the new company. The portal themes & isolates automatically.
All Companies
Loading…
👤 Assign User to Company
Give an existing login access to a company (creates their membership & makes it their active company). The person must have signed in at least once.
✉️ Invite New User (creates a login)
Creates the login with a temporary password and provisions their profile + membership. You'll get credentials to copy & share; they set their own password on first sign-in. No email required.
This role applies only inside their own company — it does not grant any platform/iSpanify admin access. Pick Tenant Owner for the main contact who runs that business.
🔐 Roles & Permissions
See exactly what each role or person sees in a tenant, and tick/untick screens (and view-vs-edit) — scoped to one tenant, applied to their account. No need to log into their account or switch in.
🎁 Gift Card Amounts
Set the preset amount buttons and max custom amount on any tenant's public digital gift-card page — without switching into their workspace. Applies immediately.
Select a company…
🕐 Time Zone
Set each tenant's operating time zone so every date and time in their portal shows in their local time — no matter where a staff member logs in from. Applies immediately on their next page refresh.
💳 Billing & Subscription
View a tenant's Stripe subscription — plan, status, when the trial ends / first charge, and the next renewal date — and stop their renewal if they cancel.
Select a company…
🌿 Tenant Core Values
Edit any tenant's brand core values directly — no need to switch into their portal. Saves to that tenant only.
Select a company…
Loading…
Loading…
Loading…
Loading…
Loading…
📱 Tenant SMS (Twilio)
Each tenant sends texts from their own Twilio number (separate A2P 10DLC registration). Paste this tenant's Twilio Account SID, Auth Token, and sending number. Leave the token blank to keep the saved one. Texts only go out when Enabled is on.
Select a company…
ℹ️ Before texting US customers
US carriers require A2P 10DLC brand + campaign registration for each business before SMS will deliver reliably. Register each tenant in the Twilio console (or via Twilio's ISV/subaccount program), then enable them here. Until registered, messages may be filtered or blocked.
✉️ Tenant Email
Set the From address and Reply-To for each tenant's customer emails (booking confirmations etc.). The From must be on a domain you've verified with your email provider — if the tenant doesn't control their own domain, send from your verified one (e.g. name@ispanify.com) with their name as the display, and put their real inbox (even a Gmail) as Reply-To so replies reach them.
Select a company…
Loading…
💳 Your subscription
Update your card, change your plan, view invoices, or cancel — all in Stripe's secure billing portal. Any changes apply to your iSpanify subscription automatically.
🎨 Company Branding
Your company name, colors, and logo. Changes apply across the portal for everyone in your company.
Upload a PNG, JPG, SVG, or WebP (up to 3 MB) — it uploads and applies automatically. Or paste a hosted URL above.
💳 Payments (Stripe)
Connect your own Stripe account to take card payments at checkout. Money goes directly to your account — iSpanify never holds it. An optional platform fee can be set per company.
Loading…
📣 Appointment & Task Reminders
Choose how reminders go out for your company. Turn each channel on or off. Email is free; SMS uses your texting provider (you register your sending number with them).
Company-wide sender & default reply-to. Booking emails automatically reply to each location's own Email instead — set per branch on the 📍 Locations page (e.g. a 2-location shop with two inboxes replies to the right one). This field is the fallback when a location has no email.
Register this number with your SMS provider before turning SMS on.
✏️ Edit Mode
When Edit Mode is ON, authorized users can add, edit, archive, and update portal content. Changes save to Supabase so the team sees the same data across devices.
📊 Portal Data Manager
Use this area to manage portal content. Changes should be reviewed before publishing. Click Manage on any row to open the section in Edit Mode, where you can add, edit, or archive entries with full forms.

🔐 Access Control

Viewer: Read-only access to public sections
Manager: + Pay Structure, Franchise Leads
Admin: Full access + edit/save data
Codes are set in the source. To change them, edit the PASSWORDS object near the top of the script.

📤 Data Backup

Export everything (your edits + defaults) as a single JSON file. Restore from a backup with the upload button.

📊 System Health

The assistant sees a summary of this workspace (name, plan, enabled features, locations, service menu) but not individual records like clients, payroll, or bookings. It won't take actions on your behalf.
Setup & insights
Loading…
📊 Role Dashboards
Live KPI views per role — Spa Advisor · Manager · Owner — computed from real bills, reviews & memberships.
Loading…
Groupon Analysis
Upload bill report · Save to history · Track trends across months
🎟
No data loaded
Upload your monthly bill report to detect Groupon customers automatically
Groupon customers identified by coupon code = "groupon" or "matchgroupon"
Predictive Analysis
Revenue forecasts · Retention trends · Branch risk scores · Growth opportunities — powered by your uploaded KPI data
🔮
No KPI data yet
Upload at least 2 months of bill reports via the Dashboard → Live KPIs tab.
Predictions require a minimum of 2 periods of data per branch.
💰
Revenue Forecast
Projects monthly revenue per branch using trend analysis
🔄
Retention Forecast
Predicts repeat customer rate trajectory
⚠️
Branch Risk Score
Flags branches showing declining momentum
📈
Growth Opportunities
Surfaces highest-momentum branches and KPIs
Decision Center
What needs your attention — and what to do about it. Auto-detected from your KPIs and scoped to your location(s).
Loading…
Executive Insights
Quarterly performance reviews · Strategic recommendations · Revenue targets · Priority initiatives
💡
No insights yet
Executives and managers can document quarterly performance reviews, strategic direction, and priority initiatives here.
Team Accounts
Manage who can sign in. Owners & admins can add new users; everyone else is read-only here.
🏬 Front Desk Logins — one shared advisor login per location
A shared sign-in your front desk uses directly — book clients, check out, sell retail & gift cards — so advisors don't each need a personal account. Scoped to that location, advisor-level access.
Loading…
Add a new user
Creates a Supabase Auth account and a profile row. The new user gets a temporary password by email.
Filter by location (optional)
Pick an existing staff member (no login yet)
…or type the details below manually.
Email
Full name
Role
Location
⚡ Create logins for all staff
Provisions a sign-in for every active staff member who has an email on file but no login yet. Each gets their own temporary password and is required to set a new one the first time they sign in. No emails are sent — you'll get a list to hand out. Owner/admin only.
All accounts
Loading…
Loading competency matrix…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…