Argentle · UX audit

Book V3 Audit

Fifteen findings on the new booking funnel at /book-v3/. Each one shows the funnel as it stands today, the change we propose beside it, and the reasoning underneath.

Prepared for Carolina Pintos Therapy Last updated August 17, 2026 Status In progress

How to read this

Each finding is the problem and what we propose, in a few lines. Nothing is stated as fact unless it says it was measured.

VerifiedMeasured against the source or the live catalog.
To confirmOpen question for you or for Carolina.

The fifteen findings

01
HighUX-001Verified

Contact details are not asked for until step 5

The phone number comes after the price and after a slot is already held. Everyone who leaves before that is unreachable.

Today
The Details step, with the progress bar reading Step 5 of 8 in the same frame
Contact fields sit behind four earlier decisions.
Proposed · already built
Mockup of name, phone and email placed immediately after the treatment choice
Three fields, captured before the price can scare anyone off.

Why we suggest this

Most of the hesitation in a booking lives in the schedule and price screens, and today both of those come before we have captured a single contact detail. Anyone who hesitates there leaves as an anonymous visit.

The changeAsk for a name and one contact field right after the treatment choice, before any price appears.

02
HighUX-002Verified

Eight steps double the surface for abandonment

Treatment, Location, Therapist, Time, Details, Health, Review, Payment. The form this replaced was four decisions.

Today
The eight progress bar states side by side, or one composite image of the eight steps
Eight separate screens, each one a place to stop.
Proposed · partly built
Diagram of the shorter flow with location and therapist merged and health moved after booking
The same information, gathered in fewer stops.

Why we suggest this

Every extra screen is another place to close the tab, and none of the four added has to happen before a booking exists.

The changeMerge location and therapist, make the therapist optional, and, if feasible, move the health questions after the booking. Eight steps down to five, without dropping a field.

03
MediumUX-003Verified

The clinical gate runs only in the browser

The rules that block a booking on pregnancy or a risk condition run only in the visitor's browser.

Today
Measured
/book-v3/ · page sourcefunction gate6(){ var blocked = pregBlocked() || noteBlocked(); $('cptp-clearance').style.display = blocked ? 'block' : 'none'; $('cptp-go7').disabled = blocked; }

The entire block is one disabled button, running on the visitor's own machine. Read from www.carolinapintos.com on 17 August 2026.

The block is real in the interface and only in the interface.
Proposed · not built yet
Cannot be shown here

The same rule has to run where the booking is actually created, which is your server. Our mirror intercepts every write on purpose, so it never reaches that code and cannot demonstrate the fix. This is the one finding on the list whose repair is not a change to the page.

Not a gap in the audit: a boundary of what a read-only mirror can prove.

Not something a read-only mirror can demonstrate. The repair lives on your server.

Why we suggest this

A disabled button stops the honest visitor and nobody else. So either the rule is clinical and your server has to enforce it too, or the real check happens at the visit and blocking online adds friction unnecessarily.

The changeThis one is Carolina's call. To confirm We need to know which of the two it is, and we will not write it either way until she says.

04
MediumUX-004Verified

A ten minute clock runs while you ask for medical history

The hold starts the moment a time is picked, so a countdown is running while the visitor types out surgery dates, medications and allergies.

Today
The Health step with the countdown visible in the sticky bar, ideally with under three minutes left
Surgery dates, medications and allergies, against a timer.
Proposed · partly built
Measured
fields you have to look up and type, with the clock runningtoday: 4 (surgery date, medications, allergies, anything else) after: 0
height of the health step1726 px → 984 px

Same two clinical questions still asked, still before payment. What moved out is only what the visitor cannot answer from memory. Measured on the local mirror at 390 px wide on 17 August 2026.

The questions that need looking up move to a follow up. The clock keeps only what is instant to answer.

Why we suggest this

These are the answers people have to go and look up, and they are the slowest part of the form. Running a clock over them is the one place in the funnel where we actively rush the patient who is worth the most.

The changeTake the lookup questions out from under the clock. Which ones can move depends on finding 03, so this is the change to make once that is settled.

05
MediumUX-005Verified

Switching tabs erases a half finished form

Close the tab and the form is gone. Progress is kept in storage that dies with the tab.

Today
The form filled to step 5, then the same tab reopened showing it back at step 1
Close the tab to check something and the work is gone.
Proposed · already built
Same interruption with progress restored and a note that the session is still open
Coming back picks up where they left off.

Why we suggest this

Opening a new tab or swiping back erases what was already filled in. That is a lead lost outright if the person is not willing to start from scratch.

The changeKeep the non-medical data for an hour so they can resume when they reopen the tab. The health answers stay out of storage.

06
MediumUX-006Verified

The package price never says what a session costs

The card shows a total and a dollar saving, but never what a single session costs inside the package.

Today
The HydroFacial session cards showing 3 sessions and the You save line
"You save $20" with nothing on screen to check it against.
Proposed · already built
The same HydroFacial screen with the proposed pricing card, framed to match the Today shot
The change is built and running, so this is a real screen rather than a mockup.

Why we suggest this

The visitor has to work out that three times $150 is $450 before they can believe the saving, and $20 off $450 does not persuade anybody.

The changeLead with the per-session price against the single session price sitting right above it. Keep the total underneath so nothing is hidden.

07
MediumUX-007Verified

"Step 1 of 8" announces how long this will take

The counter announces the full length of the journey before the visitor has committed to anything.

Today
Close crop of the progress bar on the first screen reading Step 1 of 8
The first thing the counter communicates is that there are seven more.
Proposed · already built
Mockup of a phase based indicator, for example Treatment then Schedule then Confirm
Progress without a countdown of screens.

Why we suggest this

Announcing eight steps up front adds resistance before the visitor has seen a price or a time. It reads as a form that will take a while, at the moment we most need them to start.

The changeNamed phases and a bar that still moves on every screen, with no total stated anywhere.

08
MediumUX-008Verified

Choosing a therapist comes before seeing any times

The funnel asks the visitor to pick a person they have never met, before showing a single available time.

Today
The therapist step, a screen of its own before any time is shown
A step of its own, spent choosing a stranger.
Proposed · already built
The appointment step: therapist row, earliest available on one line, and the soonest slot already selected
Roster, earliest opening and times on one screen. The soonest slot arrives already chosen, and nothing is reserved until Continue.

Why we suggest this

Most people booking a first appointment have no preference, because they have no basis for one. At a clinic with one available therapist, “no preference” sits next to exactly one alternative.

The changeDefault to any available therapist, with the roster above the times as a filter. Picking a time now selects it rather than jumping ahead, and the slot is only reserved when they press Continue, which also starts the ten minute clock later.

09
MediumUX-009Verified

Every tab, share card and search entry says "Premium"

Fifteen places carry the word "Premium": the tab, both share cards, three blocks of search data, and the page name sent to Meta on every visit.

Today
Measured
document.titleBook Online — Premium - Carolina Pintos Therapy
occurrences of "Premium" on the page15 tab title, og:title, twitter:title, JSON-LD article and breadcrumb, Meta pixel page_title parameter

The pixel parameter is the one worth noting: the internal name is not only shown to patients, it leaves your site on every page view. Read from www.carolinapintos.com on 17 August 2026.

Fifteen places, including one that leaves your site on every page view.
Proposed · already built
Built & measured
document.title, og:title and twitter:titleBook Online: Lymphatic, Post-Op & Facials in Houston 52 characters, inside what Google shows
occurrences of "Premium"2, both inside the Yoast plugin's own HTML comment

Thirteen rewritten. The two left are in a developer comment no patient and no crawler reads as content.

One title that names the service, the city and the action, with the internal word gone.

Why we suggest this

It quietly tells anyone glancing at a tab or a text preview that they are looking at scaffolding, right before being asked for a phone number and a card. The title is also the one line Google shows for this page, so it may as well earn the click.

The changeDrop the plugin name and give it a title that earns the click. Worth a pass across the whole site while you are in there: three of your five main titles run past what Google shows, and the payment plans page states your name twice. For this page:
Book Online: Lymphatic, Post-Op & Facials in Houston

10
HighUX-010Verified

Financing is live on the site and missing from the funnel

Cherry is live on your treatment pages. The funnel, the one screen where the price is final, never mentions it.

Today
Measured
your treatment pages, and a page of its own at /payment-plans/Cherry widget: present
/book-v3/matches for "cherry" or "financ": 0

Read from www.carolinapintos.com on 17 August 2026.

Financing exists on your site, and not on the screen where the price is final.
Proposed
A floating pill reading Pay over time, no hard credit checks, 0% APR options
The same prompt you already run elsewhere, carried into the booking funnel.

Why we suggest this

The integration is already done, and already tied to a real package price. What is missing is placement: the option disappears at the exact moment the patient is deciding.

The changeMove the same widget into the treatment step and the payment step. Tell us the package price above which to offer it.

11
MediumUX-011Verified

The copy leans on an em dash as a stylistic tic

Thirty-six em dashes across the funnel: subheadings, error messages, the health questions, even the calendar invite a patient keeps.

Today
The HydroFacial screen, same capture as finding 06: note the dash in the subhead, the price label, and the note box
"HydroFacial — how many sessions would you like?" and "the balance is settled — ", on one screen.
Proposed · already built
Retake of the same HydroFacial screen: the subhead now reads with a colon and the note box is split into two sentences
Same screen, rewritten. This reuses the finding 06 slot: retaking that screenshot now updates both findings at once.

Why we suggest this

The em dash reads as sloppy generated text, and it turns up thirty-six times across screens where a patient most needs to feel a person wrote to them.

The changeRemove the em dash everywhere it is not strictly necessary. Five sit in your settings data rather than the page, so those are edited wherever that content is managed.

12
MediumUX-012Verified

"Both clinics" appears above a single clinic

On the six treatments only available at Memorial, the location step promises two clinics and shows one.

Today
The Location step for Laser Hair Removal Small Area: Both clinics offer free on-site parking above one card
"Choose your location" and "Both clinics", with one clinic and nothing to choose between.
Proposed · already built
The same screen with the restriction stated in the subheading and The Woodlands shown as an unavailable card
The restriction leads, and the second clinic is present but visibly unavailable.

Why we suggest this

The missing clinic explains nothing. Someone in The Woodlands cannot tell whether the page is broken, the clinic is fully booked, or the treatment simply is not offered there.

The changeState the restriction in the subheading, and show the other clinic greyed out with the reason written on the card.

13
MediumUX-013Verified

Going back is a footer link below the tap minimum

Going back is a 28 pixel underlined link at the foot of the page, in a colour under the contrast minimum.

Today
Close crop of the Back to treatments link at the foot of a step, with enough page around it to show how small it sits
A 13.5px underlined link with no padding around the text.
Proposed · already built
The same spot with a bordered pill button at full tap size
A real secondary button, still visibly lighter than Continue.

Why we suggest this

Every other control in this funnel already meets 44 pixels. On a phone this one competes with the browser's back gesture, and that gesture loses the visitor's progress.

The changeAll nine are pill buttons at full tap size, and the two that said only “Back” now say where they go.

14
MediumUX-014Verified

The countdown runs with no name next to it

The sticky bar carries the clinic and the time while the hold ticks down. The therapist was the piece missing.

Today
The Health step with the sticky bar visible: service, price, clinic, and time, timer running, no therapist name
Clinic and time are already there. The person is not.
Proposed · already built
The same screen with the sticky bar reading service, price, clinic, therapist name and time
The full reservation, at a glance, for the whole time it is being held.

Why we suggest this

Every other detail of the booking is on that bar while the hold runs. The therapist is the one piece missing, which makes it read as incomplete.

The changeThe therapist name now sits with the rest of the booking details being held.

15
MediumUX-015Verified

A corrected pregnancy answer keeps its week count

Answer yes, type the number of weeks, then correct the answer to no. The therapist receives “Pregnant: no (8 wks)”.

Today
Measured
booking note delivered to the therapistGender: Female | Pregnant: no (8 wks) | Conditions: None
customer record written to Squarepregnant: "no" weeks: "8"

Produced by answering yes, typing 8, then correcting the answer to no. Read from the local mirror of the funnel on 17 August 2026. The code that causes it is byte for byte identical on your live page.

What the therapist reads before the session.
Proposed · already built
Built & measured
booking note delivered to the therapistGender: Female | Pregnant: no | Conditions: None
customer record written to Squarepregnant: "no" weeks: ""

Same sequence of answers, same screen. Read from the local mirror of the funnel on 17 August 2026.

The same booking, with the answer the visitor actually gave.

Why we suggest this

Your code already clears that field when the gender answer changes, with a comment saying a stale answer must never reach the therapist. The pregnancy path was missed, and it is the more likely of the two.

The changeClear the field when the answer stops being yes, and read it at the point of writing only while the answer is still yes.