Datasets
Five relations, all scoped to your owner account(s). Every table carries updated_at — the moment the source record last changed — so scripts can pull deltas.
Money columns are in the listing's currency (
currency). host_payout_usd is Guesty's USD conversion. Dates are calendar dates; timestamps are UTC.listings
Your properties. This table is the membership authority: every other table derives its rows from it.
| Column | Type | Meaning |
|---|---|---|
listing_id | text | Guesty listing id (stable key) |
nickname | text | Internal nickname, e.g. SW 204 ST2 |
building | text | Building prefix of the nickname (SW, BY, B2 …) |
owner_account | text | Which of your owner accounts holds it |
membership_basis | text | owner_attachment (attached to your account in Guesty) or building_rollup (the building-level listing that takes whole-building bookings) |
active | bool | Currently listed |
listing_type | text | MTL_CHILD (unit), SINGLE, or MTL (building rollup) |
accommodates | int | Max guests |
bedrooms | int | |
bathrooms | numeric | |
address_city | text | |
address_street | text | |
currency | text | Pricing currency |
updated_at | timestamptz | Last change to the listing or its ownership |
reservations
Full booking history, ALL statuses — filter on status. One row per reservation.
| Column | Type | Meaning |
|---|---|---|
reservation_id | text | Guesty reservation id (key) |
confirmation_code | text | Booking reference guests see |
listing_id / listing_nickname | text | The unit |
owner_account | text | |
status | text | confirmed, canceled, inquiry, expired, closed, declined, reserved |
check_in / check_out | date | |
nights_count | int | |
guests_count | int | |
guest_id | text | Opaque, stable per guest — count repeat guests without identity |
channel | text | Canonical channel id: bookingCom, airbnb2, homeaway2, expedia, manual … |
source_label | text | Guesty's display label — not stable, prefer channel |
created_at / confirmed_at / canceled_at | timestamptz | |
currency | text | |
fare_accommodation | numeric | Accommodation fare |
fare_accommodation_adjusted | numeric | |
fare_cleaning | numeric | Cleaning fee |
total_fees | numeric | |
total_taxes | numeric | |
sub_total_price | numeric | |
host_payout | numeric | What the platform pays out for the stay |
host_payout_usd | numeric | |
commission | numeric | Heimaleiga management commission |
commission_inc_tax | numeric | |
net_income | numeric | Guesty's net income figure |
owner_revenue | numeric | Guesty's owner revenue figure |
balance_due | numeric | |
total_paid | numeric | |
is_fully_paid | bool | |
updated_at | timestamptz |
Known gap:
owner_revenue and net_income come from a second Guesty pass and are NULL on about 5% of rows — most canceled bookings, and some stays that checked in between January and May 2024 (the source simply has no value). host_payout is always present.reviews
Guest reviews, public content only.
| Column | Type | Meaning |
|---|---|---|
review_id | text | Key |
listing_id / listing_nickname | text | |
owner_account | text | |
channel | text | Review platform id |
review_date | date | |
created_at | timestamptz | |
rating | numeric | Raw platform score |
overall_rating | numeric | |
normalized_score | numeric | 1–5, comparable across platforms |
score_scale | int | The platform's scale (5 or 10) |
headline / public_review / positive_comment / negative_comment | text | Review text as published |
reviewer_name | text | Public display name on the platform |
has_reply | bool | |
reply_text | text | Heimaleiga's public reply |
reply_date | timestamptz | |
reservation_id | text | Joins to reservations.reservation_id |
updated_at | timestamptz |
stats
A drop-in for the legacy Snowflake feed (VW_YLMA_STATS): confirmed + canceled bookings with check-in on or after 2024-01-01. Prefer reservations for new work.
| Column | Type | Meaning |
|---|---|---|
confirmation_code | text | Key |
id | text | The BUILDING PREFIX (legacy naming) — not a row id |
check_in / check_out | date | |
nights_count | int | |
listing_nickname | text | |
source | text | Display label (legacy) |
cleaning_fee / fare_cleaning | numeric | Both present, same value (legacy shape) |
guest_id | text | |
guest_count | int | |
created_at | timestamptz | |
created_year / created_month / check_in_year / check_in_month | text | Zero-padded text, as the legacy feed had them |
status | text | confirmed or canceled |
fare_accommodation / owner_revenue / host_payout / total_fees | numeric | |
adr | numeric | host_payout ÷ nights |
accomodation_fare_adr | numeric | fare_accommodation ÷ nights (legacy spelling kept on purpose) |
lead_time | int | Days from booking to check-in |
updated_at | timestamptz |
sync_status
Freshness of your copy. Read it when a number surprises you.
| Column | Type | Meaning |
|---|---|---|
table_name | text | |
last_success_at | timestamptz | Last successful 15-minute copy |
successful_runs | bigint | |
stale | bool | No successful copy in the last 60 minutes |