Protected Access

Laser Skin Academy Admin

Enter the admin password to review clicks, lead scores, and follow-up actions.

Password: 1

Laser Skin Academy Admin

Advanced Aesthetic Partner Network Dashboard

Mobile-friendly dashboard for click tracking, WhatsApp opens, ROI activity, hot/warm/cold lead scoring, and follow-up scripts. Live submissions from visitors appear in Netlify Forms β†’ inkfade-event.

Total Events0
CTA Clicks0
WhatsApp Opens0
Qualified Leads0

Performance Overview / Dashboard Metrics

Auto-synced: The homepage KPI cards now read from Booking Management, Partner Applications, Referral Partner Control Center, and Referral & Payout Control. These manual fields are kept only as backup notes.

Total Treatments

Course Revenue

Network Revenue

Machine Setup

View Dashboard

Performance Overview

Auto-synced: Monthly performance is calculated from completed bookings, revenue estimates, partner applications, and referral records.

Treatments Completed

Top Ranked Partner

New Studios Activated

Referral Partners

Recent Activity

Auto-synced: Recent Activity is generated from latest bookings, referrals, partner applications, and payout updates.

Activity 1

Activity 2

Activity 3

Activity 4

Your Impact

Auto-synced: Your Impact is calculated from completed treatments, partner studios, earning partners, and booking workflow activity.

Clients Treated

Studios Empowered

Partners Earning

Cover-Up Support

Live data source

This version records events locally for quick admin checks and submits key events to Netlify Forms. After deploy, open Netlify β†’ Site β†’ Forms β†’ inkfade-event for cross-device visitor data.

Netlify path: Site dashboard β†’ Forms β†’ inkfade-event
Open Netlify

Lead quality snapshot

Hot leads0Ready for direct call/date close.
Warm leads0Needs schedule-building support.
Cold/nurture0Route to email + education.
WhatsApp intent0%WhatsApp opens vs CTA clicks.

Proof decision engine

The landing page automatically moves the highest-performing proof card first based on clicks, full-image opens, and activation clicks.

Follow-up automation system

Use these scripts based on lead score. Copy/paste manually in WhatsApp or email after reviewing the lead.

Injectable Partner Applications

Separate injectable partner form: Applications submitted from injectable-partner.html are saved here for review. Netlify Forms will also collect injectable-partner-application after deployment.

Total applications0All injectable partner leads.
New applications0Need first review.
High priority0Strong demand / room fit.
Approved0Ready for partnership discussion.
Open Injectable Form
DateClinic / BusinessContactFitStatusRevenue ControlActions

Booking Management Control Center

View and control every appointment request from the booking page. Each booking shows the client details, requested service, referral code, matched partner business, status, and payout stage.

Total appointments0All bookings received.
New appointments0Need first contact.
Booked0Scheduled appointments.
Completed / paid0Treatment finished or paid.

New Appointments

Control flow: New Appointment β†’ Contacted β†’ Booked β†’ Completed β†’ Paid. Use Cancel or Remove only when needed.

Open Booking Page
DateClient DetailsServiceReferral CodeBusinessStatusActions

Referral reward categories: Online courses, laser treatments, and injectables. Rewards are calculated automatically by service category and shown in booking/referral control.

Referral Partner Control Center

Partners submit a sign-up form first. You can approve, disapprove, suspend, remove, and control referral payouts from here.

Partner applications0All partner sign-ups.
Pending approval0Need your decision.
Completed referrals0Eligible for payout review.
Pending payouts0Completed but not paid.

Partner Applications

BusinessCodeStatusContactStatsActions

Referral & Payout Control

Reward rules active: Service-category reward model active. Payouts are calculated from completed/paid referrals and controlled from Admin.

ClientPartner CodeServiceStatusRewardActions

Injectable Revenue

Automatic revenue ledger: Completed partner activity and manual Rewards Wallet counts both create revenue automatically from program value, partner share, and payment status. Admin only marks Pending β†’ Paid, exports CSV, or uses manual corrections when needed.

Lifetime Injectable Revenue0
Pending Payouts0
Paid Revenue0
Completed Transactions0

Partner Summary

Revenue Ledger

DatePartnerProgramGrossSharePartner EarningsStatusActions

Before & After Gallery

Controlled from Admin: Add, hide, show, or delete before/after result cases. Visible cases appear on the public Results page.

Recent leads with score

Events

TimeEventVisitorDetailsSource
Landing
'; const w=window.open('','_blank'); if(w){w.document.write(html); w.document.close(); setTimeout(()=>w.print(),300);} }; window.exportPartnerRevenueCsv=function(){ const rows=ledger(); const csv=['Date,Partner,Code,Program,Gross,Share,Partner Earnings,Status,Source'].concat(rows.map(t=>[t.date,t.partner,t.code,t.program,t.gross,t.share,t.earnings,t.paid?'Paid':'Pending',t.source].map(v=>'"'+String(v==null?'':v).replace(/"/g,'""')+'"').join(','))).join('\n'); const blob=new Blob([csv],{type:'text/csv'}); const a=document.createElement('a'); a.href=URL.createObjectURL(blob); a.download='partner-revenue-ledger.csv'; a.click(); setTimeout(()=>URL.revokeObjectURL(a.href),500); }; function init(){ if(!document.getElementById('partnerRevenueManagementPanel')) return; document.getElementById('partnerRevenueSearch')?.addEventListener('input',renderPartnerRevenueManagement); document.getElementById('partnerRevenueStatusFilter')?.addEventListener('change',renderPartnerRevenueManagement); document.getElementById('refreshPartnerRevenue')?.addEventListener('click',renderPartnerRevenueManagement); document.getElementById('exportPartnerRevenueCsv')?.addEventListener('click',window.exportPartnerRevenueCsv); renderPartnerRevenueManagement(); } if(document.readyState==='loading') document.addEventListener('DOMContentLoaded',init); else init(); window.addEventListener('storage',()=>setTimeout(renderPartnerRevenueManagement,120)); window.addEventListener('lsaFirebaseSynced',()=>setTimeout(renderPartnerRevenueManagement,120)); })();