Reviews
Your verified patient feedback, with a reputation summary and public replies.
| Area | Clinic console |
| Route | /clinic/reviews (exact match) |
| Roles | Clinic admin, Clinic staff |
| Doc key | clinic-reviews |
<!-- GENERATED FILE. Do not edit by hand. Source: components/help/content/. Run npm run gen:docs. -->
Purpose & Business Context
Reviews is the clinic's reputation surface. Verified patient feedback is the single most persuasive signal for a prospective international patient, so this screen shows the clinic its blended rating, the spread of sources behind it, and every individual review, with the ability to respond publicly.
Commercially, replying to feedback (especially the critical kind) demonstrably builds trust with patients still deciding. Because only verified patients can review, the score is credible, and a thoughtful public reply turns a review thread into a selling point.
Screen Overview
A two-up summary row pairs a rating card (big score, stars, verified count and a Trustpilot/Google/Verified-visits split) with a trust explainer. Below sits a card with source filter chips over the review list. Each review card carries the author, source badge, rating, title and body, plus a Reply affordance.
For Apollo the headline is 4.8 from 1,240 verified reviews (720 Trustpilot, 520 Google). Posting a reply shows the clinic's response beneath the review and confirms with a toast.
Controls & Components
- Rating summary card: the overall score, a Stars row, the verified-review count, and per-source rows (Trustpilot, Google, Verified visits) with counts.
- Trust explainer card: a reminder that only verified patients can review and that replies appear on the public clinic page.
- Source filter chips: All, Trustpilot, Google, Verified visit; non-All chips show a count, and the active chip is filled teal.
- Review cards: author and flag, country, date and procedure, a source-coloured Badge, the star rating, a Verified marker, the review title and body.
- Reply flow: a Reply button opens an inline textarea; Post reply (disabled until there is text) saves the response under the review, while Cancel dismisses it.
Field Definitions
- Overall rating: The clinic's blended star score (4.8) shown large in the summary card.
- Verified reviews: The total count of verified reviews behind the score (1,240 for Apollo).
- Source: Where a review came from: Trustpilot (green), Google (blue) or Verified visit (teal). Verified visits are computed as the total minus Trustpilot and Google.
- Verified: A marker on a review from a verified-transaction source, signalling the reviewer was a genuine patient.
- Title / Body: The review's headline and full text.
- Clinic reply: The clinic's public response, shown beneath the review with a 'Response from the clinic' label once posted.
User Actions & Workflows
- Read the summary card to understand your overall rating and where reviews come from.
- Filter by source (Trustpilot, Google or Verified visit) to focus the list.
- Read an individual review's rating, title and body.
- Press Reply to open the response box, write a public reply, and Post reply (it appears under the review).
- Repeat for other reviews; a toast confirms each posted reply.
Navigation & Relationships
Reached from: the sidebar Reviews item, the dashboard Clinic rating tile, and the dashboard's Reply to reviews quick link.
Publishes to: the public clinic page, where both reviews and the clinic's replies are visible to prospective patients.
Feeds: the dashboard Clinic rating tile, which surfaces the same score and verified count shown here.
Business Rules & Constraints
- Clinic-only screen; gated by RequireAuth with role "clinic".
- Only verified patients can review the clinic, so the score reflects genuine transactions.
- A reply with only whitespace cannot be posted; Post reply stays disabled until there is real text.
- Replies are public: they appear on the clinic's public page, not just in the console.
- Replies live in local state in the prototype, so they persist for the session and reset on reload.
Data Dependencies
Reads myClinic().reviews for the summary (rating, count, Trustpilot and Google splits) and reviewsForClinic(clinicAccount.clinicId) for the individual reviews. Replies are held in a local map keyed by review id.
myClinic().reviews: the rating summary and source countsreviewsForClinic(clinicId): the list of verified reviews- local
repliesstate: per-review clinic responses useToast: reply confirmation
Error Handling & Edge Cases
- Empty filter: a source with no reviews shows 'No <source> reviews.'
- Verified-visit count is clamped to a minimum of zero so the summary never shows a negative figure.
- Once a reply is posted, the Reply button is replaced by the published response, preventing a duplicate.
- Cancelling a reply clears the draft and closes the box without posting.
- Mobile: the summary cards stack and the filter chips wrap.
User Roles & Permissions
- Clinic admin: Can read all reviews and post public replies on behalf of the clinic.
- Clinic staff: Same access; responding to feedback is often handled by front-desk or marketing staff. Replies are public, so a consistent voice matters.
- Patient / other roles: No access to the console view. Patients write reviews and read public replies from the marketplace, not here.
Related Features & Functionalities
The public clinic page (where reviews and replies appear), the dashboard Clinic rating tile, the marketplace reputation sources (Trustpilot, Google, verified visits) and the Profile screen, since reputation and accreditations together form the clinic's trust story.
Flow & Screenshots
flowchart LR Reviews[Reviews] --> Summary[Rating summary] Reviews --> Filter[Source filter] Filter --> List[Review list] List -->|Reply| Box[Response box] Box -->|Post reply| Public[Reply on public page]
Guided Walkthrough Steps
The in-app walkthrough for this screen has 6 steps (auto-advances every 5 seconds; Prev / Pause / Next; click outside to exit):
- Reviews (
[data-tour="nav.reviews"])
Your verified patient feedback and reputation. You are on the Reviews tab now.
- Your reputation at a glance (
[data-tour="reviews.summary"])
Your blended score, total verified reviews, and the split across Trustpilot, Google and verified visits.
- Filter by source (
[data-tour="reviews.filters"])
Focus on reviews from a single source, or see them all. Each source chip shows its count.
- Read and reply (
[data-tour="reviews.list"])
Each card shows the rating, title and body. Press Reply to post a public response; replying to feedback builds trust with future patients.
- Rating on your dashboard (
[data-tour="nav.dashboard"])
Your overall rating also appears as a tile on the console home, so you can track it at a glance.
- Help is always here (
[data-tour="topbar.help"])
Open Help on any console screen for documentation, or press Play to replay this walkthrough.