Open-source hotel & short-term rental PMS — front desk, booking engine,
folios & tax billing, housekeeping, POS, and an MCP tool layer so AI agents can run the property.
▶ Live demo · Docs · Install · AI / MCP · Contact
Try it in 30 seconds → demo.kamrapms.com
Tap any role to sign in (credentials are on the page). Guest booking: /book · Housekeeping app: /kamra/hk
Kamra is a full property management system (PMS) for hotels, resorts, and short-term rentals / villas. It runs on Frappe (the framework behind ERPNext), is AGPL-3.0, and is built so humans and AI agents share the same governed APIs — booking, check-in, folios, night audit, pricing — with deterministic money (never from an LLM).
- What's new
- Why Kamra
- What makes it different
- Screenshots
- Short-term rentals
- Features
- Documentation & API
- Install
- Quickstart (development)
- Who it's for
- License & contributors
On develop (nightly) the product is the 2.6.2 train plus Unreleased
work. The v2.6.2 GitHub tag is still pending — latest published release is
v2.6.0.
- Unreleased — System Health, property time zone, 85 MCP tools (role +
module gated), AI provider presets, local-build
deploy/install.sh, banquet Phase 1 (send quote, guest response, Sales/Finance/HK/F&B checklists) - 2.6.2 (in the changelog; not tagged yet) — Opera-style cashier till, folio ledger, cashier PIN, POS full-screen till
Notes live in CHANGELOG.md — this list is a pointer, not a
second release note. How we cut stables: RELEASING.md.
Most hotel PMS software was built twenty years ago: per-room SaaS rent, locked-in data, bolt-on chatbots, and screens that need a week of training.
Kamra is the alternative we wanted:
| Pain with legacy PMS | With Kamra |
|---|---|
| Per-room / per-module pricing | Free forever (AGPL) — cost doesn't scale with rooms |
| Data lock-in | You host it — on-prem, VPS, or Frappe Cloud |
| AI as a marketing slide | MCP tools — Claude (or any agent) books and audits with RBAC |
| Opaque pricing & tax | Deterministic engine — GST / SST / VAT packs in code + CI evals |
| New-hire training hell | Front desk UI a clerk can learn the same day |
- Agent-ready, not agent-locked. MCP server with 85 governed tools — role-scoped, module-gated, permission-checked, fully logged. Connect Claude; no bundled agent to trust.
- Bring your own key. No AI markup or model lock-in. Optional HeyKoala for voice / WhatsApp concierge.
- Deterministic money. Rates, tax slabs, availability, and no-overbooking guards come from code — never from a language model.
- Full audit trail. Every human or AI action: who, what, why.
- Built on Frappe. RBAC, multi-tenancy, Desk escape hatch, frappe/payments gateways, ERPNext-adjacent ecosystem.
From the live demo — open it and click around.
Guest-facing booking page — date range, Check availability, rates, gallery, policies, pay-at-hotel:
Same PMS for villas and multi-site STR portfolios: sellable units (room / whole-place / package), competition groups, cleaning fees & deposits, Instant or Request-to-book, and a catalog that feels like a listing site.
![]() |
![]() |
| Catalog — check-in / out + Check availability | Places to stay — per-villa cards & from-rates |
Live example: demo.kamrapms.com/book.
| Area | What you get |
|---|---|
| Front desk | Today board, check-in flow (GRC readiness + room suggestion), tape chart, ETA/ETD, guest profiles, blacklist |
| Booking engine | Direct booking + SEO console; hotels = room grid; STRs = villa catalog |
| Short-term rentals | Hotel vs STR property kind, sellable units, per-villa locations, Instant / Request-to-book |
| Booking | Multi-room / group / corporate, returning guests, add-ons, vouchers, travel agents, day-use |
| Revenue | Seasons, rate plans, guardrails, hurdle rates, overbooking allowance, cancellation & no-show policy in code |
| Billing | Folios, corporate routing, group masters, charge splits, night audit, tax invoices, GSTR-1, payment links, cashier till (FO+POS cash, PIN pad), folio ledger |
| F&B | POS table map, full-screen till and kitchen pass, split bills, thermal KOT, kitchen display, inventory & recipes, QR ordering, room posting |
| Operations | Tickets + SLA, housekeeping /hk, guest laundry end-to-end, lost & found, banquet / events (send quote, guest response, dept checklists) |
| Guests | Online pre-check-in, GRC + occupant register, editable nationality, ID retention modes |
| Messaging | WhatsApp (Meta Cloud API) — confirmations, check-in links, inbox, desk tickets |
| Localization | India GST, Indonesia PB1, Thailand VAT, Malaysia SST, UAE VAT — currency & locales follow the pack |
| Platform | Multi-property RBAC, dark mode, property time zone, System Health, AI provider presets, CSV migration (eZee / Cloudbeds presets), eval harness in CI |
Full manual: kamrapms.com/docs — quickstart, self-hosting, features, user guide, AI/MCP, FAQ.
Going live? Use the go-live checklist.
Kamra exposes 170+ REST endpoints — the same governed layer the UI and AI use:
curl -X POST https://<your-kamra>/api/method/kamra.api.get_quote \
-H "Authorization: token <api_key>:<api_secret>" \
-H "Content-Type: application/json" \
-d '{"property":"Your Property","room_type":"Your Property-DLX",
"check_in_date":"2026-08-01","check_out_date":"2026-08-03"}'In-repo: docs/ · user guide · AI & API · self-hosting · dev notes · branding
| Method | For | How |
|---|---|---|
| Hostinger VPS | Cheapest self-host (India / SEA) | Buy KVM 2 via the Kamra referral link (20% off), paste the Docker one-liner below · guide |
| Docker on any VPS | DigitalOcean, Linode, AWS, your own box | One-liner below · quickstart |
| Bench | Existing Frappe / ERPNext benches | Commands below · guide |
| Frappe Cloud Marketplace | Managed Frappe hosting | Install Kamra on a private bench |
Docker (builds on your server):
curl -fsSL https://raw.githubusercontent.com/Kamra-PMS/kamra-pms/main/deploy/install.sh | bashThree prompts: site domain, admin email, admin password. Builds a local
kamra:local image (does not pull from GHCR) — 20–45 minutes the first
time; 2 vCPU / 4 GB minimum (swap is added automatically under 8 GB). Then
open /kamra/setup. Update later with sudo /opt/kamra/install.sh update.
Details: deploy/.
Bench / Frappe Cloud:
bench get-app payments
bench get-app kamra https://github.com/Kamra-PMS/kamra-pms --branch main
bench --site your-site install-app kamraAfter install: product UI at /kamra, booking at /book, housekeeping at /hk. Desk remains at /app. Sign in as Administrator, open /kamra/setup, create your property, add staff.
| Channel | Branch / tag | Use for |
|---|---|---|
| Stable | main / vX.Y.Z |
Production, Frappe Cloud Marketplace, demo |
| Nightly | develop |
Previews (nightly.kamrapms.com) |
Production installs should use --branch main (develop is the default GitHub branch for contributors). Releases are SemVer with a patch-first cadence — see RELEASING.md and CHANGELOG.md.
bench init --frappe-branch v16.25.0 frappe-bench && cd frappe-bench
bench get-app payments
bench get-app kamra https://github.com/Kamra-PMS/kamra-pms
bench new-site kamra.localhost --admin-password admin
bench --site kamra.localhost install-app kamra
bench serve --port 8000
cd apps/kamra/frontend && npm install && npm run dev # hot-reload UI on :5173Rebuild the SPA with npm run build at the app root (emits kamra/public/frontend). Seed demo data: bench --site … execute kamra.scripts.seed_demo.execute. Details: docs-dev.md.
Connect Claude (hosted MCP — no local Python):
# Kamra Agent → Connect your AI → Connect Claude, or:
claude mcp add --transport http kamra https://pms.yourhotel.com/mcp- Hotel / villa operators — own the software and the data; costs don't grow with room count; AI is optional, not a ransom.
- IT & integrators — Python (Frappe) + React, documented REST + MCP, RBAC, audit trails, CI eval suite. Fork and extend.
- Builders of hospitality AI — a real PMS tool surface, not a demo chatbot API.
AGPL-3.0 — free forever. Anyone offering Kamra as a hosted service must share modifications back.
Contributions welcome — see CONTRIBUTING.md. The full list lives on the docs site: Contributors.
Code
- @Kruthikagowda12: the AioSell channel-manager adapter and its fixes (#40, #46, #52), housekeeping proof media and room swap / upgrade (#74), phone validation (#69), season scoping (#80) and property / booking flow work (#22)
- @Mohammed-Muneef: laundry, kitchen display v2, inventory & recipes, menu import, ID-document hardening
- @faresalslahi-collab: booking guest and room summary (#83)
Hotels and users who shaped it through issues
- @faresalslahi-collab (Sarawat Park Hotel & Resort): the one-screen walk-in (#97), which led to the Saudi Arabia pack and ZATCA, Arab-world dial codes (#98), and Kamra's kitchen ledger clashing with ERPNext stock on a shared site (#131)
- @atomic-glitch: the housekeeping Room Board and role checks (#99), room change from the reservation and GRC (#113), and deposits before arrival (#114)
- @ali-qa-sudo: role-aware Walk-in / New booking buttons (#120)
- @omar99elnemr: checkout refused until the bill is settled (#132)
- @Syzygy2048: current OpenAI models in the assistant (#23)
Security
- @archnexus707: found and responsibly disclosed cross-property access (GHSA-6cr2), fixed in 2.6.5
- @kta1kri: unauthenticated webhooks (GHSA-5hcx) and an independent report of GHSA-6cr2, both fixed in 2.6.5
- Demo: demo.kamrapms.com
- Docs: kamrapms.com/docs
- Issues: github.com/Kamra-PMS/kamra-pms
- Email: hello@kamrapms.com
Built by HeyKoala.
Kamra means "room". The door in our logo is open on purpose.
















