System Overview
A practical map of Review Manager's records, public surfaces, and integrations.
Review Manager is easiest to understand as a proof publishing system. Internal users organize locations, projects, reviews, and widgets. Public visitors see the output through website embeds and review request links.
The Big Picture
At a high level, Review Manager moves customer work through five layers:
- A location represents the business branch or service area.
- Completed work is stored as a project with customer and location context.
- Reviews are attached to locations and optionally linked to projects.
- Widgets publish selected projects and reviews to public websites.
- Review requests send customers into the review flow and cancel remaining pending requests after a link is used.
The Record Hierarchy
| Level | Description | Used by |
|---|---|---|
| Location | Business location with address, slug, and optional Google place id. | Admin users, widgets, Google imports |
| Project | Completed work with date, customer details, geolocation, media, tags, and description. | Admin users, gallery widgets, map widgets |
| Review | Feedback with source, rating, review text, metadata, and optional project link. | Admin users, review feeds, project galleries |
| Widget | Public embed configuration for a location. | Website embeds |
| Review request | SMS follow-up with send time, hash, status, and optional Twilio message id. | Review request queue and /go/{hash} |
| Link click | Tracking record for a used review request link. | Follow-up cancellation and reporting |
Main Surfaces
| Surface | Audience | Notes |
|---|---|---|
/admin | Internal operators | Filament panel for locations, projects, reviews, tags, and widgets. |
/widget/{widget} | Public websites and previews | Full widget render route. |
/widget/{widget}/embed.js | Public websites | Script embed route with CORS enabled and short public cache headers. |
/go/{hash} | Review request recipients | Livewire review flow for public review handoff or private low-star feedback. |
/google/* | Operators and Google integration | OAuth and review import support for Google Business Profile. |
/api/* | External systems | Sanctum-authenticated JSON API for project intake, media, tags, and read-only resources. |
| Horizon and Telescope | Developers and operators | Queue and observability dashboards when enabled. |
Review Request Flow
- A project creates review requests for now, 3 days later, and 7 days later.
- Each request gets a unique
url_hash. - The SMS notification sends the customer to
/go/{hash}. - Four or five stars send the customer toward the public Google review URL.
- One to three stars collect private feedback and notify the configured internal user.
- When a link is clicked, pending review requests for the same project are cancelled.
Widget Types
| Type | View | Behavior |
|---|---|---|
map | widgets.map | Injects a map container, map CSS, widget JSON, and the map script. |
project-gallery | widgets.project-gallery | Embeds server-rendered carousel/gallery HTML. |
review-feed | widgets.review-feed | Embeds server-rendered review feed HTML. |
Integrations
Google Business Profile provides locations and reviews after OAuth authorization. Project and media import jobs can also pull data from configured upstream sources.
Twilio sends review request SMS/MMS messages and internal intercepted-review notifications.
How To Think About Changes
When you update a record, ask:
- Which location owns this data?
- Will this record appear in a public widget?
- Does it have the rating, review text, media, and geolocation required by the widget?
- Does it affect active review requests or Google review import?
Avoid publishing widgets before checking the underlying project media, review ratings, and location coordinates. Most display issues start with missing source data.