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¶
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.
POST /reviews -- Submit a guest review¶
Creates a review for a completed reservation. The service validates that
GET /reviews/{review_id} -- Retrieve a specific review¶
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.
DELETE /reviews/{review_id} -- Delete a review¶
Soft-deletes a review. Only the review author or a moderator can delete.
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.
GET /trips/{trip_id}/rating-summary -- Get aggregated rating summary for a trip¶
Returns the average rating, total review count, and rating distribution
GET /guides/{guide_id}/rating-summary -- Get aggregated rating summary for a guide¶
Returns the average rating, total review count, and rating distribution
GET /moderation/queue -- List reviews pending moderation¶
Returns reviews in PENDING_MODERATION status, ordered by submission date. Requires MODERATOR role.
POST /moderation/{review_id}/decide -- Approve or reject a review¶
Sets the moderation decision for a review. APPROVED reviews become publicly visible.