Initializing portal...
Employee Portal
Employee Portal
No notifications yet
Here's what's happening at Chloe • Enhanced Dashboard • Team Updates • Smart Notifications
No upcoming birthdays
Manage your personal information and settings
Maximum file size: 2MB
Supported formats: JPG, PNG, GIF
Choose which email notifications you receive. These are personal settings for your account only.
Manage Totality Medispa staff across all locations
| Employee | Contact | Location | Status | Actions |
|---|---|---|---|---|
|
|
Try adjusting your search or filter criteria.
Manage shifts, view schedules, and track coverage
| Employee |
TODAY
|
||||||
|---|---|---|---|---|---|---|---|
|
|
+ Add
|
||||||
| No employees match your filters. | |||||||
| Time |
|
|---|---|
|
+
|
No tasks yet. Create your first task to get started!
Calculated based on your accrual rate and approved requests.
| Employee | Type | Dates | Hours | Balance Before → After |
Reason | Status | Requested | Actions |
|---|---|---|---|---|---|---|---|---|
|
|
to
|
override
|
|
|||||
| No time off requests found |
Click any employee row to see every PTO request they have for this year. Edit hours inline and click Save to update accrual settings.
| Employee | Live Balance | Starting Hrs | As Of Date | Annual Days | Per | Action | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
No PTO requests for this year.
Tip: edit the Hours field above to override the default 8-hr/day calc — useful for half-days. Changes save automatically.
|
|||||||||||||||||||||
|
No employees are currently assigned to an active PTO policy. Edit a policy on the PTO Policies tab to assign employees. |
|||||||||||||||||||||
| Employee | Start Date | End Date | Type | Total Days | Status | Reason | Actions |
|---|---|---|---|---|---|---|---|
|
|
|||||||
| No PTO found for the selected criteria. | |||||||
Manage job positions/titles for employees. These appear in employee forms.
No positions defined yet.
Manage employment roles for permissions. These control what pages users can access.
No roles defined yet.
Update position and role options throughout the system. This will affect dropdown menus in employee forms.
⚠️ Changes take effect immediately for new forms
Configure which pages each role can access. Changes apply to new logins.
Drag items up or down to reorder the navigation menu. Changes apply immediately.
Select which staff members receive email alerts for time clock issues, task completions, and PTO requests. If none selected, all managers will be notified.
Send a test email to all selected recipients to verify the connection.
Select which employees are assigned to handle missed SalesIQ chats. Missed chats will be distributed evenly (round-robin) among assignees.
Download all portal data as CSV files for backup or migration purposes.
Export all portal data in a single comprehensive file.
Restore portal data from CSV files. Warning: This will replace existing data.
Choose CSV file to import employee data
Choose CSV file to import timesheet data
Choose CSV file to import schedule data
This will completely replace all portal data. Use only for full system restoration.
Choose backup file (CSV or JSON) to restore all data
Download complete system backup
Clear localStorage and reload demo data
Scans the database and permanently deletes any corrupted time cards (where Clock Out is before Clock In).
| Employee | Assigned | Progress | Score | Grade | Status |
|---|---|---|---|---|---|
| Yes — |
|
— |
Read and acknowledge company documents.
Documents you publish here can require employee acknowledgment.
Recent additions to make your day-to-day faster. Click any section below to jump to the deeper guide.
See your upcoming shifts in your own timezone — useful if you live in one zone but cover shifts at locations in another.
Each request in the My Time Off Requests table now shows your starting balance and ending balance, so you can see exactly how each trip affects your PTO. A small legend explains what the colors mean.
Managers can publish documents (handbook updates, policy changes, training materials) and require employees to acknowledge they've read them. Color-coded queue shows what's pending vs. done.
In Team Management, when editing an employee, the new 🔄 Force Reset button generates a strong random password and reveals it once for you to share with the employee. Saves the multi-step manual process.
Six tabs of analytics on payroll, attendance, hours, and PTO usage.
Generate the timesheet CSV for your payroll provider, scoped to the current or any past pay period. Overtime is calculated per ISO week within the period.
Audit log of every login. Filter by employee, action type, or date range.
If you see "0 results" with no error, your Supabase needs the activity_log table created. Ask your admin.
Bar chart of actual hours worked, sorted highest to lowest. Defaults to the current pay period; pick any custom range. Useful for spotting underused or overworked employees.
Color-coded cards showing how many hours each location consumed. Colors match the location colors on the schedule grid for quick recognition.
12-month rolling bar chart of approved PTO hours by month. Hover/tap a bar to see the exact hours and request count.
Compares scheduled shifts to actual clock-ins. Four KPIs:
Future shifts are excluded — they haven't happened yet.
Track which employees have read and acknowledged company documents.
Tools that only managers and admins see. Click any header below for the deeper guide.
Templates are saved per-manager, per-device.
Two cleanup tools:
Both show the duplicates grouped, mark which one will be kept (most complete record), and let you remove the rest in one action.
When you're scheduling a new shift, the form watches for two issues and shows amber warnings live:
Warnings don't block save — sometimes you intentionally need coverage during PTO. They just give you the heads-up.
PTO approvals, off-site clock-in approvals, and task approvals all record the actual approver's name (not the generic word "Manager"). Older records that were saved before this fix are upgraded automatically when you reload the page.
Chloe is Totality Medispa's employee management portal. Here's everything you need to get started.
Use the username and password provided by your manager. If you've forgotten your password, click "Forgot Password?" on the login screen.
Add Chloe to your phone's home screen for quick access. See the "Install App" tab for step-by-step instructions.
When you arrive at work, go to Time Clock, select your location, and tap "Clock In." GPS will verify your location automatically.
View your upcoming shifts on the Schedule page. You can switch between day, week, and month views.
Check Tasks for assignments from your manager. Completing tasks earns you reward points!
At the end of your shift, return to Time Clock and tap "Clock Out." Don't forget — you'll get a reminder at 9 PM if you're still clocked in!
Overview of hours, tasks, and upcoming events
Edit your info, photo, and change password
Clock in/out with GPS verification
View your shifts in day, week, or month view
View and complete assigned tasks
Review your time cards and hours
Request PTO, vacation, or sick days
Earn points, redeem rewards, vote for coworkers
⚠️ Important: You MUST use Safari. This does NOT work in Chrome or other browsers on iPhone.
Go to totalitymed.com/employees/chloe
It's the square with an arrow pointing up (⬆️) at the bottom of your screen
Scroll down in the share menu until you find it
You'll see the Chloe name and Totality logo. Tap Add in the top right.
The Chloe app icon will appear on your home screen. It opens full-screen like a real app!
Go to totalitymed.com/employees/chloe
Chrome will show an install banner at the bottom. Or tap the ⋮ menu → "Install App"
Chloe will appear in your app drawer and home screen.
💡 Tip: The app updates automatically — you'll always have the latest version without reinstalling!
Chloe uses GPS to verify you're within 100 feet of your assigned location when clocking in or out.
If you're still clocked in after 9:00 PM, Chloe will send you a reminder notification. Make sure to clock out to keep your hours accurate!
The Schedule page shows all shifts. You can switch between three views:
Detailed hourly view of a single day
7-day grid showing all shifts
Calendar overview of the entire month
Shifts are color-coded by location. Click any shift to see details. Today is marked with a vertical purple/gold line and a "TODAY" tag at the top of the column.
Filter dropdowns at the top let you narrow by Locations, Roles, or specific Employees. Your selections are remembered next time you visit.
Toggle on, then click multiple shift cards to select. Then delete / change location / reassign all selected shifts at once. Click again or tap "Clear" in the purple toolbar to exit.
Scans for identical shifts (same employee+date+time+location) and shows you what would be removed. The keep/delete decision is made automatically — keeps the lowest-ID copy.
Email each selected employee their upcoming shifts. Use the date-range presets (Today / This week / Next 14 days / This month) or pick custom dates. Filter by location, role, or specific names.
Save the currently-displayed week as a template, then apply that template to any future week. Existing shifts in the target week stay; identical ones are skipped to avoid duplicates.
When the date+time+employee match approved PTO or another existing shift, you'll see an amber warning above the action buttons. The warning is informational — you can still save (sometimes coverage during PTO is intentional).
If you cover shifts at locations in different timezones, set your Display Timezone on My Profile. Times for upcoming shifts on the Dashboard will convert to your zone with the abbreviation shown (e.g. "10:00 AM ET" for a 9:00 AM CT Texas shift if you're in Eastern). The Upcoming Shifts widget also has a per-session "View in:" dropdown to switch on the fly.
💡 Note: PTO option only appears if you've been set up for PTO accrual by your manager. If you only see "Vacation," that's normal!
If you're PTO-eligible, your live balance shows on the Dashboard. It's calculated automatically based on your annual PTO days, accrual frequency, and approved time off taken.
Each request in the My Time Off Requests table shows how it changes your PTO balance:
The "running balance" walks through approved requests in chronological order (oldest first), so you can trace how each trip stepped your balance down.
When you approve or deny PTO, the system records your actual name (not the generic word "Manager") and the timestamp. Older records are upgraded automatically when you reload — if you saw "Approved by Manager" before, those should now show the real approver's name.
Earn points by being a great employee! Points can be redeemed for gift cards, PTO, and more in the Rewards Store.
Spend your points on real rewards! Go to Rewards → Store to browse. Items range from $5 Starbucks cards to extra PTO days.
Vote for a coworker who went above and beyond! Go to Rewards → Employee of the Month. You get one vote per month and can't vote for yourself.
Select the coworker who has gone above and beyond this month.
Votes are being tallied for this month. Check the Hall of Fame for the winner!
Changes apply immediately to all employees
When missed SalesIQ chats are imported, they'll appear here.
Track specific KPI tasks (like IG comments) and Membership Sales for annual performance reviews.
| Employee | Position | Review Task Points (IG, etc) | Membership Sales |
|---|---|---|---|
|
|
⭐
|
|
:
Read-only preview of timesheet data
| Employee | Date | Clock In | Clock Out | Hours | Location |
|---|---|---|---|---|---|
| No timesheet data for selected period | |||||
Showing last 500 events · results
| Date & Time | Employee | Action | Details |
|---|---|---|---|
|
⚠️ The
activity_log table does not exist in SupabaseActivity tracking won't work until the table is created. Run this SQL in your Supabase SQL editor:
CREATE TABLE IF NOT EXISTS activity_log ( id BIGSERIAL PRIMARY KEY, employee_id TEXT, employee_name TEXT, action TEXT, details TEXT, created_at TIMESTAMPTZ DEFAULT now() ); CREATE INDEX IF NOT EXISTS activity_log_created_at_idx ON activity_log (created_at DESC); CREATE INDEX IF NOT EXISTS activity_log_employee_id_idx ON activity_log (employee_id); ALTER TABLE activity_log ENABLE ROW LEVEL SECURITY; CREATE POLICY "activity_log_all_access" ON activity_log FOR ALL USING (true) WITH CHECK (true); After running, refresh this page. New activity will start logging immediately for logins, clock-ins/outs, and other tracked actions.
|
|||
|
⚠️
Error loading activity log
|
|||
|
📭
No activity in this date range
Try a wider range, clear the filters, or check back after employees log in
If you've never seen activity here, the
activity_log table may need to be created in Supabase. |
|||
Compares scheduled shifts against actual clock-ins. Future shifts are excluded.