Try it right here
This loads the live project from its own domain, exactly as a visitor would see it.
What it does
Medora has a short list of places to stay, and they fill. This widget gives every hotel, cabin, vacation rental, and campground nearby its own card — photo, a one-line description, and one button — grouped by whether it is open for the visitor's dates, needs a direct check, or is full. Tabs split Medora, vacation rentals, nearby towns, and Dickinson.
A daily collector checks each source on a rotation that spends lookups where they matter: the next few weeks daily, the rest of the year weekly. Rates are discarded and never shown. Staff get a monitor page with every tracked night against every property, and a log of nights opening up and selling out.
What it can do
- Open, check-directly, or full status for every night of a stay
- Dated booking links, so the button opens the right site on the right dates
- Pluggable sources: hotel search, campground reservations, state parks, Airbnb, Vrbo
- Staggered re-check schedule with a lighter pace setting
- Shareable views with
?checkin=,nights,tab, andplace - Staff monitor grid plus a CSV log of availability changes
- Shadow-DOM widget that measures the host page's fixed header
Make it your own
Start by forking the repository into your own organization. Everything below assumes you are working in your fork, not this one.
- Fork the repo and replace
data/properties.jsonwith your own properties."public": falsehides one. - Choose sources with
LODGING_SOURCESand add only the keys they need. Check each booking site's terms and robots rules before turning on a direct source. - Run
python collector/collect.py --checkto confirm each source, then--limit 3for a short real run. - Run
python collector/photos.pyto find a photo address for each property. No images are copied into the repo. - Enable Pages from
main, folder/docs, set yourCNAME, and give workflows read and write permission.
Stuck on a step? Open an issue on the repository. Questions from people adapting these for their own institution are the most useful feedback we get.