user manual · the website and the admin app

How everything works.

One page for everyone: the first half is for visitors using the site, the second half is for Lisa and the administrator running it.

Visiting the site

The home page opens with a short animation — a golden orbital circling the Lisa Millar mark before it implodes and reveals the page. Click anywhere to skip straight to the implosion. Hovering any button or card lights a small blue orbital; clicking fires the same implosion in miniature before the page changes.

Six treatment pages describe each treatment in full, with prices, videos where they exist, and a booking panel. The price list on the home page shows everything on one menu.

Booking an appointment

  1. Open Book — or any BOOK ONLINE button.
  2. Pick a treatment. New clients can pick the complimentary consultation.
  3. Pick a day and time. Only genuinely free slots are offered.
  4. Enter your details and pay by card. Payment is handled by Stripe — card numbers never touch this website.

How course payments work

A course takes one payment today — the price of a single session — and the remainder is split evenly across the remaining sessions, charged at each visit from the card used at booking. Example: the RF Microneedling course of 4 costs £675; you pay £180 today, then £165 at each of the three remaining visits. The total always matches the published course price exactly.

Install the booking page as an app: open it in Safari or Chrome on your phone and choose Add to Home Screen.

The music player

The bar at the foot of every page is a working Winamp-style player carrying the site's own soundtrack. It plays the album one track after another and keeps playing as you move between pages. The full guide — including skins and the equaliser — is on its own page: the media player guide, also reachable from the small round icon at the top of every page.

Admin — signing in

The admin app lives at lmaesthetics.co.uk/admin. There are two passwords — Lisa's and the administrator's — both set in api/config.php. Either opens the same app. Sign-ins last 30 days per device.

Admin — managing the calendar

The Schedule tab

The day view shows every booking in its time slot. Use the arrows to move between days and Today to jump back. Tap any booking to open it: the client's phone and email are tap-to-call and tap-to-email, and the actions at the foot mark the visit completed, a no-show, or cancelled.

Blocking time out

+ Block time removes any period from online booking — lunch, holidays, training. Blocks show hatched on the schedule; the ✕ on a block removes it.

Your calendar on your own devices

The Settings tab carries a private subscription link. Add it once to Apple Calendar on the iPhone and the MacBook (instructions are beside the link) and every booking appears there automatically, refreshing itself — nothing to sync by hand.

Admin — payments and courses

Open a course booking and its payment schedule is listed instalment by instalment. For each one that is due:

Book session is at the foot of the drawer — pick a date, tap FIND TIMES, tap a slot, and the next session of the course lands on the schedule.

Admin — the Media tab

The Media tab (the small dial icon) manages the site's music player.

Skins

Upload a classic Winamp skin file (.wsz) and the site reads the skin's own colour design — its playlist and visualiser colour declarations, plus the chassis artwork where the server can read it — and builds a matching colourway. It appears in the player's SKIN tray on every page. REMOVE takes it out again; anyone who had chosen it falls back to Velvet. Six classic skins come pre-installed.

Plugins

Plugin files can be stored and removed here for safe keeping. A classic Winamp plugin is Windows software and cannot run inside a web page, so storage is all that is offered — nothing uploaded here is ever executed.

Admin — Settings

Going live — the three one-time steps

  1. Paste the Stripe secret key into api/config.php.
  2. Add a Stripe webhook pointing at https://lmaesthetics.co.uk/api/webhook.php (events: checkout.session.completed, payment_intent.succeeded) and paste its signing secret into the same file.
  3. Change both passwords in the same file.

To rehearse everything without Stripe, set STRIPE_SIMULATE to true — a banner marks the admin app so simulation can never be mistaken for live — and set it back to false before launch.

Troubleshooting