Skip to content

svc-reviews

NovaTrek Reviews Service  |  Support  |  v1.0.0  |  Guest Experience Team

Manages guest reviews, ratings, and social proof for NovaTrek Adventures.

Swagger UI Download OpenAPI Spec


Integration Context

svc-reviews C4 context diagram

Data Store

Overview

Property Detail
Engine PostgreSQL 15
Schema reviews
Tables reviews, review_helpful_votes, rating_aggregates
Estimated Volume ~500 reviews/day, ~50,000 reads/day
Connection Pool min 5 / max 20 / idle timeout 5min
Backup Strategy Daily pg_dump, 30-day retention

Key Features

  • Reservation-gated review submission (cross-ref svc-reservations)
  • Optimistic locking on review records (_rev field)
  • Pre-computed rating aggregates per trip and per guide
  • Full-text search on review body via tsvector index

Solutions Affecting This Service

Ticket Solution Capabilities Date
NTK-10008 Guest Reviews and Ratings Platform CAP-1.7, CAP-1.2 2026-03-06

Endpoints (10 total)


GET /reviews -- List reviews with optional filters

Returns paginated reviews filtered by trip, guest, guide, or rating range. Only APPROVED reviews are returned for public queries.

View in Swagger UI

GET /reviews sequence diagram

POST /reviews -- Submit a guest review

Creates a review for a completed reservation. The service validates that

View in Swagger UI

POST /reviews sequence diagram

GET /reviews/{review_id} -- Retrieve a specific review

View in Swagger UI

GET /reviews/{review_id} sequence diagram

PATCH /reviews/{review_id} -- Update a review (guest edit or moderation action)

Guests may update their review text and rating while in PENDING_MODERATION status.

View in Swagger UI

PATCH /reviews/{review_id} sequence diagram

DELETE /reviews/{review_id} -- Delete a review

Soft-deletes a review. Only the review author or a moderator can delete.

View in Swagger UI

DELETE /reviews/{review_id} sequence diagram

POST /reviews/{review_id}/helpful -- Mark a review as helpful

Increments the helpful_count for a review. Each guest can mark a review helpful once.

View in Swagger UI

POST /reviews/{review_id}/helpful sequence diagram

GET /trips/{trip_id}/rating-summary -- Get aggregated rating summary for a trip

Returns the average rating, total review count, and rating distribution

View in Swagger UI

GET /trips/{trip_id}/rating-summary sequence diagram

GET /guides/{guide_id}/rating-summary -- Get aggregated rating summary for a guide

Returns the average rating, total review count, and rating distribution

View in Swagger UI

GET /guides/{guide_id}/rating-summary sequence diagram

GET /moderation/queue -- List reviews pending moderation

Returns reviews in PENDING_MODERATION status, ordered by submission date. Requires MODERATOR role.

View in Swagger UI

GET /moderation/queue sequence diagram

POST /moderation/{review_id}/decide -- Approve or reject a review

Sets the moderation decision for a review. APPROVED reviews become publicly visible.

View in Swagger UI

POST /moderation/{review_id}/decide sequence diagram