Skip to content

Latest commit

 

History

465 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Kamra — open-source hotel PMS

Kamra PMS

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 Latest release AGPL-3.0 Frappe Cloud Marketplace Documentation GitHub stars

▶ 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).


Contents


What's new

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.


Why Kamra

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

What makes it different

  • 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.

Screenshots

From the live demo — open it and click around.

Today — front desk morning view Reservation 360
Today — arrivals, departures, in-house, paid/due chips, room board Reservation 360 — billing, amend dates, check-in / out / cancel
Tape chart Reports
Tape chart — rooms × dates, moves & stay amendments Reports — occupancy, ADR, RevPAR, flash
New booking Guest profile
New booking — live quote, multi-room, add-ons, cancellation policy Guest profile — stay strip, merge & anonymize (DPDP)
GST invoice Booking Engine
Folio & tax invoice — per-line GST, splits, payment links Booking engine console — gallery, policies, FAQ, SEO
Restaurant POS Dashboard
Restaurant POS — table map, KOT / bill print, F-keys Dashboard — occupancy, revenue, chain roll-up
Laundry Self check-in
Laundry — pickup → return → folio; guest self-service Self check-in — ID capture, e-sign, retention policy

Guest-facing booking page — date range, Check availability, rates, gallery, policies, pay-at-hotel:

Public booking page


Short-term rentals

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.

STR catalog STR villas
Catalog — check-in / out + Check availability Places to stay — per-villa cards & from-rates

Villa listing

Live example: demo.kamrapms.com/book.


Features

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

Documentation & API

Full manual: kamrapms.com/docs — quickstart, self-hosting, features, user guide, AI/MCP, FAQ.

Going live? Use the go-live checklist.

REST & agents

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


Install

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 | bash

Three 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 kamra

After 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.


Quickstart (development)

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 :5173

Rebuild 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

Who it's for

  • 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.

License & contributors

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

Links

Built by HeyKoala.


Kamra means "room". The door in our logo is open on purpose.

About

Open-source hotel & short-term rental PMS - front desk, booking engine, folios & GST/tax billing, housekeeping, POS, WhatsApp. Agent-ready via MCP (Claude). Built on Frappe. AGPL-3.0.

Topics

Resources

Contributing

Security policy

Stars

54 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages