OdooWiki OCA HUB
Generic Modules/Property Management System License: AGPL-3

This module integrates the Sales application with the Property Management System, enabling property reservations through sale orders.

It includes:

  • Reservation management: create and manage property reservations linked to sale orders.
  • Guest management: track guest details per reservation.
  • Stage management: configurable workflow stages for reservations.
  • Mail notifications: automated email templates for confirmations and reminders.
  • Reservation configurator wizard: guided wizard for property, dates, guests, and pricing.
  • Timeline view: visualise all reservations on a calendar timeline.
  • Payment link integration: send payment links directly from reservations.

auto_awesome What this module does

AI-generated from the code · Odoo 19.0

Create and manage property reservations linked to sale orders, with check-in/check-out stages, guest lists, availability checks and a guided reservation configurator.

This module adds a full reservation workflow on top of Sales. A reservation records the property, check-in and check-out dates, number of nights, guests, the responsible user and the linked sales order. Reservations appear in their own menus under the PMS dashboard, operations, reporting and configuration, and also under the Sales menu as a timeline view.

Business rules are enforced automatically: - A property cannot be double-booked for the same nights (except cancelled or new reservations). - The number of guests cannot exceed the property's maximum. - The number of nights must stay within the property's minimum and maximum. - Check-in and check-out times default to the property's configured hours.

Buttons move a reservation through stages: Book, Confirm, Check In, Check Out and Cancel. Confirming a sale order books its reservations, and confirming them again once payment is not required. Registering a payment on an invoice also confirms the related reservations.

On sale order lines you can pick a reservation; the line description then shows the property, dates and guest count, and the property's analytic account is applied. Invoices keep a link to the reservation, and both sale orders and invoices show a button counting related reservations. Products can be flagged as bookable, which forces them to be services. Properties gain reservation settings (listing type, check-in/out times, guest and night limits) and a communication tab for scheduled emails. Teams show counts of today's, tomorrow's, this week's and total reservations. A configurator wizard helps pick a property, dates and guests while showing existing bookings and blocking overlaps.

Depends on

Required by other modules

Menus it adds

ReservationsReservationsReservationsReservationsReservations
Models and fields (16)
  • pms.mail · new modelname, interval, property_id (Property), template_id (Email Template), interval_unit (Unit), interval_trigger (Trigger), notification_type (Send)
  • pms.team · extends an existing modeltotal_reservation (Total Reservations), no_week_reservation (This Week Reservations), no_today_reservation (Today Reservations), no_tomorrow_reservation (Tomorrow Reservations)
  • pms.stage · extends an existing modelstage_type
  • sale.order · extends an existing modelreservation_count (Reservations Count)
  • account.move · extends an existing modelreservation_count (Reservations Count)
  • pms.property · extends an existing modelcheckin, checkout, max_nights (Maximum Nights), min_nights (Minimum Nights), listing_type, no_of_guests (Number of Guests), pms_mail_ids (Communication), reservation_ids (Reservation Types)
  • pms.reservation · new modeldate, name (Reservation #), stop (Checkout), color (Color Index), start (Checkin), adults, tag_ids (Tags), team_id (Team), user_id (Responsible), children, duration (Nights), priority, stage_id (Stage), guest_ids (Guests), company_id (Company), partner_id (Booked by), property_id (Property), no_of_guests (Number of Guests), invoice_count, sale_order_id (Sales Order), invoice_status, sale_order_line_id (Sales Order Line), reservation_type_id (Reservation Type)
  • product.product · extends an existing model
  • sale.order.line · extends an existing modelreservation_ok (Is Reservation?), pms_reservation_id (Reservation)
  • pms.configurator · new modelstop (To), price, start (From), duration (Nights), guest_ids (Guests), partner_id (Booked by), product_id (Product), currency_id (Currency), property_id (Property), no_of_guests (Number of Guests), timeline_html (Timeline HTML), reservation_id (Reservation Type), reservation_ids, existing_reservation_id
  • product.template · extends an existing modelreservation_ok (Reservation)
  • account.move.line · extends an existing modelpms_reservation_id (Reservation)
  • pms.reservation.guest · new modelname, email, phone, partner_id (Partner), order_line_id (Sale Order), reservation_id (Reservation)
  • account.payment.register · extends an existing model
  • pms.property.reservation · new modelname, price, product_id (Product), currency_id (Currency), property_id (Property)
  • pms.reservation.guest.wizard · new modelname, email, phone, partner_id (Partner), configurator_id (Configurator)

Text generated by AI (DeepSeek) from reading the Odoo 19.0 code on GitHub; it may contain mistakes, so check the code before deciding. The module is very large and only part of the code was read. View the code on GitHub

Availability by version

Reviewed: 2026-11-03
Confirmed (verified in repository and branch) Estimated (unverified) No information

Confirmation status: 1 confirmed, 8 with no information of 9 versions.

terminal Installation and usage

OCA documentation · Odoo 19.0
  • Go to Properties \> Configuration \> Settings.

To use this module, please read the complete user guide at roomdoo.com.

No verified information in OCA: Installation.

info

Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.