1–5 star ratings with DB-trigger aggregate on catalog items. Reviews with verified purchase badge, photo attachments, helpful votes. Full moderation queue in web/office admin panel.
Reviews are consent-based: only authenticated users can rate or review. Verified purchase badge is set automatically when the reviewer has a completed order containing that product.
1–5 stars per product per user (unique constraint). DB trigger recalculates rating_avg and rating_count on catalog_items on every insert/update/delete.
System checks commerce_orders for a paid/delivered order containing the product. Sets is_verified_purchase=true automatically.
New reviews start as pending. web/office admin approves or rejects with optional reason. Approved reviews are public; rejected are hidden.
Authenticated users can vote Yes/No on each review. Counts are recomputed on each vote and shown on the review card.