TIP: You can type at any time to perform a new search.
Hotel Reservation Management
hotel_reservation · OCA/vertical-hotel
- Repository
- OCA/vertical-hotel · module folder · Try on Runboat
- Module version
- 1.0.0
- Category
- Generic Modules/Hotel Reservation
- Folder size
- 1.08 MB
- License
- AGPL-3
- Application
- No
- Auto-installable
- No
- Website
- https://github.com/OCA/vertical-hotel
- Last tracking update
- 2026-08-20 17:29:48
- Authors
- Odoo Community Association (OCA), Odoo S.A, Serpent Consulting Services Pvt. Ltd.
- Maintainers
- Odoo Community Association (OCA), Odoo S.A, Serpent Consulting Services Pvt. Ltd.
- Committers
- OCA-git-bot, Vandan-OSI
- Odoo dependencies
- Python dependencies
- python-dateutil, geoip2
- System dependencies
- None
- Required by
- None
- Description
This module provides the feature of Reserving the Hotel Rooms. You can manage: - Guest Reservation - Group Reservation  - **Manage Hotel Room Based on Room Types and It's Capacity**  - **Confirm Your Reservation And Get Reservation Information**  - **Generate Folio**  - **Summarize Detail of Reservation**  - **Easy And Quick Reservation from Reservation Summary** 
Code Analysis ⓘ
Views touched (17)
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
hotel_calendar_view |
Room Reservation | hotel.reservation | calendar | New |
hotel_reservation_wizard_form_view |
hotel.reservation.wizard.form | hotel.reservation.wizard | form | New |
make_folio_wizard_form_view |
make.folio.wizard.form | wizard.make.folio | form | New |
quick_room_reservation_form_view |
quick.room.reservation.form | quick.room.reservation | form | New |
report_checkin_qweb |
report_checkin_qweb | ir.ui.view | qweb | New |
report_checkout_qweb |
report_checkout_qweb | ir.ui.view | qweb | New |
report_maxroom_qweb |
report_maxroom_qweb | ir.ui.view | qweb | New |
report_room_reservation_qweb |
report_room_reservation_qweb | ir.ui.view | qweb | New |
room_reservation_summary_form_view |
room.reservation.summary.form | room.reservation.summary | form | New |
view_hotel_folio1_search_inherited |
hotel.folio.search.inherited | hotel.folio | search | Inherits hotel.view_hotel_folio_search |
view_hotel_folio_form_inherited |
hotel.folio.form.inherited | hotel.folio | form | Inherits hotel.view_hotel_folio_form |
view_hotel_folio_tree_inherited |
hotel.folio.list.inherited | hotel.folio | list | Inherits hotel.view_hotel_folio_tree |
view_hotel_reservation_form |
hotel.reservation.form | hotel.reservation | form | New |
view_hotel_reservation_graph |
hotel.reservation.graph | hotel.reservation | graph | New |
view_hotel_reservation_search |
hotel.reservation.search | hotel.reservation | search | New |
view_hotel_reservation_tree |
hotel.reservation.list | hotel.reservation | list | New |
view_hotel_room_form_inherited |
view.hotel.room.form.inherited | hotel.room | form | Inherits hotel.view_hotel_room_form |
HTTP endpoints (0)
No HTTP endpoints found for this module.
Models touched (15)
New fields (1)
-
reservation_idMany2one → hotel.reservationondelete='restrict' args: 'hotel.reservation', 'Reservation'
-
write(self, vals)
New fields (0)
No new fields.
Public methods (1)-
write(self, vals)Overrides ORM write method to update Hotel Room Reservation line history. @param vals: dictionary of field values.
New fields (16)
-
adultsIntegerhelp='List of adults there in guest list. 'readonly=Truerequired=True -
checkinDatetimereadonly=Truerequired=True args: 'Expected-Date-Arrival' -
checkoutDatetimereadonly=Truerequired=True args: 'Expected-Date-Departure' -
childrenIntegerhelp='Number of children there in guest list.'readonly=True -
company_idMany2one → res.companydefault=<expr>index=Truereadonly=Truerequired=True args: 'res.company', 'Hotel' -
date_orderDatetimedefault=<expr>index=Truereadonly=Truerequired=True args: 'Date Ordered' -
folio_idMany2many → hotel.foliostring='Folio' args: 'hotel.folio', 'hotel_folio_reservation_rel', 'order_id', 'invoice_id' -
no_of_folioIntegercompute='_compute_folio_count' args: 'No. Folio' -
partner_idMany2one → res.partnerindex=Truereadonly=Truerequired=True args: 'res.partner', 'Guest Name' -
partner_invoice_idMany2one → res.partnerhelp='Invoice address for current reservation.' args: 'res.partner', 'Invoice Address' -
partner_order_idMany2one → res.partnerhelp='The name and address of the contact that requested the order or quotation.'readonly=True args: 'res.partner', 'Ordering Contact' -
partner_shipping_idMany2one → res.partnerhelp='Delivery addressfor current reservation. 'readonly=True args: 'res.partner', 'Delivery Address' -
pricelist_idMany2one → product.pricelisthelp='Pricelist for current reservation.'readonly=Truerequired=True args: 'product.pricelist', 'Scheme' -
reservation_lineOne2many → hotel.reservation.linehelp='Hotel room reservation details.'readonly=True args: 'hotel.reservation.line', 'line_id' -
reservation_noCharcopy=Falsereadonly=True -
stateSelectiondefault='draft'readonly=True args: [('draft', 'Draft'), ('confirm', 'Confirm'), ('cancel', 'Cancel'), ('done', 'Done')]
-
action_send_reservation_mail(self)This function opens a window to compose an email, template message loaded by default. @param self: object pointer -
cancel_reservation(self)This method cancel record set for hotel room reservation line ------------------------------------------------------------------ @param self: The object pointer @return: cancel record set for hotel room reservation line. -
check_in_out_dates(self)@api.constrains('checkin', 'checkout')When date_order is less than check-in date or Checkout date should be greater than the check-in date. -
check_overlap(self, date1, date2) -
confirmed_reservation(self)This method create a new record set for hotel room reservation line ------------------------------------------------------------------- @param self: The object pointer @return: new record set for hotel room reservation line. -
copy(self) -
create(self, vals_list)@api.model_create_multi -
create_folio(self)This method is for create new hotel folio. ----------------------------------------- @param self: The object pointer @return: new record set for hotel folio. -
open_folio_view(self) -
reservation_reminder_24hrs(self)@api.modelThis method is for scheduler every 1day scheduler will call this method to find all tomorrow's reservations. ---------------------------------------------- @param self: The object pointer @return: send a mail -
set_to_draft_reservation(self)
New fields (4)
-
categ_idMany2one → hotel.room.typeargs: 'hotel.room.type', 'Room Type' -
line_idMany2one → hotel.reservationargs: 'hotel.reservation' -
nameChar -
reserveMany2many → hotel.roomdomain="[('isroom','=',True), ('room_categ_id','=',categ_id)]" args: 'hotel.room', 'hotel_reservation_line_room_rel', 'hotel_reservation_line_id', 'room_id'
-
on_change_categ(self)@api.onchange('categ_id')When you change categ_id it check checkin and checkout are filled or not if not then raise warning --------------- @param self: object pointer -
unlink(self)Overrides orm unlink method. @param self: The object pointer @return: True/False.
New fields (2)
-
date_endDatetimerequired=True args: 'End Date' -
date_startDatetimerequired=True args: 'Start Date'
-
check_date(self)@api.constrains('date_start', 'date_end') -
report_checkin_detail(self) -
report_checkout_detail(self) -
report_maxroom_detail(self) -
report_reservation_detail(self)
New fields (1)
-
room_reservation_line_idsOne2many → hotel.room.reservation.linestring='Room Reserve Line' args: 'hotel.room.reservation.line', 'room_id'
-
cron_room_line(self)@api.modelThis method is for scheduler every 1min scheduler will call this method and check Status of room is occupied or available -------------------------------------------------------------- @param self: The object pointer @return: update status of hotel room reservation line
New fields (6)
-
check_inDatetimerequired=True args: 'Check In Date' -
check_outDatetimerequired=True args: 'Check Out Date' -
reservation_idMany2one → hotel.reservationargs: 'hotel.reservation', 'Reservation' -
room_idMany2one → hotel.roomargs: 'hotel.room' -
stateSelectionargs: [('assigned', 'Assigned'), ('unassigned', 'Unassigned')], 'Room Status' -
statusSelectionrelated='reservation_id.state'string='state'
No public methods.
New fields (0)
No new fields.
Public methods (1)-
search_fetch(self, domain, field_names, offset=0, limit=None, order=None)@api.modelCustom search_fetch override: - When called with context["from_room"], restricts to available rooms for given dates.
New fields (10)
-
adultsInteger -
check_inDatetimerequired=True -
check_outDatetimerequired=True -
company_idMany2one → res.companyrequired=True args: 'res.company', 'Hotel' -
partner_idMany2one → res.partnerrequired=True args: 'res.partner', 'Customer' -
partner_invoice_idMany2one → res.partnerrequired=True args: 'res.partner', 'Invoice Address' -
partner_order_idMany2one → res.partnerrequired=True args: 'res.partner', 'Ordering Contact' -
partner_shipping_idMany2one → res.partnerrequired=True args: 'res.partner', 'Delivery Address' -
pricelist_idMany2one → product.pricelistargs: 'product.pricelist', 'pricelist' -
room_idMany2one → hotel.roomrequired=True args: 'hotel.room'
-
default_get(self, fields)@api.modelTo get default values for the object. @param self: The object pointer. @param fields: List of fields for which we want default values @return: A dictionary which of fields with values. -
room_reserve(self)This method create a new record for hotel.reservation ----------------------------------------------------- @param self: The object pointer @return: new record set for hotel reservation.
New fields (0)
No new fields.
Public methods (1)-
get_checkin(self, date_start, date_end)
New fields (0)
No new fields.
Public methods (0)No public methods.
New fields (0)
No new fields.
Public methods (0)No public methods.
New fields (0)
No new fields.
Public methods (0)No public methods.
New fields (5)
-
date_fromDatetimedefault=<expr> -
date_toDatetimedefault=<expr> -
nameChardefault='Reservations Summary' args: 'Reservation Summary' -
room_summaryText -
summary_headerText
-
get_room_summary(self)@api.onchange('date_from', 'date_to')@param self: object pointer -
room_reservation(self)@param self: object pointer
New fields (1)
-
groupedBooleanargs: 'Group the Folios'
-
make_folios(self)
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…