# Build guest review sections

> Show selected reviews alongside authoritative collection totals without calculating a score from the selection.


Use the manager review read for a homepage testimonial rail or a portfolio review
page. Use the rental review read for one home's reviews. Both require
`reviews.read` within the installation's granted collection. Origin-bound
publishable reads and server reads keep the same collection and publication scope.

## Read a selected rail

```ts
import { createKismetClient } from '@kismet-tech/sdk/server';

const client = createKismetClient({ baseUrl: 'https://api.ksmt.app/v1' });
const reviews = await client.vacationRentalManager.reviews.list({
  minRating: 4,
  limit: 6,
});
// reviews.data: selected reviews, newest first, with each home's identity.
// reviews.meta.aggregate: full public collection totals, when supplied.
```

Equivalent REST: `GET /v1/developer/vacation-rental-manager/reviews?minRating=4&limit=6`
with the installation's existing Bearer credential. Keep server credentials out
of browser code. `recentDays` accepts 1 through 60; `limit` accepts 1 through 50.
Follow `page.nextCursor` when building a paginated review list. A bounded homepage
rail does not need to fetch every review.

Label a curated rail **Selected guest reviews**. Keep full review wording
available when a card truncates its visible text. Preserve `reviewerDisplayName`,
the first-name-only public projection. `Guest` means the source does not supply a
usable name; do not infer it from reservation or account data. Keep individual
ratings and review dates separate from stay dates. `stayMonth` is supplied only
when supported by the source relationship.

## Display the full collection summary

In API contract 0.7.43 and SDK versions that support it, optional
`meta.aggregate` contains:

| Field | Meaning |
| --- | --- |
| `overallRating` | Mean normalized 0–5 rating over rated public reviews, rounded to two decimal places. Null when no public review has a rating. A stored zero is a rating. |
| `reviewCount` | All public reviews, including reviews without a rating. |
| `ratedReviewCount` | Number of reviews used for the mean rating. |
| `scope` | `published_collection`: public reviews for published homes with active, directory-visible membership in the granted collection. |

The summary is independent of `minRating`, `recentDays`, `limit` and `cursor`.
A positive-review rail can accompany a lower overall rating. Never derive an
overall score or total count from the selected cards, the first page, or a sum of
rounded property means. Treat an absent summary on an older API/SDK as unavailable;
omit the headline totals rather than inventing zeros.

For example, show **4.72 out of 5 from 118 ratings** and **120 public reviews**
using the corresponding returned fields. An unrated-only collection can show its
public review count without a score. Do not claim these totals represent private,
unpublished, or otherwise unauthorized reviews. If you emit an aggregate schema
node, use the same visible rating, scope and counts and follow the schema rules
for that page's entity. A homepage rail alone does not authorize organization
review rich results.

## Scope, freshness and publication

The service filters public reviews and published collection membership before
aggregation and pagination. A request filter narrows the rail, not authority.
The credential determines TEST or LIVE and current grants; TEST does not turn
these content reads into private access or a booking action.

The response carries `meta.asOf`; conditional responses use ETag. Changes to the
full summary invalidate the ETag even if the selected page is unchanged. Respect
cache headers when changing review visibility. This read does not add review
editing or manager curation controls, and a `minRating` selection does not hide
reviews from other endpoints.

See [GET manager reviews](https://developers.kismet.travel/api/reference/list-vacation-rental-manager-reviews.md)
and [GET rental reviews](https://developers.kismet.travel/api/reference/list-vacation-rental-reviews.md).
