hutchstay

Open source · self‑hosted · MIT licensed

A hotel guest app that lives on your server, not ours.

HutchStay pairs a Staff PWA for your team with a Guest PWA sent by magic link — free, open‑source, and self‑hosted end to end. No SaaS lock‑in, no per‑room fee.

HutchStay

hutchstay

Guest experience, open source app

License
MIT
Stack
Flask · React · SQLite/Postgres
Deploy
Docker · Helm · AWS
Price
$0, forever

Sound familiar?

Nobody should have to call the front desk for that.

Guest

  • “Is my room even ready yet?”
  • “I want a towel, not a phone call.”
  • “Is the pool open right now, or am I about to walk down for nothing?”
  • “I just want to order a burger without waiting on hold.”

Staff

  • “Another call asking if the room’s ready. Again.”
  • “Which rooms actually need cleaning right now?”
  • “Guest wants extra pillows — where does that even go?”
  • “Why are we paying per room for a guest to say hello?”

Hold music is not a hospitality feature. HutchStay answers before anyone has to pick up a phone.

Two apps, one platform

Front of house. Back of house.

Same booking, two very different rooms. Staff get a role‑based operations console; guests get a link in their inbox and nothing to install.

Staff PWA

Run the hotel

Login required · role‑based: admin / reception / housekeeping

Staff PWA rooms board

Rooms — live status board; add, rename, delete rooms.

Staff PWA bookings

Bookings — copy a guest's magic link

Staff PWA orders

Orders — room‑service queue, live

  • Manage bookings, rooms and room‑service orders
  • Chat with guests, manage table bookings
  • Admin: amenity catalog, menu, staff, branding
Guest PWA

Be the guest

No login · opened from a pre‑arrival magic link

Guest PWA home

Home — room status, Do Not Disturb, unread bell.

Guest PWA menu

Order — room‑service menu, live status

Guest PWA facilities

Facilities — pool / gym / spa hours

  • Order room service and request amenities
  • Book a table, chat with reception
  • Installable, branded to the hotel's colors

The guest register

Who can do what

Every role is scoped on purpose — housekeeping doesn't see billing, guests don't see other guests.

AppRoleCapabilities
Guest PWAguestRoom status & DND, order room service, request amenities, book a table, chat with reception
Staff PWAhousekeepingUpdate room status, view the amenity request queue
Staff PWAreception+ manage bookings, room‑service orders, table requests, guest chat
Staff PWAadmin+ staff users, amenity catalog, menu, facilities, hotel branding
Platformplatform adminCreate or delete hotels — each tenant fully isolated

Self‑hosted, your way

One command to try it, three ways to run it for real.

Local dev spins up the backend, both PWAs, and seeded demo data. Production is a Helm chart for Kubernetes, or push‑button CI/CD to AWS.

$ docker-compose up --build
Docker Kubernetes · Helm AWS App Runner GitHub Actions CI/CD SQLite → Postgres