The open-source, agent-ready hotel PMS.
Bring your own AI — Claude over MCP, or HeyKoala for voice/WhatsApp — on infrastructure you own.
▶ Live demo · Docs · Source · Contact
🏨 Try it now → demo.kamrapms.com
A live sandbox pre-loaded with a sample hotel. Tap any role to sign in — the demo usernames and passwords are listed right on the page. The guest booking engine is at /book and the housekeeping phone app at /kamra/hk.
Most hotel PMS software was built twenty years ago and has barely moved since. Dozens of options, almost no innovation: the same click-heavy screens, the same nightly rituals, the same walls around your own data.
Hotels deserve better than:
- Per-room, per-module rent. Your software bill grows every time your hotel does. Night audit is an add-on. Reports are an add-on. The booking engine is an add-on.
- Your data held hostage. Guest history, rate history, your books — locked in a vendor's cloud, with an export fee if you ever try to leave.
- Waiting for AI that never ships. Legacy vendors bolt a chatbot onto 2005-era software and call it innovation. Real agentic operations need a system designed to be operated by AI, not just chatted at.
- Integration purgatory. Every connection is a paid interface, a certification queue, a quarter of waiting.
- Trained-staff-only software. If a new hire needs a week of training to check someone in, the software failed — not the hire.
Kamra is the answer we wanted to exist: a full property management system where every operation — booking, check-in, folios, night audit, pricing — is a governed action, exposed over a real tool layer, so you can bring the AI you trust to run it.
- Agent-ready, not agent-locked. Kamra ships an MCP server with governed tools, role-scoped and permission-checked like any user. Connect Claude (or any MCP client) and say "book Mr. Rao a deluxe for the weekend with breakfast" — it quotes, books, and every action is logged. No bundled agent personas to trust or configure — bring your own.
- Bring your own key. No bundled AI markup, no model lock-in. Point your own LLM at Kamra's tool surface, or connect HeyKoala for a phone/WhatsApp AI concierge.
- Deterministic money. Prices, taxes, availability come from a pricing engine — never from a language model. GST slabs, multi-rate invoices, and the no-overbooking guard are code, verified by an eval suite in CI.
- Full audit trail. Every action — human or AI — is logged with who did it, what changed, and why. Accountability comes from the ledger, not from hoping the model behaves.
- Truly free. AGPL-licensed. No per-room pricing, no per-user seats, no license audits, no "premium" tiers. Self-host on-prem or on any cloud.
- Built on Frappe. The framework behind ERPNext — one of the world's largest open-source ERPs — with its mature ecosystem: RBAC, audit trails, multi-tenancy, the frappe/payments gateway app, and a huge developer community.
Screens below are from the live demo — open it and click around.
The direct booking page your guests see — photo gallery, live per-date rates, hotel policies, an FAQ, map & directions, and pay-at-hotel — commission-free, and yours to brand.
| Area | Included |
|---|---|
| Front desk | Today dashboard with paid/due chips, a check-in flow (registration readiness + AI room suggestion with reasons, or pick from free rooms with HK state), tape chart with a live house-position row, ETA/ETD on every stay and changeover-conflict warnings, reservations, guest profile hub (stay strip, merge duplicates, anonymize/DPDP), blacklist |
| Booking Engine | Direct booking page with a manageable console — hotel profile, photo gallery, policies, FAQ, map & driving directions, and SEO (meta title/description, OG image); SEO-friendly public page with live rates and pay-at-hotel, commission-free |
| Booking | Multi-room bookings in one flow, group & corporate bookings, booked-on-behalf (booker vs guest), returning-guest typeahead, add-ons at booking, sell messages, travel agents with commissions, day-use |
| Revenue | Occupancy-based pricing, seasons, rate plans, vouchers, meal plans, rate guardrails, hurdle rates (demand tiers apply premiums and a dynamic floor automatically), a controlled overbooking allowance enforced in code, cancellation/no-show/deposit policies enforced in code, owner & GM position briefings via API/copilot |
| Billing | Folios with per-line GST (₹7,500 slab auto-switch), corporate billing rules (charge routing, alcohol always to guest), group master folios, %/₹ charge splits with exact conservation, bulk transfers, automated night audit that also charges no-shows, GST invoices with B2B GSTIN, GSTR-1 export, cashier reconciliation, payment links via frappe/payments |
| F&B | Restaurant POS with an area-wise table map (seats, live states, table reservations, cleaning), concurrent & split bills, dine-in / room service / takeaway / delivery, 80mm thermal KOT and bill printing with daily KOT numbers, NC (complimentary) bills with authorizer, kitchen display v2 (accept/start, recall, sound, station & course grouping, allergy highlighting, timeline), inventory & recipes with stock ledger and per-dish consumption, menu bulk import, guest QR ordering with captain confirmation, cash/card/UPI settle or room posting (alcohol-aware), voids & cancellations with reasons |
| Operations | Service tickets with SLA, housekeeping mobile app (/hk), guest laundry end to end (rate card → counted pickup → piece-by-piece return → folio billing, with a desk console, guest self-service pickup requests from the in-stay page, promised ready-by times with overdue tracking, printable laundry dockets, house/complimentary orders that never bill, and a revenue panel), lost & found, shift handover, venues & events |
| Guests | Self check-in links with ID & address-proof capture, printable GRC with the legal occupant register and per-occupant ID scans, editable actual check-in/out times, stay ledger (advances / security deposits / guarded refunds), ID retention modes (store / verify-and-discard, scrubbed at checkout), experiences showcase |
| Messaging | WhatsApp on your own Meta Cloud API number — automatic booking confirmations + check-in links, desk payment requests, a conversations inbox with 24-hour-session replies, inbound messages ticketed to the desk, housekeeping escalations |
| Localization | Country packs resolved by property: India GST (slabs), Indonesia PB1, Thailand VAT, Malaysia SST (8/6 split + Tourism Tax), UAE VAT (TRN), flat-tax generic for the rest; currency symbols and number locales follow the pack across the UI and thermal prints |
| Platform | Multi-property with per-user scoping, six-role RBAC, settings hub, dark mode, onboarding wizard + CSV migration importers (eZee / Cloudbeds presets with dry-run preview), savings ledger, 51-check eval harness + 13-journey front-desk persona suite in CI (incl. an endpoint-whitelist audit) |
kamrapms.com/docs is the full manual — quickstart, per-provider self-hosting guides, features tour, user guide, AI/MCP setup and FAQ.
Taking a real hotel live? Follow the go-live checklist — install → property & taxes → staff → data migration → OTA sync → WhatsApp/email → a dress-rehearsal stay → cut-over day, as checkboxes with links into each guide.
Kamra exposes 178 REST endpoints — the same governed layer the UI and the AI use:
- REST API reference — every endpoint with method, required roles, parameters and description, generated from the source so it never drifts
- Postman collection
— import it, set
base_url(your Kamra URL),api_keyandapi_secretcollection variables, and every request is ready to try - MCP tool reference — the 32 tools AI agents get
# the calling convention
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 markdown lives in docs/:
user guide · AI & API setup ·
self-hosting · email setup ·
developer notes · brand assets
bench get-app payments
bench get-app kamra https://github.com/Kamra-PMS/kamra-pms --branch main
bench --site your-site install-app kamraKamra ships its built front-end, so after install the product UI is live at
/kamra (the booking engine redirects in at /book, housekeeping at
/hk) — no Node server in production. The Frappe Desk stays available at
/app as an admin escape hatch. A fresh install creates its own roles and
permissions; sign in as your Administrator and open /kamra/setup to create
your property, then add staff users.
| Kamra | Frappe | Channel |
|---|---|---|
main releases (vX.Y.Z) |
v16 | stable — Frappe Cloud Marketplace, ghcr.io/kamra-pms/kamra:latest, demo.kamrapms.com |
develop |
v16 | nightly — ghcr.io/kamra-pms/kamra:nightly, rebuilt every night |
develop is the repo's default branch (for contributors), so production
installs should keep the explicit --branch main. Releases follow
SemVer; see RELEASING.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 production UI after front-end changes with npm run build at the
app root (emits into kamra/public/frontend, served at /kamra). Seed a demo
property, roles and users via bench --site … execute kamra.scripts.seed_demo.execute
(this also enables the demo-account buttons on the login screen). Full dev
notes: docs-dev.md.
Connect an AI agent:
claude mcp add kamra -e KAMRA_URL=... -e KAMRA_API_KEY=... \
-e KAMRA_API_SECRET=... -- python mcp/kamra_mcp.pyYou own the software, the server, and every byte of your data. Costs don't scale with your room count. Connect your own AI and it works from day one — and if you ever want managed hosting or an AI concierge (voice, WhatsApp) on top, those are choices, not ransoms.
Standard Python (Frappe) + React. Real RBAC, real audit trails, documented REST + MCP surfaces, an eval suite in CI, no black boxes. Fork it, extend it, ship your own modules — that's the point.
AGPL-3.0 — free forever. Anyone offering Kamra as a hosted service must share their modifications back, which keeps the ecosystem honest.
Kamra is built in the open — PRs welcome. Thanks to @Mohammed-Muneef (guest laundry self-service and the desk laundry console, kitchen display v2, inventory & recipes, menu bulk import, hardened ID-document handling).
- Live demo: demo.kamrapms.com — credentials are on the page
- Documentation:
docs/ - Source & 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.













