Review data model

Updated:

View field support, webhooks, and list parameters for each integration on the Supported Integrations page.

FieldTypeRequiredDescription
idstringNounique identifier for the review
created_atstring (date-time)Nowhen the review was created (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
updated_atstring (date-time)Nowhen the review was last updated (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
listing_idstringNopointer to the Property Listing that was reviewed
reservation_idstringNopointer to the Property Reservation that was reviewed
guest_idstringNopointer to the Property Guest who wrote the review
author_namestringNothe reviewer name
sourcestringNothe channel the review was posted on, eg. Airbnb
titlestringNothe review title
contentstringNothe review text
ratingnumberNothe overall rating
category_ratingsPropertyCategoryrating[]Noratings per category
category_ratings[].categoryenumNothe rated category Values: CLEANLINESS, ACCURACY, COMMUNICATION, CHECKIN, LOCATION, VALUE, OTHER
category_ratings[].ratingnumberNothe category rating
category_ratings[].commentstringNothe guest comment for this category
private_feedbackstringNoprivate feedback for the host
responsestringNothe host public reply
responded_atstring (date-time)Nowhen the host replied (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
is_publicbooleanNowhether the review is publicly visible
metadataPropertyMetadata[]Nocustom field values
metadata[].idstringNothe custom field identifier
metadata[].slugstringNothe custom field key
metadata[].valueobjectNothe custom field value
metadata[].namespacestringNothe scope or origin of the custom field
metadata[].formatenumNothe data type of the value Values: TEXT, NUMBER, DATE, BOOLEAN, FILE, TEXTAREA, SINGLE_SELECT, MULTIPLE_SELECT, MEASUREMENT, PRICE, YES_NO, CURRENCY, URL
metadata[].extra_dataobjectNoadditional data about the custom field

TypeScript

TypeScript
export type PropertyReview = {
	id?: string; // unique identifier for the review
	created_at?: string-time; // when the review was created (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
	updated_at?: string-time; // when the review was last updated (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
	listing_id?: string; // pointer to the Property Listing that was reviewed
	reservation_id?: string; // pointer to the Property Reservation that was reviewed
	guest_id?: string; // pointer to the Property Guest who wrote the review
	author_name?: string; // the reviewer name
	source?: string; // the channel the review was posted on, eg. Airbnb
	title?: string; // the review title
	content?: string; // the review text
	rating?: number; // the overall rating
	category_ratings?: []; // ratings per category
	private_feedback?: string; // private feedback for the host
	response?: string; // the host public reply
	responded_at?: string-time; // when the host replied (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
	is_public?: boolean; // whether the review is publicly visible
	metadata?: []; // custom field values
	raw?: any; // raw data from the integration
} 

Zod

Zod
import { z } from 'zod';

export const ZodPropertyReview = z.object({
	id: z.string().optional().describe("unique identifier for the review"),
	created_at: z.string-time().optional().describe("when the review was created (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"),
	updated_at: z.string-time().optional().describe("when the review was last updated (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"),
	listing_id: z.string().optional().describe("pointer to the Property Listing that was reviewed"),
	reservation_id: z.string().optional().describe("pointer to the Property Reservation that was reviewed"),
	guest_id: z.string().optional().describe("pointer to the Property Guest who wrote the review"),
	author_name: z.string().optional().describe("the reviewer name"),
	source: z.string().optional().describe("the channel the review was posted on, eg. Airbnb"),
	title: z.string().optional().describe("the review title"),
	content: z.string().optional().describe("the review text"),
	rating: z.number().optional().describe("the overall rating"),
	category_ratings: z.array().optional().describe("ratings per category"),
	private_feedback: z.string().optional().describe("private feedback for the host"),
	response: z.string().optional().describe("the host public reply"),
	responded_at: z.string-time().optional().describe("when the host replied (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"),
	is_public: z.boolean().optional().describe("whether the review is publicly visible"),
	metadata: z.array().optional().describe("custom field values"),

});

Python

Python
import dataclasses

@dataclasses.dataclass
class PropertyReview:
	"""unique identifier for the review"""
	id: Optional[str]
	"""when the review was created (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"""
	created_at: Optional[str]
	"""when the review was last updated (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"""
	updated_at: Optional[str]
	"""pointer to the Property Listing that was reviewed"""
	listing_id: Optional[str]
	"""pointer to the Property Reservation that was reviewed"""
	reservation_id: Optional[str]
	"""pointer to the Property Guest who wrote the review"""
	guest_id: Optional[str]
	"""the reviewer name"""
	author_name: Optional[str]
	"""the channel the review was posted on, eg. Airbnb"""
	source: Optional[str]
	"""the review title"""
	title: Optional[str]
	"""the review text"""
	content: Optional[str]
	"""the overall rating"""
	rating: Optional[int]
	"""ratings per category"""
	category_ratings: Optional[PropertyPropertyReviewCategory_ratings]
	"""private feedback for the host"""
	private_feedback: Optional[str]
	"""the host public reply"""
	response: Optional[str]
	"""when the host replied (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"""
	responded_at: Optional[str]
	"""whether the review is publicly visible"""
	is_public: Optional[bool]
	"""custom field values"""
	metadata: Optional[PropertyPropertyReviewMetadata]
Are we missing anything? Let us know
Was this page helpful?