PoiRow
One point of interest — a nearby place (a school, park, coffee shop, transit stop, …) identified by Google Places, with its location and whatever enrichment fields Places returned for it.
One point of interest — a nearby place (a school, park, coffee shop, transit stop, …) identified by Google Places, with its location and whatever enrichment fields Places returned for it.
Import from @homepages/template-kit.
Signature
Section titled “Signature”export type PoiRow = { id: string; place_id: string; name: string; address: string | null; lat: number; lng: number; distance_m: number | null; rating?: number; review_count?: number; type_label?: string; price_level?: string; website_uri?: string; google_maps_uri?: string; summary?: string; photo?: PoiPhoto;};Constraints
Section titled “Constraints”- Every field past
distance_mis optional and never nullable: Places omits most of them for many place types, so a renderer must handle absence regardless of what a producer managed to fetch. Nothing here refreshes on a schedule — a row is stale by design until its deliverable is regenerated or the user re-picks the place.photo, if present, is resolved fresh fromplace_idon every request rather than cached, since it is the one field that would visibly break rather than merely age.