A build-to-order Odoo module that turns Odoo into a working property system for small and mid-size guest houses — room inventory, reservations, folios, housekeeping and check-in/out. ECOSIRE scopes, builds, installs and supports it; it is not an off-the-shelf download. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $349.00 USD; request a quote for a scoped proposal.
App-Manifest
Auf Ihren Workflow zugeschnitten
A build-to-order Odoo module that turns Odoo into a working property system for small and mid-size guest houses — room inventory, reservations, folios, housekeeping and check-in/out. ECOSIRE scopes, builds, installs and supports it; it is not an off-the-shelf download.
Keine Selbsteinrichtung — eine funktionierende App, die von ECOSIRE erstellt, installiert und betreut wird.
Starten Sie mit einem einmaligen Entwicklungspreis. Den Umfang legen wir beim Kickoff gemeinsam fest.
ECOSIRE erstellt, konfiguriert und installiert sie auf Ihrem Odoo.
Sie gehen in etwa 2–4 Wochen live, mit einem Support-Zeitraum nach dem Launch.
Guest houses, B&Bs and boutique lodges run on a stack of disconnected tools: a wall calendar or spreadsheet for room availability, a separate notebook for who has checked in, and Odoo (or nothing) for the actual invoicing. Odoo core gives you res.partner, sale.order, account.move and product.product, but it has no concept of a room as a bookable, date-ranged resource. There is no native double-booking check, no nightly rate calendar, no folio that accumulates room nights plus extras, and no housekeeping status board. You end up forcing a lodging business into a product-catalog shape it was never designed for, and reconciliation at month-end becomes guesswork.
This is a build-to-order module ECOSIRE designs and builds for your specific property. At its core is a new guest.house.room model (room number, type, floor, capacity, base rate, amenities) and a guest.house.reservation model with check-in/check-out dates, guest linked to res.partner, and a computed nights field via @api.depends. Availability is enforced with an SQL-level overlap check and a Python @api.constrains so the same room can never be reserved for overlapping dates — the double-booking problem solved at the data layer, not by staff discipline. A rate calendar model lets you set seasonal or weekend pricing that the reservation reads when computing the folio total. Reservation state moves through a documented workflow (draft → confirmed → checked_in → checked_out → invoiced / cancelled) so the calendar, housekeeping board and reporting all stay in sync.
Technically it is delivered as a proper Odoo addon: a versioned __manifest__.py, ORM models with compute and constraint methods, XML/OWL views (a Gantt-style or calendar view of room occupancy, a kanban housekeeping board driven by a cleaning_state field, and reservation forms), QWeb PDF templates for the guest folio and registration card, and automated actions for check-out-day reminders and no-show handling. Security is real: ir.model.access.csv plus record rules so front-desk staff, housekeeping and managers see only what their role allows, with multi-company record rules when you run more than one property. Confirming a reservation posts through to standard sale.order/account.move, so accounting, tax and payments stay 100% native Odoo — we extend Odoo, we do not fork it. Everything is exposed over the standard XML-RPC/JSON-RPC API so a website booking widget or channel feed can create reservations programmatically. We build against your target of Odoo 17.0, 18.0 or 19.0 and note Community vs Enterprise differences up front (e.g. the Gantt/calendar widgets and some dashboard elements behave differently on Community).
Because it is made to order, delivery runs on a defined path: a scoping call to pin down room types, rate rules, folio layout and roles; a fixed written quote; a build on a staging database; UAT with your team; then go-live with a rollback plan and a support window. Typical delivery is 2-4 weeks from confirmed scope. Pricing starts from $349 (indicative, single-company base scope); multi-property/multi-company setups, channel-manager or website-booking integrations, deeper localization (tourism tax, city tax, e-invoicing) and migration of historical reservation data increase the quoted scope.
Runs accounting and invoicing in Odoo but manages rooms on a spreadsheet. Wants reservations, folios and availability living in the same system as the books, without adding a separate PMS subscription.
Needs a reliable at-a-glance occupancy calendar, a check-in/check-out flow that prevents double-bookings, and a housekeeping board so rooms are turned over correctly between guests.
Operates two or more small properties and needs multi-company isolation, per-property rate rules and consolidated reporting, plus API hooks to feed reservations from a website or channel manager.
Wants a clean, maintainable addon that extends core rather than forking it — proper models, security rules and Git handover — so the module survives future Odoo version upgrades.
| Kriterium | ECOSIRE | Benutzerdefinierter Build | Konkurrent | Odoo Native |
|---|---|---|---|---|
| Room as a bookable resource | Dedicated `guest.house.room` and reservation models with date ranges | Possible but you design and build the data model yourself | Usually included but fixed to the vendor's data shape | |
| Double-booking prevention | Enforced via `@api.constrains` + SQL overlap check | Only if your developer implements it correctly | Often present, quality varies by app | |
| Fit to your property | Built to your room types, rate rules, folio and roles | Fully bespoke but you own all specification and risk | Generic; you adapt your process to the app | |
| Housekeeping board | Kanban driven by a `cleaning_state` field | Build from scratch | Sometimes included, sometimes an add-on | |
| Accounting integration | Posts natively to `sale.order` / `account.move` | Depends on how it is wired | Usually integrates but may duplicate records | |
| Security and multi-company | Role-based `ir.model.access.csv` + record rules, multi-company aware | Your responsibility to define and test | Basic groups; multi-property support varies | |
| Source and maintainability | Full source + Git repo handover, upgrade-friendly | You own the code but also all the debt | Often closed or obfuscated; vendor-locked | |
| Support and delivery | Scoping call, staging UAT, rollback plan, support window | Whatever your developer agrees to | Forum or ticket support, no tailoring |
This is a build-to-order module, so it is built for your property after we agree scope. Typical delivery is 2-4 weeks from confirmed scope. The exact timeline is fixed in your quote and depends on room-type complexity, integrations and any data migration.
No. It is not an existing apps.odoo.com download. ECOSIRE builds, installs and configures it for your specific rooms, rate rules and roles, then hands over the source and Git repository. You get a module tailored to how your guest house actually operates.
Pricing starts from $349 as an indicative figure for a single-company base scope. After a short scoping call we send a fixed written quote. Multi-property setups, website/channel-manager integrations, localization (tourism or city tax) and historical data migration adjust the final price.
Every build includes a defined post-go-live support window for bug fixes and adjustments. Because you receive the full source and Git repo, your team or another partner can maintain it. We also offer ongoing support and version-upgrade retainers as a separate arrangement.
We build for Odoo 17.0, 18.0 and 19.0 on both Community and Enterprise. We flag edition differences during scoping — for example the Gantt and calendar widgets and some dashboard elements are Enterprise-only, and we provide list/kanban fallbacks on Community.
No. The module extends Odoo rather than replacing core. Confirmed reservations post through to standard `sale.order` and `account.move`, so your tax configuration, payments, journals and reporting stay 100% native Odoo. Nothing about your existing accounting flow is forked or bypassed.
Yes. Overlap prevention is enforced at the data layer with a Python `@api.constrains` and an SQL date-range check, not by staff memory. Reservations are also exposed over the XML-RPC/JSON-RPC API, so a website booking form or channel feed can create bookings programmatically.
A build-to-order Odoo module that turns Odoo into a working property system for small and mid-size guest houses — room inventory, reservations, folios, housekeeping and check-in/out. ECOSIRE scopes, builds, installs and supports it; it is not an off-the-shelf download.