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 TherapyLast updated August 17, 2026Status 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.
The phone number comes after the price and after a slot is already held. Everyone who leaves before that is unreachable.
Today
Contact fields sit behind four earlier decisions.Proposed · already built
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
Eight separate screens, each one a place to stop.Proposed · partly built
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.
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
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
Close the tab to check something and the work is gone.Proposed · already built
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
"You save $20" with nothing on screen to check it against.Proposed · already built
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
The first thing the counter communicates is that there are seven more.Proposed · already built
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
A step of its own, spent choosing a stranger.Proposed · already built
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.
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
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
"HydroFacial — how many sessions would you like?" and "the balance is settled — ", on one screen.Proposed · already built
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
"Choose your location" and "Both clinics", with one clinic and nothing to choose between.Proposed · already built
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
A 13.5px underlined link with no padding around the text.Proposed · already built
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
Clinic and time are already there. The person is not.Proposed · already built
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.