# Changelog of Hotel Price Tracker — Google Hotels Price History & Alerts (`kestrel/hotel-price-tracker`) Actor

- **URL**: https://apify.com/kestrel/hotel-price-tracker/changelog.md
- **Full Actor documentation**: https://apify.com/kestrel/hotel-price-tracker.md

## Changelog

### 2026-08-30

- Reliability: a run that cannot act on its input — a URL from the wrong site, a name nothing resolves to, an empty target list, a number outside the documented range — now ends cleanly with the reason on the run card instead of as a failed run. Nothing is charged in either case; a blocked or throttled source still fails loudly.
- Store listing: moved into the categories buyers actually browse (the old `Business` category has no Store page).

### 1.0 — 2026-08-29

First release.

- One `rate` row per property and check-in date across a window of up to 60 dates: the lowest nightly rate and stay total across every booking source Google Hotels lists that day, the cheapest source with its booking link, whether it is the official site, the official site's own rate, the free-cancellation flag and how many sources priced the stay.
- `rank_in_window` and `cheapest_in_window` rank the dates of each property's window, so the cheapest date to stay is one filter away.
- `maxPrice` is the alert: only dates at or under the target are delivered, and dates over it are never billed. The status row still reports the cheapest rate and date it saw.
- Properties by Google Hotels URL or entity token (exact, one offers call per date) or by name (one search, kept only when the listing's name matches most of the words typed — never a stranger).
- Relative dates (`"30 days"`) so a daily schedule builds a price history that never goes stale; duplicates, unpriced dates, unresolved names and status rows are free.
- Same verified module as the Google Hotels Prices Scraper and the Hotel Rate Parity Checker; watched by a daily canary run.
