TIP: You can type at any time to perform a new search.
Hotel Management
hotel · OCA/vertical-hotel
- Repository
- OCA/vertical-hotel · module folder · Try on Runboat
- Module version
- 1.0.0
- Category
- Hotel Management
- Folder size
- 3.0 MB
- License
- LGPL-3
- Application
- Yes
- Auto-installable
- No
- Website
- https://github.com/OCA/vertical-hotel
- Last tracking update
- 2026-08-19 17:41:06
- Authors
- Odoo Community Association (OCA), Serpent Consulting Services Pvt. Ltd.
- Maintainers
- Odoo Community Association (OCA), Serpent Consulting Services Pvt. Ltd.
- Committers
- GitHub, Weblate, OCA-git-bot, oca-ci, nikul-serpentcs, Nik, Vadan-serpentcs
- Odoo dependencies
- Python dependencies
- python-dateutil
- System dependencies
- None
- Required by
- hotel_housekeeping, hotel_reservation, hotel_restaurant
- Description
Module for Complete Hotel management which includes the basic operations at a hotel/apartment. You can manage: - Configure Property - Hotel Configuration - Manage history of Check In, Check out - Manage Folio - Payment
Code Analysis ⓘ
Views touched (27)
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
hotel_folio_calendar_view |
Hotel- Folios Calendar | hotel.folio | calendar | New |
report_hotel_folio |
report_hotel_folio | ir.ui.view | qweb | New |
res_company_inherit_config_hotel |
res.company.inherit.config.hotel | res.company | form | Inherits base.view_company_form |
view_hotel_floor_form |
hotel.floor.form | hotel.floor | form | New |
view_hotel_floor_tree |
hotel.floor.list | hotel.floor | list | New |
view_hotel_folio_form |
hotel.folio.form | hotel.folio | form | New |
view_hotel_folio_graph |
view.hotel.folio.graph | hotel.folio | graph | New |
view_hotel_folio_search |
hotel.folio.search | hotel.folio | search | New |
view_hotel_folio_tree |
hotel.folio.list | hotel.folio | list | New |
view_hotel_folio_wizard |
folio.report.wizard | folio.report.wizard | form | New |
view_hotel_room_aenities_search |
hotel.room_amenities_search | hotel.room.amenities | search | New |
view_hotel_room_amenities_form |
hotel.room.amenities.form | hotel.room.amenities | form | New |
view_hotel_room_amenities_list |
hotel.room_amenities_list | hotel.room.amenities | list | New |
view_hotel_room_amenities_type_form |
hotel.room_amenities_type_form | hotel.room.amenities.type | form | New |
view_hotel_room_amenities_type_list |
hotel.room_amenities_type_list | hotel.room.amenities.type | list | New |
view_hotel_room_form |
hotel.room.form | hotel.room | form | New |
view_hotel_room_kanban |
hotel.room.kanban | hotel.room | kanban | New |
view_hotel_room_search |
hotel.room.search | hotel.room | search | New |
view_hotel_room_tree |
hotel.room.list | hotel.room | list | New |
view_hotel_room_type_form |
hotel.room_type.form | hotel.room.type | form | New |
view_hotel_room_type_tree |
hotel.room_type.list | hotel.room.type | list | New |
view_hotel_service_type_form |
hotel.service_type.form | hotel.service.type | form | New |
view_hotel_service_type_tree |
hotel.service_type.list | hotel.service.type | list | New |
view_hotel_services_form |
.hotel.services.form | hotel.services | form | New |
view_hotel_services_search |
hotel.services.search | hotel.services | search | New |
view_hotel_services_tree |
hotel.services.list | hotel.services | list | New |
view_product_product_form_inherited |
view.product.product.form.inherited | product.product | form | Inherits product.product_normal_form_view |
HTTP endpoints (0)
No HTTP endpoints found for this module.
Models touched (17)
New fields (0)
No new fields.
Public methods (1)-
create(self, vals_list)@api.model_create_multiOverrides orm create method to link the account move with a hotel folio.
New fields (2)
-
date_endDatetimeargs: 'End Date' -
date_startDatetimeargs: 'Start Date'
-
check_date(self)@api.model@api.constrains('date_start', 'date_end') -
print_report(self)
New fields (5)
-
check_inDatetimerequired=True args: 'Check In Date' -
check_outDatetimerequired=True args: 'Check Out Date' -
folio_idMany2one → hotel.folioondelete='cascade' args: 'hotel.folio', 'Folio Number' -
room_idMany2one → hotel.roomindex=Trueondelete='restrict' args: 'hotel.room' -
statusSelectionrelated='folio_id.state'string='state'
No public methods.
New fields (2)
-
nameCharindex=Truerequired=True args: 'Floor Name' -
sequenceIntegerdefault=10 args: 'sequence'
No public methods.
New fields (10)
-
checkin_dateDatetimedefault=<expr>required=True args: 'Check In' -
checkout_dateDatetimedefault=<expr>readonly=Truerequired=True args: 'Check Out' -
durationFloathelp='Number of days which will automatically count from the check-in and check-out date. ' args: 'Duration in Days' -
duration_dummyFloat -
hotel_invoice_idMany2one → account.movecopy=False args: 'account.move', 'Invoice' -
hotel_policySelectiondefault='manual'help='Hotel policy for payment that either the guest has to pay at booking time or check-in check-out time.' args: [('prepaid', 'On Booking'), ('manual', 'On Check In'), ('picking', 'On Checkout')] -
nameChardefault='New'index=True args: 'Folio Number' -
order_idMany2one → sale.orderondelete='cascade'required=True args: 'sale.order', 'Order' -
room_line_idsOne2many → hotel.folio.linehelp='Hotel room reservation detail.' args: 'hotel.folio.line', 'folio_id' -
service_line_idsOne2many → hotel.service.linehelp='Hotel services details provided to Customer and it will be included in the main Invoice.' args: 'hotel.service.line', 'folio_id'
-
action_cancel(self)@param self: object pointer -
action_cancel_draft(self)@param self: object pointer -
action_confirm(self) -
create(self, vals_list)@api.model_create_multi
New fields (5)
-
checkin_dateDatetimerequired=True args: 'Check In' -
checkout_dateDatetimerequired=True args: 'Check Out' -
folio_idMany2one → hotel.folioondelete='cascade' args: 'hotel.folio', 'Folio' -
is_reservedBooleanhelp='True when folio line created from Reservation' -
order_line_idMany2one → sale.order.lineondelete='cascade'required=True args: 'sale.order.line', 'Order Line'
-
copy_data(self, default=None)@param self: object pointer @param default: dict of default values to be set -
create(self, vals_list)@api.model_create_multiOverride ORM create method to auto-link order_id from folio when folio_id is provided. -
unlink(self)Overrides orm unlink method. @param self: The object pointer @return: True/False.
New fields (10)
-
capacityIntegerrequired=True -
floor_idMany2one → hotel.floorhelp='At which floor the room is located.'ondelete='restrict' args: 'hotel.floor', 'Floor No' -
max_adultInteger -
max_childInteger -
product_idMany2one → product.productondelete='cascade'required=True args: 'product.product', 'Product_id' -
product_managerMany2one → res.usersargs: 'res.users' -
room_amenities_idsMany2many → hotel.room.amenitieshelp='List of room amenities.'string='Room Amenities' args: 'hotel.room.amenities' -
room_categ_idMany2one → hotel.room.typeondelete='restrict'required=True args: 'hotel.room.type', 'Room Category' -
room_line_idsOne2many → folio.room.linestring='Room Reservation Line' args: 'folio.room.line', 'room_id' -
statusSelectiondefault='available' args: [('available', 'Available'), ('occupied', 'Occupied')]
-
create(self, vals_list)@api.model_create_multi -
set_room_status_available(self)This method is used to change the state to available of the hotel room. --------------------------------------- @param self: object pointer -
set_room_status_occupied(self)This method is used to change the state to occupied of the hotel room. --------------------------------------- @param self: object pointer -
write(self, vals)Overrides orm write method. @param self: The object pointer @param vals: dictionary of fields value.
New fields (3)
-
amenities_categ_idMany2one → hotel.room.amenities.typeondelete='restrict'required=True args: 'hotel.room.amenities.type', 'Amenities Category' -
product_idMany2one → product.productondelete='cascade'required=True args: 'product.product', 'Room Amenities Product' -
product_managerMany2one → res.usersargs: 'res.users'
-
create(self, vals_list)@api.model_create_multi -
write(self, vals)Overrides orm write method. @param self: The object pointer @param vals: dictionary of fields value.
New fields (3)
-
amenity_idMany2one → hotel.room.amenities.typeargs: 'hotel.room.amenities.type', 'Category' -
child_idsOne2many → hotel.room.amenities.typeargs: 'hotel.room.amenities.type', 'amenity_id', 'Amenities Child Categories' -
product_categ_idMany2one → product.categorycopy=Falseondelete='restrict'required=True args: 'product.category', 'Product Category'
-
create(self, vals_list)@api.model_create_multi -
write(self, vals)
New fields (3)
-
categ_idMany2one → hotel.room.typeargs: 'hotel.room.type', 'Category' -
child_idsOne2many → hotel.room.typeargs: 'hotel.room.type', 'categ_id', 'Room Child Categories' -
product_categ_idMany2one → product.categorycopy=Falseondelete='restrict'required=True args: 'product.category', 'Product Category'
-
create(self, vals_list)@api.model_create_multi -
write(self, vals)
New fields (4)
-
folio_idMany2one → hotel.folioondelete='cascade' args: 'hotel.folio', 'Folio' -
ser_checkin_dateDatetimeargs: 'From Date' -
ser_checkout_dateDatetimeargs: 'To Date' -
service_line_idMany2one → sale.order.lineondelete='cascade'required=True args: 'sale.order.line', 'Service Line'
-
copy(self, default=None)@param self: object pointer @param default: dict of default values to be set -
copy_data(self, default=None)@param self: object pointer @param default: dict of default values to be set -
create(self, vals_list)@api.model_create_multiOverrides orm create method. @param self: The object pointer @param vals: dictionary of fields value. @return: new record set for hotel service line. -
unlink(self)Overrides orm unlink method. @param self: The object pointer @return: True/False.
New fields (3)
-
child_idsOne2many → hotel.service.typeargs: 'hotel.service.type', 'service_id', 'Service Child Categories' -
product_categ_idMany2one → product.categorycopy=Falseondelete='restrict'required=True args: 'product.category', 'Product Category' -
service_idMany2one → hotel.service.typeargs: 'hotel.service.type', 'Service Category'
-
create(self, vals_list)@api.model_create_multi -
write(self, vals)
New fields (3)
-
product_idMany2one → product.productondelete='cascade'required=True args: 'product.product', 'Service_id' -
product_managerMany2one → res.usersargs: 'res.users' -
service_categ_idMany2one → hotel.service.typeondelete='restrict'required=True args: 'hotel.service.type', 'Service Category'
-
create(self, vals_list)@api.model_create_multi -
write(self, vals)Overrides orm write method. @param self: The object pointer @param vals: dictionary of fields value.
New fields (3)
-
iscategidBooleanargs: 'Is Categ' -
isroomBooleanargs: 'Is Room' -
isserviceBooleanargs: 'Is Service'
-
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 (0)
No new fields.
Public methods (0)No public methods.
New fields (1)
-
additional_hoursIntegerhelp='Provide the min hours value for check in, checkout days, whatever the hours will be provided here based on that extra days will be calculated.'
No public methods.
New fields (1)
-
advance_payment_methodSelectiondefault='delivered'help='A standard invoice is issued with all the order lines ready for\n invoicing, according to their invoicing policy\n (based on ordered or delivered quantity).'required=Truestring='Create Invoice' args: [('delivered', 'Regular invoice'), ('percentage', 'Down payment (percentage)'), ('fixed', 'Down payment (fixed amount)')]
-
create_invoices(self)
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…