Review widgets and site add-ons: every screen, and the journeys between them
Example data for Sunrise Smiles Dental, a fictional clinic with two locations in Pune. 96 screens; 28 are tagged Needs backend work. The whole feature is new apart from the review inbox and the review kit, so the tag marks only notable extra work (crawls, schedules, third-party calls). Click a screen to open it; each page has Prev and Next for its journey. Nothing here is connected to a real account.
What this shows
- Beyond reviews: contact, booking, hours, map, announcements, posts feed, price list, team and before and after, all filled from one set of facts that theStacc keeps in step with Google.
- Every form and booking request lands in Leads with the page and add-on it came from; calls, WhatsApp and directions taps are counted per add-on.
- Reviews are printed into the page's own HTML, so Google and AI assistants can read them. The install check proves it page by page.
- The header always shows Google's own rating and total (4.6 from 57). A rating filter adds a disclosure that can't be switched off.
- Hiding a review needs a reason that applies to any rating. There is no review gating, no gifts for reviews and no invented content.
- Places reviews are never published. A connected Google Business Profile is required, and a disconnected location shows the date its reviews stop.
- Limits are counts and widgets never go dark: on downgrade an extra widget keeps its last copy for 14 days, then shows a one-line badge, never a blank space.
- A review score and rank against a named rival (Pearl Dental Care) ties reviews to something the owner wants to win. The score can't be bought.
- The same editor shell serves review widgets, the WhatsApp button and the FAQ. Every publish is a version with a one-click restore.
- The last journey shows three design choices side by side: where add-ons live, the editor layout, and the first run. Option a is recommended each time.
1Website add-ons
2Edit a widget
ED01Editor: Reviews tab
ED02Editor: Fairness drawer
ED09Editor: pick by hand
ED03Editor: Layout
ED04Editor: Design
ED05Editor: Header and cards
ED06Editor: Behaviour
ED07Preview and Google viewNeeds backend workServer render of the draft widget; raw HTML fetch and parse for the review count
ED08Publish changes
VR01Versions and restoreNeeds backend worksite_addon_versions is immutable; restore copies a version to a new one and moves the publish pointer
ED10Reviews page: set up and share3Other add-ons, same shell
4Facts, hours and place
FX01One set of factsNeeds backend workA crawl of the live site compares its text (footer hours, treatments list) with the profile facts; edits can be pushed to the Google Business Profile.
AO04Hours add-on: editorNeeds backend workReads regular and special hours from the Business Profile at each sync and works out "Open now" in the visitor's page at Pune time.
AO09Announcement bar: written from special hoursNeeds backend workWatches the profile's special hours at each sync and drafts a bar; starts and stops the bar on its dates without a publish.
AO07Map and directions: editor5Contact, booking and leads
AO06Mobile action bar: Call, WhatsApp, Directions
AO05Contact form: fields, delivery and spam
AO13Booking request: service, day and part of day
LD01Leads: every form and booking request from the websiteNeeds backend workLeads webhook stores each form and booking request with page and add-on; WhatsApp and email alerts on arrival
LD02Lead detail: confirm a booking request on WhatsAppNeeds backend workOpen WhatsApp click-to-chat with a prefilled message; status changes stored on the lead
AN06Insights: results per add-onNeeds backend workTap events from the site tag joined to Leads by add-on and page; daily roll-up6Show the work
AO12Price list: from Company Brain
AO11Team section: dentists and front desk
AO10Before and after: consent per photoNeeds backend workConsent records stored per photo pair and checked at publish; the category default comes from the Google Business Profile category.
AO08Google posts and offers feed
AO14AI front desk chat (v2)Needs backend workAI answers grounded only in the facts, price list and FAQ; credits charged per conversation.7Put it on the site
IN01Install: where is your site
IN02Install: WordPress pluginNeeds backend workSite key issue and rotation; plugin activation ping; per-widget server render endpoint for the plugin
IN03Install: email the code to a developer
IN07Developer check page, no loginNeeds backend workSigned link with 14-day expiry; read-only crawl endpoint
IN04Install: status and crawl checkNeeds backend workScheduled crawl fetching each page's raw HTML without JavaScript; tag ping store; on-demand re-check
IN05Install: Wix and other builders, tag or pasteNeeds backend workPaste-HTML snapshot export; email when the shown set changes by 5 or more reviews
ER08Pasted HTML is out of dateNeeds backend workDiff of the pasted snapshot against the current render; email on 5 or more changes
IN06Ask theStacc to install it
IN08Site built by theStacc: place without code8Reviews day to day
RV01Reviews: inbox with where each review shows
RV02Review detail: reply and see where it showsNeeds backend workAI reply draft (5 credits); post reply through the Business Profile API; reply copied into the widget HTML on the next render
RV03Hide a review from widgets
RV04Sources (Settings)
RV05Get reviews: link, QR and messages
RV06Settings: review and site alertsNeeds backend workAlert rules per member; WhatsApp Business template messages; weekly digest job; tag-silence and sync-failure monitors
RV07WhatsApp: low-review alert
TM01Settings: team and roles9Owner on the phone
10Is it working
AN01Insights: are the review widgets workingNeeds backend workEvent store for views and clicks from the site tag; daily roll-up per widget and per page
AN05Insights: clicks per widget and views per page
AN02Review score against the named rivalNeeds backend workNightly score job over all dentists in the city area; rival pick by category, area and nearest score above
AN04Score history and what moves it
AN03Monthly report email: reviews section11Plans and the Free tier
WS05Settings: plan and limits
FR01Free plan: your widget is ready
FR02Free plan: limit reached on publishNeeds backend workPublish returns 409 with the limit and the live add-on id
ST01Change plan: what happens on FreeNeeds backend workDowngrade job: pause over-limit widgets, keep last good HTML 14 days, then render the one-line badge
ST02Website on Free: a paused widget12Agency and support
AG01Agency: all clients
AG03Agency: one client
AG02Settings: white label (v2)Needs backend workCNAME verification and TLS certificate per custom domain; v2
SP01Support console: look up a widgetNeeds backend workStaff-only lookup across workspaces; re-render and CDN purge; tag kill switch; audited review removal
SP02Support: confirm with a reason13When things go wrong
ER09Website before any location is connected
ER01Baner's Business Profile disconnectedNeeds backend workGBP token expiry detection; 30-day storage cap job that purges held reviews; one-line badge fallback after the cap
ER07Reconnect link page, no login
ER02New location with no reviews yet
ER05A second listing on Google, not connected
ER06Sync failedNeeds backend workRetry schedule and the 12-hour alert
ER03Editor: rules that match no reviews
ER04Tag on the wrong domain or silentNeeds backend workPer-domain tag ping log; domain allow and block list enforced at the render endpoint; 7-day silence detector14What visitors see
VS01Clinic homepage: badge and reviews carousel
VS02Treatments page: corner badge opened and footer strip
VS03Hosted reviews page on FairviewNeeds backend workServer-rendered page on fairview.example; GBP reviews only, never Places; QR generator
VS04Clinic homepage on a phone
VS05Every v1 layout on the clinic's site
VS06The homepage as a crawler fetches it
VS07Contact page: form, hours, map and both clinics
VS08Treatments page: prices, booking request, team, before and after, posts
VS09Homepage with the closure bar, the offer post and correct footer hours
VS10Treatments page on a phone: action bar and booking request15Options
OP01aOption A: add-ons live under Website
OP01bOption B: add-ons live inside Reviews
OP02aOption A: editor with a rail of tabs
OP02bOption B: editor as one scrolling column
OP03aOption A: first run shows a finished widget
OP03bOption B: first run asks where it goes first
OP04aOption A: one action bar on phones
OP04bOption B: one floating contact button on phones










