- Home
- Apps
- SaaS Tools
- Direct Booking Engine for Hotels
Illustrative previewA commission-free website booking widget that reads live rates and availability from your ERPNext hotel PMS,
captures deposits or full payment online, and creates the reservation directly in ERPNext — no OTA commission, no double entry. Built to order, installed, and supported by ECOSIRE.
What is Direct Booking Engine for Hotels?
A commission-free website booking widget that reads live rates and availability from your ERPNext hotel PMS, captures deposits or full payment online, and creates the reservation directly in ERPNext — no OTA commission, no double entry. Built to order, installed, and supported by ECOSIRE. Built to order by ECOSIRE for ERPNext v15, v16 — indicative price from $999.00 USD; request a quote for a scoped proposal.
Key Features
Built to order, done for you
No DIY setup — a working app, built, installed and supported by ECOSIRE.
- 1
You order
Start with a one-time build price. We scope it with you at kickoff.
- 2
We build & install
ECOSIRE builds, configures and installs it on your ERPNext.
- 3
Go live + support
You go live in about one working week, with two weeks of go-live support. Defects in the code we deliver are fixed free of charge.
Technical Specifications
- ERPNext Compatibility
- —
- License
- Licence confirmation required
- Python Requirement
- Python 3.10+
- Database
- MariaDB 10.6+
About this Product
Every booking that comes through an OTA costs a hotel 15-25% in commission, and the alternative — a website "book now" button that dumps enquiries into an inbox — means someone re-keys each reservation into ERPNext by hand, risks overselling a room, and loses the guest to a faster competitor. ERPNext has strong back-office hospitality building blocks (Hotel Room, Hotel Room Reservation, Hotel Room Pricing, Hotel Room Package DocTypes), but out of the box there is no public, embeddable booking front end: no real-time availability check exposed to your website, no guest-facing checkout, and no online payment capture that lands a confirmed reservation straight into the PMS. That gap is exactly where hotels keep paying commission.
We build a proper Frappe app — its own module, DocTypes, and hooks.py — that closes the gap. An embeddable, mobile-first booking widget (a lightweight JS bundle you drop into any website, including your existing WordPress or static site) calls a set of guest-safe @frappe.whitelist(allow_guest=True) methods over the Frappe REST API. Those methods run an availability query against your ERPNext room inventory and pricing rules, return only bookable dates and live rates, apply promo codes and package deals server-side (never trusting client prices), and hold the room while the guest checks out. Payment is captured through your gateway of choice (Stripe, Razorpay, or a regional PSP), and on a verified payment webhook a server script creates the Hotel Room Reservation (or your customer reservation DocType) with the guest Contact, deposit or full-payment record, and correct status — all inside a single transaction so you never confirm a room you couldn't charge for.
The engine is wired into ERPNext's own mechanics rather than bolted alongside them. Availability and rate logic live in server scripts and whitelisted methods so the same source of truth drives both the widget and your reception desk. hooks.py doc events keep the widget honest — when a reservation is created, cancelled, or a room is blocked for maintenance, availability recalculates immediately. A scheduler event releases expired payment holds so inventory is never silently locked, and can push booking confirmations and pre-arrival emails. Guest-facing endpoints run under a tightly scoped guest role with rate limiting and input validation; staff-facing screens respect ERPNext role profiles and permissions so front-desk, revenue, and admin users each see only what they should. Client scripts add the desk-side conveniences (quick availability lookup, promo overrides), and everything targets Frappe/ERPNext v15 and v16.
Because this is build-to-order, we start from your actual property: room types, rate plans, seasonal and package pricing, deposit policy, cancellation rules, languages, and payment gateway. After a short scoping call we confirm the exact scope in writing, build against your requirements, and hand over installable source and a git repository — not a locked black box. Typical delivery is one working week from confirmed scope. We deploy to a staging bench for UAT, agree a rollback plan, then go live on your production bench and support you through the first weeks of real bookings. There is no instant download: what you get is a bench app engineered for your hotel and your ERPNext instance.
What you get
- Installable Frappe app source code for your version, scoped to your property, rate plans, and payment gateway
- On-bench installation and configuration on your staging and production ERPNext instances
- Technical documentation: DocTypes, whitelisted methods, hooks, server/client scripts, and payment-webhook flow
- User guide plus a live training session for front-desk and revenue staff
- UAT on a staging bench with a documented rollback plan before go-live
- Post-go-live support window covering the first weeks of real bookings
- Git repository handover with full commit history — no locked black box
- Embeddable widget snippet and integration notes for your website / CMS
Who this is for
Independent hotel or boutique property owner
Runs one or a few properties on ERPNext, is tired of paying 15-25% OTA commission, and wants a website booking button that lands confirmed, paid reservations straight into the PMS without a receptionist re-keying anything.
Revenue / distribution manager
Owns rate plans, seasonal pricing, and packages. Needs the website to always show the same live rates and availability as the desk, with promo codes and length-of-stay rules enforced server-side, so direct becomes the cheapest and best-controlled channel.
Hotel group IT / ERPNext administrator
Maintains the bench and expects a clean, standard Frappe app on v15/v16 with proper DocTypes, whitelisted methods, role profiles, and a git repo they can audit, extend, and upgrade — not a fragile customization.
Digital marketing manager
Drives traffic to the hotel website and wants a fast, mobile-first, multilingual checkout embeddable on any landing page, with promo and package deals that convert lookers into paid direct bookings.
How Direct Booking Engine for Hotels Compares
| Criterion | ECOSIRE | Custom Build | Competitor | ERPNext Native |
|---|---|---|---|---|
| Commission on direct bookings | Zero — bookings land straight in ERPNext | Zero, if built correctly | Usually zero, but generic flow | No web booking front end at all |
| Live PMS availability on the website | Real-time via whitelisted methods + hooks | Depends on your build effort | Often a nightly sync, can oversell | Not exposed to the public site |
| Online payment before confirmation | Deposit or full, webhook-verified | You wire the gateway yourself | Gateway support varies by app | Manual invoicing only |
| Fit to your rates and policies | Built to your exact rate plans and rules | Fully bespoke but you own the design | Fixed feature set, limited config | Back-office DocTypes only |
| Time to live | one working week from confirmed scope | Months, plus your hiring risk | Fast install, slow to fit reality | Not applicable — no front end |
| Source code and ownership | Full git repo handover, installable source | You own it, you also maintain it | Often closed or license-locked | ERPNext core, no booking app |
| Support and upgrades | Post-go-live window + optional ongoing | Only if your developer stays | Vendor SLA, may lag v15/v16 | Community / your own team |
| Multilingual mobile checkout | Built-in, Frappe translation layer | Extra scope you must specify | Sometimes, quality varies | None |
Frequently Asked Questions about Direct Booking Engine for Hotels
Is this an app I can download and install myself right now?
No. This is a build-to-order engagement, not a marketplace download. ECOSIRE builds the Frappe app around your actual property, rate plans, and payment gateway, then installs and supports it. You receive installable source and a git repository, but the work starts after a scoping call and confirmed scope.
How long does delivery take?
Typical delivery is one working week from confirmed scope. After a short scoping call we write down the exact requirements — room types, rate plans, deposit and cancellation policy, languages, and gateway — and build against that. Complex multi-property or unusual payment setups may extend the timeline, which we confirm before we start.
How does support and updates work after go-live?
Every build includes a post-go-live support window covering the first weeks of live bookings. Because you get the full git repository and source, you or your team can maintain it, and ECOSIRE offers ongoing support and upgrade work (including v15-to-v16 moves) as a separate arrangement. We are not a locked SaaS you can be cut off from.
Does it work with our existing website, or do we need a new one?
It works with your existing website. The booking engine ships as an embeddable JS widget you drop into any page — WordPress, a static marketing site, or a landing page — which calls guest-safe whitelisted methods on your ERPNext instance over the REST API. No website rebuild is required.
Will the website and our reception desk ever show different availability?
No. Availability and rates are read directly from your ERPNext room inventory and pricing rules through whitelisted methods, and `hooks.py` doc events recalculate the moment a reservation is booked, cancelled, or a room is blocked. The widget and the front desk read the same source of truth, and a room-hold mechanism prevents double-booking during checkout.
Which payment gateways and ERPNext versions are supported?
We build for Frappe/ERPNext v15 and v16. Payment is captured through the gateway you choose — Stripe, Razorpay, or a regional PSP — with reservations created only after a verified server-side webhook confirms the charge, so you never confirm a room you could not charge for.
Do you support deposits, promo codes, and package deals?
Yes. You can capture a deposit or full payment, and promo codes plus package and rate-plan rules (seasonal, minimum-stay, length-of-stay) are evaluated server-side against dedicated DocTypes. Prices submitted by the browser are never trusted — every quote is recomputed on the server before payment.
Related Modules

Customer Review & Reputation Management
A build-to-order ERPNext app that automatically requests reviews from customers over WhatsApp, SMS, and email after a sale, then aggregates your Google and Facebook reviews into ERPNext with sentiment tagging and a negative-feedback interception flow. ECOSIRE scopes, builds, installs, and supports it.

Customer Self-Service Portal & Knowledge Base
A branded ERPNext self-service portal that lets customers view their own orders and invoices, raise and track support tickets, and search a knowledge base — built as a proper Frappe app on top of your ERPNext instance. ECOSIRE scopes, builds, installs and supports it for you.

Document/Audit Trail & GL Immutability
A tamper-evident audit trail and statutory log retention layer for ERPNext that captures every financial-document change and locks down edit-after-submit, so you satisfy auditor and regulator mandates. Built, installed, and supported by ECOSIRE after you request a quotation.
Direct Booking Engine for Hotels
A commission-free website booking widget that reads live rates and availability from your ERPNext hotel PMS, captures deposits or full payment online, and creates the reservation directly in ERPNext — no OTA commission, no double entry. Built to order, installed, and supported by ECOSIRE.
- Embeddable JS booking widget (single script tag) that mounts on any site — WordPress, static, or your existing marketing page — and talks to ERPNext over the REST API
- Guest-safe `@frappe.whitelist(allow_guest=True)` methods for availability, quote, and booking, with server-side price calculation so client-submitted prices are never trusted
- Real-time availability and rate reads directly from your ERPNext room inventory and Hotel Room Pricing rules — one source of truth for web and reception
- Room-hold mechanism that reserves inventory during checkout, with a scheduler event that auto-releases expired holds so rooms are never silently locked
