Skip to content
KismetKismetDevelopers
Beta accessllms.txt

Build guest review sections

View .md

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.

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.

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.

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 and GET rental reviews.