Hotel Pro
Front desk, housekeeping, rates, channels and finance — all connected on one platform and one ledger.
- 11Modules
- 47Custom record types
- 1General ledger
- SAR 0Per-room fees
- Built on ERP
- Open-source & self-hosted
- OpenTravel / HTNG aligned
- Multi-property
- 3 desk apps & workspaces
- 5+ built-in reports
| Room type | 12 | 13 | 14 | 15 | Thu16 | Fri17 | 18 | 19 | 20 | 21 | 22 | Thu23 | Fri24 | 25 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Deluxe King24 rooms | 18 | 16 | 11 | 6 | 3 | 0 | 0 | 4 | 9 | 14 | 19 | 21 | 17 | 12 |
| Twin Classic32 rooms | 27 | 22 | 19 | 12 | 7 | 2 | 0 | 8 | 15 | 21 | 26 | 28 | 24 | 20 |
| Executive Suite8 rooms | 5 | 4 | 2 | 1 | 0 | 0 | 0 | 1 | 3 | 5 | 6 | 6 | 4 | 3 |
| Family Room14 rooms | 11 | 9 | 8 | 5 | 2 | 1 | 0 | 3 | 7 | 10 | 12 | 13 | 11 | 10 |
| Reservation | RES-4471 · held · 3 nights | |||||||||||||
A simplified rendering of the real screen, drawn to scale from the live product.
- Platform
- ERPNext / Frappe v15
- Built for
- Hotels · Resorts · Serviced apartments
- Compliance
- ZATCA e-invoicing
What Hotel Pro removes
The usual way stitches together a property management system, a channel manager, a point of sale and an accounting tool — with double entry and nightly reconciliation between them. Hotel Pro collapses that stack into one platform where every charge posts once, straight to the ledger.
- PMSFront desk
- Channel MgrOTA sync
- POSRestaurant / bar
- AccountingSeparate GL
- Booking EngineDirect
- Double entry & nightly reconciliation
- Overbookings when channels drift out of sync
- Per-room fees that grow with every property
- Front Desk
- Channels
- POS / F&B
- Revenue
- Housekeeping
- Booking
- Post once — no reconciliation
- One oversell-proof grid — never double-sell
What it does
Availability that can never oversell
A concurrency-safe reserve/release engine over a date-indexed ARI grid.
The whole guest journey
Reservations and folio, front office, housekeeping, F&B and spa — one record from enquiry to checkout to invoice.
Distribution & revenue
Channel manager and revenue management, with rate plans flowing straight to the folio and ledger.
What is actually in the box
Hotel Pro is not a hospitality app with an accounting bolt-on. It is 11 hospitality modules and a complete 13-domain ERP running as one deployment, on one ledger — so the finance system a hotel needs is already there on day one.
- Direct booking engine
- OTA channels
- Front desk & phone
- Corporate & agents
- Property & Setup
- Rooms & Room Types
- Inventory & ARI
- Rates & Pricing
- Reservations & Folio
- Distribution
- Housekeeping & F&B
- Front Office
- Laundry
- Spa
- Revenue Management
- Financial accounting
- Accounts receivable & payable
- Procurement
- Stock & warehouses
- Point of sale
- Selling & billing
- Human resources & payroll
- CRM & loyalty
- Assets & maintenance
- Helpdesk & support
- Website & portal
- Automation & workflow
- Reporting & BI
The guest journey, as one sequence
A single reservation flows through the whole platform — availability, pricing, check-in, charges, night audit and settlement — with every step posting to the same records and the same ledger.
- GuestBookingSearch dates
- BookingARI Gridcheck_room_availability()
- ARI GridBookingavailable rooms + rate
- GuestBookingBook + pay deposit
- BookingARI Gridrow-locked reserve
- ARI GridReservationcreate Reservation · auto-create Guest
- ReservationFolio & GLprice = rate × nights − disc + tax
- GuestFront DeskArrive at property
- Front DeskReservationCheck-in: ID + signature
- ReservationReservationstatus → Checked In
- Front DeskFolio & GLopen Folio (Sales Invoice)
- Front DeskFront Deskassign room
- Front DeskFolio & GLcharge-to-room: F&B · minibar · spa
- Folio & GLFolio & GLsplit-billing windows
- ARI GridFolio & GLnight audit + room-night + city tax · auto no-show
- GuestFront DeskDepart
- Front DeskFolio & GLCheck-out → submit Folio to GL
- ReservationReservationstatus → Checked Out
- ARI GridARI Gridrelease / update grid
- BookingFolio & GLbalance settled · post-stay feedback
What you actually get, group by group
Every one a first-class part of the same system, not an integration bolted on beside it — grouped here by the job it does.
- CompanyERPFinance
- Propertymulti-property
- Room Typesellable unitRates & channels map here
- Roomphysical doorHousekeeping & lock/key
Property, rooms and the master data
Unlimited hotels and branches under one ERP company, every record scoped per property, with per-property P&L via accounting dimensions. Room types follow the OpenTravel GuestRoom model — occupancy, bed groups, size, accessibility — down to the physical door, with lock-and-key management and a guest-facing room guide.
Modules in this group- Property & Setup
- Rooms & Room Types
| Room type | 12 | 13 | 14 | 15 | Thu16 | Fri17 | 18 | 19 |
|---|---|---|---|---|---|---|---|---|
| Deluxe King24 rooms | 18 | 16 | 11 | 6 | 3 | 0 | 0 | 4 |
| Twin Classic32 rooms | 27 | 22 | 19 | 12 | 7 | 2 | 0 | 8 |
| Executive Suite8 rooms | 5 | 4 | 2 | 1 | 0 | 0 | 0 | 1 |
| Reservation | RES-4471 · held | |||||||
Inventory and rates — the oversell-proof core
One date-indexed row per property × room type × date, with a rolling-horizon generator. Reserve and release are row-locked, and direct, OTA and front-desk bookings all draw from that one pool. Rate plans layer on top — independent or derived, board basis, occupancy pricing — and quote() returns a pre-tax breakdown per night.
Modules in this group- Inventory & ARI
- Rates & Pricing
| Date | Charge | Dept | SAR |
|---|---|---|---|
| 14 Sep | Deluxe King · night 1 | Rooms | 1,150.00 |
| 14 Sep | Restaurant · dinner for two | F&B | 320.00 |
| 15 Sep | Spa · 60-minute treatment | Spa | 450.00 |
| 15 Sep | Deluxe King · night 2 | Rooms | 1,150.00 |
| 16 Sep | VAT 15% | Tax | 460.50 |
| Total · one invoice | 3,530.50 | ||
Reservations, folio and cashiering
An enforced status machine from draft to checked out, with auto guest creation and a printable registration card. The folio is a Sales Invoice — one per stay, opened at check-in and submitted to the general ledger at check-out — with split billing across guest, company and agent, and a night audit that posts room-nights and city tax.
Modules in this group- Reservations & Folio
Sell everywhere, without overbooking
A two-way channel manager keeps rates, availability and restrictions in sync across the OTAs and your own booking engine. Outbound push is queue-based with exponential-backoff retry and per-channel sync health; inbound new, modify and cancel messages are idempotent on the OTA id and audited on the Channel Reservation.
Modules in this group- Distribution
- 401Inspected
- 402Occupied
- 403To clean
- 404Occupied
- 405Inspected
- 406Occupied
- 407To clean
- 408Out of order
- 409Inspected
- 410Occupied
- 411Inspected
- 412To clean
Operations and the front desk
Housekeeping runs a task lifecycle from pending to inspected, with checkout-cleans raised on departure and stayover cleans generated by the night audit. The front desk is a command centre — live stats, arrivals and departures, a rooms × dates room diary, and a cashier shift reconciled from float to handover. Laundry and spa bill to the folio on completion.
Modules in this group- Housekeeping & F&B
- Front Office
- Laundry
- Spa
A yield engine that never runs unsupervised
A demand-driven engine reads on-the-books signals, classifies demand and writes an adjusted rate back to the same grid — advisory by default, or autopilot inside guardrails. Because it writes to the grid, every change carries automatically into pricing and channel push.
- 1Booking snapshoton-the-books · pickup · STLY
- 2Demand forecastLow · Moderate · High · Peak
- 3Yield enginereads signals → new rate
- 4Rate recommendationPending → Approve / Reject
- 5ARI gridadjusted base & controls
- 6Pricing & channelsquote() + channel push
- Guardrailsfloor (cost + margin) & ceiling
- Advisory vs autopilotapprove, or auto-write in bounds
- Global kill-switchon → advisory only
The metrics that matter — computed, not fabricated
Every figure is derived from live transactions. Where a measure needs an operator input it isn't guessed — it simply returns nothing until the input exists, so the numbers stay defensible.
- NRevPAR
- RevPAR net of each reservation's channel commission, with a per-source default fallback.
- TRevPAR
- Room revenue plus ancillary ÷ available room-nights, each ancillary source counted from its own total, never double-counted.
- GOPPAR
- From operator cost inputs — fixed operating cost per day plus variable cost per occupied room. Returned only when the variable cost is set.
- MPI
- Rate, penetration and revenue indices against a comp set and an STR-style market benchmark, where competitor data exists.
A complete ERP, inherited for free
Hotel Pro adds its own record types, desk apps and reports — and inherits everything below from the ERP. This is capability a standalone product would have to build, buy or integrate, and it is the difference between a hospitality app and a hospitality business system.
Financial accounting
Multi-company general ledger, accounting dimensions, multi-currency, tax templates and full financial statements.
Accounts receivable & payable
Corporate and agent city ledger, supplier payments, and direct-billing settlement through AR.
Procurement
Suppliers, purchase orders and purchase invoices, with approval workflow.
Stock & warehouses
Stock ledger, warehouses and reorder levels for minibar, F&B, linen and amenities.
Point of sale
POS profiles and invoices that move stock and post to the ledger in one step, with charge-to-room.
Selling & billing
The folio is a Sales Invoice; deposits and settlements are Payment Entries against it.
Human resources & payroll
Employees, shifts, attendance and payroll, with task assignment out to housekeeping.
CRM & loyalty
Leads and campaigns, plus the ERP Loyalty Program for earn and redeem — no separate loyalty system.
Assets & maintenance
Room assets with maintenance schedules; out-of-order rooms route through asset maintenance.
Helpdesk & support
Guest complaints raised as tickets and routed to the responsible department.
Website & portal
The direct booking engine and web content run on the ERP's own website framework.
Automation & workflow
Workflow, scheduler, REST API and webhooks — the engine behind night audit, channel sync and ingestion.
Reporting & BI
Report builder, query and script reports, and dashboards inherited across every record in the system.
A hotel does not only need a property system — it needs a business system. Because the ledger underneath is the real one, finance is correct by construction rather than by reconciliation: there is no nightly export, no bridge to maintain, and no window in which the two halves can disagree.
Shipped roles, on the ERP's own permission engine
- Hotel Manager
- Reservations Manager
- Front Desk
- Housekeeping
- Revenue Manager
Segregation of duties, approval workflow and the full audit trail come from the platform — not from a permission model written for one product.
Why hotels choose it, and what it replaces
The four things buyers tell us decided it — then the same comparison, line by line.
You own it, you don't rent it
Self-hosted and open-source, so your data and your platform stay yours — with no per-room subscription that grows with every property you add.
One connected system
One login, one ledger — from the booking engine to the balance sheet. There is no PMS-to-accounting bridge to build or reconcile, because there is nothing on the other side of it.
Sell more, oversell never
A shared live grid lets every channel sell the same inventory, while row-locking guarantees the last room is only ever sold once.
It grows with you
Multi-property from day one, with revenue management built in — ADR, RevPAR and occupancy tracked, and yield rules that adjust pricing to demand.
| The usual stack | Hotel Pro | |
|---|---|---|
| Systems to run | PMS + channel manager + POS + accounting | One platform |
| Finance | Nightly PMS → accounting reconciliation | One shared general ledger — posts once |
| Pricing model | Per-room SaaS subscription | Open-source, self-hosted — no per-room fee |
| Distribution | Bolt-on channel manager to integrate | Two-way channel manager on the one grid |
| Revenue management | Separate RMS licence | Built-in yield engine, benchmarking & KPIs |
| Ownership | Vendor-hosted; data with the vendor | Your servers, your data, fully customisable |
Where Hotel Pro is, and where it's going
Shipped work and the next milestone, stated plainly — so you know what you would be buying today.
- FoundationStable app, reservation flow
- DistributionChannel manager, front office
- Revenue mgmtYield, benchmarking, full KPI layer
- Now11 modules live, demo data & tests
- NextCertified RMS, ML forecasting
Five principles, and the path a deployment follows
The same rules apply to every product we ship — they are what keep an upgrade routine instead of a migration project.
- 1Build on the core, not beside it. The ERP platform is the runtime. If a capability exists in the core, we reach for it before building our own.
- 2Inherit, don't rebuild. Accounting, permissions, workflow, audit and reporting are solved. Every hour re-implementing them is an hour not spent on your domain.
- 3Speak the platform's data model. The domain is modelled in the core's own terms, so the product contributes to one ontology rather than a private schema — and is ready for agents.
- 4Design for composability. Each product is a clean building block that others can extend and combine.
- 5Ride the roadmap. Every platform upgrade, connector and ecosystem tool arrives at no extra cost.
How a Hotel Pro deployment lands
- 1Discovery
- 2Feasibility & estimate
- 3Design
- 4Staged build on staging
- 5UAT
- 6Launch
- 7Support
We migrate through staging before production and script every schema change, so each stage has a tested path back.
The full thesis — the six advantages, the integration tax in detail and the five-level maturity model we build against — is set out on the ERP-based development page.
One system to run your entire hotel.
Hotel Pro · HospitalityWhat buyers ask us first
Is Hotel Pro a PMS, or something bigger?
What does it replace?
How can you guarantee it never oversells?
What does it cost per room?
Will it connect to the OTAs we already sell through?
Does the yield engine change our prices on its own?
Licence and implementation are quoted per deployment — we estimate in ranges, not points, and every figure carries its assumptions, method and risks. Ask for a feasibility and you get a decision-ready go / no-go before anyone signs anything.
Also built on the same core
Bussiness Center Management System
Run shopping malls end to end — property, leasing, billing, tenants and facilities.
Learn more →HSMS
A stud & stable suite — pedigree, breeding, veterinary, feed, training and sales.
Learn more →Valaria
Turn ERPNext CRM into a sales engine — new features, without touching the core.
Learn more →How we think about building this
Not ready to talk? These explain the method behind the product.
Why we build enterprise software on ERPNext instead of from scratch
The discipline that keeps vertical products fast to ship and safe to upgrade.
Read · 1 min →NPHIES, explained: what Saudi hospitals actually need from an HIS
A practical look at native insurance connectivity and revenue-cycle flow.
Read · 1 min →How an availability grid stops a hotel from overselling
Inside the concurrency-safe engine behind Hotel Pro.
Read · 1 min →See Hotel Pro on your data.
Book a 30-minute demo and we'll show it running against a realistic version of your operation — not a canned dataset.